diff --git a/about.po b/about.po index 0d2e0303..2b9e8d86 100644 --- a/about.po +++ b/about.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-22 00:55+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: 2016-01-07 21:53+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" -#: about.rst:3 +#: ../../src/Doc/about.rst:3 msgid "About these documents" msgstr "À propos de ces documents" -#: about.rst:6 +#: ../../src/Doc/about.rst:6 msgid "" "These documents are generated from `reStructuredText`_ sources by `Sphinx`_, " "a document processor specifically written for the Python documentation." @@ -30,7 +30,7 @@ msgstr "" "`Sphinx`_, un analyseur de documents spécialement conçu pour la " "documentation Python." -#: about.rst:15 +#: ../../src/Doc/about.rst:15 msgid "" "Development of the documentation and its toolchain is an entirely volunteer " "effort, just like Python itself. If you want to contribute, please take a " @@ -42,11 +42,11 @@ msgstr "" "la page :ref:`reporting-bugs` qui contient des informations pour vous y " "aider. Les nouveaux volontaires sont toujours les bienvenus !" -#: about.rst:20 +#: ../../src/Doc/about.rst:20 msgid "Many thanks go to:" msgstr "Merci beaucoup à :" -#: about.rst:22 +#: ../../src/Doc/about.rst:22 msgid "" "Fred L. Drake, Jr., the creator of the original Python documentation toolset " "and writer of much of the content;" @@ -54,7 +54,7 @@ msgstr "" "Fred L. Drake, Jr., créateur des outils originaux de la documentation Python " "et rédacteur de la plupart de son contenu ;" -#: about.rst:24 +#: ../../src/Doc/about.rst:24 msgid "" "the `Docutils `_ project for creating " "reStructuredText and the Docutils suite;" @@ -62,7 +62,7 @@ msgstr "" "le projet `Docutils `_ pour avoir créé " "reStructuredText et la suite d'outils Docutils ;" -#: about.rst:26 +#: ../../src/Doc/about.rst:26 msgid "" "Fredrik Lundh for his `Alternative Python Reference `_ project from which Sphinx got many good ideas." @@ -70,11 +70,11 @@ msgstr "" "Fredrik Lundh pour son projet `Alternative Python Reference `_, dont Sphinx a pris beaucoup de bonnes idées." -#: about.rst:32 +#: ../../src/Doc/about.rst:32 msgid "Contributors to the Python Documentation" msgstr "Contributeurs de la documentation Python" -#: about.rst:34 +#: ../../src/Doc/about.rst:34 msgid "" "Many people have contributed to the Python language, the Python standard " "library, and the Python documentation. See :source:`Misc/ACKS` in the " @@ -85,7 +85,7 @@ msgstr "" "sources de la distribution Python pour avoir une liste partielle des " "contributeurs." -#: about.rst:38 +#: ../../src/Doc/about.rst:38 msgid "" "It is only with the input and contributions of the Python community that " "Python has such wonderful documentation -- Thank You!" diff --git a/bugs.po b/bugs.po index 479267d3..17836c80 100644 --- a/bugs.po +++ b/bugs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-22 00:55+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: 2016-01-07 21:53+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" -#: bugs.rst:5 +#: ../../src/Doc/bugs.rst:5 msgid "Reporting Bugs" msgstr "Rapporter des bogues" -#: bugs.rst:7 +#: ../../src/Doc/bugs.rst:7 msgid "" "Python is a mature programming language which has established a reputation " "for stability. In order to maintain this reputation, the developers would " @@ -31,11 +31,11 @@ msgstr "" "de maintenir cette réputation, les développeurs souhaitent connaître toute " "déficience que vous pourriez rencontrer dans Python." -#: bugs.rst:13 +#: ../../src/Doc/bugs.rst:13 msgid "Documentation bugs" msgstr "Bogues de documentation" -#: bugs.rst:15 +#: ../../src/Doc/bugs.rst:15 msgid "" "If you find a bug in this documentation or would like to propose an " "improvement, please submit a bug report on the :ref:`tracker `_. Si vous avez une " "suggestion de correction, merci de l'inclure également." -#: bugs.rst:19 +#: ../../src/Doc/bugs.rst:19 msgid "" "If you're short on time, you can also email documentation bug reports to " "docs@python.org (behavioral bugs can be sent to python-list@python.org). " @@ -62,15 +62,15 @@ msgstr "" "volontaires, votre requête sera vue, mais elle peut prendre un moment pour " "être traitée." -#: bugs.rst:25 +#: ../../src/Doc/bugs.rst:25 msgid "`Documentation bugs`_ on the Python issue tracker" msgstr "`Documentation bugs`_ sur le gestionnaire de ticket de Python" -#: bugs.rst:30 +#: ../../src/Doc/bugs.rst:30 msgid "Using the Python issue tracker" msgstr "Utilisation du gestionnaire de ticket Python" -#: bugs.rst:32 +#: ../../src/Doc/bugs.rst:32 msgid "" "Bug reports for Python itself should be submitted via the Python Bug Tracker " "(https://bugs.python.org/). The bug tracker offers a Web form which allows " @@ -81,7 +81,7 @@ msgstr "" "un formulaire Web permettant de saisir des informations pertinentes à " "soumettre aux développeurs." -#: bugs.rst:36 +#: ../../src/Doc/bugs.rst:36 msgid "" "The first step in filing a report is to determine whether the problem has " "already been reported. The advantage in doing so, aside from saving the " @@ -99,7 +99,7 @@ msgstr "" "contribution est la bienvenue !). Pour ce faire, cherchez dans la base de " "données de bogues grâce à la boîte de recherche en haut de la page." -#: bugs.rst:43 +#: ../../src/Doc/bugs.rst:43 msgid "" "If the problem you're reporting is not already in the bug tracker, go back " "to the Python Bug Tracker and log in. If you don't already have a tracker " @@ -114,7 +114,7 @@ msgstr "" "barre latérale. Il n'est pas possible de soumettre un rapport de bug de " "manière anonyme." -#: bugs.rst:48 +#: ../../src/Doc/bugs.rst:48 msgid "" "Being now logged in, you can submit a bug. Select the \"Create New\" link " "in the sidebar to open the bug reporting form." @@ -123,7 +123,7 @@ msgstr "" "\"Create New\" dans la barre latérale pour ouvrir un nouveau formulaire de " "rapport de bogue." -#: bugs.rst:51 +#: ../../src/Doc/bugs.rst:51 msgid "" "The submission form has a number of fields. For the \"Title\" field, enter " "a *very* short description of the problem; less than ten words is good. In " @@ -136,7 +136,7 @@ msgstr "" "problème ; sélectionnez aussi \"Composant\" et \"Versions\" en rapport avec " "le bogue." -#: bugs.rst:56 +#: ../../src/Doc/bugs.rst:56 msgid "" "In the \"Comment\" field, describe the problem in detail, including what you " "expected to happen and what did happen. Be sure to include whether any " @@ -149,7 +149,7 @@ msgstr "" "plateforme matérielle et logicielle vous utilisiez (en incluant les " "informations de versions)." -#: bugs.rst:61 +#: ../../src/Doc/bugs.rst:61 msgid "" "Each bug report will be assigned to a developer who will determine what " "needs to be done to correct the problem. You will receive an update each " @@ -159,11 +159,13 @@ msgstr "" "nécessaire d'entreprendre pour corriger le problème. Vous recevrez une " "notification à chaque action effectuée sur le bogue." -#: bugs.rst:70 -msgid "How to Report Bugs Effectively" -msgstr "Comment remonter des bugs de manière efficiente" +#: ../../src/Doc/bugs.rst:70 +msgid "" +"`How to Report Bugs Effectively `_" +msgstr "" -#: bugs.rst:69 +#: ../../src/Doc/bugs.rst:69 msgid "" "Article which goes into some detail about how to create a useful bug report. " "This describes what kind of information is useful and why it is useful." @@ -172,11 +174,13 @@ msgstr "" "bogue utile. Il décrit quel genre d'information est utile et pourquoi elle " "est utile." -#: bugs.rst:73 -msgid "Bug Writing Guidelines" -msgstr "Recommandations pour la rédaction de bugs" +#: ../../src/Doc/bugs.rst:73 +msgid "" +"`Bug Writing Guidelines `_" +msgstr "" -#: bugs.rst:73 +#: ../../src/Doc/bugs.rst:73 msgid "" "Information about writing a good bug report. Some of this is specific to " "the Mozilla project, but describes general good practices." @@ -184,11 +188,11 @@ msgstr "" "Conseils pour écrire un bon rapport de bogue. Certains sont spécifiques au " "projet Mozilla mais présentent des bonnes pratiques générales." -#: bugs.rst:78 +#: ../../src/Doc/bugs.rst:78 msgid "Getting started contributing to Python yourself" msgstr "Commencer à contribuer à Python vous-même" -#: bugs.rst:80 +#: ../../src/Doc/bugs.rst:80 msgid "" "Beyond just reporting bugs that you find, you are also welcome to submit " "patches to fix them. You can find more information on how to get started " @@ -202,3 +206,9 @@ msgstr "" "Developer's Guide`_. Si vous avez des questions, le `core-mentorship mailing " "list`_ est un endroit amical pour obtenir des réponses à toutes les " "questions à propos du processus de corrections de bugs dans Python." + +#~ msgid "How to Report Bugs Effectively" +#~ msgstr "Comment remonter des bugs de manière efficiente" + +#~ msgid "Bug Writing Guidelines" +#~ msgstr "Recommandations pour la rédaction de bugs" diff --git a/c-api.po b/c-api.po index 5ed248eb..1db9bbe4 100644 --- a/c-api.po +++ b/c-api.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-22 17:19+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: c-api/abstract.rst:7 +#: ../../src/Doc/c-api/abstract.rst:7 msgid "Abstract Objects Layer" msgstr "Couche d'Abstraction des Objets" -#: c-api/abstract.rst:9 +#: ../../src/Doc/c-api/abstract.rst:9 msgid "" "The functions in this chapter interact with Python objects regardless of " "their type, or with wide classes of object types (e.g. all numerical types, " @@ -34,7 +34,7 @@ msgstr "" "utilisés sur des types d'objets qui ne correspondent pas, ils lèveront une " "exception Python." -#: c-api/abstract.rst:14 +#: ../../src/Doc/c-api/abstract.rst:14 msgid "" "It is not possible to use these functions on objects that are not properly " "initialized, such as a list object that has been created by :c:func:" @@ -46,11 +46,11 @@ msgstr "" "func:`PyList_New` mais dont les éléments n'ont pas encore été mis à une " "valeur non-\\ ``NULL``." -#: c-api/allocation.rst:6 +#: ../../src/Doc/c-api/allocation.rst:6 msgid "Allocating Objects on the Heap" msgstr "Allouer des objets dans le tas" -#: c-api/allocation.rst:17 +#: ../../src/Doc/c-api/allocation.rst:17 msgid "" "Initialize a newly-allocated object *op* with its type and initial " "reference. Returns the initialized object. If *type* indicates that the " @@ -64,13 +64,13 @@ msgstr "" "il est de ce fait ajouté à l'ensemble du détecteur d'objets observés. Les " "autres champs de l'objet ne sont pas affectés." -#: c-api/allocation.rst:26 +#: ../../src/Doc/c-api/allocation.rst:26 msgid "" "This does everything :c:func:`PyObject_Init` does, and also initializes the " "length information for a variable-size object." msgstr "" -#: c-api/allocation.rst:32 +#: ../../src/Doc/c-api/allocation.rst:32 msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *type*. Fields not defined by the Python object header " @@ -79,7 +79,7 @@ msgid "" "tp_basicsize` field of the type object." msgstr "" -#: c-api/allocation.rst:41 +#: ../../src/Doc/c-api/allocation.rst:41 msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *type*. Fields not defined by the Python object header " @@ -91,7 +91,7 @@ msgid "" "of allocations, improving the memory management efficiency." msgstr "" -#: c-api/allocation.rst:53 +#: ../../src/Doc/c-api/allocation.rst:53 msgid "" "Releases memory allocated to an object using :c:func:`PyObject_New` or :c:" "func:`PyObject_NewVar`. This is normally called from the :c:member:" @@ -100,123 +100,124 @@ msgid "" "no longer a valid Python object." msgstr "" -#: c-api/allocation.rst:62 +#: ../../src/Doc/c-api/allocation.rst:62 msgid "" "Object which is visible in Python as ``None``. This should only be accessed " "using the :c:macro:`Py_None` macro, which evaluates to a pointer to this " "object." msgstr "" -#: c-api/allocation.rst:69 -msgid "PyModule_Create()" +#: ../../src/Doc/c-api/allocation.rst:69 +msgid ":c:func:`PyModule_Create`" msgstr "" -#: c-api/allocation.rst:70 +#: ../../src/Doc/c-api/allocation.rst:70 msgid "To allocate and create extension modules." msgstr "Allouer et créer des modules d'extension." -#: c-api/apiabiversion.rst:7 +#: ../../src/Doc/c-api/apiabiversion.rst:7 msgid "API and ABI Versioning" msgstr "" -#: c-api/apiabiversion.rst:9 +#: ../../src/Doc/c-api/apiabiversion.rst:9 msgid "" "``PY_VERSION_HEX`` is the Python version number encoded in a single integer." msgstr "" -#: c-api/apiabiversion.rst:11 +#: ../../src/Doc/c-api/apiabiversion.rst:11 msgid "" "For example if the ``PY_VERSION_HEX`` is set to ``0x030401a2``, the " "underlying version information can be found by treating it as a 32 bit " "number in the following manner:" msgstr "" -#: c-api/apiabiversion.rst:16 +#: ../../src/Doc/c-api/apiabiversion.rst:16 msgid "Bytes" msgstr "" -#: c-api/apiabiversion.rst:16 +#: ../../src/Doc/c-api/apiabiversion.rst:16 msgid "Bits (big endian order)" msgstr "" -#: c-api/apiabiversion.rst:16 c-api/memory.rst:241 c-api/memory.rst:339 -#: c-api/structures.rst:129 c-api/structures.rst:241 c-api/tuple.rst:145 -#: c-api/tuple.rst:168 +#: ../../src/Doc/c-api/apiabiversion.rst:16 ../../src/Doc/c-api/memory.rst:241 +#: ../../src/Doc/c-api/memory.rst:339 ../../src/Doc/c-api/structures.rst:129 +#: ../../src/Doc/c-api/structures.rst:241 ../../src/Doc/c-api/tuple.rst:145 +#: ../../src/Doc/c-api/tuple.rst:168 msgid "Meaning" msgstr "Signification" -#: c-api/apiabiversion.rst:18 +#: ../../src/Doc/c-api/apiabiversion.rst:18 msgid "``1``" msgstr "" -#: c-api/apiabiversion.rst:18 +#: ../../src/Doc/c-api/apiabiversion.rst:18 msgid "``1-8``" msgstr "" -#: c-api/apiabiversion.rst:18 +#: ../../src/Doc/c-api/apiabiversion.rst:18 msgid "``PY_MAJOR_VERSION`` (the ``3`` in ``3.4.1a2``)" msgstr "" -#: c-api/apiabiversion.rst:21 +#: ../../src/Doc/c-api/apiabiversion.rst:21 msgid "``2``" msgstr "" -#: c-api/apiabiversion.rst:21 +#: ../../src/Doc/c-api/apiabiversion.rst:21 msgid "``9-16``" msgstr "" -#: c-api/apiabiversion.rst:21 +#: ../../src/Doc/c-api/apiabiversion.rst:21 msgid "``PY_MINOR_VERSION`` (the ``4`` in ``3.4.1a2``)" msgstr "" -#: c-api/apiabiversion.rst:24 +#: ../../src/Doc/c-api/apiabiversion.rst:24 msgid "``3``" msgstr "" -#: c-api/apiabiversion.rst:24 +#: ../../src/Doc/c-api/apiabiversion.rst:24 msgid "``17-24``" msgstr "" -#: c-api/apiabiversion.rst:24 +#: ../../src/Doc/c-api/apiabiversion.rst:24 msgid "``PY_MICRO_VERSION`` (the ``1`` in ``3.4.1a2``)" msgstr "" -#: c-api/apiabiversion.rst:27 +#: ../../src/Doc/c-api/apiabiversion.rst:27 msgid "``4``" msgstr "" -#: c-api/apiabiversion.rst:27 +#: ../../src/Doc/c-api/apiabiversion.rst:27 msgid "``25-28``" msgstr "" -#: c-api/apiabiversion.rst:27 +#: ../../src/Doc/c-api/apiabiversion.rst:27 msgid "" "``PY_RELEASE_LEVEL`` (``0xA`` for alpha, ``0xB`` for beta, ``0xC`` for " "release candidate and ``0xF`` for final), in this case it is alpha." msgstr "" -#: c-api/apiabiversion.rst:32 +#: ../../src/Doc/c-api/apiabiversion.rst:32 msgid "``29-32``" msgstr "" -#: c-api/apiabiversion.rst:32 +#: ../../src/Doc/c-api/apiabiversion.rst:32 msgid "" "``PY_RELEASE_SERIAL`` (the ``2`` in ``3.4.1a2``, zero for final releases)" msgstr "" -#: c-api/apiabiversion.rst:36 +#: ../../src/Doc/c-api/apiabiversion.rst:36 msgid "Thus ``3.4.1a2`` is hexversion ``0x030401a2``." msgstr "" -#: c-api/apiabiversion.rst:38 +#: ../../src/Doc/c-api/apiabiversion.rst:38 msgid "All the given macros are defined in :source:`Include/patchlevel.h`." msgstr "" -#: c-api/arg.rst:6 +#: ../../src/Doc/c-api/arg.rst:6 msgid "Parsing arguments and building values" msgstr "Analyse des arguments et construction des valeurs" -#: c-api/arg.rst:8 +#: ../../src/Doc/c-api/arg.rst:8 msgid "" "These functions are useful when creating your own extensions functions and " "methods. Additional information and examples are available in :ref:" @@ -226,7 +227,7 @@ msgstr "" "d'extensions. Des informations supplémentaires et des exemples sont " "disponibles ici: ref:`extending-index`." -#: c-api/arg.rst:12 +#: ../../src/Doc/c-api/arg.rst:12 msgid "" "The first three of these functions described, :c:func:`PyArg_ParseTuple`, :c:" "func:`PyArg_ParseTupleAndKeywords`, and :c:func:`PyArg_Parse`, all use " @@ -240,11 +241,11 @@ msgstr "" "pour indiquer à la fonction les arguments attendus. Les chaînes de format " "utilise la même syntaxe pour chacune de ces fonctions." -#: c-api/arg.rst:19 +#: ../../src/Doc/c-api/arg.rst:19 msgid "Parsing arguments" msgstr "Analyse des arguments" -#: c-api/arg.rst:21 +#: ../../src/Doc/c-api/arg.rst:21 msgid "" "A format string consists of zero or more \"format units.\" A format unit " "describes one Python object; it is usually a single character or a " @@ -265,11 +266,11 @@ msgstr "" "qui correspond à l'unité de format, et l'entrée entre crochets est le type " "de la variable C (ou des variables) dont l'adresse doit être donnée." -#: c-api/arg.rst:31 +#: ../../src/Doc/c-api/arg.rst:31 msgid "Strings and buffers" msgstr "Chaînes et tampons" -#: c-api/arg.rst:33 +#: ../../src/Doc/c-api/arg.rst:33 #, fuzzy msgid "" "These formats allow to access an object as a contiguous chunk of memory. You " @@ -282,7 +283,7 @@ msgstr "" "libérer la mémoire vous-même, excepté pour les formats ``es``, ``es#``, " "``et`` et ``et#``." -#: c-api/arg.rst:38 +#: ../../src/Doc/c-api/arg.rst:38 #, fuzzy msgid "" "However, when a :c:type:`Py_buffer` structure gets filled, the underlying " @@ -301,11 +302,11 @@ msgstr "" "après que vous ayez terminé de traiter les données (ou après une " "interruption prémataturée du traitement de ces données)." -#: c-api/arg.rst:45 +#: ../../src/Doc/c-api/arg.rst:45 msgid "Unless otherwise stated, buffers are not NUL-terminated." msgstr "Sauf indication contraire, les tampons ne se terminent pas par NUL." -#: c-api/arg.rst:49 +#: ../../src/Doc/c-api/arg.rst:49 #, fuzzy msgid "" "For all ``#`` variants of formats (``s#``, ``y#``, etc.), the type of the " @@ -325,11 +326,11 @@ msgstr "" "ctype:`int`. Il est préférable de toujours définir :cmacro:" "`PY_SSIZE_T_CLEAN`." -#: c-api/arg.rst:72 -msgid "s (str) [const char *]" +#: ../../src/Doc/c-api/arg.rst:72 +msgid "``s`` (:class:`str`) [const char \\*]" msgstr "" -#: c-api/arg.rst:59 +#: ../../src/Doc/c-api/arg.rst:59 #, fuzzy msgid "" "Convert a Unicode object to a C pointer to a character string. A pointer to " @@ -347,7 +348,7 @@ msgstr "" "convertis en chaîne de caractères C avec l'encodage ``'utf-8'``. Si la " "conversion échoue, une exception :exc:`UnicodeError` sera levée." -#: c-api/arg.rst:68 +#: ../../src/Doc/c-api/arg.rst:68 #, fuzzy msgid "" "This format does not accept :term:`bytes-like objects `. " @@ -360,11 +361,11 @@ msgstr "" "mieux utiliser le format ``O&`` avec :cfunc:`PyUnicode_FSConverter` comme " "*convertisseur*." -#: c-api/arg.rst:78 -msgid "s* (str or bytes-like object) [Py_buffer]" +#: ../../src/Doc/c-api/arg.rst:78 +msgid "``s*`` (:class:`str` or :term:`bytes-like object`) [Py_buffer]" msgstr "" -#: c-api/arg.rst:75 +#: ../../src/Doc/c-api/arg.rst:75 #, fuzzy msgid "" "This format accepts Unicode objects as well as bytes-like objects. It fills " @@ -378,11 +379,13 @@ msgstr "" "contenir des octets NUL. Les objets Unicode sont convertis en chaînes C en " "utilisant un encodage ``'utf-8' ``." -#: c-api/arg.rst:85 -msgid "s# (str, read-only bytes-like object) [const char *, int or Py_ssize_t]" +#: ../../src/Doc/c-api/arg.rst:85 +msgid "" +"``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char \\*, " +"int or :c:type:`Py_ssize_t`]" msgstr "" -#: c-api/arg.rst:81 +#: ../../src/Doc/c-api/arg.rst:81 #, fuzzy msgid "" "Like ``s*``, except that it doesn't accept mutable bytes-like objects such " @@ -398,11 +401,11 @@ msgstr "" "objets Unicode sont convertis en chaînes de caractères C avec l'encodage " "``'utf-8'``." -#: c-api/arg.rst:89 -msgid "z (str or None) [const char *]" +#: ../../src/Doc/c-api/arg.rst:89 +msgid "``z`` (:class:`str` or ``None``) [const char \\*]" msgstr "" -#: c-api/arg.rst:88 +#: ../../src/Doc/c-api/arg.rst:88 msgid "" "Like ``s``, but the Python object may also be ``None``, in which case the C " "pointer is set to *NULL*." @@ -410,11 +413,12 @@ msgstr "" "Comme ``s``, mais l'objet Python peut aussi être ``None``, auquel cas le " "pointeur C devient *NULL*." -#: c-api/arg.rst:93 -msgid "z* (str, bytes-like object or None) [Py_buffer]" +#: ../../src/Doc/c-api/arg.rst:93 +msgid "" +"``z*`` (:class:`str`, :term:`bytes-like object` or ``None``) [Py_buffer]" msgstr "" -#: c-api/arg.rst:92 +#: ../../src/Doc/c-api/arg.rst:92 #, fuzzy msgid "" "Like ``s*``, but the Python object may also be ``None``, in which case the " @@ -423,11 +427,13 @@ msgstr "" "Comme ``s*``, mais l'objet Python peut aussi être ``None``, dans ce cas le " "champ ``buf`` de la structure :ctype:`Py_buffer` est définie à *NULL*." -#: c-api/arg.rst:97 -msgid "z# (str, read-only bytes-like object or None) [const char *, int]" +#: ../../src/Doc/c-api/arg.rst:97 +msgid "" +"``z#`` (:class:`str`, read-only :term:`bytes-like object` or ``None``) " +"[const char \\*, int]" msgstr "" -#: c-api/arg.rst:96 +#: ../../src/Doc/c-api/arg.rst:96 msgid "" "Like ``s#``, but the Python object may also be ``None``, in which case the C " "pointer is set to *NULL*." @@ -435,11 +441,11 @@ msgstr "" "Comme ``s#``, mais l'objet Python peut également être ``None``, dans ce cas " "le pointeur C est définie à *NULL*." -#: c-api/arg.rst:103 -msgid "y (read-only bytes-like object) [const char *]" +#: ../../src/Doc/c-api/arg.rst:103 +msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]" msgstr "" -#: c-api/arg.rst:100 +#: ../../src/Doc/c-api/arg.rst:100 msgid "" "This format converts a bytes-like object to a C pointer to a character " "string; it does not accept Unicode objects. The bytes buffer must not " @@ -451,11 +457,11 @@ msgstr "" "pas contenir d'octets NUL ; s'il en contient, une exception :exc:`TypeError` " "sera levée." -#: c-api/arg.rst:108 -msgid "y* (bytes-like object) [Py_buffer]" +#: ../../src/Doc/c-api/arg.rst:108 +msgid "``y*`` (:term:`bytes-like object`) [Py_buffer]" msgstr "" -#: c-api/arg.rst:106 +#: ../../src/Doc/c-api/arg.rst:106 #, fuzzy msgid "" "This variant on ``s*`` doesn't accept Unicode objects, only bytes-like " @@ -465,11 +471,11 @@ msgstr "" "objets supportant le protocole buffer. **C'est le moyen recommandé pour " "accepter des données binaires.**" -#: c-api/arg.rst:112 -msgid "y# (read-only bytes-like object) [const char *, int]" +#: ../../src/Doc/c-api/arg.rst:112 +msgid "``y#`` (read-only :term:`bytes-like object`) [const char \\*, int]" msgstr "" -#: c-api/arg.rst:111 +#: ../../src/Doc/c-api/arg.rst:111 msgid "" "This variant on ``s#`` doesn't accept Unicode objects, only bytes-like " "objects." @@ -477,11 +483,12 @@ msgstr "" "Cette variante de ``s#`` n'accepte pas les objets Unicode, uniquement des " "objets assimilés à des octets." -#: c-api/arg.rst:117 -msgid "S (bytes) [PyBytesObject *]" +#: ../../src/Doc/c-api/arg.rst:117 +#, fuzzy +msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" msgstr "S (bytes) [PyBytesObject *]" -#: c-api/arg.rst:115 +#: ../../src/Doc/c-api/arg.rst:115 #, fuzzy msgid "" "Requires that the Python object is a :class:`bytes` object, without " @@ -493,11 +500,12 @@ msgstr "" "octets, une exception :exc:`TypeError` sera levée. La variable C peut " "également être de type :ctype:`PyObject\\*`." -#: c-api/arg.rst:122 -msgid "Y (bytearray) [PyByteArrayObject *]" -msgstr "" +#: ../../src/Doc/c-api/arg.rst:122 +#, fuzzy +msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" +msgstr "S (bytes) [PyBytesObject *]" -#: c-api/arg.rst:120 +#: ../../src/Doc/c-api/arg.rst:120 #, fuzzy msgid "" "Requires that the Python object is a :class:`bytearray` object, without " @@ -510,11 +518,11 @@ msgstr "" "`bytearray`, une exception :exc:`TypeError` sera levée. La variable C peut " "aussi être de type :ctype:`PyObject\\*`." -#: c-api/arg.rst:136 c-api/arg.rst:536 -msgid "u (str) [Py_UNICODE *]" +#: ../../src/Doc/c-api/arg.rst:136 ../../src/Doc/c-api/arg.rst:536 +msgid "``u`` (:class:`str`) [Py_UNICODE \\*]" msgstr "" -#: c-api/arg.rst:125 +#: ../../src/Doc/c-api/arg.rst:125 #, fuzzy msgid "" "Convert a Python Unicode object to a C pointer to a NUL-terminated buffer of " @@ -533,7 +541,7 @@ msgstr "" "La chaîne de caractères Python ne doit pas contenir de caractères NUL, sinon " "une exception :exc:`TypeError` sera levée." -#: c-api/arg.rst:134 +#: ../../src/Doc/c-api/arg.rst:134 msgid "" "Since ``u`` doesn't give you back the length of the string, and it may " "contain embedded NUL characters, it is recommended to use ``u#`` or ``U`` " @@ -543,11 +551,11 @@ msgstr "" "il peut contenir des caractères NUL, il est recommandé d'utiliser à la place " "``u#`` ou ``U``." -#: c-api/arg.rst:140 c-api/arg.rst:541 -msgid "u# (str) [Py_UNICODE *, int]" +#: ../../src/Doc/c-api/arg.rst:140 ../../src/Doc/c-api/arg.rst:541 +msgid "``u#`` (:class:`str`) [Py_UNICODE \\*, int]" msgstr "" -#: c-api/arg.rst:139 +#: ../../src/Doc/c-api/arg.rst:139 #, fuzzy msgid "" "This variant on ``u`` stores into two C variables, the first one a pointer " @@ -557,11 +565,11 @@ msgstr "" "première pointant vers un tampon de données Unicode, la seconde donnant sa " "longueur." -#: c-api/arg.rst:144 -msgid "Z (str or None) [Py_UNICODE *]" +#: ../../src/Doc/c-api/arg.rst:144 +msgid "``Z`` (:class:`str` or ``None``) [Py_UNICODE \\*]" msgstr "" -#: c-api/arg.rst:143 +#: ../../src/Doc/c-api/arg.rst:143 #, fuzzy msgid "" "Like ``u``, but the Python object may also be ``None``, in which case the :c:" @@ -570,11 +578,11 @@ msgstr "" "Comme ``u``, mais l'objet Python peut aussi être ``None``, auquel cas le " "pointeur :ctype:`Py_UNICODE` est fixé à *NULL*." -#: c-api/arg.rst:148 -msgid "Z# (str or None) [Py_UNICODE *, int]" +#: ../../src/Doc/c-api/arg.rst:148 +msgid "``Z#`` (:class:`str` or ``None``) [Py_UNICODE \\*, int]" msgstr "" -#: c-api/arg.rst:147 +#: ../../src/Doc/c-api/arg.rst:147 #, fuzzy msgid "" "Like ``u#``, but the Python object may also be ``None``, in which case the :" @@ -583,11 +591,12 @@ msgstr "" "Comme ``u#``, mais l'objet Python peut également être ``None``, auquel cas " "le pointeur :ctype:`Py_UNICODE` est fixé à *NULL*." -#: c-api/arg.rst:153 -msgid "U (str) [PyObject *]" +#: ../../src/Doc/c-api/arg.rst:153 +#, fuzzy +msgid "``U`` (:class:`str`) [PyObject \\*]" msgstr "U (str) [PyObject *]" -#: c-api/arg.rst:151 +#: ../../src/Doc/c-api/arg.rst:151 #, fuzzy msgid "" "Requires that the Python object is a Unicode object, without attempting any " @@ -599,11 +608,11 @@ msgstr "" "octets, une exception :exc:`TypeError` sera levée. La variable C peut " "également être de type :ctype:`PyObject\\*`." -#: c-api/arg.rst:159 -msgid "w* (read-write bytes-like object) [Py_buffer]" +#: ../../src/Doc/c-api/arg.rst:159 +msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]" msgstr "" -#: c-api/arg.rst:156 +#: ../../src/Doc/c-api/arg.rst:156 #, fuzzy msgid "" "This format accepts any object which implements the read-write buffer " @@ -616,11 +625,11 @@ msgstr "" "fournie par l'appelant. Le tampon peut contenir des octets nuls. L'appelant " "doit appeler :cfunc:`PyBuffer_Release` quand il n'a plus l'usage du tampon." -#: c-api/arg.rst:176 -msgid "es (str) [const char *encoding, char **buffer]" +#: ../../src/Doc/c-api/arg.rst:176 +msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" msgstr "" -#: c-api/arg.rst:162 +#: ../../src/Doc/c-api/arg.rst:162 #, fuzzy msgid "" "This variant on ``s`` is used for encoding Unicode into a character buffer. " @@ -630,7 +639,7 @@ msgstr "" "de caractères. Cela ne fonctionne que pour les données encodées qui ne " "contiennent pas d'octets NUL." -#: c-api/arg.rst:165 +#: ../../src/Doc/c-api/arg.rst:165 #, fuzzy msgid "" "This format requires two arguments. The first is only used as input, and " @@ -652,7 +661,7 @@ msgstr "" "l'argument. Le texte sera encodé avec l'encodage spécifié dans le premier " "argument. " -#: c-api/arg.rst:173 +#: ../../src/Doc/c-api/arg.rst:173 #, fuzzy msgid "" ":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy " @@ -665,11 +674,13 @@ msgstr "" "le nouveau tampon alloué. L'appelant est responsable de l'invocation de :" "cfunc:`PyMem_Free` pour libérer le tampon alloué après utilisatiopn" -#: c-api/arg.rst:181 -msgid "et (str, bytes or bytearray) [const char *encoding, char **buffer]" +#: ../../src/Doc/c-api/arg.rst:181 +msgid "" +"``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " +"\\*encoding, char \\*\\*buffer]" msgstr "" -#: c-api/arg.rst:179 +#: ../../src/Doc/c-api/arg.rst:179 #, fuzzy msgid "" "Same as ``es`` except that byte string objects are passed through without " @@ -680,11 +691,13 @@ msgstr "" "sans les ré-encoder. À la place, l'implémentation assume que l'objet chaîne " "de caractères utilise l'encodage passé en tant que paramètre." -#: c-api/arg.rst:212 -msgid "es# (str) [const char *encoding, char **buffer, int *buffer_length]" +#: ../../src/Doc/c-api/arg.rst:212 +msgid "" +"``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, int " +"\\*buffer_length]" msgstr "" -#: c-api/arg.rst:184 +#: ../../src/Doc/c-api/arg.rst:184 #, fuzzy msgid "" "This variant on ``s#`` is used for encoding Unicode into a character buffer. " @@ -695,7 +708,7 @@ msgstr "" "tampon de caractères. Contrairement au format ``es``, cette variante " "autorise les caractères NUL dans les données d'entrée." -#: c-api/arg.rst:188 +#: ../../src/Doc/c-api/arg.rst:188 #, fuzzy msgid "" "It requires three arguments. The first is only used as input, and must be " @@ -720,11 +733,11 @@ msgstr "" "l'entier référencé sera positionné avec le nombre d'octets dans le tampon de " "sortie" -#: c-api/arg.rst:198 +#: ../../src/Doc/c-api/arg.rst:198 msgid "There are two modes of operation:" msgstr "Il existe deux modes de fonctionnement :" -#: c-api/arg.rst:200 +#: ../../src/Doc/c-api/arg.rst:200 #, fuzzy msgid "" "If *\\*buffer* points a *NULL* pointer, the function will allocate a buffer " @@ -739,7 +752,7 @@ msgstr "" "de la libération de la mémoire après utilisation du tampon, par un appel à :" "cfunc:`PyMem_Free`." -#: c-api/arg.rst:205 +#: ../../src/Doc/c-api/arg.rst:205 #, fuzzy msgid "" "If *\\*buffer* points to a non-*NULL* pointer (an already allocated " @@ -755,7 +768,7 @@ msgstr "" "dernier par NUL. Si le tampon n'est pas de taille suffisante, une exception :" "exc:`ValueError` sera levée." -#: c-api/arg.rst:211 +#: ../../src/Doc/c-api/arg.rst:211 msgid "" "In both cases, *\\*buffer_length* is set to the length of the encoded data " "without the trailing NUL byte." @@ -763,13 +776,13 @@ msgstr "" "Dans les deux cas, *\\*buffer_length* est la longueur des données encodées, " "sans l'octet NUL de fin." -#: c-api/arg.rst:217 +#: ../../src/Doc/c-api/arg.rst:217 msgid "" -"et# (str, bytes or bytearray) [const char *encoding, char **buffer, int " -"*buffer_length]" +"``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " +"\\*encoding, char \\*\\*buffer, int \\*buffer_length]" msgstr "" -#: c-api/arg.rst:215 +#: ../../src/Doc/c-api/arg.rst:215 #, fuzzy msgid "" "Same as ``es#`` except that byte string objects are passed through without " @@ -780,16 +793,16 @@ msgstr "" "sans recodage. À la place, l'implémentation assume que les objets de type " "chaînes de caractères utilisent l'encodage passé en tant que paramètre." -#: c-api/arg.rst:220 +#: ../../src/Doc/c-api/arg.rst:220 #, fuzzy msgid "Numbers" msgstr "Nombres" -#: c-api/arg.rst:224 -msgid "b (int) [unsigned char]" +#: ../../src/Doc/c-api/arg.rst:224 +msgid "``b`` (:class:`int`) [unsigned char]" msgstr "" -#: c-api/arg.rst:223 +#: ../../src/Doc/c-api/arg.rst:223 #, fuzzy msgid "" "Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :" @@ -798,11 +811,11 @@ msgstr "" "Convertit un entier Python positif ou nul en un unsigned tiny int, stocké " "dans un C :ctype:`unsigned char`." -#: c-api/arg.rst:228 c-api/arg.rst:562 -msgid "B (int) [unsigned char]" +#: ../../src/Doc/c-api/arg.rst:228 ../../src/Doc/c-api/arg.rst:562 +msgid "``B`` (:class:`int`) [unsigned char]" msgstr "" -#: c-api/arg.rst:227 +#: ../../src/Doc/c-api/arg.rst:227 #, fuzzy msgid "" "Convert a Python integer to a tiny int without overflow checking, stored in " @@ -811,20 +824,20 @@ msgstr "" "Convertit un entier Python en un tiny int sans vérifier le débordement, " "stocké dans un C :ctype:`unsigned char`." -#: c-api/arg.rst:231 c-api/arg.rst:556 -msgid "h (int) [short int]" +#: ../../src/Doc/c-api/arg.rst:231 ../../src/Doc/c-api/arg.rst:556 +msgid "``h`` (:class:`int`) [short int]" msgstr "" -#: c-api/arg.rst:231 +#: ../../src/Doc/c-api/arg.rst:231 #, fuzzy msgid "Convert a Python integer to a C :c:type:`short int`." msgstr "Convertit un entier Python en un C :ctype:`short int`." -#: c-api/arg.rst:235 c-api/arg.rst:565 -msgid "H (int) [unsigned short int]" +#: ../../src/Doc/c-api/arg.rst:235 ../../src/Doc/c-api/arg.rst:565 +msgid "``H`` (:class:`int`) [unsigned short int]" msgstr "" -#: c-api/arg.rst:234 +#: ../../src/Doc/c-api/arg.rst:234 #, fuzzy msgid "" "Convert a Python integer to a C :c:type:`unsigned short int`, without " @@ -833,20 +846,20 @@ msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:238 c-api/arg.rst:550 -msgid "i (int) [int]" +#: ../../src/Doc/c-api/arg.rst:238 ../../src/Doc/c-api/arg.rst:550 +msgid "``i`` (:class:`int`) [int]" msgstr "" -#: c-api/arg.rst:238 +#: ../../src/Doc/c-api/arg.rst:238 #, fuzzy msgid "Convert a Python integer to a plain C :c:type:`int`." msgstr "Convertit un entier Python en un type C :ctype:`int`." -#: c-api/arg.rst:242 c-api/arg.rst:568 -msgid "I (int) [unsigned int]" +#: ../../src/Doc/c-api/arg.rst:242 ../../src/Doc/c-api/arg.rst:568 +msgid "``I`` (:class:`int`) [unsigned int]" msgstr "" -#: c-api/arg.rst:241 +#: ../../src/Doc/c-api/arg.rst:241 #, fuzzy msgid "" "Convert a Python integer to a C :c:type:`unsigned int`, without overflow " @@ -855,20 +868,20 @@ msgstr "" "Convertit un entier Python en un type C :ctype:`unsigned int`, sans contrôle " "de le débordement." -#: c-api/arg.rst:245 c-api/arg.rst:559 -msgid "l (int) [long int]" +#: ../../src/Doc/c-api/arg.rst:245 ../../src/Doc/c-api/arg.rst:559 +msgid "``l`` (:class:`int`) [long int]" msgstr "" -#: c-api/arg.rst:245 +#: ../../src/Doc/c-api/arg.rst:245 #, fuzzy msgid "Convert a Python integer to a C :c:type:`long int`." msgstr "Convertit un entier Python en un type :ctype:`long int`." -#: c-api/arg.rst:249 c-api/arg.rst:571 -msgid "k (int) [unsigned long]" +#: ../../src/Doc/c-api/arg.rst:249 ../../src/Doc/c-api/arg.rst:571 +msgid "``k`` (:class:`int`) [unsigned long]" msgstr "" -#: c-api/arg.rst:248 +#: ../../src/Doc/c-api/arg.rst:248 #, fuzzy msgid "" "Convert a Python integer to a C :c:type:`unsigned long` without overflow " @@ -877,11 +890,11 @@ msgstr "" "Convertit un entier Python en un type C :ctype:`unsigned int`, sans contrôle " "de le débordement." -#: c-api/arg.rst:254 c-api/arg.rst:576 -msgid "L (int) [PY_LONG_LONG]" +#: ../../src/Doc/c-api/arg.rst:254 ../../src/Doc/c-api/arg.rst:576 +msgid "``L`` (:class:`int`) [PY_LONG_LONG]" msgstr "" -#: c-api/arg.rst:252 +#: ../../src/Doc/c-api/arg.rst:252 #, fuzzy msgid "" "Convert a Python integer to a C :c:type:`long long`. This format is only " @@ -892,11 +905,11 @@ msgstr "" "uniquement disponible sur les plates-formes qui prennent en charge :ctype:" "`long long` (ou :ctype:`_int64` sous Windows)." -#: c-api/arg.rst:259 c-api/arg.rst:581 -msgid "K (int) [unsigned PY_LONG_LONG]" +#: ../../src/Doc/c-api/arg.rst:259 ../../src/Doc/c-api/arg.rst:581 +msgid "``K`` (:class:`int`) [unsigned PY_LONG_LONG]" msgstr "" -#: c-api/arg.rst:257 +#: ../../src/Doc/c-api/arg.rst:257 #, fuzzy msgid "" "Convert a Python integer to a C :c:type:`unsigned long long` without " @@ -908,20 +921,20 @@ msgstr "" "formes qui prennent en charge :ctype:`unsigned long long` (ou :ctype:" "`unsigned _int64` sous Windows)." -#: c-api/arg.rst:262 c-api/arg.rst:584 -msgid "n (int) [Py_ssize_t]" +#: ../../src/Doc/c-api/arg.rst:262 ../../src/Doc/c-api/arg.rst:584 +msgid "``n`` (:class:`int`) [Py_ssize_t]" msgstr "" -#: c-api/arg.rst:262 +#: ../../src/Doc/c-api/arg.rst:262 #, fuzzy msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`." msgstr "Convertit un entier Python en un C :ctype:`short int`." -#: c-api/arg.rst:269 -msgid "c (bytes or bytearray of length 1) [char]" +#: ../../src/Doc/c-api/arg.rst:269 +msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]" msgstr "" -#: c-api/arg.rst:265 +#: ../../src/Doc/c-api/arg.rst:265 #, fuzzy msgid "" "Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` " @@ -930,15 +943,15 @@ msgstr "" "Convertit un octet Python, représenté comme un objet :class:`bytes` de " "longueur 1, en un type C :ctype:`char`." -#: c-api/arg.rst:268 +#: ../../src/Doc/c-api/arg.rst:268 msgid "Allow :class:`bytearray` objects." msgstr "" -#: c-api/arg.rst:273 c-api/arg.rst:592 -msgid "C (str of length 1) [int]" +#: ../../src/Doc/c-api/arg.rst:273 ../../src/Doc/c-api/arg.rst:592 +msgid "``C`` (:class:`str` of length 1) [int]" msgstr "" -#: c-api/arg.rst:272 +#: ../../src/Doc/c-api/arg.rst:272 #, fuzzy msgid "" "Convert a Python character, represented as a :class:`str` object of length " @@ -947,44 +960,45 @@ msgstr "" "Convertit un octet Python, représenté comme un objet :class:`bytes` de " "longueur 1, en un type C :ctype:`char`." -#: c-api/arg.rst:276 c-api/arg.rst:598 -msgid "f (float) [float]" +#: ../../src/Doc/c-api/arg.rst:276 ../../src/Doc/c-api/arg.rst:598 +msgid "``f`` (:class:`float`) [float]" msgstr "" -#: c-api/arg.rst:276 +#: ../../src/Doc/c-api/arg.rst:276 #, fuzzy msgid "Convert a Python floating point number to a C :c:type:`float`." msgstr "Convertit un nombre flottant Python vers un type C :ctype:`float`." -#: c-api/arg.rst:279 c-api/arg.rst:595 -msgid "d (float) [double]" +#: ../../src/Doc/c-api/arg.rst:279 ../../src/Doc/c-api/arg.rst:595 +msgid "``d`` (:class:`float`) [double]" msgstr "" -#: c-api/arg.rst:279 +#: ../../src/Doc/c-api/arg.rst:279 #, fuzzy msgid "Convert a Python floating point number to a C :c:type:`double`." msgstr "Convertit un nombre flottant Python vers un type C :ctype:`double`." -#: c-api/arg.rst:282 -msgid "D (complex) [Py_complex]" +#: ../../src/Doc/c-api/arg.rst:282 +msgid "``D`` (:class:`complex`) [Py_complex]" msgstr "" -#: c-api/arg.rst:282 +#: ../../src/Doc/c-api/arg.rst:282 #, fuzzy msgid "Convert a Python complex number to a C :c:type:`Py_complex` structure." msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/arg.rst:285 +#: ../../src/Doc/c-api/arg.rst:285 #, fuzzy msgid "Other objects" msgstr "Autres Objets" -#: c-api/arg.rst:290 c-api/arg.rst:609 -msgid "O (object) [PyObject *]" +#: ../../src/Doc/c-api/arg.rst:290 ../../src/Doc/c-api/arg.rst:609 +#, fuzzy +msgid "``O`` (object) [PyObject \\*]" msgstr "O (object) [PyObject *]" -#: c-api/arg.rst:288 +#: ../../src/Doc/c-api/arg.rst:288 msgid "" "Store a Python object (without any conversion) in a C object pointer. The C " "program thus receives the actual object that was passed. The object's " @@ -995,11 +1009,12 @@ msgstr "" "référence sur l'objet n'est pas incrémenté. Le pointeur stocké n'est pas " "*NULL*." -#: c-api/arg.rst:297 -msgid "O! (object) [typeobject, PyObject *]" +#: ../../src/Doc/c-api/arg.rst:297 +#, fuzzy +msgid "``O!`` (object) [*typeobject*, PyObject \\*]" msgstr "O! (object) [typeobject, PyObject *]" -#: c-api/arg.rst:293 +#: ../../src/Doc/c-api/arg.rst:293 #, fuzzy msgid "" "Store a Python object in a C object pointer. This is similar to ``O``, but " @@ -1015,11 +1030,11 @@ msgstr "" "sera stocké. Si l'objet Python n'est pas du type requis, une exception :exc:" "`TypeError` sera levée." -#: c-api/arg.rst:322 c-api/arg.rst:623 -msgid "O& (object) [converter, anything]" +#: ../../src/Doc/c-api/arg.rst:322 ../../src/Doc/c-api/arg.rst:623 +msgid "``O&`` (object) [*converter*, *anything*]" msgstr "" -#: c-api/arg.rst:302 +#: ../../src/Doc/c-api/arg.rst:302 #, fuzzy msgid "" "Convert a Python object to a C variable through a *converter* function. " @@ -1033,7 +1048,7 @@ msgstr "" "convertie en :ctype:`void \\*`. La fonction de *conversion* est appellée à " "son tour de la manière suivante :" -#: c-api/arg.rst:309 +#: ../../src/Doc/c-api/arg.rst:309 #, fuzzy msgid "" "where *object* is the Python object to be converted and *address* is the :c:" @@ -1050,7 +1065,7 @@ msgstr "" "*conversion* devrait lever une exception et laisser le contenu de *adresse* " "non modifié." -#: c-api/arg.rst:315 +#: ../../src/Doc/c-api/arg.rst:315 #, fuzzy msgid "" "If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a " @@ -1065,15 +1080,15 @@ msgstr "" "allouée précédemment. Dans ce second appel, le paramètre correspondant à " "l'*objet* sera NULL; *adresse* aura la même valeur que dans le premier appel." -#: c-api/arg.rst:321 +#: ../../src/Doc/c-api/arg.rst:321 msgid "``Py_CLEANUP_SUPPORTED`` was added." msgstr "" -#: c-api/arg.rst:331 -msgid "p (bool) [int]" +#: ../../src/Doc/c-api/arg.rst:331 +msgid "``p`` (:class:`bool`) [int]" msgstr "" -#: c-api/arg.rst:325 +#: ../../src/Doc/c-api/arg.rst:325 msgid "" "Tests the value passed in for truth (a boolean **p**\\ redicate) and " "converts the result to its equivalent C true/false integer value. Sets the " @@ -1082,11 +1097,11 @@ msgid "" "tests values for truth." msgstr "" -#: c-api/arg.rst:336 c-api/arg.rst:626 -msgid "(items) (tuple) [matching-items]" +#: ../../src/Doc/c-api/arg.rst:336 ../../src/Doc/c-api/arg.rst:626 +msgid "``(items)`` (:class:`tuple`) [*matching-items*]" msgstr "" -#: c-api/arg.rst:334 +#: ../../src/Doc/c-api/arg.rst:334 msgid "" "The object must be a Python sequence whose length is the number of format " "units in *items*. The C arguments must correspond to the individual format " @@ -1097,7 +1112,7 @@ msgstr "" "chaque unité de format particulière dans *articles*. Les unités de formats " "pour les séquences peuvent être imbriquées. " -#: c-api/arg.rst:338 +#: ../../src/Doc/c-api/arg.rst:338 #, fuzzy msgid "" "It is possible to pass \"long\" integers (integers whose value exceeds the " @@ -1112,7 +1127,7 @@ msgstr "" "tronqués silencieusement quand le champ cible est trop petit (en fait, la " "sémantique est héritée du transtypage en C --- la perte peut varier)." -#: c-api/arg.rst:344 +#: ../../src/Doc/c-api/arg.rst:344 msgid "" "A few other characters have a meaning in a format string. These may not " "occur inside nested parentheses. They are:" @@ -1120,11 +1135,11 @@ msgstr "" "Quelques autres caractères ont un sens dans une chaîne de format. On ne doit " "pas les trouvées dans des parenthèses imbriquées. Ce sont :" -#: c-api/arg.rst:352 -msgid "|" +#: ../../src/Doc/c-api/arg.rst:352 +msgid "``|``" msgstr "" -#: c-api/arg.rst:348 +#: ../../src/Doc/c-api/arg.rst:348 #, fuzzy msgid "" "Indicates that the remaining arguments in the Python argument list are " @@ -1139,11 +1154,11 @@ msgstr "" "optionnel n'est pas spécifié, la fonction :cfunc:`PyArg_ParseTuple` ne " "modifie par le contenu de la ou des variables C correspondantes." -#: c-api/arg.rst:361 -msgid "$" +#: ../../src/Doc/c-api/arg.rst:361 +msgid "``$``" msgstr "" -#: c-api/arg.rst:355 +#: ../../src/Doc/c-api/arg.rst:355 msgid "" ":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the remaining " "arguments in the Python argument list are keyword-only. Currently, all " @@ -1151,11 +1166,11 @@ msgid "" "be specified before ``$`` in the format string." msgstr "" -#: c-api/arg.rst:366 -msgid ":" +#: ../../src/Doc/c-api/arg.rst:366 +msgid "``:``" msgstr "" -#: c-api/arg.rst:364 +#: ../../src/Doc/c-api/arg.rst:364 #, fuzzy msgid "" "The list of format units ends here; the string after the colon is used as " @@ -1166,11 +1181,11 @@ msgstr "" "est utilisée comme le nom de la fonction dans les messages d'erreur (la " "\"valeur associée\" de l'exception levée par :cfunc:`PyArg_ParseTuple`)." -#: c-api/arg.rst:371 -msgid ";" +#: ../../src/Doc/c-api/arg.rst:371 +msgid "``;``" msgstr "" -#: c-api/arg.rst:369 +#: ../../src/Doc/c-api/arg.rst:369 msgid "" "The list of format units ends here; the string after the semicolon is used " "as the error message *instead* of the default error message. ``:`` and ``;" @@ -1180,7 +1195,7 @@ msgstr "" "virgule est utilise comme message d'erreur *au lieu* du message d'erreur par " "défaut. ``:`` et ``;`` sont mutuellement exclusifs. " -#: c-api/arg.rst:373 +#: ../../src/Doc/c-api/arg.rst:373 msgid "" "Note that any Python object references which are provided to the caller are " "*borrowed* references; do not decrement their reference count!" @@ -1189,7 +1204,7 @@ msgstr "" "à l'appelant sont des références *empruntées* ; ne décrémentez pas leur " "compteur de références ! " -#: c-api/arg.rst:376 +#: ../../src/Doc/c-api/arg.rst:376 msgid "" "Additional arguments passed to these functions must be addresses of " "variables whose type is determined by the format string; these are used to " @@ -1206,7 +1221,7 @@ msgstr "" "devraient correspondre à ce qui est spécifié pour l'unité de format " "correspondante." -#: c-api/arg.rst:382 +#: ../../src/Doc/c-api/arg.rst:382 #, fuzzy msgid "" "For the conversion to succeed, the *arg* object must match the format and " @@ -1225,45 +1240,45 @@ msgstr "" "variables aux adresses correspondantes à cette erreur et les unités de " "formats suivantes sont laissées telles quelles." -#: c-api/arg.rst:391 +#: ../../src/Doc/c-api/arg.rst:391 #, fuzzy msgid "API Functions" msgstr "Fonction de l'API" -#: c-api/arg.rst:395 +#: ../../src/Doc/c-api/arg.rst:395 msgid "" "Parse the parameters of a function that takes only positional parameters " "into local variables. Returns true on success; on failure, it returns false " "and raises the appropriate exception." msgstr "" -#: c-api/arg.rst:402 +#: ../../src/Doc/c-api/arg.rst:402 msgid "" "Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list " "rather than a variable number of arguments." msgstr "" -#: c-api/arg.rst:408 +#: ../../src/Doc/c-api/arg.rst:408 msgid "" "Parse the parameters of a function that takes both positional and keyword " "parameters into local variables. Returns true on success; on failure, it " "returns false and raises the appropriate exception." msgstr "" -#: c-api/arg.rst:415 +#: ../../src/Doc/c-api/arg.rst:415 msgid "" "Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a " "va_list rather than a variable number of arguments." msgstr "" -#: c-api/arg.rst:421 +#: ../../src/Doc/c-api/arg.rst:421 msgid "" "Ensure that the keys in the keywords argument dictionary are strings. This " "is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is not used, since " "the latter already does this check." msgstr "" -#: c-api/arg.rst:431 +#: ../../src/Doc/c-api/arg.rst:431 msgid "" "Function used to deconstruct the argument lists of \"old-style\" functions " "--- these are functions which use the :const:`METH_OLDARGS` parameter " @@ -1274,7 +1289,7 @@ msgid "" "continue to be used for that purpose." msgstr "" -#: c-api/arg.rst:442 +#: ../../src/Doc/c-api/arg.rst:442 msgid "" "A simpler form of parameter retrieval which does not use a format string to " "specify the types of the arguments. Functions which use this method to " @@ -1292,23 +1307,23 @@ msgid "" "a failure." msgstr "" -#: c-api/arg.rst:456 +#: ../../src/Doc/c-api/arg.rst:456 msgid "" "This is an example of the use of this function, taken from the sources for " "the :mod:`_weakref` helper module for weak references::" msgstr "" -#: c-api/arg.rst:472 +#: ../../src/Doc/c-api/arg.rst:472 msgid "" "The call to :c:func:`PyArg_UnpackTuple` in this example is entirely " "equivalent to this call to :c:func:`PyArg_ParseTuple`::" msgstr "" -#: c-api/arg.rst:480 +#: ../../src/Doc/c-api/arg.rst:480 msgid "Building values" msgstr "Construction des valeurs" -#: c-api/arg.rst:484 +#: ../../src/Doc/c-api/arg.rst:484 msgid "" "Create a new value based on a format string similar to those accepted by " "the :c:func:`PyArg_Parse\\*` family of functions and a sequence of values. " @@ -1316,7 +1331,7 @@ msgid "" "raised if *NULL* is returned." msgstr "" -#: c-api/arg.rst:489 +#: ../../src/Doc/c-api/arg.rst:489 msgid "" ":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple " "only if its format string contains two or more format units. If the format " @@ -1325,7 +1340,7 @@ msgid "" "it to return a tuple of size 0 or one, parenthesize the format string." msgstr "" -#: c-api/arg.rst:495 +#: ../../src/Doc/c-api/arg.rst:495 msgid "" "When memory buffers are passed as parameters to supply data to build " "objects, as for the ``s`` and ``s#`` formats, the required data is copied. " @@ -1336,7 +1351,7 @@ msgid "" "`Py_BuildValue` returns." msgstr "" -#: c-api/arg.rst:503 +#: ../../src/Doc/c-api/arg.rst:503 msgid "" "In the following description, the quoted form is the format unit; the entry " "in (round) parentheses is the Python object type that the format unit will " @@ -1344,144 +1359,144 @@ msgid "" "be passed." msgstr "" -#: c-api/arg.rst:507 +#: ../../src/Doc/c-api/arg.rst:507 msgid "" "The characters space, tab, colon and comma are ignored in format strings " "(but not within format units such as ``s#``). This can be used to make long " "format strings a tad more readable." msgstr "" -#: c-api/arg.rst:513 -msgid "s (str or None) [char *]" +#: ../../src/Doc/c-api/arg.rst:513 +msgid "``s`` (:class:`str` or ``None``) [char \\*]" msgstr "" -#: c-api/arg.rst:512 +#: ../../src/Doc/c-api/arg.rst:512 msgid "" "Convert a null-terminated C string to a Python :class:`str` object using " "``'utf-8'`` encoding. If the C string pointer is *NULL*, ``None`` is used." msgstr "" -#: c-api/arg.rst:518 -msgid "s# (str or None) [char *, int]" +#: ../../src/Doc/c-api/arg.rst:518 +msgid "``s#`` (:class:`str` or ``None``) [char \\*, int]" msgstr "" -#: c-api/arg.rst:516 +#: ../../src/Doc/c-api/arg.rst:516 msgid "" "Convert a C string and its length to a Python :class:`str` object using " "``'utf-8'`` encoding. If the C string pointer is *NULL*, the length is " "ignored and ``None`` is returned." msgstr "" -#: c-api/arg.rst:522 -msgid "y (bytes) [char *]" +#: ../../src/Doc/c-api/arg.rst:522 +msgid "``y`` (:class:`bytes`) [char \\*]" msgstr "" -#: c-api/arg.rst:521 +#: ../../src/Doc/c-api/arg.rst:521 msgid "" "This converts a C string to a Python :class:`bytes` object. If the C string " "pointer is *NULL*, ``None`` is returned." msgstr "" -#: c-api/arg.rst:526 -msgid "y# (bytes) [char *, int]" +#: ../../src/Doc/c-api/arg.rst:526 +msgid "``y#`` (:class:`bytes`) [char \\*, int]" msgstr "" -#: c-api/arg.rst:525 +#: ../../src/Doc/c-api/arg.rst:525 msgid "" "This converts a C string and its lengths to a Python object. If the C " "string pointer is *NULL*, ``None`` is returned." msgstr "" -#: c-api/arg.rst:529 -msgid "z (str or None) [char *]" +#: ../../src/Doc/c-api/arg.rst:529 +msgid "``z`` (:class:`str` or ``None``) [char \\*]" msgstr "" -#: c-api/arg.rst:529 c-api/arg.rst:544 +#: ../../src/Doc/c-api/arg.rst:529 ../../src/Doc/c-api/arg.rst:544 msgid "Same as ``s``." msgstr "" -#: c-api/arg.rst:532 -msgid "z# (str or None) [char *, int]" +#: ../../src/Doc/c-api/arg.rst:532 +msgid "``z#`` (:class:`str` or ``None``) [char \\*, int]" msgstr "" -#: c-api/arg.rst:532 c-api/arg.rst:547 +#: ../../src/Doc/c-api/arg.rst:532 ../../src/Doc/c-api/arg.rst:547 msgid "Same as ``s#``." msgstr "" -#: c-api/arg.rst:535 +#: ../../src/Doc/c-api/arg.rst:535 msgid "" "Convert a null-terminated buffer of Unicode (UCS-2 or UCS-4) data to a " "Python Unicode object. If the Unicode buffer pointer is *NULL*, ``None`` is " "returned." msgstr "" -#: c-api/arg.rst:539 +#: ../../src/Doc/c-api/arg.rst:539 msgid "" "Convert a Unicode (UCS-2 or UCS-4) data buffer and its length to a Python " "Unicode object. If the Unicode buffer pointer is *NULL*, the length is " "ignored and ``None`` is returned." msgstr "" -#: c-api/arg.rst:544 -msgid "U (str or None) [char *]" +#: ../../src/Doc/c-api/arg.rst:544 +msgid "``U`` (:class:`str` or ``None``) [char \\*]" msgstr "" -#: c-api/arg.rst:547 -msgid "U# (str or None) [char *, int]" +#: ../../src/Doc/c-api/arg.rst:547 +msgid "``U#`` (:class:`str` or ``None``) [char \\*, int]" msgstr "" -#: c-api/arg.rst:550 +#: ../../src/Doc/c-api/arg.rst:550 msgid "Convert a plain C :c:type:`int` to a Python integer object." msgstr "" -#: c-api/arg.rst:553 -msgid "b (int) [char]" +#: ../../src/Doc/c-api/arg.rst:553 +msgid "``b`` (:class:`int`) [char]" msgstr "" -#: c-api/arg.rst:553 +#: ../../src/Doc/c-api/arg.rst:553 msgid "Convert a plain C :c:type:`char` to a Python integer object." msgstr "" -#: c-api/arg.rst:556 +#: ../../src/Doc/c-api/arg.rst:556 msgid "Convert a plain C :c:type:`short int` to a Python integer object." msgstr "" -#: c-api/arg.rst:559 +#: ../../src/Doc/c-api/arg.rst:559 #, fuzzy msgid "Convert a C :c:type:`long int` to a Python integer object." msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:562 +#: ../../src/Doc/c-api/arg.rst:562 #, fuzzy msgid "Convert a C :c:type:`unsigned char` to a Python integer object." msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:565 +#: ../../src/Doc/c-api/arg.rst:565 #, fuzzy msgid "Convert a C :c:type:`unsigned short int` to a Python integer object." msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:568 +#: ../../src/Doc/c-api/arg.rst:568 #, fuzzy msgid "Convert a C :c:type:`unsigned int` to a Python integer object." msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:571 +#: ../../src/Doc/c-api/arg.rst:571 #, fuzzy msgid "Convert a C :c:type:`unsigned long` to a Python integer object." msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:574 +#: ../../src/Doc/c-api/arg.rst:574 #, fuzzy msgid "" "Convert a C :c:type:`long long` to a Python integer object. Only available " @@ -1492,7 +1507,7 @@ msgstr "" "uniquement disponible sur les plates-formes qui prennent en charge :ctype:" "`long long` (ou :ctype:`_int64` sous Windows)." -#: c-api/arg.rst:579 +#: ../../src/Doc/c-api/arg.rst:579 #, fuzzy msgid "" "Convert a C :c:type:`unsigned long long` to a Python integer object. Only " @@ -1504,16 +1519,16 @@ msgstr "" "formes qui prennent en charge :ctype:`unsigned long long` (ou :ctype:" "`unsigned _int64` sous Windows)." -#: c-api/arg.rst:584 +#: ../../src/Doc/c-api/arg.rst:584 #, fuzzy msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." msgstr "Convertit un entier Python en un type :ctype:`long int`." -#: c-api/arg.rst:588 -msgid "c (bytes of length 1) [char]" +#: ../../src/Doc/c-api/arg.rst:588 +msgid "``c`` (:class:`bytes` of length 1) [char]" msgstr "" -#: c-api/arg.rst:587 +#: ../../src/Doc/c-api/arg.rst:587 #, fuzzy msgid "" "Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` " @@ -1522,7 +1537,7 @@ msgstr "" "Convertit un octet Python, représenté comme un objet :class:`bytes` de " "longueur 1, en un type C :ctype:`char`." -#: c-api/arg.rst:591 +#: ../../src/Doc/c-api/arg.rst:591 #, fuzzy msgid "" "Convert a C :c:type:`int` representing a character to Python :class:`str` " @@ -1531,27 +1546,27 @@ msgstr "" "Convertit un entier Python en un C :ctype:`unsigned short int`, sans " "contrôle de débordement." -#: c-api/arg.rst:595 +#: ../../src/Doc/c-api/arg.rst:595 #, fuzzy msgid "Convert a C :c:type:`double` to a Python floating point number." msgstr "Convertit un nombre flottant Python vers un type C :ctype:`float`." -#: c-api/arg.rst:598 +#: ../../src/Doc/c-api/arg.rst:598 #, fuzzy msgid "Convert a C :c:type:`float` to a Python floating point number." msgstr "Convertit un nombre flottant Python vers un type C :ctype:`float`." -#: c-api/arg.rst:601 -msgid "D (complex) [Py_complex *]" +#: ../../src/Doc/c-api/arg.rst:601 +msgid "``D`` (:class:`complex`) [Py_complex \\*]" msgstr "" -#: c-api/arg.rst:601 +#: ../../src/Doc/c-api/arg.rst:601 #, fuzzy msgid "Convert a C :c:type:`Py_complex` structure to a Python complex number." msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/arg.rst:604 +#: ../../src/Doc/c-api/arg.rst:604 msgid "" "Pass a Python object untouched (except for its reference count, which is " "incremented by one). If the object passed in is a *NULL* pointer, it is " @@ -1561,26 +1576,28 @@ msgid "" "yet, :exc:`SystemError` is set." msgstr "" -#: c-api/arg.rst:612 -msgid "S (object) [PyObject *]" +#: ../../src/Doc/c-api/arg.rst:612 +#, fuzzy +msgid "``S`` (object) [PyObject \\*]" msgstr "S (object) [PyObject *]" -#: c-api/arg.rst:612 +#: ../../src/Doc/c-api/arg.rst:612 msgid "Same as ``O``." msgstr "" -#: c-api/arg.rst:617 -msgid "N (object) [PyObject *]" +#: ../../src/Doc/c-api/arg.rst:617 +#, fuzzy +msgid "``N`` (object) [PyObject \\*]" msgstr "N (object) [PyObject *]" -#: c-api/arg.rst:615 +#: ../../src/Doc/c-api/arg.rst:615 msgid "" "Same as ``O``, except it doesn't increment the reference count on the " "object. Useful when the object is created by a call to an object constructor " "in the argument list." msgstr "" -#: c-api/arg.rst:620 +#: ../../src/Doc/c-api/arg.rst:620 msgid "" "Convert *anything* to a Python object through a *converter* function. The " "function is called with *anything* (which should be compatible with :c:type:" @@ -1588,50 +1605,50 @@ msgid "" "*NULL* if an error occurred." msgstr "" -#: c-api/arg.rst:626 +#: ../../src/Doc/c-api/arg.rst:626 msgid "" "Convert a sequence of C values to a Python tuple with the same number of " "items." msgstr "" -#: c-api/arg.rst:629 -msgid "[items] (list) [matching-items]" +#: ../../src/Doc/c-api/arg.rst:629 +msgid "``[items]`` (:class:`list`) [*matching-items*]" msgstr "" -#: c-api/arg.rst:629 +#: ../../src/Doc/c-api/arg.rst:629 msgid "" "Convert a sequence of C values to a Python list with the same number of " "items." msgstr "" -#: c-api/arg.rst:634 -msgid "{items} (dict) [matching-items]" +#: ../../src/Doc/c-api/arg.rst:634 +msgid "``{items}`` (:class:`dict`) [*matching-items*]" msgstr "" -#: c-api/arg.rst:632 +#: ../../src/Doc/c-api/arg.rst:632 msgid "" "Convert a sequence of C values to a Python dictionary. Each pair of " "consecutive C values adds one item to the dictionary, serving as key and " "value, respectively." msgstr "" -#: c-api/arg.rst:636 +#: ../../src/Doc/c-api/arg.rst:636 msgid "" "If there is an error in the format string, the :exc:`SystemError` exception " "is set and *NULL* returned." msgstr "" -#: c-api/arg.rst:641 +#: ../../src/Doc/c-api/arg.rst:641 msgid "" "Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list " "rather than a variable number of arguments." msgstr "" -#: c-api/bool.rst:6 +#: ../../src/Doc/c-api/bool.rst:6 msgid "Boolean Objects" msgstr "Les objets booléens" -#: c-api/bool.rst:8 +#: ../../src/Doc/c-api/bool.rst:8 msgid "" "Booleans in Python are implemented as a subclass of integers. There are " "only two booleans, :const:`Py_False` and :const:`Py_True`. As such, the " @@ -1644,45 +1661,45 @@ msgstr "" "s'appliquent pas aux booléens. Toutefois, les macros suivantes sont " "disponibles." -#: c-api/bool.rst:16 +#: ../../src/Doc/c-api/bool.rst:16 msgid "Return true if *o* is of type :c:data:`PyBool_Type`." msgstr "" -#: c-api/bool.rst:21 +#: ../../src/Doc/c-api/bool.rst:21 msgid "" "The Python ``False`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts." msgstr "" -#: c-api/bool.rst:27 +#: ../../src/Doc/c-api/bool.rst:27 msgid "" "The Python ``True`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts." msgstr "" -#: c-api/bool.rst:33 +#: ../../src/Doc/c-api/bool.rst:33 msgid "" "Return :const:`Py_False` from a function, properly incrementing its " "reference count." msgstr "" -#: c-api/bool.rst:39 +#: ../../src/Doc/c-api/bool.rst:39 msgid "" "Return :const:`Py_True` from a function, properly incrementing its reference " "count." msgstr "" -#: c-api/bool.rst:45 +#: ../../src/Doc/c-api/bool.rst:45 msgid "" "Return a new reference to :const:`Py_True` or :const:`Py_False` depending on " "the truth value of *v*." msgstr "" -#: c-api/buffer.rst:11 +#: ../../src/Doc/c-api/buffer.rst:11 msgid "Buffer Protocol" msgstr "" -#: c-api/buffer.rst:18 +#: ../../src/Doc/c-api/buffer.rst:18 msgid "" "Certain objects available in Python wrap access to an underlying memory " "array or *buffer*. Such objects include the built-in :class:`bytes` and :" @@ -1691,7 +1708,7 @@ msgid "" "image processing or numeric analysis." msgstr "" -#: c-api/buffer.rst:24 +#: ../../src/Doc/c-api/buffer.rst:24 msgid "" "While each of these types have their own semantics, they share the common " "characteristic of being backed by a possibly large memory buffer. It is " @@ -1699,26 +1716,26 @@ msgid "" "without intermediate copying." msgstr "" -#: c-api/buffer.rst:29 +#: ../../src/Doc/c-api/buffer.rst:29 msgid "" "Python provides such a facility at the C level in the form of the :ref:" "`buffer protocol `. This protocol has two sides:" msgstr "" -#: c-api/buffer.rst:34 +#: ../../src/Doc/c-api/buffer.rst:34 msgid "" "on the producer side, a type can export a \"buffer interface\" which allows " "objects of that type to expose information about their underlying buffer. " "This interface is described in the section :ref:`buffer-structs`;" msgstr "" -#: c-api/buffer.rst:38 +#: ../../src/Doc/c-api/buffer.rst:38 msgid "" "on the consumer side, several means are available to obtain a pointer to the " "raw underlying data of an object (for example a method parameter)." msgstr "" -#: c-api/buffer.rst:41 +#: ../../src/Doc/c-api/buffer.rst:41 msgid "" "Simple objects such as :class:`bytes` and :class:`bytearray` expose their " "underlying buffer in byte-oriented form. Other forms are possible; for " @@ -1726,7 +1743,7 @@ msgid "" "values." msgstr "" -#: c-api/buffer.rst:45 +#: ../../src/Doc/c-api/buffer.rst:45 msgid "" "An example consumer of the buffer interface is the :meth:`~io.BufferedIOBase." "write` method of file objects: any object that can export a series of bytes " @@ -1738,35 +1755,35 @@ msgid "" "buffers." msgstr "" -#: c-api/buffer.rst:53 +#: ../../src/Doc/c-api/buffer.rst:53 msgid "" "There are two ways for a consumer of the buffer interface to acquire a " "buffer over a target object:" msgstr "" -#: c-api/buffer.rst:56 +#: ../../src/Doc/c-api/buffer.rst:56 msgid "call :c:func:`PyObject_GetBuffer` with the right parameters;" msgstr "" -#: c-api/buffer.rst:58 +#: ../../src/Doc/c-api/buffer.rst:58 msgid "" "call :c:func:`PyArg_ParseTuple` (or one of its siblings) with one of the " "``y*``, ``w*`` or ``s*`` :ref:`format codes `." msgstr "" -#: c-api/buffer.rst:61 +#: ../../src/Doc/c-api/buffer.rst:61 msgid "" "In both cases, :c:func:`PyBuffer_Release` must be called when the buffer " "isn't needed anymore. Failure to do so could lead to various issues such as " "resource leaks." msgstr "" -#: c-api/buffer.rst:69 +#: ../../src/Doc/c-api/buffer.rst:69 #, fuzzy msgid "Buffer structure" msgstr "Les objets tampons" -#: c-api/buffer.rst:71 +#: ../../src/Doc/c-api/buffer.rst:71 #, fuzzy msgid "" "Buffer structures (or simply \"buffers\") are useful as a way to expose the " @@ -1788,7 +1805,7 @@ msgstr "" "une librairie système, ou encore elle peut permettre de faire passer des " "données structurées dans leur format originel en mémoire." -#: c-api/buffer.rst:80 +#: ../../src/Doc/c-api/buffer.rst:80 msgid "" "Contrary to most data types exposed by the Python interpreter, buffers are " "not :c:type:`PyObject` pointers but rather simple C structures. This allows " @@ -1797,14 +1814,14 @@ msgid "" "created." msgstr "" -#: c-api/buffer.rst:86 +#: ../../src/Doc/c-api/buffer.rst:86 msgid "" "For short instructions how to write an exporting object, see :ref:`Buffer " "Object Structures `. For obtaining a buffer, see :c:func:" "`PyObject_GetBuffer`." msgstr "" -#: c-api/buffer.rst:94 +#: ../../src/Doc/c-api/buffer.rst:94 msgid "" "A pointer to the start of the logical structure described by the buffer " "fields. This can be any location within the underlying physical memory block " @@ -1812,13 +1829,13 @@ msgid "" "the value may point to the end of the memory block." msgstr "" -#: c-api/buffer.rst:99 +#: ../../src/Doc/c-api/buffer.rst:99 msgid "" "For :term:`contiguous` arrays, the value points to the beginning of the " "memory block." msgstr "" -#: c-api/buffer.rst:104 +#: ../../src/Doc/c-api/buffer.rst:104 msgid "" "A new reference to the exporting object. The reference is owned by the " "consumer and automatically decremented and set to *NULL* by :c:func:" @@ -1826,14 +1843,14 @@ msgid "" "standard C-API function." msgstr "" -#: c-api/buffer.rst:109 +#: ../../src/Doc/c-api/buffer.rst:109 msgid "" "As a special case, for *temporary* buffers that are wrapped by :c:func:" "`PyMemoryView_FromBuffer` or :c:func:`PyBuffer_FillInfo` this field is " "*NULL*. In general, exporting objects MUST NOT use this scheme." msgstr "" -#: c-api/buffer.rst:116 +#: ../../src/Doc/c-api/buffer.rst:116 msgid "" "``product(shape) * itemsize``. For contiguous arrays, this is the length of " "the underlying memory block. For non-contiguous arrays, it is the length " @@ -1841,7 +1858,7 @@ msgid "" "representation." msgstr "" -#: c-api/buffer.rst:121 +#: ../../src/Doc/c-api/buffer.rst:121 msgid "" "Accessing ``((char *)buf)[0] up to ((char *)buf)[len-1]`` is only valid if " "the buffer has been obtained by a request that guarantees contiguity. In " @@ -1849,19 +1866,19 @@ msgid "" "`PyBUF_WRITABLE`." msgstr "" -#: c-api/buffer.rst:127 +#: ../../src/Doc/c-api/buffer.rst:127 msgid "" "An indicator of whether the buffer is read-only. This field is controlled by " "the :c:macro:`PyBUF_WRITABLE` flag." msgstr "" -#: c-api/buffer.rst:132 +#: ../../src/Doc/c-api/buffer.rst:132 msgid "" "Item size in bytes of a single element. Same as the value of :func:`struct." "calcsize` called on non-NULL :c:member:`~Py_buffer.format` values." msgstr "" -#: c-api/buffer.rst:135 +#: ../../src/Doc/c-api/buffer.rst:135 msgid "" "Important exception: If a consumer requests a buffer without the :c:macro:" "`PyBUF_FORMAT` flag, :c:member:`~Py_buffer.format` will be set to *NULL*, " @@ -1869,32 +1886,32 @@ msgid "" "format." msgstr "" -#: c-api/buffer.rst:140 +#: ../../src/Doc/c-api/buffer.rst:140 msgid "" "If :c:member:`~Py_buffer.shape` is present, the equality ``product(shape) * " "itemsize == len`` still holds and the consumer can use :c:member:`~Py_buffer." "itemsize` to navigate the buffer." msgstr "" -#: c-api/buffer.rst:144 +#: ../../src/Doc/c-api/buffer.rst:144 msgid "" "If :c:member:`~Py_buffer.shape` is *NULL* as a result of a :c:macro:" "`PyBUF_SIMPLE` or a :c:macro:`PyBUF_WRITABLE` request, the consumer must " "disregard :c:member:`~Py_buffer.itemsize` and assume ``itemsize == 1``." msgstr "" -#: c-api/buffer.rst:150 +#: ../../src/Doc/c-api/buffer.rst:150 msgid "" "A *NUL* terminated string in :mod:`struct` module style syntax describing " "the contents of a single item. If this is *NULL*, ``\"B\"`` (unsigned bytes) " "is assumed." msgstr "" -#: c-api/buffer.rst:154 +#: ../../src/Doc/c-api/buffer.rst:154 msgid "This field is controlled by the :c:macro:`PyBUF_FORMAT` flag." msgstr "" -#: c-api/buffer.rst:158 +#: ../../src/Doc/c-api/buffer.rst:158 msgid "" "The number of dimensions the memory represents as an n-dimensional array. If " "it is 0, :c:member:`~Py_buffer.buf` points to a single item representing a " @@ -1902,14 +1919,14 @@ msgid "" "strides` and :c:member:`~Py_buffer.suboffsets` MUST be *NULL*." msgstr "" -#: c-api/buffer.rst:163 +#: ../../src/Doc/c-api/buffer.rst:163 msgid "" "The macro :c:macro:`PyBUF_MAX_NDIM` limits the maximum number of dimensions " "to 64. Exporters MUST respect this limit, consumers of multi-dimensional " "buffers SHOULD be able to handle up to :c:macro:`PyBUF_MAX_NDIM` dimensions." msgstr "" -#: c-api/buffer.rst:169 +#: ../../src/Doc/c-api/buffer.rst:169 msgid "" "An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " "indicating the shape of the memory as an n-dimensional array. Note that " @@ -1917,34 +1934,34 @@ msgid "" "`~Py_buffer.len`." msgstr "" -#: c-api/buffer.rst:174 +#: ../../src/Doc/c-api/buffer.rst:174 msgid "" "Shape values are restricted to ``shape[n] >= 0``. The case ``shape[n] == 0`` " "requires special attention. See `complex arrays`_ for further information." msgstr "" -#: c-api/buffer.rst:178 +#: ../../src/Doc/c-api/buffer.rst:178 msgid "The shape array is read-only for the consumer." msgstr "" -#: c-api/buffer.rst:182 +#: ../../src/Doc/c-api/buffer.rst:182 msgid "" "An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " "giving the number of bytes to skip to get to a new element in each dimension." msgstr "" -#: c-api/buffer.rst:186 +#: ../../src/Doc/c-api/buffer.rst:186 msgid "" "Stride values can be any integer. For regular arrays, strides are usually " "positive, but a consumer MUST be able to handle the case ``strides[n] <= " "0``. See `complex arrays`_ for further information." msgstr "" -#: c-api/buffer.rst:190 +#: ../../src/Doc/c-api/buffer.rst:190 msgid "The strides array is read-only for the consumer." msgstr "" -#: c-api/buffer.rst:194 +#: ../../src/Doc/c-api/buffer.rst:194 msgid "" "An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim`. If " "``suboffsets[n] >= 0``, the values stored along the nth dimension are " @@ -1953,24 +1970,24 @@ msgid "" "that no de-referencing should occur (striding in a contiguous memory block)." msgstr "" -#: c-api/buffer.rst:201 +#: ../../src/Doc/c-api/buffer.rst:201 msgid "" "If all suboffsets are negative (i.e. no de-referencing is needed, then this " "field must be NULL (the default value)." msgstr "" -#: c-api/buffer.rst:204 +#: ../../src/Doc/c-api/buffer.rst:204 msgid "" "This type of array representation is used by the Python Imaging Library " "(PIL). See `complex arrays`_ for further information how to access elements " "of such an array." msgstr "" -#: c-api/buffer.rst:208 +#: ../../src/Doc/c-api/buffer.rst:208 msgid "The suboffsets array is read-only for the consumer." msgstr "" -#: c-api/buffer.rst:212 +#: ../../src/Doc/c-api/buffer.rst:212 msgid "" "This is for use internally by the exporting object. For example, this might " "be re-cast as an integer by the exporter and used to store flags about " @@ -1978,11 +1995,11 @@ msgid "" "the buffer is released. The consumer MUST NOT alter this value." msgstr "" -#: c-api/buffer.rst:221 +#: ../../src/Doc/c-api/buffer.rst:221 msgid "Buffer request types" msgstr "" -#: c-api/buffer.rst:223 +#: ../../src/Doc/c-api/buffer.rst:223 msgid "" "Buffers are usually obtained by sending a buffer request to an exporting " "object via :c:func:`PyObject_GetBuffer`. Since the complexity of the logical " @@ -1990,16 +2007,16 @@ msgid "" "argument to specify the exact buffer type it can handle." msgstr "" -#: c-api/buffer.rst:228 +#: ../../src/Doc/c-api/buffer.rst:228 msgid "" "All :c:data:`Py_buffer` fields are unambiguously defined by the request type." msgstr "" -#: c-api/buffer.rst:232 +#: ../../src/Doc/c-api/buffer.rst:232 msgid "request-independent fields" msgstr "" -#: c-api/buffer.rst:233 +#: ../../src/Doc/c-api/buffer.rst:233 msgid "" "The following fields are not influenced by *flags* and must always be filled " "in with the correct values: :c:member:`~Py_buffer.obj`, :c:member:" @@ -2007,11 +2024,11 @@ msgid "" "itemsize`, :c:member:`~Py_buffer.ndim`." msgstr "" -#: c-api/buffer.rst:239 +#: ../../src/Doc/c-api/buffer.rst:239 msgid "readonly, format" msgstr "" -#: c-api/buffer.rst:243 +#: ../../src/Doc/c-api/buffer.rst:243 msgid "" "Controls the :c:member:`~Py_buffer.readonly` field. If set, the exporter " "MUST provide a writable buffer or else report failure. Otherwise, the " @@ -2019,13 +2036,13 @@ msgid "" "MUST be consistent for all consumers." msgstr "" -#: c-api/buffer.rst:250 +#: ../../src/Doc/c-api/buffer.rst:250 msgid "" "Controls the :c:member:`~Py_buffer.format` field. If set, this field MUST be " "filled in correctly. Otherwise, this field MUST be *NULL*." msgstr "" -#: c-api/buffer.rst:254 +#: ../../src/Doc/c-api/buffer.rst:254 msgid "" ":c:macro:`PyBUF_WRITABLE` can be \\|'d to any of the flags in the next " "section. Since :c:macro:`PyBUF_SIMPLE` is defined as 0, :c:macro:" @@ -2033,144 +2050,156 @@ msgid "" "writable buffer." msgstr "" -#: c-api/buffer.rst:258 +#: ../../src/Doc/c-api/buffer.rst:258 msgid "" ":c:macro:`PyBUF_FORMAT` can be \\|'d to any of the flags except :c:macro:" "`PyBUF_SIMPLE`. The latter already implies format ``B`` (unsigned bytes)." msgstr "" -#: c-api/buffer.rst:263 +#: ../../src/Doc/c-api/buffer.rst:263 msgid "shape, strides, suboffsets" msgstr "" -#: c-api/buffer.rst:265 +#: ../../src/Doc/c-api/buffer.rst:265 msgid "" "The flags that control the logical structure of the memory are listed in " "decreasing order of complexity. Note that each flag contains all bits of the " "flags below it." msgstr "" -#: c-api/buffer.rst:272 c-api/buffer.rst:296 c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:272 ../../src/Doc/c-api/buffer.rst:296 +#: ../../src/Doc/c-api/buffer.rst:321 msgid "Request" msgstr "" -#: c-api/buffer.rst:272 c-api/buffer.rst:296 c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:272 ../../src/Doc/c-api/buffer.rst:296 +#: ../../src/Doc/c-api/buffer.rst:321 msgid "shape" msgstr "" -#: c-api/buffer.rst:272 c-api/buffer.rst:296 c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:272 ../../src/Doc/c-api/buffer.rst:296 +#: ../../src/Doc/c-api/buffer.rst:321 msgid "strides" msgstr "" -#: c-api/buffer.rst:272 c-api/buffer.rst:296 c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:272 ../../src/Doc/c-api/buffer.rst:296 +#: ../../src/Doc/c-api/buffer.rst:321 msgid "suboffsets" msgstr "" -#: c-api/buffer.rst:274 c-api/buffer.rst:276 c-api/buffer.rst:278 -#: c-api/buffer.rst:298 c-api/buffer.rst:300 c-api/buffer.rst:302 -#: c-api/buffer.rst:304 c-api/buffer.rst:323 c-api/buffer.rst:325 -#: c-api/buffer.rst:327 c-api/buffer.rst:329 c-api/buffer.rst:331 -#: c-api/buffer.rst:333 c-api/buffer.rst:335 c-api/buffer.rst:337 +#: ../../src/Doc/c-api/buffer.rst:274 ../../src/Doc/c-api/buffer.rst:276 +#: ../../src/Doc/c-api/buffer.rst:278 ../../src/Doc/c-api/buffer.rst:298 +#: ../../src/Doc/c-api/buffer.rst:300 ../../src/Doc/c-api/buffer.rst:302 +#: ../../src/Doc/c-api/buffer.rst:304 ../../src/Doc/c-api/buffer.rst:323 +#: ../../src/Doc/c-api/buffer.rst:325 ../../src/Doc/c-api/buffer.rst:327 +#: ../../src/Doc/c-api/buffer.rst:329 ../../src/Doc/c-api/buffer.rst:331 +#: ../../src/Doc/c-api/buffer.rst:333 ../../src/Doc/c-api/buffer.rst:335 +#: ../../src/Doc/c-api/buffer.rst:337 #, fuzzy msgid "yes" msgstr "oui" -#: c-api/buffer.rst:274 c-api/buffer.rst:323 c-api/buffer.rst:325 +#: ../../src/Doc/c-api/buffer.rst:274 ../../src/Doc/c-api/buffer.rst:323 +#: ../../src/Doc/c-api/buffer.rst:325 msgid "if needed" msgstr "" -#: c-api/buffer.rst:276 c-api/buffer.rst:278 c-api/buffer.rst:280 -#: c-api/buffer.rst:298 c-api/buffer.rst:300 c-api/buffer.rst:302 -#: c-api/buffer.rst:304 c-api/buffer.rst:327 c-api/buffer.rst:329 -#: c-api/buffer.rst:331 c-api/buffer.rst:333 c-api/buffer.rst:335 -#: c-api/buffer.rst:337 +#: ../../src/Doc/c-api/buffer.rst:276 ../../src/Doc/c-api/buffer.rst:278 +#: ../../src/Doc/c-api/buffer.rst:280 ../../src/Doc/c-api/buffer.rst:298 +#: ../../src/Doc/c-api/buffer.rst:300 ../../src/Doc/c-api/buffer.rst:302 +#: ../../src/Doc/c-api/buffer.rst:304 ../../src/Doc/c-api/buffer.rst:327 +#: ../../src/Doc/c-api/buffer.rst:329 ../../src/Doc/c-api/buffer.rst:331 +#: ../../src/Doc/c-api/buffer.rst:333 ../../src/Doc/c-api/buffer.rst:335 +#: ../../src/Doc/c-api/buffer.rst:337 msgid "NULL" msgstr "" -#: c-api/buffer.rst:287 +#: ../../src/Doc/c-api/buffer.rst:287 msgid "contiguity requests" msgstr "" -#: c-api/buffer.rst:289 +#: ../../src/Doc/c-api/buffer.rst:289 msgid "" "C or Fortran :term:`contiguity ` can be explicitly requested, " "with and without stride information. Without stride information, the buffer " "must be C-contiguous." msgstr "" -#: c-api/buffer.rst:296 c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:296 ../../src/Doc/c-api/buffer.rst:321 msgid "contig" msgstr "" -#: c-api/buffer.rst:298 c-api/buffer.rst:304 c-api/buffer.rst:335 -#: c-api/buffer.rst:337 +#: ../../src/Doc/c-api/buffer.rst:298 ../../src/Doc/c-api/buffer.rst:304 +#: ../../src/Doc/c-api/buffer.rst:335 ../../src/Doc/c-api/buffer.rst:337 msgid "C" msgstr "" -#: c-api/buffer.rst:300 +#: ../../src/Doc/c-api/buffer.rst:300 msgid "F" msgstr "" -#: c-api/buffer.rst:302 +#: ../../src/Doc/c-api/buffer.rst:302 msgid "C or F" msgstr "" -#: c-api/buffer.rst:309 +#: ../../src/Doc/c-api/buffer.rst:309 msgid "compound requests" msgstr "" -#: c-api/buffer.rst:311 +#: ../../src/Doc/c-api/buffer.rst:311 msgid "" "All possible requests are fully defined by some combination of the flags in " "the previous section. For convenience, the buffer protocol provides " "frequently used combinations as single flags." msgstr "" -#: c-api/buffer.rst:315 +#: ../../src/Doc/c-api/buffer.rst:315 msgid "" "In the following table *U* stands for undefined contiguity. The consumer " "would have to call :c:func:`PyBuffer_IsContiguous` to determine contiguity." msgstr "" -#: c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:321 msgid "readonly" msgstr "" -#: c-api/buffer.rst:321 +#: ../../src/Doc/c-api/buffer.rst:321 msgid "format" msgstr "" -#: c-api/buffer.rst:323 c-api/buffer.rst:325 c-api/buffer.rst:327 -#: c-api/buffer.rst:329 c-api/buffer.rst:331 c-api/buffer.rst:333 +#: ../../src/Doc/c-api/buffer.rst:323 ../../src/Doc/c-api/buffer.rst:325 +#: ../../src/Doc/c-api/buffer.rst:327 ../../src/Doc/c-api/buffer.rst:329 +#: ../../src/Doc/c-api/buffer.rst:331 ../../src/Doc/c-api/buffer.rst:333 msgid "U" msgstr "" -#: c-api/buffer.rst:323 c-api/buffer.rst:327 c-api/buffer.rst:331 -#: c-api/buffer.rst:335 c-api/init.rst:1145 +#: ../../src/Doc/c-api/buffer.rst:323 ../../src/Doc/c-api/buffer.rst:327 +#: ../../src/Doc/c-api/buffer.rst:331 ../../src/Doc/c-api/buffer.rst:335 +#: ../../src/Doc/c-api/init.rst:1145 msgid "0" msgstr "" -#: c-api/buffer.rst:325 c-api/buffer.rst:329 c-api/buffer.rst:333 -#: c-api/buffer.rst:337 +#: ../../src/Doc/c-api/buffer.rst:325 ../../src/Doc/c-api/buffer.rst:329 +#: ../../src/Doc/c-api/buffer.rst:333 ../../src/Doc/c-api/buffer.rst:337 msgid "1 or 0" msgstr "" -#: c-api/buffer.rst:342 +#: ../../src/Doc/c-api/buffer.rst:342 msgid "Complex arrays" msgstr "" -#: c-api/buffer.rst:345 +#: ../../src/Doc/c-api/buffer.rst:345 msgid "NumPy-style: shape and strides" msgstr "" -#: c-api/buffer.rst:347 +#: ../../src/Doc/c-api/buffer.rst:347 msgid "" "The logical structure of NumPy-style arrays is defined by :c:member:" "`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer." "shape` and :c:member:`~Py_buffer.strides`." msgstr "" -#: c-api/buffer.rst:350 +#: ../../src/Doc/c-api/buffer.rst:350 msgid "" "If ``ndim == 0``, the memory location pointed to by :c:member:`~Py_buffer." "buf` is interpreted as a scalar of size :c:member:`~Py_buffer.itemsize`. In " @@ -2178,31 +2207,31 @@ msgid "" "strides` are *NULL*." msgstr "" -#: c-api/buffer.rst:354 +#: ../../src/Doc/c-api/buffer.rst:354 msgid "" "If :c:member:`~Py_buffer.strides` is *NULL*, the array is interpreted as a " "standard n-dimensional C-array. Otherwise, the consumer must access an n-" "dimensional array as follows:" msgstr "" -#: c-api/buffer.rst:358 +#: ../../src/Doc/c-api/buffer.rst:358 msgid "" "``ptr = (char *)buf + indices[0] * strides[0] + ... + indices[n-1] * " "strides[n-1]`` ``item = *((typeof(item) *)ptr);``" msgstr "" -#: c-api/buffer.rst:362 +#: ../../src/Doc/c-api/buffer.rst:362 msgid "" "As noted above, :c:member:`~Py_buffer.buf` can point to any location within " "the actual memory block. An exporter can check the validity of a buffer with " "this function:" msgstr "" -#: c-api/buffer.rst:396 +#: ../../src/Doc/c-api/buffer.rst:396 msgid "PIL-style: shape, strides and suboffsets" msgstr "" -#: c-api/buffer.rst:398 +#: ../../src/Doc/c-api/buffer.rst:398 msgid "" "In addition to the regular items, PIL-style arrays can contain pointers that " "must be followed in order to get to the next element in a dimension. For " @@ -2213,33 +2242,33 @@ msgid "" "x[2][3]`` arrays that can be located anywhere in memory." msgstr "" -#: c-api/buffer.rst:407 +#: ../../src/Doc/c-api/buffer.rst:407 msgid "" "Here is a function that returns a pointer to the element in an N-D array " "pointed to by an N-dimensional index when there are both non-NULL strides " "and suboffsets::" msgstr "" -#: c-api/buffer.rst:426 +#: ../../src/Doc/c-api/buffer.rst:426 #, fuzzy msgid "Buffer-related functions" msgstr "Fonctions relatives aux tampons" -#: c-api/buffer.rst:430 +#: ../../src/Doc/c-api/buffer.rst:430 msgid "" "Return 1 if *obj* supports the buffer interface otherwise 0. When 1 is " "returned, it doesn't guarantee that :c:func:`PyObject_GetBuffer` will " "succeed." msgstr "" -#: c-api/buffer.rst:437 +#: ../../src/Doc/c-api/buffer.rst:437 msgid "" "Send a request to *exporter* to fill in *view* as specified by *flags*. If " "the exporter cannot provide a buffer of the exact type, it MUST raise :c:" "data:`PyExc_BufferError`, set :c:member:`view->obj` to *NULL* and return -1." msgstr "" -#: c-api/buffer.rst:442 +#: ../../src/Doc/c-api/buffer.rst:442 msgid "" "On success, fill in *view*, set :c:member:`view->obj` to a new reference to " "*exporter* and return 0. In the case of chained buffer providers that " @@ -2248,7 +2277,7 @@ msgid "" "`)." msgstr "" -#: c-api/buffer.rst:447 +#: ../../src/Doc/c-api/buffer.rst:447 msgid "" "Successful calls to :c:func:`PyObject_GetBuffer` must be paired with calls " "to :c:func:`PyBuffer_Release`, similar to :c:func:`malloc` and :c:func:" @@ -2256,157 +2285,157 @@ msgid "" "`PyBuffer_Release` must be called exactly once." msgstr "" -#: c-api/buffer.rst:455 +#: ../../src/Doc/c-api/buffer.rst:455 msgid "" "Release the buffer *view* and decrement the reference count for :c:member:" "`view->obj`. This function MUST be called when the buffer is no longer being " "used, otherwise reference leaks may occur." msgstr "" -#: c-api/buffer.rst:459 +#: ../../src/Doc/c-api/buffer.rst:459 msgid "" "It is an error to call this function on a buffer that was not obtained via :" "c:func:`PyObject_GetBuffer`." msgstr "" -#: c-api/buffer.rst:465 +#: ../../src/Doc/c-api/buffer.rst:465 msgid "" "Return the implied :c:data:`~Py_buffer.itemsize` from :c:data:`~Py_buffer." "format`. This function is not yet implemented." msgstr "" -#: c-api/buffer.rst:471 +#: ../../src/Doc/c-api/buffer.rst:471 msgid "" "Return 1 if the memory defined by the *view* is C-style (*order* is ``'C'``) " "or Fortran-style (*order* is ``'F'``) :term:`contiguous` or either one " "(*order* is ``'A'``). Return 0 otherwise." msgstr "" -#: c-api/buffer.rst:478 +#: ../../src/Doc/c-api/buffer.rst:478 msgid "" "Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style " "if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the " "given shape with the given number of bytes per element." msgstr "" -#: c-api/buffer.rst:485 +#: ../../src/Doc/c-api/buffer.rst:485 msgid "" "Handle buffer requests for an exporter that wants to expose *buf* of size " "*len* with writability set according to *readonly*. *buf* is interpreted as " "a sequence of unsigned bytes." msgstr "" -#: c-api/buffer.rst:489 +#: ../../src/Doc/c-api/buffer.rst:489 msgid "" "The *flags* argument indicates the request type. This function always fills " "in *view* as specified by flags, unless *buf* has been designated as read-" "only and :c:macro:`PyBUF_WRITABLE` is set in *flags*." msgstr "" -#: c-api/buffer.rst:493 +#: ../../src/Doc/c-api/buffer.rst:493 msgid "" "On success, set :c:member:`view->obj` to a new reference to *exporter* and " "return 0. Otherwise, raise :c:data:`PyExc_BufferError`, set :c:member:`view-" ">obj` to *NULL* and return -1;" msgstr "" -#: c-api/buffer.rst:497 +#: ../../src/Doc/c-api/buffer.rst:497 msgid "" "If this function is used as part of a :ref:`getbufferproc `, " "*exporter* MUST be set to the exporting object and *flags* must be passed " "unmodified. Otherwise, *exporter* MUST be NULL." msgstr "" -#: c-api/bytearray.rst:6 +#: ../../src/Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" msgstr "Objets Tableau d'Octets" -#: c-api/bytearray.rst:13 +#: ../../src/Doc/c-api/bytearray.rst:13 msgid "" "This subtype of :c:type:`PyObject` represents a Python bytearray object." msgstr "" -#: c-api/bytearray.rst:18 +#: ../../src/Doc/c-api/bytearray.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python bytearray " "type; it is the same object as :class:`bytearray` in the Python layer." msgstr "" -#: c-api/bytearray.rst:23 +#: ../../src/Doc/c-api/bytearray.rst:23 msgid "Type check macros" msgstr "Macros de vérification de type" -#: c-api/bytearray.rst:27 +#: ../../src/Doc/c-api/bytearray.rst:27 msgid "" "Return true if the object *o* is a bytearray object or an instance of a " "subtype of the bytearray type." msgstr "" -#: c-api/bytearray.rst:33 +#: ../../src/Doc/c-api/bytearray.rst:33 msgid "" "Return true if the object *o* is a bytearray object, but not an instance of " "a subtype of the bytearray type." msgstr "" -#: c-api/bytearray.rst:38 +#: ../../src/Doc/c-api/bytearray.rst:38 msgid "Direct API functions" msgstr "Fonctions directes sur l'API" -#: c-api/bytearray.rst:42 +#: ../../src/Doc/c-api/bytearray.rst:42 msgid "" "Return a new bytearray object from any object, *o*, that implements the :ref:" "`buffer protocol `." msgstr "" -#: c-api/bytearray.rst:50 +#: ../../src/Doc/c-api/bytearray.rst:50 msgid "" "Create a new bytearray object from *string* and its length, *len*. On " "failure, *NULL* is returned." msgstr "" -#: c-api/bytearray.rst:56 +#: ../../src/Doc/c-api/bytearray.rst:56 msgid "" "Concat bytearrays *a* and *b* and return a new bytearray with the result." msgstr "" -#: c-api/bytearray.rst:61 +#: ../../src/Doc/c-api/bytearray.rst:61 msgid "Return the size of *bytearray* after checking for a *NULL* pointer." msgstr "" -#: c-api/bytearray.rst:66 +#: ../../src/Doc/c-api/bytearray.rst:66 msgid "" "Return the contents of *bytearray* as a char array after checking for a " "*NULL* pointer. The returned array always has an extra null byte appended." msgstr "" -#: c-api/bytearray.rst:73 +#: ../../src/Doc/c-api/bytearray.rst:73 msgid "Resize the internal buffer of *bytearray* to *len*." msgstr "" -#: c-api/bytearray.rst:76 +#: ../../src/Doc/c-api/bytearray.rst:76 msgid "Macros" msgstr "Macros" -#: c-api/bytearray.rst:78 +#: ../../src/Doc/c-api/bytearray.rst:78 msgid "These macros trade safety for speed and they don't check pointers." msgstr "" "Ces macros sont taillées pour la vitesse d'exécution et ne vérifient pas les " "pointeurs." -#: c-api/bytearray.rst:82 +#: ../../src/Doc/c-api/bytearray.rst:82 msgid "Macro version of :c:func:`PyByteArray_AsString`." msgstr "" -#: c-api/bytearray.rst:87 +#: ../../src/Doc/c-api/bytearray.rst:87 msgid "Macro version of :c:func:`PyByteArray_Size`." msgstr "" -#: c-api/bytes.rst:6 +#: ../../src/Doc/c-api/bytes.rst:6 #, fuzzy msgid "Bytes Objects" msgstr "Objets bytes" -#: c-api/bytes.rst:8 +#: ../../src/Doc/c-api/bytes.rst:8 #, fuzzy msgid "" "These functions raise :exc:`TypeError` when expecting a bytes parameter and " @@ -2416,43 +2445,43 @@ msgstr "" "type octets et qu'elles sont appelées avec un paramètre qui n'est pas un " "octet." -#: c-api/bytes.rst:16 +#: ../../src/Doc/c-api/bytes.rst:16 msgid "This subtype of :c:type:`PyObject` represents a Python bytes object." msgstr "" -#: c-api/bytes.rst:21 +#: ../../src/Doc/c-api/bytes.rst:21 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python bytes type; it " "is the same object as :class:`bytes` in the Python layer." msgstr "" -#: c-api/bytes.rst:27 +#: ../../src/Doc/c-api/bytes.rst:27 msgid "" "Return true if the object *o* is a bytes object or an instance of a subtype " "of the bytes type." msgstr "" -#: c-api/bytes.rst:33 +#: ../../src/Doc/c-api/bytes.rst:33 msgid "" "Return true if the object *o* is a bytes object, but not an instance of a " "subtype of the bytes type." msgstr "" -#: c-api/bytes.rst:39 +#: ../../src/Doc/c-api/bytes.rst:39 msgid "" "Return a new bytes object with a copy of the string *v* as value on success, " "and *NULL* on failure. The parameter *v* must not be *NULL*; it will not be " "checked." msgstr "" -#: c-api/bytes.rst:46 +#: ../../src/Doc/c-api/bytes.rst:46 msgid "" "Return a new bytes object with a copy of the string *v* as value and length " "*len* on success, and *NULL* on failure. If *v* is *NULL*, the contents of " "the bytes object are uninitialized." msgstr "" -#: c-api/bytes.rst:53 +#: ../../src/Doc/c-api/bytes.rst:53 msgid "" "Take a C :c:func:`printf`\\ -style *format* string and a variable number of " "arguments, calculate the size of the resulting Python bytes object and " @@ -2462,185 +2491,192 @@ msgid "" "allowed:" msgstr "" -#: c-api/bytes.rst:68 c-api/unicode.rst:448 +#: ../../src/Doc/c-api/bytes.rst:68 ../../src/Doc/c-api/unicode.rst:448 msgid "Format Characters" msgstr "" -#: c-api/bytes.rst:68 c-api/unicode.rst:448 +#: ../../src/Doc/c-api/bytes.rst:68 ../../src/Doc/c-api/unicode.rst:448 msgid "Type" msgstr "" -#: c-api/bytes.rst:68 c-api/unicode.rst:448 +#: ../../src/Doc/c-api/bytes.rst:68 ../../src/Doc/c-api/unicode.rst:448 msgid "Comment" msgstr "" -#: c-api/bytes.rst:70 c-api/unicode.rst:450 +#: ../../src/Doc/c-api/bytes.rst:70 ../../src/Doc/c-api/unicode.rst:450 msgid ":attr:`%%`" msgstr "" -#: c-api/bytes.rst:70 c-api/unicode.rst:450 +#: ../../src/Doc/c-api/bytes.rst:70 ../../src/Doc/c-api/unicode.rst:450 msgid "*n/a*" msgstr "" -#: c-api/bytes.rst:70 c-api/unicode.rst:450 +#: ../../src/Doc/c-api/bytes.rst:70 ../../src/Doc/c-api/unicode.rst:450 msgid "The literal % character." msgstr "" -#: c-api/bytes.rst:72 c-api/unicode.rst:452 +#: ../../src/Doc/c-api/bytes.rst:72 ../../src/Doc/c-api/unicode.rst:452 msgid ":attr:`%c`" msgstr "" -#: c-api/bytes.rst:72 c-api/bytes.rst:75 c-api/bytes.rst:93 c-api/bytes.rst:96 -#: c-api/structures.rst:136 c-api/structures.rst:245 c-api/structures.rst:252 -#: c-api/structures.rst:268 c-api/unicode.rst:452 c-api/unicode.rst:455 -#: c-api/unicode.rst:488 c-api/unicode.rst:491 +#: ../../src/Doc/c-api/bytes.rst:72 ../../src/Doc/c-api/bytes.rst:75 +#: ../../src/Doc/c-api/bytes.rst:93 ../../src/Doc/c-api/bytes.rst:96 +#: ../../src/Doc/c-api/structures.rst:136 +#: ../../src/Doc/c-api/structures.rst:245 +#: ../../src/Doc/c-api/structures.rst:252 +#: ../../src/Doc/c-api/structures.rst:268 ../../src/Doc/c-api/unicode.rst:452 +#: ../../src/Doc/c-api/unicode.rst:455 ../../src/Doc/c-api/unicode.rst:488 +#: ../../src/Doc/c-api/unicode.rst:491 msgid "int" msgstr "" -#: c-api/bytes.rst:72 +#: ../../src/Doc/c-api/bytes.rst:72 msgid "A single byte, represented as a C int." msgstr "" -#: c-api/bytes.rst:75 c-api/unicode.rst:455 +#: ../../src/Doc/c-api/bytes.rst:75 ../../src/Doc/c-api/unicode.rst:455 msgid ":attr:`%d`" msgstr "" -#: c-api/bytes.rst:75 c-api/unicode.rst:455 +#: ../../src/Doc/c-api/bytes.rst:75 ../../src/Doc/c-api/unicode.rst:455 msgid "Exactly equivalent to ``printf(\"%d\")``." msgstr "" -#: c-api/bytes.rst:78 c-api/unicode.rst:458 +#: ../../src/Doc/c-api/bytes.rst:78 ../../src/Doc/c-api/unicode.rst:458 msgid ":attr:`%u`" msgstr "" -#: c-api/bytes.rst:78 c-api/structures.rst:278 c-api/unicode.rst:458 +#: ../../src/Doc/c-api/bytes.rst:78 ../../src/Doc/c-api/structures.rst:278 +#: ../../src/Doc/c-api/unicode.rst:458 msgid "unsigned int" msgstr "" -#: c-api/bytes.rst:78 c-api/unicode.rst:458 +#: ../../src/Doc/c-api/bytes.rst:78 ../../src/Doc/c-api/unicode.rst:458 msgid "Exactly equivalent to ``printf(\"%u\")``." msgstr "" -#: c-api/bytes.rst:81 c-api/unicode.rst:461 +#: ../../src/Doc/c-api/bytes.rst:81 ../../src/Doc/c-api/unicode.rst:461 msgid ":attr:`%ld`" msgstr "" -#: c-api/bytes.rst:81 c-api/structures.rst:269 c-api/unicode.rst:461 -#: c-api/unicode.rst:464 +#: ../../src/Doc/c-api/bytes.rst:81 ../../src/Doc/c-api/structures.rst:269 +#: ../../src/Doc/c-api/unicode.rst:461 ../../src/Doc/c-api/unicode.rst:464 msgid "long" msgstr "" -#: c-api/bytes.rst:81 c-api/unicode.rst:461 +#: ../../src/Doc/c-api/bytes.rst:81 ../../src/Doc/c-api/unicode.rst:461 msgid "Exactly equivalent to ``printf(\"%ld\")``." msgstr "" -#: c-api/bytes.rst:84 c-api/unicode.rst:467 +#: ../../src/Doc/c-api/bytes.rst:84 ../../src/Doc/c-api/unicode.rst:467 msgid ":attr:`%lu`" msgstr "" -#: c-api/bytes.rst:84 c-api/structures.rst:280 c-api/unicode.rst:467 +#: ../../src/Doc/c-api/bytes.rst:84 ../../src/Doc/c-api/structures.rst:280 +#: ../../src/Doc/c-api/unicode.rst:467 msgid "unsigned long" msgstr "" -#: c-api/bytes.rst:84 c-api/unicode.rst:467 +#: ../../src/Doc/c-api/bytes.rst:84 ../../src/Doc/c-api/unicode.rst:467 msgid "Exactly equivalent to ``printf(\"%lu\")``." msgstr "" -#: c-api/bytes.rst:87 c-api/unicode.rst:479 +#: ../../src/Doc/c-api/bytes.rst:87 ../../src/Doc/c-api/unicode.rst:479 msgid ":attr:`%zd`" msgstr "" -#: c-api/bytes.rst:87 c-api/structures.rst:248 c-api/structures.rst:284 -#: c-api/unicode.rst:479 c-api/unicode.rst:482 +#: ../../src/Doc/c-api/bytes.rst:87 ../../src/Doc/c-api/structures.rst:248 +#: ../../src/Doc/c-api/structures.rst:284 ../../src/Doc/c-api/unicode.rst:479 +#: ../../src/Doc/c-api/unicode.rst:482 msgid "Py_ssize_t" msgstr "" -#: c-api/bytes.rst:87 c-api/unicode.rst:479 +#: ../../src/Doc/c-api/bytes.rst:87 ../../src/Doc/c-api/unicode.rst:479 msgid "Exactly equivalent to ``printf(\"%zd\")``." msgstr "" -#: c-api/bytes.rst:90 c-api/unicode.rst:485 +#: ../../src/Doc/c-api/bytes.rst:90 ../../src/Doc/c-api/unicode.rst:485 msgid ":attr:`%zu`" msgstr "" -#: c-api/bytes.rst:90 c-api/unicode.rst:485 +#: ../../src/Doc/c-api/bytes.rst:90 ../../src/Doc/c-api/unicode.rst:485 msgid "size_t" msgstr "" -#: c-api/bytes.rst:90 c-api/unicode.rst:485 +#: ../../src/Doc/c-api/bytes.rst:90 ../../src/Doc/c-api/unicode.rst:485 msgid "Exactly equivalent to ``printf(\"%zu\")``." msgstr "" -#: c-api/bytes.rst:93 c-api/unicode.rst:488 +#: ../../src/Doc/c-api/bytes.rst:93 ../../src/Doc/c-api/unicode.rst:488 msgid ":attr:`%i`" msgstr "" -#: c-api/bytes.rst:93 c-api/unicode.rst:488 +#: ../../src/Doc/c-api/bytes.rst:93 ../../src/Doc/c-api/unicode.rst:488 msgid "Exactly equivalent to ``printf(\"%i\")``." msgstr "" -#: c-api/bytes.rst:96 c-api/unicode.rst:491 +#: ../../src/Doc/c-api/bytes.rst:96 ../../src/Doc/c-api/unicode.rst:491 msgid ":attr:`%x`" msgstr "" -#: c-api/bytes.rst:96 c-api/unicode.rst:491 +#: ../../src/Doc/c-api/bytes.rst:96 ../../src/Doc/c-api/unicode.rst:491 msgid "Exactly equivalent to ``printf(\"%x\")``." msgstr "" -#: c-api/bytes.rst:99 c-api/unicode.rst:494 +#: ../../src/Doc/c-api/bytes.rst:99 ../../src/Doc/c-api/unicode.rst:494 msgid ":attr:`%s`" msgstr "" -#: c-api/bytes.rst:99 c-api/unicode.rst:494 +#: ../../src/Doc/c-api/bytes.rst:99 ../../src/Doc/c-api/unicode.rst:494 msgid "char\\*" msgstr "" -#: c-api/bytes.rst:99 c-api/unicode.rst:494 +#: ../../src/Doc/c-api/bytes.rst:99 ../../src/Doc/c-api/unicode.rst:494 msgid "A null-terminated C character array." msgstr "" -#: c-api/bytes.rst:102 c-api/unicode.rst:497 +#: ../../src/Doc/c-api/bytes.rst:102 ../../src/Doc/c-api/unicode.rst:497 msgid ":attr:`%p`" msgstr "" -#: c-api/bytes.rst:102 c-api/unicode.rst:497 +#: ../../src/Doc/c-api/bytes.rst:102 ../../src/Doc/c-api/unicode.rst:497 msgid "void\\*" msgstr "" -#: c-api/bytes.rst:102 c-api/unicode.rst:497 +#: ../../src/Doc/c-api/bytes.rst:102 ../../src/Doc/c-api/unicode.rst:497 msgid "" "The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p" "\")`` except that it is guaranteed to start with the literal ``0x`` " "regardless of what the platform's ``printf`` yields." msgstr "" -#: c-api/bytes.rst:111 +#: ../../src/Doc/c-api/bytes.rst:111 msgid "" "An unrecognized format character causes all the rest of the format string to " "be copied as-is to the result object, and any extra arguments discarded." msgstr "" -#: c-api/bytes.rst:117 +#: ../../src/Doc/c-api/bytes.rst:117 msgid "" "Identical to :c:func:`PyBytes_FromFormat` except that it takes exactly two " "arguments." msgstr "" -#: c-api/bytes.rst:123 +#: ../../src/Doc/c-api/bytes.rst:123 msgid "" "Return the bytes representation of object *o* that implements the buffer " "protocol." msgstr "" -#: c-api/bytes.rst:129 +#: ../../src/Doc/c-api/bytes.rst:129 msgid "Return the length of the bytes in bytes object *o*." msgstr "" -#: c-api/bytes.rst:134 +#: ../../src/Doc/c-api/bytes.rst:134 msgid "Macro form of :c:func:`PyBytes_Size` but without error checking." msgstr "" -#: c-api/bytes.rst:139 +#: ../../src/Doc/c-api/bytes.rst:139 msgid "" "Return a pointer to the contents of *o*. The pointer refers to the internal " "buffer of *o*, which consists of ``len(o) + 1`` bytes. The last byte in the " @@ -2651,23 +2687,23 @@ msgid "" "`PyBytes_AsString` returns *NULL* and raises :exc:`TypeError`." msgstr "" -#: c-api/bytes.rst:151 +#: ../../src/Doc/c-api/bytes.rst:151 msgid "Macro form of :c:func:`PyBytes_AsString` but without error checking." msgstr "" -#: c-api/bytes.rst:156 +#: ../../src/Doc/c-api/bytes.rst:156 msgid "" "Return the null-terminated contents of the object *obj* through the output " "variables *buffer* and *length*." msgstr "" -#: c-api/bytes.rst:159 +#: ../../src/Doc/c-api/bytes.rst:159 msgid "" "If *length* is *NULL*, the bytes object may not contain embedded null bytes; " "if it does, the function returns ``-1`` and a :exc:`TypeError` is raised." msgstr "" -#: c-api/bytes.rst:163 +#: ../../src/Doc/c-api/bytes.rst:163 msgid "" "The buffer refers to an internal buffer of *obj*, which includes an " "additional null byte at the end (not counted in *length*). The data must " @@ -2677,7 +2713,7 @@ msgid "" "returns ``-1`` and raises :exc:`TypeError`." msgstr "" -#: c-api/bytes.rst:173 +#: ../../src/Doc/c-api/bytes.rst:173 msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " "appended to *bytes*; the caller will own the new reference. The reference " @@ -2686,14 +2722,14 @@ msgid "" "of *\\*bytes* will be set to *NULL*; the appropriate exception will be set." msgstr "" -#: c-api/bytes.rst:182 +#: ../../src/Doc/c-api/bytes.rst:182 msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " "appended to *bytes*. This version decrements the reference count of " "*newpart*." msgstr "" -#: c-api/bytes.rst:189 +#: ../../src/Doc/c-api/bytes.rst:189 msgid "" "A way to resize a bytes object even though it is \"immutable\". Only use " "this to build up a brand new bytes object; don't use this if the bytes may " @@ -2707,18 +2743,18 @@ msgid "" "set, and ``-1`` is returned." msgstr "" -#: c-api/capsule.rst:6 +#: ../../src/Doc/c-api/capsule.rst:6 msgid "Capsules" msgstr "Capsules" -#: c-api/capsule.rst:10 +#: ../../src/Doc/c-api/capsule.rst:10 msgid "" "Refer to :ref:`using-capsules` for more information on using these objects." msgstr "" "Reportez-vous à :ref:`using-capsules` pour plus d'informations sur " "l'utilisation de ces objets." -#: c-api/capsule.rst:15 +#: ../../src/Doc/c-api/capsule.rst:15 msgid "" "This subtype of :c:type:`PyObject` represents an opaque value, useful for C " "extension modules who need to pass an opaque value (as a :c:type:`void\\*` " @@ -2728,57 +2764,57 @@ msgid "" "loaded modules." msgstr "" -#: c-api/capsule.rst:24 +#: ../../src/Doc/c-api/capsule.rst:24 msgid "The type of a destructor callback for a capsule. Defined as::" msgstr "" -#: c-api/capsule.rst:28 +#: ../../src/Doc/c-api/capsule.rst:28 msgid "" "See :c:func:`PyCapsule_New` for the semantics of PyCapsule_Destructor " "callbacks." msgstr "" -#: c-api/capsule.rst:34 +#: ../../src/Doc/c-api/capsule.rst:34 msgid "Return true if its argument is a :c:type:`PyCapsule`." msgstr "" -#: c-api/capsule.rst:39 +#: ../../src/Doc/c-api/capsule.rst:39 msgid "" "Create a :c:type:`PyCapsule` encapsulating the *pointer*. The *pointer* " "argument may not be *NULL*." msgstr "" -#: c-api/capsule.rst:42 +#: ../../src/Doc/c-api/capsule.rst:42 msgid "On failure, set an exception and return *NULL*." msgstr "" -#: c-api/capsule.rst:44 +#: ../../src/Doc/c-api/capsule.rst:44 msgid "" "The *name* string may either be *NULL* or a pointer to a valid C string. If " "non-*NULL*, this string must outlive the capsule. (Though it is permitted " "to free it inside the *destructor*.)" msgstr "" -#: c-api/capsule.rst:48 +#: ../../src/Doc/c-api/capsule.rst:48 msgid "" "If the *destructor* argument is not *NULL*, it will be called with the " "capsule as its argument when it is destroyed." msgstr "" -#: c-api/capsule.rst:51 +#: ../../src/Doc/c-api/capsule.rst:51 msgid "" "If this capsule will be stored as an attribute of a module, the *name* " "should be specified as ``modulename.attributename``. This will enable other " "modules to import the capsule using :c:func:`PyCapsule_Import`." msgstr "" -#: c-api/capsule.rst:58 +#: ../../src/Doc/c-api/capsule.rst:58 msgid "" "Retrieve the *pointer* stored in the capsule. On failure, set an exception " "and return *NULL*." msgstr "" -#: c-api/capsule.rst:61 +#: ../../src/Doc/c-api/capsule.rst:61 msgid "" "The *name* parameter must compare exactly to the name stored in the capsule. " "If the name stored in the capsule is *NULL*, the *name* passed in must also " @@ -2786,46 +2822,46 @@ msgid "" "names." msgstr "" -#: c-api/capsule.rst:69 +#: ../../src/Doc/c-api/capsule.rst:69 msgid "" "Return the current destructor stored in the capsule. On failure, set an " "exception and return *NULL*." msgstr "" -#: c-api/capsule.rst:72 +#: ../../src/Doc/c-api/capsule.rst:72 msgid "" "It is legal for a capsule to have a *NULL* destructor. This makes a *NULL* " "return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" "`PyErr_Occurred` to disambiguate." msgstr "" -#: c-api/capsule.rst:79 +#: ../../src/Doc/c-api/capsule.rst:79 msgid "" "Return the current context stored in the capsule. On failure, set an " "exception and return *NULL*." msgstr "" -#: c-api/capsule.rst:82 +#: ../../src/Doc/c-api/capsule.rst:82 msgid "" "It is legal for a capsule to have a *NULL* context. This makes a *NULL* " "return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" "`PyErr_Occurred` to disambiguate." msgstr "" -#: c-api/capsule.rst:89 +#: ../../src/Doc/c-api/capsule.rst:89 msgid "" "Return the current name stored in the capsule. On failure, set an exception " "and return *NULL*." msgstr "" -#: c-api/capsule.rst:92 +#: ../../src/Doc/c-api/capsule.rst:92 msgid "" "It is legal for a capsule to have a *NULL* name. This makes a *NULL* return " "code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" "`PyErr_Occurred` to disambiguate." msgstr "" -#: c-api/capsule.rst:99 +#: ../../src/Doc/c-api/capsule.rst:99 msgid "" "Import a pointer to a C object from a capsule attribute in a module. The " "*name* parameter should specify the full name to the attribute, as in " @@ -2835,14 +2871,14 @@ msgid "" "import the module conventionally (using :c:func:`PyImport_ImportModule`)." msgstr "" -#: c-api/capsule.rst:106 +#: ../../src/Doc/c-api/capsule.rst:106 msgid "" "Return the capsule's internal *pointer* on success. On failure, set an " "exception and return *NULL*. However, if :c:func:`PyCapsule_Import` failed " "to import the module, and *no_block* was true, no exception is set." msgstr "" -#: c-api/capsule.rst:112 +#: ../../src/Doc/c-api/capsule.rst:112 msgid "" "Determines whether or not *capsule* is a valid capsule. A valid capsule is " "non-*NULL*, passes :c:func:`PyCapsule_CheckExact`, has a non-*NULL* pointer " @@ -2851,50 +2887,50 @@ msgid "" "compared.)" msgstr "" -#: c-api/capsule.rst:118 +#: ../../src/Doc/c-api/capsule.rst:118 msgid "" "In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " "to any of the accessors (any function starting with :c:func:`PyCapsule_Get`) " "are guaranteed to succeed." msgstr "" -#: c-api/capsule.rst:122 +#: ../../src/Doc/c-api/capsule.rst:122 msgid "" "Return a nonzero value if the object is valid and matches the name passed " "in. Return 0 otherwise. This function will not fail." msgstr "" -#: c-api/capsule.rst:127 +#: ../../src/Doc/c-api/capsule.rst:127 msgid "Set the context pointer inside *capsule* to *context*." msgstr "" -#: c-api/capsule.rst:129 c-api/capsule.rst:135 c-api/capsule.rst:143 -#: c-api/capsule.rst:150 +#: ../../src/Doc/c-api/capsule.rst:129 ../../src/Doc/c-api/capsule.rst:135 +#: ../../src/Doc/c-api/capsule.rst:143 ../../src/Doc/c-api/capsule.rst:150 msgid "Return 0 on success. Return nonzero and set an exception on failure." msgstr "" -#: c-api/capsule.rst:133 +#: ../../src/Doc/c-api/capsule.rst:133 msgid "Set the destructor inside *capsule* to *destructor*." msgstr "" -#: c-api/capsule.rst:139 +#: ../../src/Doc/c-api/capsule.rst:139 msgid "" "Set the name inside *capsule* to *name*. If non-*NULL*, the name must " "outlive the capsule. If the previous *name* stored in the capsule was not " "*NULL*, no attempt is made to free it." msgstr "" -#: c-api/capsule.rst:147 +#: ../../src/Doc/c-api/capsule.rst:147 msgid "" "Set the void pointer inside *capsule* to *pointer*. The pointer may not be " "*NULL*." msgstr "" -#: c-api/cell.rst:6 +#: ../../src/Doc/c-api/cell.rst:6 msgid "Cell Objects" msgstr "Objets Cellules" -#: c-api/cell.rst:8 +#: ../../src/Doc/c-api/cell.rst:8 msgid "" "\"Cell\" objects are used to implement variables referenced by multiple " "scopes. For each such variable, a cell object is created to store the value; " @@ -2916,35 +2952,35 @@ msgstr "" "automatiquement dé-référencé quand il est accédé. Il est plausible que les " "objets cellules ne soit utilisés ailleurs." -#: c-api/cell.rst:20 +#: ../../src/Doc/c-api/cell.rst:20 msgid "The C structure used for cell objects." msgstr "" -#: c-api/cell.rst:25 +#: ../../src/Doc/c-api/cell.rst:25 msgid "The type object corresponding to cell objects." msgstr "" -#: c-api/cell.rst:30 +#: ../../src/Doc/c-api/cell.rst:30 msgid "Return true if *ob* is a cell object; *ob* must not be *NULL*." msgstr "" -#: c-api/cell.rst:35 +#: ../../src/Doc/c-api/cell.rst:35 msgid "" "Create and return a new cell object containing the value *ob*. The parameter " "may be *NULL*." msgstr "" -#: c-api/cell.rst:41 +#: ../../src/Doc/c-api/cell.rst:41 msgid "Return the contents of the cell *cell*." msgstr "" -#: c-api/cell.rst:46 +#: ../../src/Doc/c-api/cell.rst:46 msgid "" "Return the contents of the cell *cell*, but without checking that *cell* is " "non-*NULL* and a cell object." msgstr "" -#: c-api/cell.rst:52 +#: ../../src/Doc/c-api/cell.rst:52 msgid "" "Set the contents of the cell object *cell* to *value*. This releases the " "reference to any current content of the cell. *value* may be *NULL*. *cell* " @@ -2952,18 +2988,18 @@ msgid "" "success, ``0`` will be returned." msgstr "" -#: c-api/cell.rst:60 +#: ../../src/Doc/c-api/cell.rst:60 msgid "" "Sets the value of the cell object *cell* to *value*. No reference counts " "are adjusted, and no checks are made for safety; *cell* must be non-*NULL* " "and must be a cell object." msgstr "" -#: c-api/code.rst:6 +#: ../../src/Doc/c-api/code.rst:6 msgid "Code Objects" msgstr "Objets Code" -#: c-api/code.rst:14 +#: ../../src/Doc/c-api/code.rst:14 msgid "" "Code objects are a low-level detail of the CPython implementation. Each one " "represents a chunk of executable code that hasn't yet been bound into a " @@ -2973,27 +3009,27 @@ msgstr "" "Chacun d'eux représente une partie de code exécutable, qui n'a pas encore " "été lié dans une fonction." -#: c-api/code.rst:20 +#: ../../src/Doc/c-api/code.rst:20 msgid "" "The C structure of the objects used to describe code objects. The fields of " "this type are subject to change at any time." msgstr "" -#: c-api/code.rst:26 +#: ../../src/Doc/c-api/code.rst:26 msgid "" "This is an instance of :c:type:`PyTypeObject` representing the Python :class:" "`code` type." msgstr "" -#: c-api/code.rst:32 +#: ../../src/Doc/c-api/code.rst:32 msgid "Return true if *co* is a :class:`code` object." msgstr "" -#: c-api/code.rst:36 +#: ../../src/Doc/c-api/code.rst:36 msgid "Return the number of free variables in *co*." msgstr "" -#: c-api/code.rst:40 +#: ../../src/Doc/c-api/code.rst:40 msgid "" "Return a new code object. If you need a dummy code object to create a " "frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` " @@ -3001,38 +3037,38 @@ msgid "" "the bytecode changes often." msgstr "" -#: c-api/code.rst:48 +#: ../../src/Doc/c-api/code.rst:48 msgid "" "Return a new empty code object with the specified filename, function name, " "and first line number. It is illegal to :func:`exec` or :func:`eval` the " "resulting code object." msgstr "" -#: c-api/codec.rst:4 +#: ../../src/Doc/c-api/codec.rst:4 msgid "Codec registry and support functions" msgstr "" -#: c-api/codec.rst:8 +#: ../../src/Doc/c-api/codec.rst:8 msgid "Register a new codec search function." msgstr "" -#: c-api/codec.rst:10 +#: ../../src/Doc/c-api/codec.rst:10 msgid "" "As side effect, this tries to load the :mod:`encodings` package, if not yet " "done, to make sure that it is always first in the list of search functions." msgstr "" -#: c-api/codec.rst:15 +#: ../../src/Doc/c-api/codec.rst:15 msgid "" "Return ``1`` or ``0`` depending on whether there is a registered codec for " "the given *encoding*." msgstr "" -#: c-api/codec.rst:20 +#: ../../src/Doc/c-api/codec.rst:20 msgid "Generic codec based encoding API." msgstr "" -#: c-api/codec.rst:22 +#: ../../src/Doc/c-api/codec.rst:22 msgid "" "*object* is passed through the encoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " @@ -3040,11 +3076,11 @@ msgid "" "exc:`LookupError` if no encoder can be found." msgstr "" -#: c-api/codec.rst:29 +#: ../../src/Doc/c-api/codec.rst:29 msgid "Generic codec based decoding API." msgstr "" -#: c-api/codec.rst:31 +#: ../../src/Doc/c-api/codec.rst:31 msgid "" "*object* is passed through the decoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " @@ -3052,11 +3088,11 @@ msgid "" "exc:`LookupError` if no encoder can be found." msgstr "" -#: c-api/codec.rst:38 +#: ../../src/Doc/c-api/codec.rst:38 msgid "Codec lookup API" msgstr "" -#: c-api/codec.rst:40 +#: ../../src/Doc/c-api/codec.rst:40 msgid "" "In the following functions, the *encoding* string is looked up converted to " "all lower-case characters, which makes encodings looked up through this " @@ -3064,41 +3100,41 @@ msgid "" "`KeyError` is set and *NULL* returned." msgstr "" -#: c-api/codec.rst:47 +#: ../../src/Doc/c-api/codec.rst:47 msgid "Get an encoder function for the given *encoding*." msgstr "" -#: c-api/codec.rst:51 +#: ../../src/Doc/c-api/codec.rst:51 msgid "Get a decoder function for the given *encoding*." msgstr "" -#: c-api/codec.rst:55 +#: ../../src/Doc/c-api/codec.rst:55 msgid "" "Get an :class:`~codecs.IncrementalEncoder` object for the given *encoding*." msgstr "" -#: c-api/codec.rst:59 +#: ../../src/Doc/c-api/codec.rst:59 msgid "" "Get an :class:`~codecs.IncrementalDecoder` object for the given *encoding*." msgstr "" -#: c-api/codec.rst:63 +#: ../../src/Doc/c-api/codec.rst:63 msgid "" "Get a :class:`~codecs.StreamReader` factory function for the given " "*encoding*." msgstr "" -#: c-api/codec.rst:67 +#: ../../src/Doc/c-api/codec.rst:67 msgid "" "Get a :class:`~codecs.StreamWriter` factory function for the given " "*encoding*." msgstr "" -#: c-api/codec.rst:71 +#: ../../src/Doc/c-api/codec.rst:71 msgid "Registry API for Unicode encoding error handlers" msgstr "" -#: c-api/codec.rst:75 +#: ../../src/Doc/c-api/codec.rst:75 msgid "" "Register the error handling callback function *error* under the given " "*name*. This callback function will be called by a codec when it encounters " @@ -3106,7 +3142,7 @@ msgid "" "error parameter in the call to the encode/decode function." msgstr "" -#: c-api/codec.rst:80 +#: ../../src/Doc/c-api/codec.rst:80 msgid "" "The callback gets a single argument, an instance of :exc:" "`UnicodeEncodeError`, :exc:`UnicodeDecodeError` or :exc:" @@ -3119,48 +3155,48 @@ msgid "" "should be resumed." msgstr "" -#: c-api/codec.rst:90 +#: ../../src/Doc/c-api/codec.rst:90 msgid "Return ``0`` on success, ``-1`` on error." msgstr "" -#: c-api/codec.rst:94 +#: ../../src/Doc/c-api/codec.rst:94 msgid "" "Lookup the error handling callback function registered under *name*. As a " "special case *NULL* can be passed, in which case the error handling callback " "for \"strict\" will be returned." msgstr "" -#: c-api/codec.rst:100 +#: ../../src/Doc/c-api/codec.rst:100 msgid "Raise *exc* as an exception." msgstr "" -#: c-api/codec.rst:104 +#: ../../src/Doc/c-api/codec.rst:104 msgid "Ignore the unicode error, skipping the faulty input." msgstr "" -#: c-api/codec.rst:108 +#: ../../src/Doc/c-api/codec.rst:108 msgid "Replace the unicode encode error with ``?`` or ``U+FFFD``." msgstr "" -#: c-api/codec.rst:112 +#: ../../src/Doc/c-api/codec.rst:112 msgid "Replace the unicode encode error with XML character references." msgstr "" -#: c-api/codec.rst:116 +#: ../../src/Doc/c-api/codec.rst:116 msgid "" "Replace the unicode encode error with backslash escapes (``\\x``, ``\\u`` " "and ``\\U``)." msgstr "" -#: c-api/codec.rst:121 +#: ../../src/Doc/c-api/codec.rst:121 msgid "Replace the unicode encode error with ``\\N{...}`` escapes." msgstr "" -#: c-api/complex.rst:6 +#: ../../src/Doc/c-api/complex.rst:6 msgid "Complex Number Objects" msgstr "Objets Nombres Complexes" -#: c-api/complex.rst:10 +#: ../../src/Doc/c-api/complex.rst:10 msgid "" "Python's complex number objects are implemented as two distinct types when " "viewed from the C API: one is the Python object exposed to Python programs, " @@ -3173,11 +3209,11 @@ msgstr "" "représente la valeur complexe courante. L'API fournit des fonctions pour " "travailler avec ces deux représentations." -#: c-api/complex.rst:17 +#: ../../src/Doc/c-api/complex.rst:17 msgid "Complex Numbers as C Structures" msgstr "Nombres complexes en tant que structures C" -#: c-api/complex.rst:19 +#: ../../src/Doc/c-api/complex.rst:19 msgid "" "Note that the functions which accept these structures as parameters and " "return them as results do so *by value* rather than dereferencing them " @@ -3187,7 +3223,7 @@ msgstr "" "les retournent comme résultats le font *par valeur* au lieur de les dé-" "référencer en utilisant des pointeurs. Cela est constant dans toute l'API." -#: c-api/complex.rst:26 +#: ../../src/Doc/c-api/complex.rst:26 msgid "" "The C structure which corresponds to the value portion of a Python complex " "number object. Most of the functions for dealing with complex number " @@ -3195,7 +3231,7 @@ msgid "" "appropriate. It is defined as::" msgstr "" -#: c-api/complex.rst:39 +#: ../../src/Doc/c-api/complex.rst:39 #, fuzzy msgid "" "Return the sum of two complex numbers, using the C :c:type:`Py_complex` " @@ -3203,7 +3239,7 @@ msgid "" msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:45 +#: ../../src/Doc/c-api/complex.rst:45 #, fuzzy msgid "" "Return the difference between two complex numbers, using the C :c:type:" @@ -3211,7 +3247,7 @@ msgid "" msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:51 +#: ../../src/Doc/c-api/complex.rst:51 #, fuzzy msgid "" "Return the negation of the complex number *complex*, using the C :c:type:" @@ -3219,7 +3255,7 @@ msgid "" msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:57 +#: ../../src/Doc/c-api/complex.rst:57 #, fuzzy msgid "" "Return the product of two complex numbers, using the C :c:type:`Py_complex` " @@ -3227,7 +3263,7 @@ msgid "" msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:63 +#: ../../src/Doc/c-api/complex.rst:63 #, fuzzy msgid "" "Return the quotient of two complex numbers, using the C :c:type:`Py_complex` " @@ -3235,52 +3271,52 @@ msgid "" msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:66 +#: ../../src/Doc/c-api/complex.rst:66 msgid "" "If *divisor* is null, this method returns zero and sets :c:data:`errno` to :" "c:data:`EDOM`." msgstr "" -#: c-api/complex.rst:72 +#: ../../src/Doc/c-api/complex.rst:72 msgid "" "Return the exponentiation of *num* by *exp*, using the C :c:type:" "`Py_complex` representation." msgstr "" -#: c-api/complex.rst:75 +#: ../../src/Doc/c-api/complex.rst:75 msgid "" "If *num* is null and *exp* is not a positive real number, this method " "returns zero and sets :c:data:`errno` to :c:data:`EDOM`." msgstr "" -#: c-api/complex.rst:80 +#: ../../src/Doc/c-api/complex.rst:80 msgid "Complex Numbers as Python Objects" msgstr "Nombres complexes en tant qu'objets Python" -#: c-api/complex.rst:85 +#: ../../src/Doc/c-api/complex.rst:85 msgid "" "This subtype of :c:type:`PyObject` represents a Python complex number object." msgstr "" -#: c-api/complex.rst:90 +#: ../../src/Doc/c-api/complex.rst:90 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python complex number " "type. It is the same object as :class:`complex` in the Python layer." msgstr "" -#: c-api/complex.rst:96 +#: ../../src/Doc/c-api/complex.rst:96 msgid "" "Return true if its argument is a :c:type:`PyComplexObject` or a subtype of :" "c:type:`PyComplexObject`." msgstr "" -#: c-api/complex.rst:102 +#: ../../src/Doc/c-api/complex.rst:102 msgid "" "Return true if its argument is a :c:type:`PyComplexObject`, but not a " "subtype of :c:type:`PyComplexObject`." msgstr "" -#: c-api/complex.rst:108 +#: ../../src/Doc/c-api/complex.rst:108 #, fuzzy msgid "" "Create a new Python complex number object from a C :c:type:`Py_complex` " @@ -3288,38 +3324,38 @@ msgid "" msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:113 +#: ../../src/Doc/c-api/complex.rst:113 msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*." msgstr "" -#: c-api/complex.rst:118 +#: ../../src/Doc/c-api/complex.rst:118 #, fuzzy msgid "Return the real part of *op* as a C :c:type:`double`." msgstr "Convertit un nombre flottant Python vers un type C :ctype:`double`." -#: c-api/complex.rst:123 +#: ../../src/Doc/c-api/complex.rst:123 #, fuzzy msgid "Return the imaginary part of *op* as a C :c:type:`double`." msgstr "Convertit un nombre flottant Python vers un type C :ctype:`double`." -#: c-api/complex.rst:128 +#: ../../src/Doc/c-api/complex.rst:128 #, fuzzy msgid "Return the :c:type:`Py_complex` value of the complex number *op*." msgstr "" "Convertit un nombre complexe Python vers une structure C :ctype:`Py_complex`." -#: c-api/complex.rst:130 +#: ../../src/Doc/c-api/complex.rst:130 msgid "" "If *op* is not a Python complex number object but has a :meth:`__complex__` " "method, this method will first be called to convert *op* to a Python complex " "number object. Upon failure, this method returns ``-1.0`` as a real value." msgstr "" -#: c-api/concrete.rst:8 +#: ../../src/Doc/c-api/concrete.rst:8 msgid "Concrete Objects Layer" msgstr "Couche des Objets Concrets" -#: c-api/concrete.rst:10 +#: ../../src/Doc/c-api/concrete.rst:10 #, fuzzy msgid "" "The functions in this chapter are specific to certain Python object types. " @@ -3337,7 +3373,7 @@ msgstr "" "`PyDict_Check`. Ce chapitre est structuré comme un \"arbre des familles\" " "des types d'objets Python." -#: c-api/concrete.rst:19 +#: ../../src/Doc/c-api/concrete.rst:19 msgid "" "While the functions described in this chapter carefully check the type of " "the objects which are passed in, many of them do not check for *NULL* being " @@ -3350,25 +3386,25 @@ msgstr "" "passé peut provoquer des violations d'accès à la mémoire et ainsi terminer " "immédiatement l'interpréteur." -#: c-api/concrete.rst:28 +#: ../../src/Doc/c-api/concrete.rst:28 msgid "Fundamental Objects" msgstr "Objets fondamentaux" -#: c-api/concrete.rst:30 +#: ../../src/Doc/c-api/concrete.rst:30 msgid "" "This section describes Python type objects and the singleton object ``None``." msgstr "" "Cette section décrit les objets de type Python et l'objet singleton ``None``." -#: c-api/concrete.rst:41 +#: ../../src/Doc/c-api/concrete.rst:41 msgid "Numeric Objects" msgstr "Objets numériques" -#: c-api/concrete.rst:56 +#: ../../src/Doc/c-api/concrete.rst:56 msgid "Sequence Objects" msgstr "Objets séquences" -#: c-api/concrete.rst:60 +#: ../../src/Doc/c-api/concrete.rst:60 msgid "" "Generic operations on sequence objects were discussed in the previous " "chapter; this section deals with the specific kinds of sequence objects that " @@ -3378,44 +3414,44 @@ msgstr "" "chapitre précédent. Cette section traite des genres spécifiques d'objets " "séquences qui sont intrinsèques au langage Python." -#: c-api/concrete.rst:78 +#: ../../src/Doc/c-api/concrete.rst:78 #, fuzzy msgid "Container Objects" msgstr "Objets Code" -#: c-api/concrete.rst:91 c-api/function.rst:6 +#: ../../src/Doc/c-api/concrete.rst:91 ../../src/Doc/c-api/function.rst:6 msgid "Function Objects" msgstr "" -#: c-api/concrete.rst:102 +#: ../../src/Doc/c-api/concrete.rst:102 msgid "Other Objects" msgstr "Autres Objets" -#: c-api/conversion.rst:6 +#: ../../src/Doc/c-api/conversion.rst:6 msgid "String conversion and formatting" msgstr "Conversion et formatage de chaînes" -#: c-api/conversion.rst:8 +#: ../../src/Doc/c-api/conversion.rst:8 msgid "Functions for number conversion and formatted string output." msgstr "" "Fonctions de conversion pour les nombres et pour la sortie des chaînes " "formattées." -#: c-api/conversion.rst:13 +#: ../../src/Doc/c-api/conversion.rst:13 msgid "" "Output not more than *size* bytes to *str* according to the format string " "*format* and the extra arguments. See the Unix man page :manpage:" "`snprintf(2)`." msgstr "" -#: c-api/conversion.rst:19 +#: ../../src/Doc/c-api/conversion.rst:19 msgid "" "Output not more than *size* bytes to *str* according to the format string " "*format* and the variable argument list *va*. Unix man page :manpage:" "`vsnprintf(2)`." msgstr "" -#: c-api/conversion.rst:23 +#: ../../src/Doc/c-api/conversion.rst:23 msgid "" ":c:func:`PyOS_snprintf` and :c:func:`PyOS_vsnprintf` wrap the Standard C " "library functions :c:func:`snprintf` and :c:func:`vsnprintf`. Their purpose " @@ -3423,7 +3459,7 @@ msgid "" "functions do not." msgstr "" -#: c-api/conversion.rst:28 +#: ../../src/Doc/c-api/conversion.rst:28 msgid "" "The wrappers ensure that *str*[*size*-1] is always ``'\\0'`` upon return. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " @@ -3431,46 +3467,46 @@ msgid "" "``format != NULL``." msgstr "" -#: c-api/conversion.rst:33 +#: ../../src/Doc/c-api/conversion.rst:33 msgid "" "If the platform doesn't have :c:func:`vsnprintf` and the buffer size needed " "to avoid truncation exceeds *size* by more than 512 bytes, Python aborts " "with a *Py_FatalError*." msgstr "" -#: c-api/conversion.rst:37 +#: ../../src/Doc/c-api/conversion.rst:37 msgid "" "The return value (*rv*) for these functions should be interpreted as follows:" msgstr "" -#: c-api/conversion.rst:39 +#: ../../src/Doc/c-api/conversion.rst:39 msgid "" "When ``0 <= rv < size``, the output conversion was successful and *rv* " "characters were written to *str* (excluding the trailing ``'\\0'`` byte at " "*str*[*rv*])." msgstr "" -#: c-api/conversion.rst:43 +#: ../../src/Doc/c-api/conversion.rst:43 msgid "" "When ``rv >= size``, the output conversion was truncated and a buffer with " "``rv + 1`` bytes would have been needed to succeed. *str*[*size*-1] is " "``'\\0'`` in this case." msgstr "" -#: c-api/conversion.rst:47 +#: ../../src/Doc/c-api/conversion.rst:47 msgid "" "When ``rv < 0``, \"something bad happened.\" *str*[*size*-1] is ``'\\0'`` in " "this case too, but the rest of *str* is undefined. The exact cause of the " "error depends on the underlying platform." msgstr "" -#: c-api/conversion.rst:51 +#: ../../src/Doc/c-api/conversion.rst:51 msgid "" "The following functions provide locale-independent string to number " "conversions." msgstr "" -#: c-api/conversion.rst:56 +#: ../../src/Doc/c-api/conversion.rst:56 msgid "" "Convert a string ``s`` to a :c:type:`double`, raising a Python exception on " "failure. The set of accepted strings corresponds to the set of strings " @@ -3479,14 +3515,14 @@ msgid "" "current locale." msgstr "" -#: c-api/conversion.rst:62 +#: ../../src/Doc/c-api/conversion.rst:62 msgid "" "If ``endptr`` is ``NULL``, convert the whole string. Raise ValueError and " "return ``-1.0`` if the string is not a valid representation of a floating-" "point number." msgstr "" -#: c-api/conversion.rst:66 +#: ../../src/Doc/c-api/conversion.rst:66 msgid "" "If endptr is not ``NULL``, convert as much of the string as possible and set " "``*endptr`` to point to the first unconverted character. If no initial " @@ -3495,7 +3531,7 @@ msgid "" "ValueError, and return ``-1.0``." msgstr "" -#: c-api/conversion.rst:73 +#: ../../src/Doc/c-api/conversion.rst:73 msgid "" "If ``s`` represents a value that is too large to store in a float (for " "example, ``\"1e500\"`` is such a string on many platforms) then if " @@ -3506,98 +3542,98 @@ msgid "" "the first character after the converted value." msgstr "" -#: c-api/conversion.rst:81 +#: ../../src/Doc/c-api/conversion.rst:81 msgid "" "If any other error occurs during the conversion (for example an out-of-" "memory error), set the appropriate Python exception and return ``-1.0``." msgstr "" -#: c-api/conversion.rst:90 +#: ../../src/Doc/c-api/conversion.rst:90 msgid "" "Convert a :c:type:`double` *val* to a string using supplied *format_code*, " "*precision*, and *flags*." msgstr "" -#: c-api/conversion.rst:93 +#: ../../src/Doc/c-api/conversion.rst:93 msgid "" "*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " "``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is " "ignored. The ``'r'`` format code specifies the standard :func:`repr` format." msgstr "" -#: c-api/conversion.rst:98 +#: ../../src/Doc/c-api/conversion.rst:98 msgid "" "*flags* can be zero or more of the values *Py_DTSF_SIGN*, " "*Py_DTSF_ADD_DOT_0*, or *Py_DTSF_ALT*, or-ed together:" msgstr "" -#: c-api/conversion.rst:101 +#: ../../src/Doc/c-api/conversion.rst:101 msgid "" "*Py_DTSF_SIGN* means to always precede the returned string with a sign " "character, even if *val* is non-negative." msgstr "" -#: c-api/conversion.rst:104 +#: ../../src/Doc/c-api/conversion.rst:104 msgid "" "*Py_DTSF_ADD_DOT_0* means to ensure that the returned string will not look " "like an integer." msgstr "" -#: c-api/conversion.rst:107 +#: ../../src/Doc/c-api/conversion.rst:107 msgid "" "*Py_DTSF_ALT* means to apply \"alternate\" formatting rules. See the " "documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details." msgstr "" -#: c-api/conversion.rst:111 +#: ../../src/Doc/c-api/conversion.rst:111 msgid "" "If *ptype* is non-NULL, then the value it points to will be set to one of " "*Py_DTST_FINITE*, *Py_DTST_INFINITE*, or *Py_DTST_NAN*, signifying that " "*val* is a finite number, an infinite number, or not a number, respectively." msgstr "" -#: c-api/conversion.rst:115 +#: ../../src/Doc/c-api/conversion.rst:115 msgid "" "The return value is a pointer to *buffer* with the converted string or " "*NULL* if the conversion failed. The caller is responsible for freeing the " "returned string by calling :c:func:`PyMem_Free`." msgstr "" -#: c-api/conversion.rst:124 +#: ../../src/Doc/c-api/conversion.rst:124 msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strcmp` except that it ignores the case." msgstr "" -#: c-api/conversion.rst:130 +#: ../../src/Doc/c-api/conversion.rst:130 msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strncmp` except that it ignores the case." msgstr "" -#: c-api/coro.rst:6 +#: ../../src/Doc/c-api/coro.rst:6 msgid "Coroutine Objects" msgstr "" -#: c-api/coro.rst:10 +#: ../../src/Doc/c-api/coro.rst:10 msgid "" "Coroutine objects are what functions declared with an ``async`` keyword " "return." msgstr "" -#: c-api/coro.rst:16 +#: ../../src/Doc/c-api/coro.rst:16 msgid "The C structure used for coroutine objects." msgstr "" -#: c-api/coro.rst:21 +#: ../../src/Doc/c-api/coro.rst:21 msgid "The type object corresponding to coroutine objects." msgstr "" -#: c-api/coro.rst:26 +#: ../../src/Doc/c-api/coro.rst:26 msgid "Return true if *ob*'s type is *PyCoro_Type*; *ob* must not be *NULL*." msgstr "" -#: c-api/coro.rst:31 +#: ../../src/Doc/c-api/coro.rst:31 msgid "" "Create and return a new coroutine object based on the *frame* object, with " "``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " @@ -3605,11 +3641,11 @@ msgid "" "*NULL*." msgstr "" -#: c-api/datetime.rst:6 +#: ../../src/Doc/c-api/datetime.rst:6 msgid "DateTime Objects" msgstr "Objets DateTime" -#: c-api/datetime.rst:8 +#: ../../src/Doc/c-api/datetime.rst:8 msgid "" "Various date and time objects are supplied by the :mod:`datetime` module. " "Before using any of these functions, the header file :file:`datetime.h` must " @@ -3620,92 +3656,92 @@ msgid "" "the following macros." msgstr "" -#: c-api/datetime.rst:16 +#: ../../src/Doc/c-api/datetime.rst:16 msgid "Type-check macros:" msgstr "" -#: c-api/datetime.rst:20 +#: ../../src/Doc/c-api/datetime.rst:20 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype " "of :c:data:`PyDateTime_DateType`. *ob* must not be *NULL*." msgstr "" -#: c-api/datetime.rst:26 +#: ../../src/Doc/c-api/datetime.rst:26 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not " "be *NULL*." msgstr "" -#: c-api/datetime.rst:32 +#: ../../src/Doc/c-api/datetime.rst:32 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " "subtype of :c:data:`PyDateTime_DateTimeType`. *ob* must not be *NULL*." msgstr "" -#: c-api/datetime.rst:38 +#: ../../src/Doc/c-api/datetime.rst:38 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must " "not be *NULL*." msgstr "" -#: c-api/datetime.rst:44 +#: ../../src/Doc/c-api/datetime.rst:44 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype " "of :c:data:`PyDateTime_TimeType`. *ob* must not be *NULL*." msgstr "" -#: c-api/datetime.rst:50 +#: ../../src/Doc/c-api/datetime.rst:50 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not " "be *NULL*." msgstr "" -#: c-api/datetime.rst:56 +#: ../../src/Doc/c-api/datetime.rst:56 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " "of :c:data:`PyDateTime_DeltaType`. *ob* must not be *NULL*." msgstr "" -#: c-api/datetime.rst:62 +#: ../../src/Doc/c-api/datetime.rst:62 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not " "be *NULL*." msgstr "" -#: c-api/datetime.rst:68 +#: ../../src/Doc/c-api/datetime.rst:68 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " "of :c:data:`PyDateTime_TZInfoType`. *ob* must not be *NULL*." msgstr "" -#: c-api/datetime.rst:74 +#: ../../src/Doc/c-api/datetime.rst:74 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must " "not be *NULL*." msgstr "" -#: c-api/datetime.rst:78 +#: ../../src/Doc/c-api/datetime.rst:78 msgid "Macros to create objects:" msgstr "" -#: c-api/datetime.rst:82 +#: ../../src/Doc/c-api/datetime.rst:82 msgid "" "Return a ``datetime.date`` object with the specified year, month and day." msgstr "" -#: c-api/datetime.rst:87 +#: ../../src/Doc/c-api/datetime.rst:87 msgid "" "Return a ``datetime.datetime`` object with the specified year, month, day, " "hour, minute, second and microsecond." msgstr "" -#: c-api/datetime.rst:93 +#: ../../src/Doc/c-api/datetime.rst:93 msgid "" "Return a ``datetime.time`` object with the specified hour, minute, second " "and microsecond." msgstr "" -#: c-api/datetime.rst:99 +#: ../../src/Doc/c-api/datetime.rst:99 msgid "" "Return a ``datetime.timedelta`` object representing the given number of " "days, seconds and microseconds. Normalization is performed so that the " @@ -3713,7 +3749,7 @@ msgid "" "for ``datetime.timedelta`` objects." msgstr "" -#: c-api/datetime.rst:105 +#: ../../src/Doc/c-api/datetime.rst:105 msgid "" "Macros to extract fields from date objects. The argument must be an " "instance of :c:data:`PyDateTime_Date`, including subclasses (such as :c:data:" @@ -3721,204 +3757,204 @@ msgid "" "not checked:" msgstr "" -#: c-api/datetime.rst:112 +#: ../../src/Doc/c-api/datetime.rst:112 msgid "Return the year, as a positive int." msgstr "" -#: c-api/datetime.rst:117 +#: ../../src/Doc/c-api/datetime.rst:117 msgid "Return the month, as an int from 1 through 12." msgstr "" -#: c-api/datetime.rst:122 +#: ../../src/Doc/c-api/datetime.rst:122 msgid "Return the day, as an int from 1 through 31." msgstr "" -#: c-api/datetime.rst:125 +#: ../../src/Doc/c-api/datetime.rst:125 msgid "" "Macros to extract fields from datetime objects. The argument must be an " "instance of :c:data:`PyDateTime_DateTime`, including subclasses. The " "argument must not be *NULL*, and the type is not checked:" msgstr "" -#: c-api/datetime.rst:131 c-api/datetime.rst:155 +#: ../../src/Doc/c-api/datetime.rst:131 ../../src/Doc/c-api/datetime.rst:155 msgid "Return the hour, as an int from 0 through 23." msgstr "" -#: c-api/datetime.rst:136 c-api/datetime.rst:160 +#: ../../src/Doc/c-api/datetime.rst:136 ../../src/Doc/c-api/datetime.rst:160 msgid "Return the minute, as an int from 0 through 59." msgstr "" -#: c-api/datetime.rst:141 c-api/datetime.rst:165 +#: ../../src/Doc/c-api/datetime.rst:141 ../../src/Doc/c-api/datetime.rst:165 msgid "Return the second, as an int from 0 through 59." msgstr "" -#: c-api/datetime.rst:146 c-api/datetime.rst:170 +#: ../../src/Doc/c-api/datetime.rst:146 ../../src/Doc/c-api/datetime.rst:170 msgid "Return the microsecond, as an int from 0 through 999999." msgstr "" -#: c-api/datetime.rst:149 +#: ../../src/Doc/c-api/datetime.rst:149 msgid "" "Macros to extract fields from time objects. The argument must be an " "instance of :c:data:`PyDateTime_Time`, including subclasses. The argument " "must not be *NULL*, and the type is not checked:" msgstr "" -#: c-api/datetime.rst:173 +#: ../../src/Doc/c-api/datetime.rst:173 msgid "" "Macros to extract fields from time delta objects. The argument must be an " "instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument " "must not be *NULL*, and the type is not checked:" msgstr "" -#: c-api/datetime.rst:179 +#: ../../src/Doc/c-api/datetime.rst:179 msgid "Return the number of days, as an int from -999999999 to 999999999." msgstr "" -#: c-api/datetime.rst:186 +#: ../../src/Doc/c-api/datetime.rst:186 msgid "Return the number of seconds, as an int from 0 through 86399." msgstr "" -#: c-api/datetime.rst:193 +#: ../../src/Doc/c-api/datetime.rst:193 msgid "Return the number of microseconds, as an int from 0 through 999999." msgstr "" -#: c-api/datetime.rst:198 +#: ../../src/Doc/c-api/datetime.rst:198 msgid "Macros for the convenience of modules implementing the DB API:" msgstr "" -#: c-api/datetime.rst:202 +#: ../../src/Doc/c-api/datetime.rst:202 msgid "" "Create and return a new ``datetime.datetime`` object given an argument tuple " "suitable for passing to ``datetime.datetime.fromtimestamp()``." msgstr "" -#: c-api/datetime.rst:208 +#: ../../src/Doc/c-api/datetime.rst:208 msgid "" "Create and return a new ``datetime.date`` object given an argument tuple " "suitable for passing to ``datetime.date.fromtimestamp()``." msgstr "" -#: c-api/descriptor.rst:6 +#: ../../src/Doc/c-api/descriptor.rst:6 msgid "Descriptor Objects" msgstr "" -#: c-api/descriptor.rst:8 +#: ../../src/Doc/c-api/descriptor.rst:8 msgid "" "\"Descriptors\" are objects that describe some attribute of an object. They " "are found in the dictionary of type objects." msgstr "" -#: c-api/descriptor.rst:15 +#: ../../src/Doc/c-api/descriptor.rst:15 msgid "The type object for the built-in descriptor types." msgstr "" -#: c-api/descriptor.rst:35 +#: ../../src/Doc/c-api/descriptor.rst:35 msgid "" "Return true if the descriptor objects *descr* describes a data attribute, or " "false if it describes a method. *descr* must be a descriptor object; there " "is no error checking." msgstr "" -#: c-api/dict.rst:6 +#: ../../src/Doc/c-api/dict.rst:6 msgid "Dictionary Objects" msgstr "Objets dictionnaires" -#: c-api/dict.rst:13 +#: ../../src/Doc/c-api/dict.rst:13 msgid "" "This subtype of :c:type:`PyObject` represents a Python dictionary object." msgstr "" -#: c-api/dict.rst:18 +#: ../../src/Doc/c-api/dict.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python dictionary " "type. This is the same object as :class:`dict` in the Python layer." msgstr "" -#: c-api/dict.rst:24 +#: ../../src/Doc/c-api/dict.rst:24 msgid "" "Return true if *p* is a dict object or an instance of a subtype of the dict " "type." msgstr "" -#: c-api/dict.rst:30 +#: ../../src/Doc/c-api/dict.rst:30 msgid "" "Return true if *p* is a dict object, but not an instance of a subtype of the " "dict type." msgstr "" -#: c-api/dict.rst:36 +#: ../../src/Doc/c-api/dict.rst:36 msgid "Return a new empty dictionary, or *NULL* on failure." msgstr "" -#: c-api/dict.rst:41 +#: ../../src/Doc/c-api/dict.rst:41 msgid "" "Return a :class:`types.MappingProxyType` object for a mapping which enforces " "read-only behavior. This is normally used to create a view to prevent " "modification of the dictionary for non-dynamic class types." msgstr "" -#: c-api/dict.rst:48 +#: ../../src/Doc/c-api/dict.rst:48 msgid "Empty an existing dictionary of all key-value pairs." msgstr "" -#: c-api/dict.rst:53 +#: ../../src/Doc/c-api/dict.rst:53 msgid "" "Determine if dictionary *p* contains *key*. If an item in *p* is matches " "*key*, return ``1``, otherwise return ``0``. On error, return ``-1``. This " "is equivalent to the Python expression ``key in p``." msgstr "" -#: c-api/dict.rst:60 +#: ../../src/Doc/c-api/dict.rst:60 msgid "Return a new dictionary that contains the same key-value pairs as *p*." msgstr "" -#: c-api/dict.rst:65 +#: ../../src/Doc/c-api/dict.rst:65 msgid "" "Insert *value* into the dictionary *p* with a key of *key*. *key* must be :" "term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return ``0`` " "on success or ``-1`` on failure." msgstr "" -#: c-api/dict.rst:74 +#: ../../src/Doc/c-api/dict.rst:74 msgid "" "Insert *value* into the dictionary *p* using *key* as a key. *key* should be " "a :c:type:`char\\*`. The key object is created using " "``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on failure." msgstr "" -#: c-api/dict.rst:82 +#: ../../src/Doc/c-api/dict.rst:82 msgid "" "Remove the entry in dictionary *p* with key *key*. *key* must be hashable; " "if it isn't, :exc:`TypeError` is raised. Return ``0`` on success or ``-1`` " "on failure." msgstr "" -#: c-api/dict.rst:89 +#: ../../src/Doc/c-api/dict.rst:89 msgid "" "Remove the entry in dictionary *p* which has a key specified by the string " "*key*. Return ``0`` on success or ``-1`` on failure." msgstr "" -#: c-api/dict.rst:95 +#: ../../src/Doc/c-api/dict.rst:95 msgid "" "Return the object from dictionary *p* which has a key *key*. Return *NULL* " "if the key *key* is not present, but *without* setting an exception." msgstr "" -#: c-api/dict.rst:101 +#: ../../src/Doc/c-api/dict.rst:101 msgid "" "Variant of :c:func:`PyDict_GetItem` that does not suppress exceptions. " "Return *NULL* **with** an exception set if an exception occurred. Return " "*NULL* **without** an exception set if the key wasn't present." msgstr "" -#: c-api/dict.rst:109 +#: ../../src/Doc/c-api/dict.rst:109 msgid "" "This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:" "type:`char\\*`, rather than a :c:type:`PyObject\\*`." msgstr "" -#: c-api/dict.rst:115 +#: ../../src/Doc/c-api/dict.rst:115 msgid "" "This is the same as the Python-level :meth:`dict.setdefault`. If present, " "it returns the value corresponding to *key* from the dictionary *p*. If the " @@ -3928,29 +3964,29 @@ msgid "" "the insertion." msgstr "" -#: c-api/dict.rst:124 +#: ../../src/Doc/c-api/dict.rst:124 msgid "" "Return a :c:type:`PyListObject` containing all the items from the dictionary." msgstr "" -#: c-api/dict.rst:129 +#: ../../src/Doc/c-api/dict.rst:129 msgid "" "Return a :c:type:`PyListObject` containing all the keys from the dictionary." msgstr "" -#: c-api/dict.rst:134 +#: ../../src/Doc/c-api/dict.rst:134 msgid "" "Return a :c:type:`PyListObject` containing all the values from the " "dictionary *p*." msgstr "" -#: c-api/dict.rst:142 +#: ../../src/Doc/c-api/dict.rst:142 msgid "" "Return the number of items in the dictionary. This is equivalent to " "``len(p)`` on a dictionary." msgstr "" -#: c-api/dict.rst:148 +#: ../../src/Doc/c-api/dict.rst:148 msgid "" "Iterate over all key-value pairs in the dictionary *p*. The :c:type:" "`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the " @@ -3964,18 +4000,18 @@ msgid "" "structure is sparse, the offsets are not consecutive." msgstr "" -#: c-api/dict.rst:159 +#: ../../src/Doc/c-api/dict.rst:159 msgid "For example::" msgstr "Par exemple ::" -#: c-api/dict.rst:169 +#: ../../src/Doc/c-api/dict.rst:169 msgid "" "The dictionary *p* should not be mutated during iteration. It is safe to " "modify the values of the keys as you iterate over the dictionary, but only " "so long as the set of keys does not change. For example::" msgstr "" -#: c-api/dict.rst:194 +#: ../../src/Doc/c-api/dict.rst:194 msgid "" "Iterate over mapping object *b* adding key-value pairs to dictionary *a*. " "*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` " @@ -3985,7 +4021,7 @@ msgid "" "or ``-1`` if an exception was raised." msgstr "" -#: c-api/dict.rst:204 +#: ../../src/Doc/c-api/dict.rst:204 msgid "" "This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to ``a." "update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall back " @@ -3994,7 +4030,7 @@ msgid "" "exception was raised." msgstr "" -#: c-api/dict.rst:213 +#: ../../src/Doc/c-api/dict.rst:213 msgid "" "Update or merge into dictionary *a*, from the key-value pairs in *seq2*. " "*seq2* must be an iterable object producing iterable objects of length 2, " @@ -4003,16 +4039,17 @@ msgid "" "if an exception was raised. Equivalent Python (except for the return value)::" msgstr "" -#: c-api/dict.rst:228 c-api/list.rst:149 c-api/method.rst:99 c-api/set.rst:164 -#: c-api/tuple.rst:110 c-api/unicode.rst:202 +#: ../../src/Doc/c-api/dict.rst:228 ../../src/Doc/c-api/list.rst:149 +#: ../../src/Doc/c-api/method.rst:99 ../../src/Doc/c-api/set.rst:164 +#: ../../src/Doc/c-api/tuple.rst:110 ../../src/Doc/c-api/unicode.rst:202 msgid "Clear the free list. Return the total number of freed items." msgstr "" -#: c-api/exceptions.rst:8 +#: ../../src/Doc/c-api/exceptions.rst:8 msgid "Exception Handling" msgstr "Gestion des exceptions" -#: c-api/exceptions.rst:10 +#: ../../src/Doc/c-api/exceptions.rst:10 msgid "" "The functions described in this chapter will let you handle and raise Python " "exceptions. It is important to understand some of the basics of Python " @@ -4025,7 +4062,7 @@ msgid "" "\\*` functions return ``1`` for success and ``0`` for failure)." msgstr "" -#: c-api/exceptions.rst:20 +#: ../../src/Doc/c-api/exceptions.rst:20 msgid "" "Concretely, the error indicator consists of three object pointers: the " "exception's type, the exception's value, and the traceback object. Any of " @@ -4034,7 +4071,7 @@ msgid "" "type is NULL)." msgstr "" -#: c-api/exceptions.rst:26 +#: ../../src/Doc/c-api/exceptions.rst:26 msgid "" "When a function must fail because some function it called failed, it " "generally doesn't set the error indicator; the function it called already " @@ -4047,7 +4084,7 @@ msgid "" "Python/C API may not behave as intended and may fail in mysterious ways." msgstr "" -#: c-api/exceptions.rst:37 +#: ../../src/Doc/c-api/exceptions.rst:37 msgid "" "The error indicator is **not** the result of :func:`sys.exc_info()`. The " "former corresponds to an exception that is not yet caught (and is therefore " @@ -4055,35 +4092,35 @@ msgid "" "(and has therefore stopped propagating)." msgstr "" -#: c-api/exceptions.rst:44 +#: ../../src/Doc/c-api/exceptions.rst:44 msgid "Printing and clearing" msgstr "" -#: c-api/exceptions.rst:49 +#: ../../src/Doc/c-api/exceptions.rst:49 msgid "" "Clear the error indicator. If the error indicator is not set, there is no " "effect." msgstr "" -#: c-api/exceptions.rst:55 +#: ../../src/Doc/c-api/exceptions.rst:55 msgid "" "Print a standard traceback to ``sys.stderr`` and clear the error indicator. " "Call this function only when the error indicator is set. (Otherwise it will " "cause a fatal error!)" msgstr "" -#: c-api/exceptions.rst:59 +#: ../../src/Doc/c-api/exceptions.rst:59 msgid "" "If *set_sys_last_vars* is nonzero, the variables :data:`sys.last_type`, :" "data:`sys.last_value` and :data:`sys.last_traceback` will be set to the " "type, value and traceback of the printed exception, respectively." msgstr "" -#: c-api/exceptions.rst:66 +#: ../../src/Doc/c-api/exceptions.rst:66 msgid "Alias for ``PyErr_PrintEx(1)``." msgstr "" -#: c-api/exceptions.rst:71 +#: ../../src/Doc/c-api/exceptions.rst:71 msgid "" "This utility function prints a warning message to ``sys.stderr`` when an " "exception has been set but it is impossible for the interpreter to actually " @@ -4091,26 +4128,26 @@ msgid "" "an :meth:`__del__` method." msgstr "" -#: c-api/exceptions.rst:76 +#: ../../src/Doc/c-api/exceptions.rst:76 msgid "" "The function is called with a single argument *obj* that identifies the " "context in which the unraisable exception occurred. The repr of *obj* will " "be printed in the warning message." msgstr "" -#: c-api/exceptions.rst:82 +#: ../../src/Doc/c-api/exceptions.rst:82 #, fuzzy msgid "Raising exceptions" msgstr "Déclencher des exceptions" -#: c-api/exceptions.rst:84 +#: ../../src/Doc/c-api/exceptions.rst:84 msgid "" "These functions help you set the current thread's error indicator. For " "convenience, some of these functions will always return a NULL pointer for " "use in a ``return`` statement." msgstr "" -#: c-api/exceptions.rst:91 +#: ../../src/Doc/c-api/exceptions.rst:91 msgid "" "This is the most common way to set the error indicator. The first argument " "specifies the exception type; it is normally one of the standard exceptions, " @@ -4119,13 +4156,13 @@ msgid "" "``'utf-8``'." msgstr "" -#: c-api/exceptions.rst:99 +#: ../../src/Doc/c-api/exceptions.rst:99 msgid "" "This function is similar to :c:func:`PyErr_SetString` but lets you specify " "an arbitrary Python object for the \"value\" of the exception." msgstr "" -#: c-api/exceptions.rst:105 +#: ../../src/Doc/c-api/exceptions.rst:105 msgid "" "This function sets the error indicator and returns *NULL*. *exception* " "should be a Python exception class. The *format* and subsequent parameters " @@ -4133,31 +4170,31 @@ msgid "" "c:func:`PyUnicode_FromFormat`. *format* is an ASCII-encoded string." msgstr "" -#: c-api/exceptions.rst:114 +#: ../../src/Doc/c-api/exceptions.rst:114 msgid "" "Same as :c:func:`PyErr_Format`, but taking a :c:type:`va_list` argument " "rather than a variable number of arguments." msgstr "" -#: c-api/exceptions.rst:122 +#: ../../src/Doc/c-api/exceptions.rst:122 msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``." msgstr "" -#: c-api/exceptions.rst:127 +#: ../../src/Doc/c-api/exceptions.rst:127 msgid "" "This is a shorthand for ``PyErr_SetString(PyExc_TypeError, message)``, where " "*message* indicates that a built-in operation was invoked with an illegal " "argument. It is mostly for internal use." msgstr "" -#: c-api/exceptions.rst:134 +#: ../../src/Doc/c-api/exceptions.rst:134 msgid "" "This is a shorthand for ``PyErr_SetNone(PyExc_MemoryError)``; it returns " "*NULL* so an object allocation function can write ``return PyErr_NoMemory();" "`` when it runs out of memory." msgstr "" -#: c-api/exceptions.rst:143 +#: ../../src/Doc/c-api/exceptions.rst:143 msgid "" "This is a convenience function to raise an exception when a C library " "function has returned an error and set the C variable :c:data:`errno`. It " @@ -4171,7 +4208,7 @@ msgid "" "``return PyErr_SetFromErrno(type);`` when the system call returns an error." msgstr "" -#: c-api/exceptions.rst:157 +#: ../../src/Doc/c-api/exceptions.rst:157 msgid "" "Similar to :c:func:`PyErr_SetFromErrno`, with the additional behavior that " "if *filenameObject* is not *NULL*, it is passed to the constructor of *type* " @@ -4179,21 +4216,21 @@ msgid "" "to define the :attr:`filename` attribute of the exception instance." msgstr "" -#: c-api/exceptions.rst:166 +#: ../../src/Doc/c-api/exceptions.rst:166 msgid "" "Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but takes a " "second filename object, for raising errors when a function that takes two " "filenames fails." msgstr "" -#: c-api/exceptions.rst:175 +#: ../../src/Doc/c-api/exceptions.rst:175 msgid "" "Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but the filename " "is given as a C string. *filename* is decoded from the filesystem encoding " "(:func:`os.fsdecode`)." msgstr "" -#: c-api/exceptions.rst:182 +#: ../../src/Doc/c-api/exceptions.rst:182 msgid "" "This is a convenience function to raise :exc:`WindowsError`. If called with " "*ierr* of :c:data:`0`, the error code returned by a call to :c:func:" @@ -4206,39 +4243,39 @@ msgid "" "returns *NULL*. Availability: Windows." msgstr "" -#: c-api/exceptions.rst:194 +#: ../../src/Doc/c-api/exceptions.rst:194 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional parameter " "specifying the exception type to be raised. Availability: Windows." msgstr "" -#: c-api/exceptions.rst:200 +#: ../../src/Doc/c-api/exceptions.rst:200 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, but the " "filename is given as a C string. *filename* is decoded from the filesystem " "encoding (:func:`os.fsdecode`). Availability: Windows." msgstr "" -#: c-api/exceptions.rst:207 +#: ../../src/Doc/c-api/exceptions.rst:207 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an " "additional parameter specifying the exception type to be raised. " "Availability: Windows." msgstr "" -#: c-api/exceptions.rst:214 +#: ../../src/Doc/c-api/exceptions.rst:214 msgid "" "Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, but " "accepts a second filename object. Availability: Windows." msgstr "" -#: c-api/exceptions.rst:223 +#: ../../src/Doc/c-api/exceptions.rst:223 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional " "parameter specifying the exception type to be raised. Availability: Windows." msgstr "" -#: c-api/exceptions.rst:229 +#: ../../src/Doc/c-api/exceptions.rst:229 msgid "" "This is a convenience function to raise :exc:`ImportError`. *msg* will be " "set as the exception's message string. *name* and *path*, both of which can " @@ -4246,7 +4283,7 @@ msgid "" "``path`` attributes." msgstr "" -#: c-api/exceptions.rst:239 +#: ../../src/Doc/c-api/exceptions.rst:239 msgid "" "Set file, line, and offset information for the current exception. If the " "current exception is not a :exc:`SyntaxError`, then it sets additional " @@ -4254,19 +4291,19 @@ msgid "" "is a :exc:`SyntaxError`." msgstr "" -#: c-api/exceptions.rst:249 +#: ../../src/Doc/c-api/exceptions.rst:249 msgid "" "Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string " "decoded from the filesystem encoding (:func:`os.fsdecode`)." msgstr "" -#: c-api/exceptions.rst:257 +#: ../../src/Doc/c-api/exceptions.rst:257 msgid "" "Like :c:func:`PyErr_SyntaxLocationEx`, but the col_offset parameter is " "omitted." msgstr "" -#: c-api/exceptions.rst:263 +#: ../../src/Doc/c-api/exceptions.rst:263 msgid "" "This is a shorthand for ``PyErr_SetString(PyExc_SystemError, message)``, " "where *message* indicates that an internal operation (e.g. a Python/C API " @@ -4274,11 +4311,11 @@ msgid "" "use." msgstr "" -#: c-api/exceptions.rst:270 +#: ../../src/Doc/c-api/exceptions.rst:270 msgid "Issuing warnings" msgstr "" -#: c-api/exceptions.rst:272 +#: ../../src/Doc/c-api/exceptions.rst:272 msgid "" "Use these functions to issue warnings from C code. They mirror similar " "functions exported by the Python :mod:`warnings` module. They normally " @@ -4294,7 +4331,7 @@ msgid "" "return an error value)." msgstr "" -#: c-api/exceptions.rst:287 +#: ../../src/Doc/c-api/exceptions.rst:287 msgid "" "Issue a warning message. The *category* argument is a warning category (see " "below) or *NULL*; the *message* argument is an UTF-8 encoded string. " @@ -4304,7 +4341,7 @@ msgid "" "`PyErr_WarnEx`, 2 is the function above that, and so forth." msgstr "" -#: c-api/exceptions.rst:294 +#: ../../src/Doc/c-api/exceptions.rst:294 msgid "" "Warning categories must be subclasses of :c:data:`Warning`; the default " "warning category is :c:data:`RuntimeWarning`. The standard Python warning " @@ -4318,14 +4355,14 @@ msgid "" "warning categories are subclasses of :c:data:`PyExc_Warning`." msgstr "" -#: c-api/exceptions.rst:305 +#: ../../src/Doc/c-api/exceptions.rst:305 msgid "" "For information about warning control, see the documentation for the :mod:" "`warnings` module and the :option:`-W` option in the command line " "documentation. There is no C API for warning control." msgstr "" -#: c-api/exceptions.rst:312 +#: ../../src/Doc/c-api/exceptions.rst:312 msgid "" "Issue a warning message with explicit control over all warning attributes. " "This is a straightforward wrapper around the Python function :func:`warnings." @@ -4333,25 +4370,25 @@ msgid "" "arguments may be set to *NULL* to get the default effect described there." msgstr "" -#: c-api/exceptions.rst:323 +#: ../../src/Doc/c-api/exceptions.rst:323 msgid "" "Similar to :c:func:`PyErr_WarnExplicitObject` except that *message* and " "*module* are UTF-8 encoded strings, and *filename* is decoded from the " "filesystem encoding (:func:`os.fsdecode`)." msgstr "" -#: c-api/exceptions.rst:330 +#: ../../src/Doc/c-api/exceptions.rst:330 msgid "" "Function similar to :c:func:`PyErr_WarnEx`, but use :c:func:" "`PyUnicode_FromFormat` to format the warning message. *format* is an ASCII-" "encoded string." msgstr "" -#: c-api/exceptions.rst:338 +#: ../../src/Doc/c-api/exceptions.rst:338 msgid "Querying the error indicator" msgstr "" -#: c-api/exceptions.rst:342 +#: ../../src/Doc/c-api/exceptions.rst:342 msgid "" "Test whether the error indicator is set. If set, return the exception " "*type* (the first argument to the last call to one of the :c:func:`PyErr_Set" @@ -4360,7 +4397,7 @@ msgid "" "func:`Py_DECREF` it." msgstr "" -#: c-api/exceptions.rst:350 +#: ../../src/Doc/c-api/exceptions.rst:350 msgid "" "Do not compare the return value to a specific exception; use :c:func:" "`PyErr_ExceptionMatches` instead, shown below. (The comparison could easily " @@ -4368,14 +4405,14 @@ msgid "" "of a class exception, or it may be a subclass of the expected exception.)" msgstr "" -#: c-api/exceptions.rst:358 +#: ../../src/Doc/c-api/exceptions.rst:358 msgid "" "Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. This " "should only be called when an exception is actually set; a memory access " "violation will occur if no exception has been raised." msgstr "" -#: c-api/exceptions.rst:365 +#: ../../src/Doc/c-api/exceptions.rst:365 msgid "" "Return true if the *given* exception matches the exception type in *exc*. " "If *exc* is a class object, this also returns true when *given* is an " @@ -4383,7 +4420,7 @@ msgid "" "tuple (and recursively in subtuples) are searched for a match." msgstr "" -#: c-api/exceptions.rst:373 +#: ../../src/Doc/c-api/exceptions.rst:373 msgid "" "Retrieve the error indicator into three variables whose addresses are " "passed. If the error indicator is not set, set all three variables to " @@ -4392,14 +4429,14 @@ msgid "" "the type object is not." msgstr "" -#: c-api/exceptions.rst:380 +#: ../../src/Doc/c-api/exceptions.rst:380 msgid "" "This function is normally only used by code that needs to catch exceptions " "or by code that needs to save and restore the error indicator temporarily, e." "g.::" msgstr "" -#: c-api/exceptions.rst:395 +#: ../../src/Doc/c-api/exceptions.rst:395 msgid "" "Set the error indicator from the three objects. If the error indicator is " "already set, it is cleared first. If the objects are *NULL*, the error " @@ -4412,14 +4449,14 @@ msgid "" "function. I warned you.)" msgstr "" -#: c-api/exceptions.rst:407 +#: ../../src/Doc/c-api/exceptions.rst:407 msgid "" "This function is normally only used by code that needs to save and restore " "the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save the " "current error indicator." msgstr "" -#: c-api/exceptions.rst:414 +#: ../../src/Doc/c-api/exceptions.rst:414 msgid "" "Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` " "below can be \"unnormalized\", meaning that ``*exc`` is a class object but " @@ -4429,14 +4466,14 @@ msgid "" "improve performance." msgstr "" -#: c-api/exceptions.rst:422 +#: ../../src/Doc/c-api/exceptions.rst:422 msgid "" "This function *does not* implicitly set the ``__traceback__`` attribute on " "the exception value. If setting the traceback appropriately is desired, the " "following additional snippet is needed::" msgstr "" -#: c-api/exceptions.rst:433 +#: ../../src/Doc/c-api/exceptions.rst:433 msgid "" "Retrieve the exception info, as known from ``sys.exc_info()``. This refers " "to an exception that was *already caught*, not to an exception that was " @@ -4444,7 +4481,7 @@ msgid "" "may be *NULL*. Does not modify the exception info state." msgstr "" -#: c-api/exceptions.rst:440 +#: ../../src/Doc/c-api/exceptions.rst:440 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -4452,7 +4489,7 @@ msgid "" "exception state." msgstr "" -#: c-api/exceptions.rst:450 +#: ../../src/Doc/c-api/exceptions.rst:450 msgid "" "Set the exception info, as known from ``sys.exc_info()``. This refers to an " "exception that was *already caught*, not to an exception that was freshly " @@ -4461,7 +4498,7 @@ msgid "" "about the three arguments, see :c:func:`PyErr_Restore`." msgstr "" -#: c-api/exceptions.rst:458 +#: ../../src/Doc/c-api/exceptions.rst:458 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -4469,11 +4506,11 @@ msgid "" "state." msgstr "" -#: c-api/exceptions.rst:467 +#: ../../src/Doc/c-api/exceptions.rst:467 msgid "Signal Handling" msgstr "" -#: c-api/exceptions.rst:477 +#: ../../src/Doc/c-api/exceptions.rst:477 msgid "" "This function interacts with Python's signal handling. It checks whether a " "signal has been sent to the processes and if so, invokes the corresponding " @@ -4485,7 +4522,7 @@ msgid "" "may not be cleared if it was previously set." msgstr "" -#: c-api/exceptions.rst:493 +#: ../../src/Doc/c-api/exceptions.rst:493 msgid "" "This function simulates the effect of a :const:`SIGINT` signal arriving --- " "the next time :c:func:`PyErr_CheckSignals` is called, :exc:" @@ -4493,14 +4530,14 @@ msgid "" "interpreter lock." msgstr "" -#: c-api/exceptions.rst:503 +#: ../../src/Doc/c-api/exceptions.rst:503 msgid "" "This utility function specifies a file descriptor to which the signal number " "is written as a single byte whenever a signal is received. *fd* must be non-" "blocking. It returns the previous such file descriptor." msgstr "" -#: c-api/exceptions.rst:507 +#: ../../src/Doc/c-api/exceptions.rst:507 msgid "" "The value ``-1`` disables the feature; this is the initial state. This is " "equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error " @@ -4508,15 +4545,15 @@ msgid "" "be called from the main thread." msgstr "" -#: c-api/exceptions.rst:512 +#: ../../src/Doc/c-api/exceptions.rst:512 msgid "On Windows, the function now also supports socket handles." msgstr "" -#: c-api/exceptions.rst:517 +#: ../../src/Doc/c-api/exceptions.rst:517 msgid "Exception Classes" msgstr "" -#: c-api/exceptions.rst:521 +#: ../../src/Doc/c-api/exceptions.rst:521 msgid "" "This utility function creates and returns a new exception class. The *name* " "argument must be the name of the new exception, a C string of the form " @@ -4525,7 +4562,7 @@ msgid "" "as :c:data:`PyExc_Exception`)." msgstr "" -#: c-api/exceptions.rst:527 +#: ../../src/Doc/c-api/exceptions.rst:527 msgid "" "The :attr:`__module__` attribute of the new class is set to the first part " "(up to the last dot) of the *name* argument, and the class name is set to " @@ -4535,32 +4572,32 @@ msgid "" "variables and methods." msgstr "" -#: c-api/exceptions.rst:536 +#: ../../src/Doc/c-api/exceptions.rst:536 msgid "" "Same as :c:func:`PyErr_NewException`, except that the new exception class " "can easily be given a docstring: If *doc* is non-*NULL*, it will be used as " "the docstring for the exception class." msgstr "" -#: c-api/exceptions.rst:544 +#: ../../src/Doc/c-api/exceptions.rst:544 #, fuzzy msgid "Exception Objects" msgstr "Objets Exception" -#: c-api/exceptions.rst:548 +#: ../../src/Doc/c-api/exceptions.rst:548 msgid "" "Return the traceback associated with the exception as a new reference, as " "accessible from Python through :attr:`__traceback__`. If there is no " "traceback associated, this returns *NULL*." msgstr "" -#: c-api/exceptions.rst:555 +#: ../../src/Doc/c-api/exceptions.rst:555 msgid "" "Set the traceback associated with the exception to *tb*. Use ``Py_None`` to " "clear it." msgstr "" -#: c-api/exceptions.rst:561 +#: ../../src/Doc/c-api/exceptions.rst:561 msgid "" "Return the context (another exception instance during whose handling *ex* " "was raised) associated with the exception as a new reference, as accessible " @@ -4568,112 +4605,112 @@ msgid "" "this returns *NULL*." msgstr "" -#: c-api/exceptions.rst:569 +#: ../../src/Doc/c-api/exceptions.rst:569 msgid "" "Set the context associated with the exception to *ctx*. Use *NULL* to clear " "it. There is no type check to make sure that *ctx* is an exception " "instance. This steals a reference to *ctx*." msgstr "" -#: c-api/exceptions.rst:576 +#: ../../src/Doc/c-api/exceptions.rst:576 msgid "" "Return the cause (either an exception instance, or :const:`None`, set by " "``raise ... from ...``) associated with the exception as a new reference, as " "accessible from Python through :attr:`__cause__`." msgstr "" -#: c-api/exceptions.rst:583 +#: ../../src/Doc/c-api/exceptions.rst:583 msgid "" "Set the cause associated with the exception to *cause*. Use *NULL* to clear " "it. There is no type check to make sure that *cause* is either an exception " "instance or :const:`None`. This steals a reference to *cause*." msgstr "" -#: c-api/exceptions.rst:587 +#: ../../src/Doc/c-api/exceptions.rst:587 msgid "" ":attr:`__suppress_context__` is implicitly set to ``True`` by this function." msgstr "" -#: c-api/exceptions.rst:593 +#: ../../src/Doc/c-api/exceptions.rst:593 #, fuzzy msgid "Unicode Exception Objects" msgstr "Objets Exception" -#: c-api/exceptions.rst:595 +#: ../../src/Doc/c-api/exceptions.rst:595 msgid "" "The following functions are used to create and modify Unicode exceptions " "from C." msgstr "" -#: c-api/exceptions.rst:599 +#: ../../src/Doc/c-api/exceptions.rst:599 msgid "" "Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, " "*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " "UTF-8 encoded strings." msgstr "" -#: c-api/exceptions.rst:605 +#: ../../src/Doc/c-api/exceptions.rst:605 msgid "" "Create a :class:`UnicodeEncodeError` object with the attributes *encoding*, " "*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " "UTF-8 encoded strings." msgstr "" -#: c-api/exceptions.rst:611 +#: ../../src/Doc/c-api/exceptions.rst:611 msgid "" "Create a :class:`UnicodeTranslateError` object with the attributes *object*, " "*length*, *start*, *end* and *reason*. *reason* is an UTF-8 encoded string." msgstr "" -#: c-api/exceptions.rst:617 +#: ../../src/Doc/c-api/exceptions.rst:617 msgid "Return the *encoding* attribute of the given exception object." msgstr "" -#: c-api/exceptions.rst:623 +#: ../../src/Doc/c-api/exceptions.rst:623 msgid "Return the *object* attribute of the given exception object." msgstr "" -#: c-api/exceptions.rst:629 +#: ../../src/Doc/c-api/exceptions.rst:629 msgid "" "Get the *start* attribute of the given exception object and place it into *" "\\*start*. *start* must not be *NULL*. Return ``0`` on success, ``-1`` on " "failure." msgstr "" -#: c-api/exceptions.rst:637 +#: ../../src/Doc/c-api/exceptions.rst:637 msgid "" "Set the *start* attribute of the given exception object to *start*. Return " "``0`` on success, ``-1`` on failure." msgstr "" -#: c-api/exceptions.rst:644 +#: ../../src/Doc/c-api/exceptions.rst:644 msgid "" "Get the *end* attribute of the given exception object and place it into *" "\\*end*. *end* must not be *NULL*. Return ``0`` on success, ``-1`` on " "failure." msgstr "" -#: c-api/exceptions.rst:652 +#: ../../src/Doc/c-api/exceptions.rst:652 msgid "" "Set the *end* attribute of the given exception object to *end*. Return " "``0`` on success, ``-1`` on failure." msgstr "" -#: c-api/exceptions.rst:659 +#: ../../src/Doc/c-api/exceptions.rst:659 msgid "Return the *reason* attribute of the given exception object." msgstr "" -#: c-api/exceptions.rst:665 +#: ../../src/Doc/c-api/exceptions.rst:665 msgid "" "Set the *reason* attribute of the given exception object to *reason*. " "Return ``0`` on success, ``-1`` on failure." msgstr "" -#: c-api/exceptions.rst:670 +#: ../../src/Doc/c-api/exceptions.rst:670 msgid "Recursion Control" msgstr "Contrôle de la récursion" -#: c-api/exceptions.rst:672 +#: ../../src/Doc/c-api/exceptions.rst:672 msgid "" "These two functions provide a way to perform safe recursive calls at the C " "level, both in the core and in extension modules. They are needed if the " @@ -4681,38 +4718,38 @@ msgid "" "recursion depth automatically)." msgstr "" -#: c-api/exceptions.rst:679 +#: ../../src/Doc/c-api/exceptions.rst:679 msgid "Marks a point where a recursive C-level call is about to be performed." msgstr "" -#: c-api/exceptions.rst:681 +#: ../../src/Doc/c-api/exceptions.rst:681 msgid "" "If :const:`USE_STACKCHECK` is defined, this function checks if the OS stack " "overflowed using :c:func:`PyOS_CheckStack`. In this is the case, it sets a :" "exc:`MemoryError` and returns a nonzero value." msgstr "" -#: c-api/exceptions.rst:685 +#: ../../src/Doc/c-api/exceptions.rst:685 msgid "" "The function then checks if the recursion limit is reached. If this is the " "case, a :exc:`RecursionError` is set and a nonzero value is returned. " "Otherwise, zero is returned." msgstr "" -#: c-api/exceptions.rst:689 +#: ../../src/Doc/c-api/exceptions.rst:689 msgid "" "*where* should be a string such as ``\" in instance check\"`` to be " "concatenated to the :exc:`RecursionError` message caused by the recursion " "depth limit." msgstr "" -#: c-api/exceptions.rst:695 +#: ../../src/Doc/c-api/exceptions.rst:695 msgid "" "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " "*successful* invocation of :c:func:`Py_EnterRecursiveCall`." msgstr "" -#: c-api/exceptions.rst:698 +#: ../../src/Doc/c-api/exceptions.rst:698 msgid "" "Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " "requires special recursion handling. In addition to protecting the stack, :" @@ -4721,13 +4758,13 @@ msgid "" "Effectively, these are the C equivalent to :func:`reprlib.recursive_repr`." msgstr "" -#: c-api/exceptions.rst:706 +#: ../../src/Doc/c-api/exceptions.rst:706 msgid "" "Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " "implementation to detect cycles." msgstr "" -#: c-api/exceptions.rst:709 +#: ../../src/Doc/c-api/exceptions.rst:709 msgid "" "If the object has already been processed, the function returns a positive " "integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -4735,30 +4772,30 @@ msgid "" "`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``." msgstr "" -#: c-api/exceptions.rst:715 +#: ../../src/Doc/c-api/exceptions.rst:715 msgid "" "The function will return a negative integer if the recursion limit is " "reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " "should typically return ``NULL``." msgstr "" -#: c-api/exceptions.rst:719 +#: ../../src/Doc/c-api/exceptions.rst:719 msgid "" "Otherwise, the function returns zero and the :c:member:`~PyTypeObject." "tp_repr` implementation can continue normally." msgstr "" -#: c-api/exceptions.rst:724 +#: ../../src/Doc/c-api/exceptions.rst:724 msgid "" "Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :" "c:func:`Py_ReprEnter` that returns zero." msgstr "" -#: c-api/exceptions.rst:731 +#: ../../src/Doc/c-api/exceptions.rst:731 msgid "Standard Exceptions" msgstr "Exceptions standards" -#: c-api/exceptions.rst:733 +#: ../../src/Doc/c-api/exceptions.rst:733 msgid "" "All standard Python exceptions are available as global variables whose names " "are ``PyExc_`` followed by the Python exception name. These have the type :" @@ -4766,357 +4803,362 @@ msgid "" "are all the variables:" msgstr "" -#: c-api/exceptions.rst:739 c-api/exceptions.rst:841 +#: ../../src/Doc/c-api/exceptions.rst:739 +#: ../../src/Doc/c-api/exceptions.rst:841 msgid "C Name" msgstr "Nom C" -#: c-api/exceptions.rst:739 +#: ../../src/Doc/c-api/exceptions.rst:739 msgid "Python Name" msgstr "Nom Python" -#: c-api/exceptions.rst:739 c-api/exceptions.rst:841 +#: ../../src/Doc/c-api/exceptions.rst:739 +#: ../../src/Doc/c-api/exceptions.rst:841 msgid "Notes" msgstr "Notes" -#: c-api/exceptions.rst:741 +#: ../../src/Doc/c-api/exceptions.rst:741 msgid ":c:data:`PyExc_BaseException`" msgstr ":c:data:`PyExc_BaseException`" -#: c-api/exceptions.rst:741 +#: ../../src/Doc/c-api/exceptions.rst:741 msgid ":exc:`BaseException`" msgstr ":exc:`BaseException`" -#: c-api/exceptions.rst:741 c-api/exceptions.rst:743 c-api/exceptions.rst:745 -#: c-api/exceptions.rst:747 c-api/exceptions.rst:795 +#: ../../src/Doc/c-api/exceptions.rst:741 +#: ../../src/Doc/c-api/exceptions.rst:743 +#: ../../src/Doc/c-api/exceptions.rst:745 +#: ../../src/Doc/c-api/exceptions.rst:747 +#: ../../src/Doc/c-api/exceptions.rst:795 msgid "\\(1)" msgstr "\\(1)" -#: c-api/exceptions.rst:743 +#: ../../src/Doc/c-api/exceptions.rst:743 msgid ":c:data:`PyExc_Exception`" msgstr ":c:data:`PyExc_Exception`" -#: c-api/exceptions.rst:743 +#: ../../src/Doc/c-api/exceptions.rst:743 msgid ":exc:`Exception`" msgstr ":exc:`Exception`" -#: c-api/exceptions.rst:745 +#: ../../src/Doc/c-api/exceptions.rst:745 msgid ":c:data:`PyExc_ArithmeticError`" msgstr ":c:data:`PyExc_ArithmeticError`" -#: c-api/exceptions.rst:745 +#: ../../src/Doc/c-api/exceptions.rst:745 msgid ":exc:`ArithmeticError`" msgstr ":exc:`ArithmeticError`" -#: c-api/exceptions.rst:747 +#: ../../src/Doc/c-api/exceptions.rst:747 msgid ":c:data:`PyExc_LookupError`" msgstr ":c:data:`PyExc_LookupError`" -#: c-api/exceptions.rst:747 +#: ../../src/Doc/c-api/exceptions.rst:747 msgid ":exc:`LookupError`" msgstr ":exc:`LookupError`" -#: c-api/exceptions.rst:749 +#: ../../src/Doc/c-api/exceptions.rst:749 msgid ":c:data:`PyExc_AssertionError`" msgstr ":c:data:`PyExc_AssertionError`" -#: c-api/exceptions.rst:749 +#: ../../src/Doc/c-api/exceptions.rst:749 msgid ":exc:`AssertionError`" msgstr ":exc:`AssertionError`" -#: c-api/exceptions.rst:751 +#: ../../src/Doc/c-api/exceptions.rst:751 msgid ":c:data:`PyExc_AttributeError`" msgstr ":c:data:`PyExc_AttributeError`" -#: c-api/exceptions.rst:751 +#: ../../src/Doc/c-api/exceptions.rst:751 msgid ":exc:`AttributeError`" msgstr ":exc:`AttributeError`" -#: c-api/exceptions.rst:753 +#: ../../src/Doc/c-api/exceptions.rst:753 msgid ":c:data:`PyExc_BlockingIOError`" msgstr ":c:data:`PyExc_BlockingIOError`" -#: c-api/exceptions.rst:753 +#: ../../src/Doc/c-api/exceptions.rst:753 msgid ":exc:`BlockingIOError`" msgstr ":exc:`BlockingIOError`" -#: c-api/exceptions.rst:755 +#: ../../src/Doc/c-api/exceptions.rst:755 msgid ":c:data:`PyExc_BrokenPipeError`" msgstr ":c:data:`PyExc_BrokenPipeError`" -#: c-api/exceptions.rst:755 +#: ../../src/Doc/c-api/exceptions.rst:755 msgid ":exc:`BrokenPipeError`" msgstr ":exc:`BrokenPipeError`" -#: c-api/exceptions.rst:757 +#: ../../src/Doc/c-api/exceptions.rst:757 msgid ":c:data:`PyExc_ChildProcessError`" msgstr ":c:data:`PyExc_ChildProcessError`" -#: c-api/exceptions.rst:757 +#: ../../src/Doc/c-api/exceptions.rst:757 msgid ":exc:`ChildProcessError`" msgstr ":exc:`ChildProcessError`" -#: c-api/exceptions.rst:759 +#: ../../src/Doc/c-api/exceptions.rst:759 msgid ":c:data:`PyExc_ConnectionError`" msgstr ":c:data:`PyExc_ConnectionError`" -#: c-api/exceptions.rst:759 +#: ../../src/Doc/c-api/exceptions.rst:759 msgid ":exc:`ConnectionError`" msgstr ":exc:`ConnectionError`" -#: c-api/exceptions.rst:761 +#: ../../src/Doc/c-api/exceptions.rst:761 msgid ":c:data:`PyExc_ConnectionAbortedError`" msgstr ":c:data:`PyExc_ConnectionAbortedError`" -#: c-api/exceptions.rst:761 +#: ../../src/Doc/c-api/exceptions.rst:761 msgid ":exc:`ConnectionAbortedError`" msgstr ":exc:`ConnectionAbortedError`" -#: c-api/exceptions.rst:763 +#: ../../src/Doc/c-api/exceptions.rst:763 msgid ":c:data:`PyExc_ConnectionRefusedError`" msgstr ":c:data:`PyExc_ConnectionRefusedError`" -#: c-api/exceptions.rst:763 +#: ../../src/Doc/c-api/exceptions.rst:763 msgid ":exc:`ConnectionRefusedError`" msgstr ":exc:`ConnectionRefusedError`" -#: c-api/exceptions.rst:765 +#: ../../src/Doc/c-api/exceptions.rst:765 msgid ":c:data:`PyExc_ConnectionResetError`" msgstr ":c:data:`PyExc_ConnectionResetError`" -#: c-api/exceptions.rst:765 +#: ../../src/Doc/c-api/exceptions.rst:765 msgid ":exc:`ConnectionResetError`" msgstr ":exc:`ConnectionResetError`" -#: c-api/exceptions.rst:767 +#: ../../src/Doc/c-api/exceptions.rst:767 msgid ":c:data:`PyExc_FileExistsError`" msgstr ":c:data:`PyExc_FileExistsError`" -#: c-api/exceptions.rst:767 +#: ../../src/Doc/c-api/exceptions.rst:767 msgid ":exc:`FileExistsError`" msgstr ":exc:`FileExistsError`" -#: c-api/exceptions.rst:769 +#: ../../src/Doc/c-api/exceptions.rst:769 msgid ":c:data:`PyExc_FileNotFoundError`" msgstr ":c:data:`PyExc_FloatingPointError`" -#: c-api/exceptions.rst:769 +#: ../../src/Doc/c-api/exceptions.rst:769 msgid ":exc:`FileNotFoundError`" msgstr ":exc:`FileNotFoundError`" -#: c-api/exceptions.rst:771 +#: ../../src/Doc/c-api/exceptions.rst:771 msgid ":c:data:`PyExc_EOFError`" msgstr ":c:data:`PyExc_EOFError`" -#: c-api/exceptions.rst:771 +#: ../../src/Doc/c-api/exceptions.rst:771 msgid ":exc:`EOFError`" msgstr ":exc:`EOFError`" -#: c-api/exceptions.rst:773 +#: ../../src/Doc/c-api/exceptions.rst:773 msgid ":c:data:`PyExc_FloatingPointError`" msgstr ":c:data:`PyExc_FloatingPointError`" -#: c-api/exceptions.rst:773 +#: ../../src/Doc/c-api/exceptions.rst:773 msgid ":exc:`FloatingPointError`" msgstr ":exc:`FloatingPointError`" -#: c-api/exceptions.rst:775 +#: ../../src/Doc/c-api/exceptions.rst:775 msgid ":c:data:`PyExc_ImportError`" msgstr ":c:data:`PyExc_ImportError`" -#: c-api/exceptions.rst:775 +#: ../../src/Doc/c-api/exceptions.rst:775 msgid ":exc:`ImportError`" msgstr ":exc:`ImportError`" -#: c-api/exceptions.rst:777 +#: ../../src/Doc/c-api/exceptions.rst:777 msgid ":c:data:`PyExc_IndexError`" msgstr ":c:data:`PyExc_IndexError`" -#: c-api/exceptions.rst:777 +#: ../../src/Doc/c-api/exceptions.rst:777 msgid ":exc:`IndexError`" msgstr ":exc:`IndexError`" -#: c-api/exceptions.rst:779 +#: ../../src/Doc/c-api/exceptions.rst:779 msgid ":c:data:`PyExc_InterruptedError`" msgstr ":c:data:`PyExc_InterruptedError`" -#: c-api/exceptions.rst:779 +#: ../../src/Doc/c-api/exceptions.rst:779 msgid ":exc:`InterruptedError`" msgstr ":exc:`InterruptedError`" -#: c-api/exceptions.rst:781 +#: ../../src/Doc/c-api/exceptions.rst:781 msgid ":c:data:`PyExc_IsADirectoryError`" msgstr ":c:data:`PyExc_IsADirectoryError`" -#: c-api/exceptions.rst:781 +#: ../../src/Doc/c-api/exceptions.rst:781 msgid ":exc:`IsADirectoryError`" msgstr ":exc:`IsADirectoryError`" -#: c-api/exceptions.rst:783 +#: ../../src/Doc/c-api/exceptions.rst:783 msgid ":c:data:`PyExc_KeyError`" msgstr ":c:data:`PyExc_KeyError`" -#: c-api/exceptions.rst:783 +#: ../../src/Doc/c-api/exceptions.rst:783 msgid ":exc:`KeyError`" msgstr ":exc:`KeyError`" -#: c-api/exceptions.rst:785 +#: ../../src/Doc/c-api/exceptions.rst:785 msgid ":c:data:`PyExc_KeyboardInterrupt`" msgstr ":c:data:`PyExc_KeyboardInterrupt`" -#: c-api/exceptions.rst:785 +#: ../../src/Doc/c-api/exceptions.rst:785 msgid ":exc:`KeyboardInterrupt`" msgstr ":exc:`KeyboardInterrupt`" -#: c-api/exceptions.rst:787 +#: ../../src/Doc/c-api/exceptions.rst:787 msgid ":c:data:`PyExc_MemoryError`" msgstr ":c:data:`PyExc_MemoryError`" -#: c-api/exceptions.rst:787 +#: ../../src/Doc/c-api/exceptions.rst:787 msgid ":exc:`MemoryError`" msgstr ":exc:`MemoryError`" -#: c-api/exceptions.rst:789 +#: ../../src/Doc/c-api/exceptions.rst:789 msgid ":c:data:`PyExc_NameError`" msgstr ":c:data:`PyExc_NameError`" -#: c-api/exceptions.rst:789 +#: ../../src/Doc/c-api/exceptions.rst:789 msgid ":exc:`NameError`" msgstr ":exc:`NameError`" -#: c-api/exceptions.rst:791 +#: ../../src/Doc/c-api/exceptions.rst:791 msgid ":c:data:`PyExc_NotADirectoryError`" msgstr ":c:data:`PyExc_NotADirectoryError`" -#: c-api/exceptions.rst:791 +#: ../../src/Doc/c-api/exceptions.rst:791 msgid ":exc:`NotADirectoryError`" msgstr ":exc:`NotADirectoryError`" -#: c-api/exceptions.rst:793 +#: ../../src/Doc/c-api/exceptions.rst:793 msgid ":c:data:`PyExc_NotImplementedError`" msgstr ":c:data:`PyExc_NotImplementedError`" -#: c-api/exceptions.rst:793 +#: ../../src/Doc/c-api/exceptions.rst:793 msgid ":exc:`NotImplementedError`" msgstr ":exc:`NotImplementedError`" -#: c-api/exceptions.rst:795 +#: ../../src/Doc/c-api/exceptions.rst:795 msgid ":c:data:`PyExc_OSError`" msgstr ":c:data:`PyExc_OSError`" -#: c-api/exceptions.rst:795 +#: ../../src/Doc/c-api/exceptions.rst:795 msgid ":exc:`OSError`" msgstr ":exc:`OSError`" -#: c-api/exceptions.rst:797 +#: ../../src/Doc/c-api/exceptions.rst:797 msgid ":c:data:`PyExc_OverflowError`" msgstr ":c:data:`PyExc_OverflowError`" -#: c-api/exceptions.rst:797 +#: ../../src/Doc/c-api/exceptions.rst:797 msgid ":exc:`OverflowError`" msgstr ":exc:`OverflowError`" -#: c-api/exceptions.rst:799 +#: ../../src/Doc/c-api/exceptions.rst:799 msgid ":c:data:`PyExc_PermissionError`" msgstr ":c:data:`PyExc_PermissionError`" -#: c-api/exceptions.rst:799 +#: ../../src/Doc/c-api/exceptions.rst:799 msgid ":exc:`PermissionError`" msgstr ":exc:`PermissionError`" -#: c-api/exceptions.rst:801 +#: ../../src/Doc/c-api/exceptions.rst:801 msgid ":c:data:`PyExc_ProcessLookupError`" msgstr ":c:data:`PyExc_ProcessLookupError`" -#: c-api/exceptions.rst:801 +#: ../../src/Doc/c-api/exceptions.rst:801 msgid ":exc:`ProcessLookupError`" msgstr ":exc:`ProcessLookupError`" -#: c-api/exceptions.rst:803 +#: ../../src/Doc/c-api/exceptions.rst:803 msgid ":c:data:`PyExc_RecursionError`" msgstr ":c:data:`PyExc_ReferenceError`" -#: c-api/exceptions.rst:803 +#: ../../src/Doc/c-api/exceptions.rst:803 msgid ":exc:`RecursionError`" msgstr "" -#: c-api/exceptions.rst:805 +#: ../../src/Doc/c-api/exceptions.rst:805 msgid ":c:data:`PyExc_ReferenceError`" msgstr ":c:data:`PyExc_ReferenceError`" -#: c-api/exceptions.rst:805 +#: ../../src/Doc/c-api/exceptions.rst:805 msgid ":exc:`ReferenceError`" msgstr ":exc:`ReferenceError`" -#: c-api/exceptions.rst:805 +#: ../../src/Doc/c-api/exceptions.rst:805 msgid "\\(2)" msgstr "\\(2)" -#: c-api/exceptions.rst:807 +#: ../../src/Doc/c-api/exceptions.rst:807 msgid ":c:data:`PyExc_RuntimeError`" msgstr ":c:data:`PyExc_RuntimeError`" -#: c-api/exceptions.rst:807 +#: ../../src/Doc/c-api/exceptions.rst:807 msgid ":exc:`RuntimeError`" msgstr ":exc:`RuntimeError`" -#: c-api/exceptions.rst:809 +#: ../../src/Doc/c-api/exceptions.rst:809 msgid ":c:data:`PyExc_SyntaxError`" msgstr ":c:data:`PyExc_SyntaxError`" -#: c-api/exceptions.rst:809 +#: ../../src/Doc/c-api/exceptions.rst:809 msgid ":exc:`SyntaxError`" msgstr ":exc:`SyntaxError`" -#: c-api/exceptions.rst:811 +#: ../../src/Doc/c-api/exceptions.rst:811 msgid ":c:data:`PyExc_SystemError`" msgstr ":c:data:`PyExc_SystemError`" -#: c-api/exceptions.rst:811 +#: ../../src/Doc/c-api/exceptions.rst:811 msgid ":exc:`SystemError`" msgstr ":exc:`SystemError`" -#: c-api/exceptions.rst:813 +#: ../../src/Doc/c-api/exceptions.rst:813 msgid ":c:data:`PyExc_TimeoutError`" msgstr ":c:data:`PyExc_ImportError`" -#: c-api/exceptions.rst:813 +#: ../../src/Doc/c-api/exceptions.rst:813 #, fuzzy msgid ":exc:`TimeoutError`" msgstr ":exc:`ImportError`" -#: c-api/exceptions.rst:815 +#: ../../src/Doc/c-api/exceptions.rst:815 msgid ":c:data:`PyExc_SystemExit`" msgstr ":c:data:`PyExc_SystemExit`" -#: c-api/exceptions.rst:815 +#: ../../src/Doc/c-api/exceptions.rst:815 msgid ":exc:`SystemExit`" msgstr ":exc:`SystemExit`" -#: c-api/exceptions.rst:817 +#: ../../src/Doc/c-api/exceptions.rst:817 msgid ":c:data:`PyExc_TypeError`" msgstr ":c:data:`PyExc_TypeError`" -#: c-api/exceptions.rst:817 +#: ../../src/Doc/c-api/exceptions.rst:817 msgid ":exc:`TypeError`" msgstr ":exc:`TypeError`" -#: c-api/exceptions.rst:819 +#: ../../src/Doc/c-api/exceptions.rst:819 msgid ":c:data:`PyExc_ValueError`" msgstr ":c:data:`PyExc_ValueError`" -#: c-api/exceptions.rst:819 +#: ../../src/Doc/c-api/exceptions.rst:819 msgid ":exc:`ValueError`" msgstr ":exc:`ValueError`" -#: c-api/exceptions.rst:821 +#: ../../src/Doc/c-api/exceptions.rst:821 msgid ":c:data:`PyExc_ZeroDivisionError`" msgstr ":c:data:`PyExc_ZeroDivisionError`" -#: c-api/exceptions.rst:821 +#: ../../src/Doc/c-api/exceptions.rst:821 msgid ":exc:`ZeroDivisionError`" msgstr ":exc:`ZeroDivisionError`" -#: c-api/exceptions.rst:824 +#: ../../src/Doc/c-api/exceptions.rst:824 msgid "" ":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" "`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" @@ -5128,58 +5170,58 @@ msgid "" "`PyExc_TimeoutError` were introduced following :pep:`3151`." msgstr "" -#: c-api/exceptions.rst:834 +#: ../../src/Doc/c-api/exceptions.rst:834 #, fuzzy msgid ":c:data:`PyExc_RecursionError`." msgstr ":c:data:`PyExc_ReferenceError`" -#: c-api/exceptions.rst:838 +#: ../../src/Doc/c-api/exceptions.rst:838 msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" msgstr "" -#: c-api/exceptions.rst:843 +#: ../../src/Doc/c-api/exceptions.rst:843 msgid ":c:data:`PyExc_EnvironmentError`" msgstr ":c:data:`PyExc_EnvironmentError`" -#: c-api/exceptions.rst:845 +#: ../../src/Doc/c-api/exceptions.rst:845 msgid ":c:data:`PyExc_IOError`" msgstr ":c:data:`PyExc_IOError`" -#: c-api/exceptions.rst:847 +#: ../../src/Doc/c-api/exceptions.rst:847 msgid ":c:data:`PyExc_WindowsError`" msgstr ":c:data:`PyExc_WindowsError`" -#: c-api/exceptions.rst:847 +#: ../../src/Doc/c-api/exceptions.rst:847 msgid "\\(3)" msgstr "\\(3)" -#: c-api/exceptions.rst:850 +#: ../../src/Doc/c-api/exceptions.rst:850 msgid "These aliases used to be separate exception types." msgstr "" -#: c-api/exceptions.rst:899 +#: ../../src/Doc/c-api/exceptions.rst:899 msgid "Notes:" msgstr "Notes : " -#: c-api/exceptions.rst:902 +#: ../../src/Doc/c-api/exceptions.rst:902 msgid "This is a base class for other standard exceptions." msgstr "C'est la classe de base pour les autres exceptions standards" -#: c-api/exceptions.rst:905 +#: ../../src/Doc/c-api/exceptions.rst:905 msgid "This is the same as :exc:`weakref.ReferenceError`." msgstr "Identique à :exc:`weakref.ReferenceError`." -#: c-api/exceptions.rst:908 +#: ../../src/Doc/c-api/exceptions.rst:908 msgid "" "Only defined on Windows; protect code that uses this by testing that the " "preprocessor macro ``MS_WINDOWS`` is defined." msgstr "" -#: c-api/file.rst:6 +#: ../../src/Doc/c-api/file.rst:6 msgid "File Objects" msgstr "Objets fichiers" -#: c-api/file.rst:10 +#: ../../src/Doc/c-api/file.rst:10 msgid "" "These APIs are a minimal emulation of the Python 2 C API for built-in file " "objects, which used to rely on the buffered I/O (:c:type:`FILE\\*`) support " @@ -5191,7 +5233,7 @@ msgid "" "`io` APIs instead." msgstr "" -#: c-api/file.rst:22 +#: ../../src/Doc/c-api/file.rst:22 msgid "" "Create a Python file object from the file descriptor of an already opened " "file *fd*. The arguments *name*, *encoding*, *errors* and *newline* can be " @@ -5201,18 +5243,18 @@ msgid "" "to the :func:`io.open` function documentation." msgstr "" -#: c-api/file.rst:31 +#: ../../src/Doc/c-api/file.rst:31 msgid "" "Since Python streams have their own buffering layer, mixing them with OS-" "level file descriptors can produce various issues (such as unexpected " "ordering of data)." msgstr "" -#: c-api/file.rst:35 +#: ../../src/Doc/c-api/file.rst:35 msgid "Ignore *name* attribute." msgstr "" -#: c-api/file.rst:41 +#: ../../src/Doc/c-api/file.rst:41 msgid "" "Return the file descriptor associated with *p* as an :c:type:`int`. If the " "object is an integer, its value is returned. If not, the object's :meth:" @@ -5221,7 +5263,7 @@ msgid "" "and returns ``-1`` on failure." msgstr "" -#: c-api/file.rst:52 +#: ../../src/Doc/c-api/file.rst:52 msgid "" "Equivalent to ``p.readline([n])``, this function reads one line from the " "object *p*. *p* may be a file object or any object with a :meth:`~io.IOBase." @@ -5234,7 +5276,7 @@ msgid "" "is reached immediately." msgstr "" -#: c-api/file.rst:67 +#: ../../src/Doc/c-api/file.rst:67 msgid "" "Write object *obj* to file object *p*. The only supported flag for *flags* " "is :const:`Py_PRINT_RAW`; if given, the :func:`str` of the object is written " @@ -5242,50 +5284,50 @@ msgid "" "the appropriate exception will be set." msgstr "" -#: c-api/file.rst:75 +#: ../../src/Doc/c-api/file.rst:75 msgid "" "Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on " "failure; the appropriate exception will be set." msgstr "" -#: c-api/float.rst:6 +#: ../../src/Doc/c-api/float.rst:6 msgid "Floating Point Objects" msgstr "" -#: c-api/float.rst:13 +#: ../../src/Doc/c-api/float.rst:13 msgid "" "This subtype of :c:type:`PyObject` represents a Python floating point object." msgstr "" -#: c-api/float.rst:18 +#: ../../src/Doc/c-api/float.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python floating point " "type. This is the same object as :class:`float` in the Python layer." msgstr "" -#: c-api/float.rst:24 +#: ../../src/Doc/c-api/float.rst:24 msgid "" "Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:" "type:`PyFloatObject`." msgstr "" -#: c-api/float.rst:30 +#: ../../src/Doc/c-api/float.rst:30 msgid "" "Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype " "of :c:type:`PyFloatObject`." msgstr "" -#: c-api/float.rst:36 +#: ../../src/Doc/c-api/float.rst:36 msgid "" "Create a :c:type:`PyFloatObject` object based on the string value in *str*, " "or *NULL* on failure." msgstr "" -#: c-api/float.rst:42 +#: ../../src/Doc/c-api/float.rst:42 msgid "Create a :c:type:`PyFloatObject` object from *v*, or *NULL* on failure." msgstr "" -#: c-api/float.rst:47 +#: ../../src/Doc/c-api/float.rst:47 msgid "" "Return a C :c:type:`double` representation of the contents of *pyfloat*. If " "*pyfloat* is not a Python floating point object but has a :meth:`__float__` " @@ -5294,71 +5336,71 @@ msgid "" "`PyErr_Occurred` to check for errors." msgstr "" -#: c-api/float.rst:56 +#: ../../src/Doc/c-api/float.rst:56 msgid "" "Return a C :c:type:`double` representation of the contents of *pyfloat*, but " "without error checking." msgstr "" -#: c-api/float.rst:62 +#: ../../src/Doc/c-api/float.rst:62 msgid "" "Return a structseq instance which contains information about the precision, " "minimum and maximum values of a float. It's a thin wrapper around the header " "file :file:`float.h`." msgstr "" -#: c-api/float.rst:69 +#: ../../src/Doc/c-api/float.rst:69 msgid "" "Return the maximum representable finite float *DBL_MAX* as C :c:type:" "`double`." msgstr "" -#: c-api/float.rst:74 +#: ../../src/Doc/c-api/float.rst:74 msgid "" "Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`." msgstr "" -#: c-api/float.rst:78 +#: ../../src/Doc/c-api/float.rst:78 msgid "" "Clear the float free list. Return the number of items that could not be " "freed." msgstr "" -#: c-api/function.rst:10 +#: ../../src/Doc/c-api/function.rst:10 msgid "There are a few functions specific to Python functions." msgstr "" -#: c-api/function.rst:15 +#: ../../src/Doc/c-api/function.rst:15 msgid "The C structure used for functions." msgstr "" -#: c-api/function.rst:22 +#: ../../src/Doc/c-api/function.rst:22 msgid "" "This is an instance of :c:type:`PyTypeObject` and represents the Python " "function type. It is exposed to Python programmers as ``types." "FunctionType``." msgstr "" -#: c-api/function.rst:28 +#: ../../src/Doc/c-api/function.rst:28 msgid "" "Return true if *o* is a function object (has type :c:data:" "`PyFunction_Type`). The parameter must not be *NULL*." msgstr "" -#: c-api/function.rst:34 +#: ../../src/Doc/c-api/function.rst:34 msgid "" "Return a new function object associated with the code object *code*. " "*globals* must be a dictionary with the global variables accessible to the " "function." msgstr "" -#: c-api/function.rst:37 +#: ../../src/Doc/c-api/function.rst:37 msgid "" "The function's docstring, name and *__module__* are retrieved from the code " "object, the argument defaults and closure are set to *NULL*." msgstr "" -#: c-api/function.rst:43 +#: ../../src/Doc/c-api/function.rst:43 msgid "" "As :c:func:`PyFunction_New`, but also allows to set the function object's " "``__qualname__`` attribute. *qualname* should be a unicode object or NULL; " @@ -5366,66 +5408,67 @@ msgid "" "``__name__`` attribute." msgstr "" -#: c-api/function.rst:53 +#: ../../src/Doc/c-api/function.rst:53 msgid "Return the code object associated with the function object *op*." msgstr "" -#: c-api/function.rst:58 +#: ../../src/Doc/c-api/function.rst:58 msgid "Return the globals dictionary associated with the function object *op*." msgstr "" -#: c-api/function.rst:63 +#: ../../src/Doc/c-api/function.rst:63 msgid "" "Return the *__module__* attribute of the function object *op*. This is " "normally a string containing the module name, but can be set to any other " "object by Python code." msgstr "" -#: c-api/function.rst:70 +#: ../../src/Doc/c-api/function.rst:70 msgid "" "Return the argument default values of the function object *op*. This can be " "a tuple of arguments or *NULL*." msgstr "" -#: c-api/function.rst:76 +#: ../../src/Doc/c-api/function.rst:76 msgid "" "Set the argument default values for the function object *op*. *defaults* " "must be *Py_None* or a tuple." msgstr "" -#: c-api/function.rst:79 c-api/function.rst:93 c-api/function.rst:107 +#: ../../src/Doc/c-api/function.rst:79 ../../src/Doc/c-api/function.rst:93 +#: ../../src/Doc/c-api/function.rst:107 msgid "Raises :exc:`SystemError` and returns ``-1`` on failure." msgstr "" -#: c-api/function.rst:84 +#: ../../src/Doc/c-api/function.rst:84 msgid "" "Return the closure associated with the function object *op*. This can be " "*NULL* or a tuple of cell objects." msgstr "" -#: c-api/function.rst:90 +#: ../../src/Doc/c-api/function.rst:90 msgid "" "Set the closure associated with the function object *op*. *closure* must be " "*Py_None* or a tuple of cell objects." msgstr "" -#: c-api/function.rst:98 +#: ../../src/Doc/c-api/function.rst:98 msgid "" "Return the annotations of the function object *op*. This can be a mutable " "dictionary or *NULL*." msgstr "" -#: c-api/function.rst:104 +#: ../../src/Doc/c-api/function.rst:104 msgid "" "Set the annotations for the function object *op*. *annotations* must be a " "dictionary or *Py_None*." msgstr "" -#: c-api/gcsupport.rst:6 +#: ../../src/Doc/c-api/gcsupport.rst:6 msgid "Supporting Cyclic Garbage Collection" msgstr "" -#: c-api/gcsupport.rst:8 +#: ../../src/Doc/c-api/gcsupport.rst:8 msgid "" "Python's support for detecting and collecting garbage which involves " "circular references requires support from object types which are \"containers" @@ -5435,7 +5478,7 @@ msgid "" "for garbage collection." msgstr "" -#: c-api/gcsupport.rst:15 +#: ../../src/Doc/c-api/gcsupport.rst:15 msgid "" "To create a container type, the :c:member:`~PyTypeObject.tp_flags` field of " "the type object must include the :const:`Py_TPFLAGS_HAVE_GC` and provide an " @@ -5444,48 +5487,48 @@ msgid "" "implementation must also be provided." msgstr "" -#: c-api/gcsupport.rst:24 +#: ../../src/Doc/c-api/gcsupport.rst:24 msgid "" "Objects with a type with this flag set must conform with the rules " "documented here. For convenience these objects will be referred to as " "container objects." msgstr "" -#: c-api/gcsupport.rst:28 +#: ../../src/Doc/c-api/gcsupport.rst:28 msgid "Constructors for container types must conform to two rules:" msgstr "" -#: c-api/gcsupport.rst:30 +#: ../../src/Doc/c-api/gcsupport.rst:30 msgid "" "The memory for the object must be allocated using :c:func:`PyObject_GC_New` " "or :c:func:`PyObject_GC_NewVar`." msgstr "" -#: c-api/gcsupport.rst:33 +#: ../../src/Doc/c-api/gcsupport.rst:33 msgid "" "Once all the fields which may contain references to other containers are " "initialized, it must call :c:func:`PyObject_GC_Track`." msgstr "" -#: c-api/gcsupport.rst:39 +#: ../../src/Doc/c-api/gcsupport.rst:39 msgid "" "Analogous to :c:func:`PyObject_New` but for container objects with the :" "const:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" -#: c-api/gcsupport.rst:45 +#: ../../src/Doc/c-api/gcsupport.rst:45 msgid "" "Analogous to :c:func:`PyObject_NewVar` but for container objects with the :" "const:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" -#: c-api/gcsupport.rst:51 +#: ../../src/Doc/c-api/gcsupport.rst:51 msgid "" "Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the " "resized object or *NULL* on failure." msgstr "" -#: c-api/gcsupport.rst:57 +#: ../../src/Doc/c-api/gcsupport.rst:57 msgid "" "Adds the object *op* to the set of container objects tracked by the " "collector. The collector can run at unexpected times so objects must be " @@ -5494,36 +5537,36 @@ msgid "" "usually near the end of the constructor." msgstr "" -#: c-api/gcsupport.rst:66 +#: ../../src/Doc/c-api/gcsupport.rst:66 msgid "" "A macro version of :c:func:`PyObject_GC_Track`. It should not be used for " "extension modules." msgstr "" -#: c-api/gcsupport.rst:69 +#: ../../src/Doc/c-api/gcsupport.rst:69 msgid "" "Similarly, the deallocator for the object must conform to a similar pair of " "rules:" msgstr "" -#: c-api/gcsupport.rst:72 +#: ../../src/Doc/c-api/gcsupport.rst:72 msgid "" "Before fields which refer to other containers are invalidated, :c:func:" "`PyObject_GC_UnTrack` must be called." msgstr "" -#: c-api/gcsupport.rst:75 +#: ../../src/Doc/c-api/gcsupport.rst:75 msgid "" "The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." msgstr "" -#: c-api/gcsupport.rst:80 +#: ../../src/Doc/c-api/gcsupport.rst:80 msgid "" "Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:" "func:`PyObject_GC_NewVar`." msgstr "" -#: c-api/gcsupport.rst:86 +#: ../../src/Doc/c-api/gcsupport.rst:86 msgid "" "Remove the object *op* from the set of container objects tracked by the " "collector. Note that :c:func:`PyObject_GC_Track` can be called again on " @@ -5533,19 +5576,19 @@ msgid "" "handler become invalid." msgstr "" -#: c-api/gcsupport.rst:95 +#: ../../src/Doc/c-api/gcsupport.rst:95 msgid "" "A macro version of :c:func:`PyObject_GC_UnTrack`. It should not be used for " "extension modules." msgstr "" -#: c-api/gcsupport.rst:98 +#: ../../src/Doc/c-api/gcsupport.rst:98 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function " "parameter of this type:" msgstr "" -#: c-api/gcsupport.rst:103 +#: ../../src/Doc/c-api/gcsupport.rst:103 msgid "" "Type of the visitor function passed to the :c:member:`~PyTypeObject." "tp_traverse` handler. The function should be called with an object to " @@ -5555,13 +5598,13 @@ msgid "" "users will need to write their own visitor functions." msgstr "" -#: c-api/gcsupport.rst:110 +#: ../../src/Doc/c-api/gcsupport.rst:110 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler must have the following " "type:" msgstr "" -#: c-api/gcsupport.rst:115 +#: ../../src/Doc/c-api/gcsupport.rst:115 msgid "" "Traversal function for a container object. Implementations must call the " "*visit* function for each object directly contained by *self*, with the " @@ -5571,7 +5614,7 @@ msgid "" "returned immediately." msgstr "" -#: c-api/gcsupport.rst:122 +#: ../../src/Doc/c-api/gcsupport.rst:122 msgid "" "To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:" "func:`Py_VISIT` macro is provided. In order to use this macro, the :c:" @@ -5579,20 +5622,20 @@ msgid "" "exactly *visit* and *arg*:" msgstr "" -#: c-api/gcsupport.rst:129 +#: ../../src/Doc/c-api/gcsupport.rst:129 msgid "" "Call the *visit* callback, with arguments *o* and *arg*. If *visit* returns " "a non-zero value, then return it. Using this macro, :c:member:" "`~PyTypeObject.tp_traverse` handlers look like::" msgstr "" -#: c-api/gcsupport.rst:141 +#: ../../src/Doc/c-api/gcsupport.rst:141 msgid "" "The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:" "`inquiry` type, or *NULL* if the object is immutable." msgstr "" -#: c-api/gcsupport.rst:147 +#: ../../src/Doc/c-api/gcsupport.rst:147 msgid "" "Drop references that may have created reference cycles. Immutable objects " "do not have to define this method since they can never directly create " @@ -5602,11 +5645,11 @@ msgid "" "in a reference cycle." msgstr "" -#: c-api/gen.rst:6 +#: ../../src/Doc/c-api/gen.rst:6 msgid "Generator Objects" msgstr "" -#: c-api/gen.rst:8 +#: ../../src/Doc/c-api/gen.rst:8 msgid "" "Generator objects are what Python uses to implement generator iterators. " "They are normally created by iterating over a function that yields values, " @@ -5614,30 +5657,30 @@ msgid "" "`PyGen_NewWithQualName`." msgstr "" -#: c-api/gen.rst:15 +#: ../../src/Doc/c-api/gen.rst:15 msgid "The C structure used for generator objects." msgstr "" -#: c-api/gen.rst:20 +#: ../../src/Doc/c-api/gen.rst:20 msgid "The type object corresponding to generator objects." msgstr "" -#: c-api/gen.rst:25 +#: ../../src/Doc/c-api/gen.rst:25 msgid "Return true if *ob* is a generator object; *ob* must not be *NULL*." msgstr "" -#: c-api/gen.rst:30 +#: ../../src/Doc/c-api/gen.rst:30 msgid "Return true if *ob*'s type is *PyGen_Type*; *ob* must not be *NULL*." msgstr "" -#: c-api/gen.rst:35 +#: ../../src/Doc/c-api/gen.rst:35 msgid "" "Create and return a new generator object based on the *frame* object. A " "reference to *frame* is stolen by this function. The argument must not be " "*NULL*." msgstr "" -#: c-api/gen.rst:41 +#: ../../src/Doc/c-api/gen.rst:41 msgid "" "Create and return a new generator object based on the *frame* object, with " "``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " @@ -5645,11 +5688,11 @@ msgid "" "*NULL*." msgstr "" -#: c-api/import.rst:6 +#: ../../src/Doc/c-api/import.rst:6 msgid "Importing Modules" msgstr "" -#: c-api/import.rst:16 +#: ../../src/Doc/c-api/import.rst:16 msgid "" "This is a simplified interface to :c:func:`PyImport_ImportModuleEx` below, " "leaving the *globals* and *locals* arguments set to *NULL* and *level* set " @@ -5664,15 +5707,15 @@ msgid "" "module doesn't leave the module in :data:`sys.modules`." msgstr "" -#: c-api/import.rst:28 c-api/import.rst:89 +#: ../../src/Doc/c-api/import.rst:28 ../../src/Doc/c-api/import.rst:89 msgid "This function always uses absolute imports." msgstr "" -#: c-api/import.rst:33 +#: ../../src/Doc/c-api/import.rst:33 msgid "This function is a deprecated alias of :c:func:`PyImport_ImportModule`." msgstr "" -#: c-api/import.rst:35 +#: ../../src/Doc/c-api/import.rst:35 msgid "" "This function used to fail immediately when the import lock was held by " "another thread. In Python 3.3 though, the locking scheme switched to per-" @@ -5680,13 +5723,13 @@ msgid "" "needed anymore." msgstr "" -#: c-api/import.rst:46 +#: ../../src/Doc/c-api/import.rst:46 msgid "" "Import a module. This is best described by referring to the built-in Python " "function :func:`__import__`." msgstr "" -#: c-api/import.rst:49 c-api/import.rst:65 +#: ../../src/Doc/c-api/import.rst:49 ../../src/Doc/c-api/import.rst:65 msgid "" "The return value is a new reference to the imported module or top-level " "package, or *NULL* with an exception set on failure. Like for :func:" @@ -5694,30 +5737,30 @@ msgid "" "is normally the top-level package, unless a non-empty *fromlist* was given." msgstr "" -#: c-api/import.rst:55 +#: ../../src/Doc/c-api/import.rst:55 msgid "" "Failing imports remove incomplete module objects, like with :c:func:" "`PyImport_ImportModule`." msgstr "" -#: c-api/import.rst:61 +#: ../../src/Doc/c-api/import.rst:61 msgid "" "Import a module. This is best described by referring to the built-in Python " "function :func:`__import__`, as the standard :func:`__import__` function " "calls this function directly." msgstr "" -#: c-api/import.rst:75 +#: ../../src/Doc/c-api/import.rst:75 msgid "" "Similar to :c:func:`PyImport_ImportModuleLevelObject`, but the name is an " "UTF-8 encoded string instead of a Unicode object." msgstr "" -#: c-api/import.rst:78 +#: ../../src/Doc/c-api/import.rst:78 msgid "Negative values for *level* are no longer accepted." msgstr "" -#: c-api/import.rst:83 +#: ../../src/Doc/c-api/import.rst:83 msgid "" "This is a higher-level interface that calls the current \"import hook " "function\" (with an explicit *level* of 0, meaning absolute import). It " @@ -5726,13 +5769,13 @@ msgid "" "hooks are installed in the current environment." msgstr "" -#: c-api/import.rst:94 +#: ../../src/Doc/c-api/import.rst:94 msgid "" "Reload a module. Return a new reference to the reloaded module, or *NULL* " "with an exception set on failure (the module still exists in this case)." msgstr "" -#: c-api/import.rst:100 +#: ../../src/Doc/c-api/import.rst:100 msgid "" "Return the module object corresponding to a module name. The *name* " "argument may be of the form ``package.module``. First check the modules " @@ -5740,7 +5783,7 @@ msgid "" "in the modules dictionary. Return *NULL* with an exception set on failure." msgstr "" -#: c-api/import.rst:107 +#: ../../src/Doc/c-api/import.rst:107 msgid "" "This function does not load or import the module; if the module wasn't " "already loaded, you will get an empty module object. Use :c:func:" @@ -5749,13 +5792,13 @@ msgid "" "already present." msgstr "" -#: c-api/import.rst:117 +#: ../../src/Doc/c-api/import.rst:117 msgid "" "Similar to :c:func:`PyImport_AddModuleObject`, but the name is a UTF-8 " "encoded string instead of a Unicode object." msgstr "" -#: c-api/import.rst:125 +#: ../../src/Doc/c-api/import.rst:125 msgid "" "Given a module name (possibly of the form ``package.module``) and a code " "object read from a Python bytecode file or obtained from the built-in " @@ -5769,7 +5812,7 @@ msgid "" "to the module author's intents) state." msgstr "" -#: c-api/import.rst:135 +#: ../../src/Doc/c-api/import.rst:135 msgid "" "The module's :attr:`__spec__` and :attr:`__loader__` will be set, if not set " "already, with the appropriate values. The spec's loader will be set to the " @@ -5777,48 +5820,48 @@ msgid "" "`SourceFileLoader` otherwise." msgstr "" -#: c-api/import.rst:140 +#: ../../src/Doc/c-api/import.rst:140 msgid "" "The module's :attr:`__file__` attribute will be set to the code object's :c:" "member:`co_filename`. If applicable, :attr:`__cached__` will also be set." msgstr "" -#: c-api/import.rst:144 +#: ../../src/Doc/c-api/import.rst:144 msgid "" "This function will reload the module if it was already imported. See :c:" "func:`PyImport_ReloadModule` for the intended way to reload a module." msgstr "" -#: c-api/import.rst:147 +#: ../../src/Doc/c-api/import.rst:147 msgid "" "If *name* points to a dotted name of the form ``package.module``, any " "package structures not already created will still not be created." msgstr "" -#: c-api/import.rst:150 +#: ../../src/Doc/c-api/import.rst:150 msgid "" "See also :c:func:`PyImport_ExecCodeModuleEx` and :c:func:" "`PyImport_ExecCodeModuleWithPathnames`." msgstr "" -#: c-api/import.rst:156 +#: ../../src/Doc/c-api/import.rst:156 msgid "" "Like :c:func:`PyImport_ExecCodeModule`, but the :attr:`__file__` attribute " "of the module object is set to *pathname* if it is non-``NULL``." msgstr "" -#: c-api/import.rst:159 +#: ../../src/Doc/c-api/import.rst:159 msgid "See also :c:func:`PyImport_ExecCodeModuleWithPathnames`." msgstr "" -#: c-api/import.rst:164 +#: ../../src/Doc/c-api/import.rst:164 msgid "" "Like :c:func:`PyImport_ExecCodeModuleEx`, but the :attr:`__cached__` " "attribute of the module object is set to *cpathname* if it is non-``NULL``. " "Of the three functions, this is the preferred one to use." msgstr "" -#: c-api/import.rst:173 +#: ../../src/Doc/c-api/import.rst:173 msgid "" "Like :c:func:`PyImport_ExecCodeModuleObject`, but *name*, *pathname* and " "*cpathname* are UTF-8 encoded strings. Attempts are also made to figure out " @@ -5826,37 +5869,37 @@ msgid "" "set to ``NULL``." msgstr "" -#: c-api/import.rst:179 +#: ../../src/Doc/c-api/import.rst:179 msgid "" "Uses :func:`imp.source_from_cache()` in calculating the source path if only " "the bytecode path is provided." msgstr "" -#: c-api/import.rst:186 +#: ../../src/Doc/c-api/import.rst:186 msgid "" "Return the magic number for Python bytecode files (a.k.a. :file:`.pyc` " "file). The magic number should be present in the first four bytes of the " "bytecode file, in little-endian byte order. Returns -1 on error." msgstr "" -#: c-api/import.rst:190 +#: ../../src/Doc/c-api/import.rst:190 msgid "Return value of -1 upon failure." msgstr "" -#: c-api/import.rst:196 +#: ../../src/Doc/c-api/import.rst:196 msgid "" "Return the magic tag string for :pep:`3147` format Python bytecode file " "names. Keep in mind that the value at ``sys.implementation.cache_tag`` is " "authoritative and should be used instead of this function." msgstr "" -#: c-api/import.rst:204 +#: ../../src/Doc/c-api/import.rst:204 msgid "" "Return the dictionary used for the module administration (a.k.a. ``sys." "modules``). Note that this is a per-interpreter variable." msgstr "" -#: c-api/import.rst:210 +#: ../../src/Doc/c-api/import.rst:210 msgid "" "Return an importer object for a :data:`sys.path`/:attr:`pkg.__path__` item " "*path*, possibly by fetching it from the :data:`sys.path_importer_cache` " @@ -5867,23 +5910,23 @@ msgid "" "to the importer object." msgstr "" -#: c-api/import.rst:221 +#: ../../src/Doc/c-api/import.rst:221 msgid "Initialize the import mechanism. For internal use only." msgstr "" -#: c-api/import.rst:226 +#: ../../src/Doc/c-api/import.rst:226 msgid "Empty the module table. For internal use only." msgstr "" -#: c-api/import.rst:231 +#: ../../src/Doc/c-api/import.rst:231 msgid "Finalize the import mechanism. For internal use only." msgstr "" -#: c-api/import.rst:236 +#: ../../src/Doc/c-api/import.rst:236 msgid "For internal use only." msgstr "" -#: c-api/import.rst:241 +#: ../../src/Doc/c-api/import.rst:241 msgid "" "Load a frozen module named *name*. Return ``1`` for success, ``0`` if the " "module is not found, and ``-1`` with an exception set if the initialization " @@ -5892,17 +5935,17 @@ msgid "" "the module if it was already imported.)" msgstr "" -#: c-api/import.rst:249 +#: ../../src/Doc/c-api/import.rst:249 msgid "The ``__file__`` attribute is no longer set on the module." msgstr "" -#: c-api/import.rst:255 +#: ../../src/Doc/c-api/import.rst:255 msgid "" "Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a " "UTF-8 encoded string instead of a Unicode object." msgstr "" -#: c-api/import.rst:263 +#: ../../src/Doc/c-api/import.rst:263 msgid "" "This is the structure type definition for frozen module descriptors, as " "generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the " @@ -5910,7 +5953,7 @@ msgid "" "h`, is::" msgstr "" -#: c-api/import.rst:277 +#: ../../src/Doc/c-api/import.rst:277 msgid "" "This pointer is initialized to point to an array of :c:type:`struct _frozen` " "records, terminated by one whose members are all *NULL* or zero. When a " @@ -5919,7 +5962,7 @@ msgid "" "frozen modules." msgstr "" -#: c-api/import.rst:285 +#: ../../src/Doc/c-api/import.rst:285 msgid "" "Add a single module to the existing table of built-in modules. This is a " "convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning " @@ -5929,7 +5972,7 @@ msgid "" "before :c:func:`Py_Initialize`." msgstr "" -#: c-api/import.rst:295 +#: ../../src/Doc/c-api/import.rst:295 msgid "" "Structure describing a single entry in the list of built-in modules. Each " "of these structures gives the name and initialization function for a module " @@ -5939,7 +5982,7 @@ msgid "" "structure is defined in :file:`Include/import.h` as::" msgstr "" -#: c-api/import.rst:310 +#: ../../src/Doc/c-api/import.rst:310 msgid "" "Add a collection of modules to the table of built-in modules. The *newtab* " "array must end with a sentinel entry which contains *NULL* for the :attr:" @@ -5950,11 +5993,11 @@ msgid "" "`Py_Initialize`." msgstr "" -#: c-api/index.rst:5 +#: ../../src/Doc/c-api/index.rst:5 msgid "Python/C API Reference Manual" msgstr "" -#: c-api/index.rst:7 +#: ../../src/Doc/c-api/index.rst:7 msgid "" "This manual documents the API used by C and C++ programmers who want to " "write extension modules or embed Python. It is a companion to :ref:" @@ -5962,15 +6005,15 @@ msgid "" "writing but does not document the API functions in detail." msgstr "" -#: c-api/init.rst:8 +#: ../../src/Doc/c-api/init.rst:8 msgid "Initialization, Finalization, and Threads" msgstr "" -#: c-api/init.rst:12 +#: ../../src/Doc/c-api/init.rst:12 msgid "Initializing and finalizing the interpreter" msgstr "" -#: c-api/init.rst:30 +#: ../../src/Doc/c-api/init.rst:30 msgid "" "Initialize the Python interpreter. In an application embedding Python, " "this should be called before using any other Python/C API functions; with " @@ -5984,21 +6027,21 @@ msgid "" "the initialization fails." msgstr "" -#: c-api/init.rst:43 +#: ../../src/Doc/c-api/init.rst:43 msgid "" "This function works like :c:func:`Py_Initialize` if *initsigs* is 1. If " "*initsigs* is 0, it skips initialization registration of signal handlers, " "which might be useful when Python is embedded." msgstr "" -#: c-api/init.rst:50 +#: ../../src/Doc/c-api/init.rst:50 msgid "" "Return true (nonzero) when the Python interpreter has been initialized, " "false (zero) if not. After :c:func:`Py_Finalize` is called, this returns " "false until :c:func:`Py_Initialize` is called again." msgstr "" -#: c-api/init.rst:57 +#: ../../src/Doc/c-api/init.rst:57 msgid "" "Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " "of Python/C API functions, and destroy all sub-interpreters (see :c:func:" @@ -6009,7 +6052,7 @@ msgid "" "no return value; errors during finalization are ignored." msgstr "" -#: c-api/init.rst:65 +#: ../../src/Doc/c-api/init.rst:65 msgid "" "This function is provided for a number of reasons. An embedding application " "might want to restart Python without having to restart the application " @@ -6020,7 +6063,7 @@ msgid "" "Python before exiting from the application." msgstr "" -#: c-api/init.rst:73 +#: ../../src/Doc/c-api/init.rst:73 msgid "" "**Bugs and caveats:** The destruction of modules and objects in modules is " "done in random order; this may cause destructors (:meth:`__del__` methods) " @@ -6035,48 +6078,48 @@ msgid "" "than once." msgstr "" -#: c-api/init.rst:86 +#: ../../src/Doc/c-api/init.rst:86 msgid "Process-wide parameters" msgstr "" -#: c-api/init.rst:96 +#: ../../src/Doc/c-api/init.rst:96 msgid "" "This function should be called before :c:func:`Py_Initialize`, if it is " "called at all. It specifies which encoding and error handling to use with " "standard IO, with the same meanings as in :func:`str.encode`." msgstr "" -#: c-api/init.rst:100 +#: ../../src/Doc/c-api/init.rst:100 msgid "" "It overrides :envvar:`PYTHONIOENCODING` values, and allows embedding code to " "control IO encoding when the environment variable does not work." msgstr "" -#: c-api/init.rst:103 +#: ../../src/Doc/c-api/init.rst:103 msgid "" "``encoding`` and/or ``errors`` may be NULL to use :envvar:`PYTHONIOENCODING` " "and/or default values (depending on other settings)." msgstr "" -#: c-api/init.rst:107 +#: ../../src/Doc/c-api/init.rst:107 msgid "" "Note that :data:`sys.stderr` always uses the \"backslashreplace\" error " "handler, regardless of this (or any other) setting." msgstr "" -#: c-api/init.rst:110 +#: ../../src/Doc/c-api/init.rst:110 msgid "" "If :c:func:`Py_Finalize` is called, this function will need to be called " "again in order to affect subsequent calls to :c:func:`Py_Initialize`." msgstr "" -#: c-api/init.rst:113 +#: ../../src/Doc/c-api/init.rst:113 msgid "" "Returns 0 if successful, a nonzero value on error (e.g. calling after the " "interpreter has already been initialized)." msgstr "" -#: c-api/init.rst:126 +#: ../../src/Doc/c-api/init.rst:126 msgid "" "This function should be called before :c:func:`Py_Initialize` is called for " "the first time, if it is called at all. It tells the interpreter the value " @@ -6090,21 +6133,22 @@ msgid "" "this storage." msgstr "" -#: c-api/init.rst:137 c-api/init.rst:251 c-api/init.rst:353 c-api/init.rst:380 -#: c-api/init.rst:397 +#: ../../src/Doc/c-api/init.rst:137 ../../src/Doc/c-api/init.rst:251 +#: ../../src/Doc/c-api/init.rst:353 ../../src/Doc/c-api/init.rst:380 +#: ../../src/Doc/c-api/init.rst:397 msgid "" "Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:type:" "`wchar_*` string." msgstr "" -#: c-api/init.rst:145 +#: ../../src/Doc/c-api/init.rst:145 msgid "" "Return the program name set with :c:func:`Py_SetProgramName`, or the " "default. The returned string points into static storage; the caller should " "not modify its value." msgstr "" -#: c-api/init.rst:152 +#: ../../src/Doc/c-api/init.rst:152 msgid "" "Return the *prefix* for installed platform-independent files. This is " "derived through a number of complicated rules from the program name set " @@ -6118,7 +6162,7 @@ msgid "" "function." msgstr "" -#: c-api/init.rst:165 +#: ../../src/Doc/c-api/init.rst:165 msgid "" "Return the *exec-prefix* for installed platform-*dependent* files. This is " "derived through a number of complicated rules from the program name set " @@ -6132,7 +6176,7 @@ msgid "" "on Unix." msgstr "" -#: c-api/init.rst:175 +#: ../../src/Doc/c-api/init.rst:175 msgid "" "Background: The exec-prefix differs from the prefix when platform dependent " "files (such as executables and shared libraries) are installed in a " @@ -6141,7 +6185,7 @@ msgid "" "independent may be installed in :file:`/usr/local`." msgstr "" -#: c-api/init.rst:181 +#: ../../src/Doc/c-api/init.rst:181 msgid "" "Generally speaking, a platform is a combination of hardware and software " "families, e.g. Sparc machines running the Solaris 2.x operating system are " @@ -6155,7 +6199,7 @@ msgid "" "independent from the Python version by which they were compiled!)." msgstr "" -#: c-api/init.rst:192 +#: ../../src/Doc/c-api/init.rst:192 msgid "" "System administrators will know how to configure the :program:`mount` or :" "program:`automount` programs to share :file:`/usr/local` between platforms " @@ -6163,7 +6207,7 @@ msgid "" "platform." msgstr "" -#: c-api/init.rst:204 +#: ../../src/Doc/c-api/init.rst:204 msgid "" "Return the full program name of the Python executable; this is computed as " "a side-effect of deriving the default module search path from the program " @@ -6172,7 +6216,7 @@ msgid "" "available to Python code as ``sys.executable``." msgstr "" -#: c-api/init.rst:218 +#: ../../src/Doc/c-api/init.rst:218 msgid "" "Return the default module search path; this is computed from the program " "name (set by :c:func:`Py_SetProgramName` above) and some environment " @@ -6185,7 +6229,7 @@ msgid "" "for loading modules." msgstr "" -#: c-api/init.rst:238 +#: ../../src/Doc/c-api/init.rst:238 msgid "" "Set the default module search path. If this function is called before :c:" "func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to compute a " @@ -6196,7 +6240,7 @@ msgid "" "``';'`` on Windows." msgstr "" -#: c-api/init.rst:246 +#: ../../src/Doc/c-api/init.rst:246 msgid "" "This also causes :data:`sys.executable` to be set only to the raw program " "name (see :c:func:`Py_SetProgramName`) and for :data:`sys.prefix` and :data:" @@ -6204,19 +6248,19 @@ msgid "" "required after calling :c:func:`Py_Initialize`." msgstr "" -#: c-api/init.rst:254 +#: ../../src/Doc/c-api/init.rst:254 msgid "" "The path argument is copied internally, so the caller may free it after the " "call completes." msgstr "" -#: c-api/init.rst:260 +#: ../../src/Doc/c-api/init.rst:260 msgid "" "Return the version of this Python interpreter. This is a string that looks " "something like ::" msgstr "" -#: c-api/init.rst:267 +#: ../../src/Doc/c-api/init.rst:267 msgid "" "The first word (up to the first space character) is the current Python " "version; the first three characters are the major and minor version " @@ -6225,7 +6269,7 @@ msgid "" "as :data:`sys.version`." msgstr "" -#: c-api/init.rst:277 +#: ../../src/Doc/c-api/init.rst:277 msgid "" "Return the platform identifier for the current platform. On Unix, this is " "formed from the \"official\" name of the operating system, converted to " @@ -6236,42 +6280,42 @@ msgid "" "value is available to Python code as ``sys.platform``." msgstr "" -#: c-api/init.rst:288 +#: ../../src/Doc/c-api/init.rst:288 msgid "" "Return the official copyright string for the current Python version, for " "example" msgstr "" -#: c-api/init.rst:290 +#: ../../src/Doc/c-api/init.rst:290 msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" msgstr "" -#: c-api/init.rst:294 +#: ../../src/Doc/c-api/init.rst:294 msgid "" "The returned string points into static storage; the caller should not modify " "its value. The value is available to Python code as ``sys.copyright``." msgstr "" -#: c-api/init.rst:300 +#: ../../src/Doc/c-api/init.rst:300 msgid "" "Return an indication of the compiler used to build the current Python " "version, in square brackets, for example::" msgstr "" -#: c-api/init.rst:307 c-api/init.rst:321 +#: ../../src/Doc/c-api/init.rst:307 ../../src/Doc/c-api/init.rst:321 msgid "" "The returned string points into static storage; the caller should not modify " "its value. The value is available to Python code as part of the variable " "``sys.version``." msgstr "" -#: c-api/init.rst:314 +#: ../../src/Doc/c-api/init.rst:314 msgid "" "Return information about the sequence number and build date and time of the " "current Python interpreter instance, for example ::" msgstr "" -#: c-api/init.rst:333 +#: ../../src/Doc/c-api/init.rst:333 msgid "" "Set :data:`sys.argv` based on *argc* and *argv*. These parameters are " "similar to those passed to the program's :c:func:`main` function with the " @@ -6282,28 +6326,28 @@ msgid "" "fatal condition is signalled using :c:func:`Py_FatalError`." msgstr "" -#: c-api/init.rst:341 +#: ../../src/Doc/c-api/init.rst:341 msgid "" "If *updatepath* is zero, this is all the function does. If *updatepath* is " "non-zero, the function also modifies :data:`sys.path` according to the " "following algorithm:" msgstr "" -#: c-api/init.rst:345 +#: ../../src/Doc/c-api/init.rst:345 msgid "" "If the name of an existing script is passed in ``argv[0]``, the absolute " "path of the directory where the script is located is prepended to :data:`sys." "path`." msgstr "" -#: c-api/init.rst:348 +#: ../../src/Doc/c-api/init.rst:348 msgid "" "Otherwise (that is, if *argc* is 0 or ``argv[0]`` doesn't point to an " "existing file name), an empty string is prepended to :data:`sys.path`, which " "is the same as prepending the current working directory (``\".\"``)." msgstr "" -#: c-api/init.rst:357 +#: ../../src/Doc/c-api/init.rst:357 msgid "" "It is recommended that applications embedding the Python interpreter for " "purposes other than executing a single script pass 0 as *updatepath*, and " @@ -6311,31 +6355,31 @@ msgid "" "cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_." msgstr "" -#: c-api/init.rst:362 +#: ../../src/Doc/c-api/init.rst:362 msgid "" "On versions before 3.1.3, you can achieve the same effect by manually " "popping the first :data:`sys.path` element after having called :c:func:" "`PySys_SetArgv`, for example using::" msgstr "" -#: c-api/init.rst:376 +#: ../../src/Doc/c-api/init.rst:376 msgid "" "This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " "1 unless the :program:`python` interpreter was started with the :option:`-I`." msgstr "" -#: c-api/init.rst:383 +#: ../../src/Doc/c-api/init.rst:383 msgid "The *updatepath* value depends on :option:`-I`." msgstr "" -#: c-api/init.rst:388 +#: ../../src/Doc/c-api/init.rst:388 msgid "" "Set the default \"home\" directory, that is, the location of the standard " "Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " "string." msgstr "" -#: c-api/init.rst:392 +#: ../../src/Doc/c-api/init.rst:392 msgid "" "The argument should point to a zero-terminated character string in static " "storage whose contents will not change for the duration of the program's " @@ -6343,18 +6387,18 @@ msgid "" "this storage." msgstr "" -#: c-api/init.rst:403 +#: ../../src/Doc/c-api/init.rst:403 msgid "" "Return the default \"home\", that is, the value set by a previous call to :c:" "func:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME` " "environment variable if it is set." msgstr "" -#: c-api/init.rst:411 +#: ../../src/Doc/c-api/init.rst:411 msgid "Thread State and the Global Interpreter Lock" msgstr "" -#: c-api/init.rst:418 +#: ../../src/Doc/c-api/init.rst:418 msgid "" "The Python interpreter is not fully thread-safe. In order to support multi-" "threaded Python programs, there's a global lock, called the :term:`global " @@ -6366,7 +6410,7 @@ msgid "" "once instead of twice." msgstr "" -#: c-api/init.rst:428 +#: ../../src/Doc/c-api/init.rst:428 msgid "" "Therefore, the rule exists that only the thread that has acquired the :term:" "`GIL` may operate on Python objects or call Python/C API functions. In order " @@ -6376,7 +6420,7 @@ msgid "" "a file, so that other Python threads can run in the meantime." msgstr "" -#: c-api/init.rst:439 +#: ../../src/Doc/c-api/init.rst:439 msgid "" "The Python interpreter keeps some thread-specific bookkeeping information " "inside a data structure called :c:type:`PyThreadState`. There's also one " @@ -6384,21 +6428,21 @@ msgid "" "retrieved using :c:func:`PyThreadState_Get`." msgstr "" -#: c-api/init.rst:445 +#: ../../src/Doc/c-api/init.rst:445 msgid "Releasing the GIL from extension code" msgstr "" -#: c-api/init.rst:447 +#: ../../src/Doc/c-api/init.rst:447 msgid "" "Most extension code manipulating the :term:`GIL` has the following simple " "structure::" msgstr "" -#: c-api/init.rst:456 +#: ../../src/Doc/c-api/init.rst:456 msgid "This is so common that a pair of macros exists to simplify it::" msgstr "" -#: c-api/init.rst:466 +#: ../../src/Doc/c-api/init.rst:466 msgid "" "The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a " "hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the " @@ -6406,13 +6450,13 @@ msgid "" "thread support (they simply have an empty expansion)." msgstr "" -#: c-api/init.rst:471 +#: ../../src/Doc/c-api/init.rst:471 msgid "" "When thread support is enabled, the block above expands to the following " "code::" msgstr "" -#: c-api/init.rst:483 +#: ../../src/Doc/c-api/init.rst:483 msgid "" "Here is how these functions work: the global interpreter lock is used to " "protect the pointer to the current thread state. When releasing the lock " @@ -6423,7 +6467,7 @@ msgid "" "state, the lock must be acquired before storing the thread state pointer." msgstr "" -#: c-api/init.rst:492 +#: ../../src/Doc/c-api/init.rst:492 msgid "" "Calling system I/O functions is the most common use case for releasing the " "GIL, but it can also be useful before calling long-running computations " @@ -6433,11 +6477,11 @@ msgid "" "compressing or hashing data." msgstr "" -#: c-api/init.rst:503 +#: ../../src/Doc/c-api/init.rst:503 msgid "Non-Python created threads" msgstr "" -#: c-api/init.rst:505 +#: ../../src/Doc/c-api/init.rst:505 msgid "" "When threads are created using the dedicated Python APIs (such as the :mod:" "`threading` module), a thread state is automatically associated to them and " @@ -6447,7 +6491,7 @@ msgid "" "for them." msgstr "" -#: c-api/init.rst:512 +#: ../../src/Doc/c-api/init.rst:512 msgid "" "If you need to call Python code from these threads (often this will be part " "of a callback API provided by the aforementioned third-party library), you " @@ -6458,14 +6502,14 @@ msgid "" "finally free the thread state data structure." msgstr "" -#: c-api/init.rst:520 +#: ../../src/Doc/c-api/init.rst:520 msgid "" "The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` functions " "do all of the above automatically. The typical idiom for calling into " "Python from a C thread is::" msgstr "" -#: c-api/init.rst:534 +#: ../../src/Doc/c-api/init.rst:534 msgid "" "Note that the :c:func:`PyGILState_\\*` functions assume there is only one " "global interpreter (created automatically by :c:func:`Py_Initialize`). " @@ -6474,7 +6518,7 @@ msgid "" "`PyGILState_\\*` API is unsupported." msgstr "" -#: c-api/init.rst:540 +#: ../../src/Doc/c-api/init.rst:540 msgid "" "Another important thing to note about threads is their behaviour in the face " "of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a " @@ -6494,17 +6538,17 @@ msgid "" "to." msgstr "" -#: c-api/init.rst:559 +#: ../../src/Doc/c-api/init.rst:559 msgid "High-level API" msgstr "" -#: c-api/init.rst:561 +#: ../../src/Doc/c-api/init.rst:561 msgid "" "These are the most commonly used types and functions when writing C " "extension code, or when embedding the Python interpreter:" msgstr "" -#: c-api/init.rst:566 +#: ../../src/Doc/c-api/init.rst:566 msgid "" "This data structure represents the state shared by a number of cooperating " "threads. Threads belonging to the same interpreter share their module " @@ -6512,7 +6556,7 @@ msgid "" "in this structure." msgstr "" -#: c-api/init.rst:571 +#: ../../src/Doc/c-api/init.rst:571 msgid "" "Threads belonging to different interpreters initially share nothing, except " "process state like available memory, open file descriptors and such. The " @@ -6520,14 +6564,14 @@ msgid "" "which interpreter they belong." msgstr "" -#: c-api/init.rst:579 +#: ../../src/Doc/c-api/init.rst:579 msgid "" "This data structure represents the state of a single thread. The only " "public data member is :c:type:`PyInterpreterState \\*`:attr:`interp`, which " "points to this thread's interpreter state." msgstr "" -#: c-api/init.rst:592 +#: ../../src/Doc/c-api/init.rst:592 msgid "" "Initialize and acquire the global interpreter lock. It should be called in " "the main thread before creating a second thread or engaging in any other " @@ -6535,16 +6579,16 @@ msgid "" "before calling :c:func:`PyEval_SaveThread` or :c:func:`PyEval_RestoreThread`." msgstr "" -#: c-api/init.rst:597 +#: ../../src/Doc/c-api/init.rst:597 msgid "This is a no-op when called for a second time." msgstr "" -#: c-api/init.rst:599 +#: ../../src/Doc/c-api/init.rst:599 msgid "" "This function cannot be called before :c:func:`Py_Initialize()` anymore." msgstr "" -#: c-api/init.rst:606 +#: ../../src/Doc/c-api/init.rst:606 msgid "" "When only the main thread exists, no GIL operations are needed. This is a " "common situation (most Python programs do not use threads), and the lock " @@ -6559,19 +6603,19 @@ msgid "" "acquired it." msgstr "" -#: c-api/init.rst:617 +#: ../../src/Doc/c-api/init.rst:617 msgid "" "It is **not** safe to call this function when it is unknown which thread (if " "any) currently has the global interpreter lock." msgstr "" -#: c-api/init.rst:620 +#: ../../src/Doc/c-api/init.rst:620 msgid "" "This function is not available when thread support is disabled at compile " "time." msgstr "" -#: c-api/init.rst:625 +#: ../../src/Doc/c-api/init.rst:625 msgid "" "Returns a non-zero value if :c:func:`PyEval_InitThreads` has been called. " "This function can be called without holding the GIL, and therefore can be " @@ -6579,7 +6623,7 @@ msgid "" "function is not available when thread support is disabled at compile time." msgstr "" -#: c-api/init.rst:633 +#: ../../src/Doc/c-api/init.rst:633 msgid "" "Release the global interpreter lock (if it has been created and thread " "support is enabled) and reset the thread state to *NULL*, returning the " @@ -6588,7 +6632,7 @@ msgid "" "when thread support is disabled at compile time.)" msgstr "" -#: c-api/init.rst:642 +#: ../../src/Doc/c-api/init.rst:642 msgid "" "Acquire the global interpreter lock (if it has been created and thread " "support is enabled) and set the thread state to *tstate*, which must not be " @@ -6597,34 +6641,34 @@ msgid "" "when thread support is disabled at compile time.)" msgstr "" -#: c-api/init.rst:651 +#: ../../src/Doc/c-api/init.rst:651 msgid "" "Return the current thread state. The global interpreter lock must be held. " "When the current thread state is *NULL*, this issues a fatal error (so that " "the caller needn't check for *NULL*)." msgstr "" -#: c-api/init.rst:658 +#: ../../src/Doc/c-api/init.rst:658 msgid "" "Swap the current thread state with the thread state given by the argument " "*tstate*, which may be *NULL*. The global interpreter lock must be held and " "is not released." msgstr "" -#: c-api/init.rst:665 +#: ../../src/Doc/c-api/init.rst:665 msgid "" "This function is called from :c:func:`PyOS_AfterFork` to ensure that newly " "created child processes don't hold locks referring to threads which are not " "running in the child process." msgstr "" -#: c-api/init.rst:670 +#: ../../src/Doc/c-api/init.rst:670 msgid "" "The following functions use thread-local storage, and are not compatible " "with sub-interpreters:" msgstr "" -#: c-api/init.rst:675 +#: ../../src/Doc/c-api/init.rst:675 msgid "" "Ensure that the current thread is ready to call the Python C API regardless " "of the current state of Python, or of the global interpreter lock. This may " @@ -6637,7 +6681,7 @@ msgid "" "is acceptable." msgstr "" -#: c-api/init.rst:685 +#: ../../src/Doc/c-api/init.rst:685 msgid "" "The return value is an opaque \"handle\" to the thread state when :c:func:" "`PyGILState_Ensure` was called, and must be passed to :c:func:" @@ -6647,13 +6691,13 @@ msgid "" "func:`PyGILState_Release`." msgstr "" -#: c-api/init.rst:692 +#: ../../src/Doc/c-api/init.rst:692 msgid "" "When the function returns, the current thread will hold the GIL and be able " "to call arbitrary Python code. Failure is a fatal error." msgstr "" -#: c-api/init.rst:698 +#: ../../src/Doc/c-api/init.rst:698 msgid "" "Release any resources previously acquired. After this call, Python's state " "will be the same as it was prior to the corresponding :c:func:" @@ -6661,13 +6705,13 @@ msgid "" "caller, hence the use of the GILState API)." msgstr "" -#: c-api/init.rst:703 +#: ../../src/Doc/c-api/init.rst:703 msgid "" "Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:" "func:`PyGILState_Release` on the same thread." msgstr "" -#: c-api/init.rst:709 +#: ../../src/Doc/c-api/init.rst:709 msgid "" "Get the current thread state for this thread. May return ``NULL`` if no " "GILState API has been used on the current thread. Note that the main thread " @@ -6675,7 +6719,7 @@ msgid "" "made on the main thread. This is mainly a helper/diagnostic function." msgstr "" -#: c-api/init.rst:717 +#: ../../src/Doc/c-api/init.rst:717 msgid "" "Return 1 if the current thread is holding the GIL and 0 otherwise. This " "function can be called from any thread at any time. Only if it has had its " @@ -6686,13 +6730,13 @@ msgid "" "otherwise behave differently." msgstr "" -#: c-api/init.rst:729 +#: ../../src/Doc/c-api/init.rst:729 msgid "" "The following macros are normally used without a trailing semicolon; look " "for example usage in the Python source distribution." msgstr "" -#: c-api/init.rst:735 +#: ../../src/Doc/c-api/init.rst:735 msgid "" "This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();" "``. Note that it contains an opening brace; it must be matched with a " @@ -6701,7 +6745,7 @@ msgid "" "compile time." msgstr "" -#: c-api/init.rst:743 +#: ../../src/Doc/c-api/init.rst:743 msgid "" "This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " "contains a closing brace; it must be matched with an earlier :c:macro:" @@ -6709,72 +6753,72 @@ msgid "" "macro. It is a no-op when thread support is disabled at compile time." msgstr "" -#: c-api/init.rst:751 +#: ../../src/Doc/c-api/init.rst:751 msgid "" "This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :" "c:macro:`Py_END_ALLOW_THREADS` without the closing brace. It is a no-op " "when thread support is disabled at compile time." msgstr "" -#: c-api/init.rst:758 +#: ../../src/Doc/c-api/init.rst:758 msgid "" "This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :" "c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " "declaration. It is a no-op when thread support is disabled at compile time." msgstr "" -#: c-api/init.rst:764 +#: ../../src/Doc/c-api/init.rst:764 msgid "Low-level API" msgstr "" -#: c-api/init.rst:766 +#: ../../src/Doc/c-api/init.rst:766 msgid "" "All of the following functions are only available when thread support is " "enabled at compile time, and must be called only when the global interpreter " "lock has been created." msgstr "" -#: c-api/init.rst:773 +#: ../../src/Doc/c-api/init.rst:773 msgid "" "Create a new interpreter state object. The global interpreter lock need not " "be held, but may be held if it is necessary to serialize calls to this " "function." msgstr "" -#: c-api/init.rst:780 +#: ../../src/Doc/c-api/init.rst:780 msgid "" "Reset all information in an interpreter state object. The global " "interpreter lock must be held." msgstr "" -#: c-api/init.rst:786 +#: ../../src/Doc/c-api/init.rst:786 msgid "" "Destroy an interpreter state object. The global interpreter lock need not " "be held. The interpreter state must have been reset with a previous call " "to :c:func:`PyInterpreterState_Clear`." msgstr "" -#: c-api/init.rst:793 +#: ../../src/Doc/c-api/init.rst:793 msgid "" "Create a new thread state object belonging to the given interpreter object. " "The global interpreter lock need not be held, but may be held if it is " "necessary to serialize calls to this function." msgstr "" -#: c-api/init.rst:800 +#: ../../src/Doc/c-api/init.rst:800 msgid "" "Reset all information in a thread state object. The global interpreter lock " "must be held." msgstr "" -#: c-api/init.rst:806 +#: ../../src/Doc/c-api/init.rst:806 msgid "" "Destroy a thread state object. The global interpreter lock need not be " "held. The thread state must have been reset with a previous call to :c:func:" "`PyThreadState_Clear`." msgstr "" -#: c-api/init.rst:813 +#: ../../src/Doc/c-api/init.rst:813 msgid "" "Return a dictionary in which extensions can store thread-specific state " "information. Each extension should use a unique key to use to store state " @@ -6783,7 +6827,7 @@ msgid "" "raised and the caller should assume no current thread state is available." msgstr "" -#: c-api/init.rst:822 +#: ../../src/Doc/c-api/init.rst:822 msgid "" "Asynchronously raise an exception in a thread. The *id* argument is the " "thread id of the target thread; *exc* is the exception object to be raised. " @@ -6795,21 +6839,21 @@ msgid "" "raises no exceptions." msgstr "" -#: c-api/init.rst:833 +#: ../../src/Doc/c-api/init.rst:833 msgid "" "Acquire the global interpreter lock and set the current thread state to " "*tstate*, which should not be *NULL*. The lock must have been created " "earlier. If this thread already has the lock, deadlock ensues." msgstr "" -#: c-api/init.rst:837 +#: ../../src/Doc/c-api/init.rst:837 msgid "" ":c:func:`PyEval_RestoreThread` is a higher-level function which is always " "available (even when thread support isn't enabled or when threads have not " "been initialized)." msgstr "" -#: c-api/init.rst:844 +#: ../../src/Doc/c-api/init.rst:844 msgid "" "Reset the current thread state to *NULL* and release the global interpreter " "lock. The lock must have been created earlier and must be held by the " @@ -6818,42 +6862,42 @@ msgid "" "fatal error is reported." msgstr "" -#: c-api/init.rst:850 +#: ../../src/Doc/c-api/init.rst:850 msgid "" ":c:func:`PyEval_SaveThread` is a higher-level function which is always " "available (even when thread support isn't enabled or when threads have not " "been initialized)." msgstr "" -#: c-api/init.rst:857 +#: ../../src/Doc/c-api/init.rst:857 msgid "" "Acquire the global interpreter lock. The lock must have been created " "earlier. If this thread already has the lock, a deadlock ensues." msgstr "" -#: c-api/init.rst:860 +#: ../../src/Doc/c-api/init.rst:860 msgid "" "This function does not update the current thread state. Please use :c:func:" "`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread` instead." msgstr "" -#: c-api/init.rst:868 +#: ../../src/Doc/c-api/init.rst:868 msgid "" "Release the global interpreter lock. The lock must have been created " "earlier." msgstr "" -#: c-api/init.rst:870 +#: ../../src/Doc/c-api/init.rst:870 msgid "" "This function does not update the current thread state. Please use :c:func:" "`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread` instead." msgstr "" -#: c-api/init.rst:879 +#: ../../src/Doc/c-api/init.rst:879 msgid "Sub-interpreter support" msgstr "" -#: c-api/init.rst:881 +#: ../../src/Doc/c-api/init.rst:881 msgid "" "While in most uses, you will only embed a single Python interpreter, there " "are cases where you need to create several independent interpreters in the " @@ -6863,7 +6907,7 @@ msgid "" "following functions:" msgstr "" -#: c-api/init.rst:899 +#: ../../src/Doc/c-api/init.rst:899 msgid "" "Create a new sub-interpreter. This is an (almost) totally separate " "environment for the execution of Python code. In particular, the new " @@ -6876,7 +6920,7 @@ msgid "" "underlying file descriptors)." msgstr "" -#: c-api/init.rst:909 +#: ../../src/Doc/c-api/init.rst:909 msgid "" "The return value points to the first thread state created in the new sub-" "interpreter. This thread state is made in the current thread state. Note " @@ -6890,7 +6934,7 @@ msgid "" "state on entry.)" msgstr "" -#: c-api/init.rst:924 +#: ../../src/Doc/c-api/init.rst:924 msgid "" "Extension modules are shared between (sub-)interpreters as follows: the " "first time a particular extension is imported, it is initialized normally, " @@ -6904,7 +6948,7 @@ msgid "" "called again." msgstr "" -#: c-api/init.rst:941 +#: ../../src/Doc/c-api/init.rst:941 msgid "" "Destroy the (sub-)interpreter represented by the given thread state. The " "given thread state must be the current thread state. See the discussion of " @@ -6915,11 +6959,11 @@ msgid "" "interpreters that haven't been explicitly destroyed at that point." msgstr "" -#: c-api/init.rst:951 +#: ../../src/Doc/c-api/init.rst:951 msgid "Bugs and caveats" msgstr "" -#: c-api/init.rst:953 +#: ../../src/Doc/c-api/init.rst:953 msgid "" "Because sub-interpreters (and the main interpreter) are part of the same " "process, the insulation between them isn't perfect --- for example, using " @@ -6936,7 +6980,7 @@ msgid "" "of loaded modules." msgstr "" -#: c-api/init.rst:967 +#: ../../src/Doc/c-api/init.rst:967 msgid "" "Also note that combining this functionality with :c:func:`PyGILState_\\*` " "APIs is delicate, because these APIs assume a bijection between Python " @@ -6948,25 +6992,25 @@ msgid "" "created threads will probably be broken when using sub-interpreters." msgstr "" -#: c-api/init.rst:978 +#: ../../src/Doc/c-api/init.rst:978 msgid "Asynchronous Notifications" msgstr "" -#: c-api/init.rst:980 +#: ../../src/Doc/c-api/init.rst:980 msgid "" "A mechanism is provided to make asynchronous notifications to the main " "interpreter thread. These notifications take the form of a function pointer " "and a void pointer argument." msgstr "" -#: c-api/init.rst:989 +#: ../../src/Doc/c-api/init.rst:989 msgid "" "Schedule a function to be called from the main interpreter thread. On " "success, 0 is returned and *func* is queued for being called in the main " "thread. On failure, -1 is returned without setting any exception." msgstr "" -#: c-api/init.rst:993 +#: ../../src/Doc/c-api/init.rst:993 msgid "" "When successfully queued, *func* will be *eventually* called from the main " "interpreter thread with the argument *arg*. It will be called " @@ -6974,17 +7018,17 @@ msgid "" "these conditions met:" msgstr "" -#: c-api/init.rst:998 +#: ../../src/Doc/c-api/init.rst:998 msgid "on a :term:`bytecode` boundary;" msgstr "" -#: c-api/init.rst:999 +#: ../../src/Doc/c-api/init.rst:999 msgid "" "with the main thread holding the :term:`global interpreter lock` (*func* can " "therefore use the full C API)." msgstr "" -#: c-api/init.rst:1002 +#: ../../src/Doc/c-api/init.rst:1002 msgid "" "*func* must return 0 on success, or -1 on failure with an exception set. " "*func* won't be interrupted to perform another asynchronous notification " @@ -6992,13 +7036,13 @@ msgid "" "interpreter lock is released." msgstr "" -#: c-api/init.rst:1007 +#: ../../src/Doc/c-api/init.rst:1007 msgid "" "This function doesn't need a current thread state to run, and it doesn't " "need the global interpreter lock." msgstr "" -#: c-api/init.rst:1011 +#: ../../src/Doc/c-api/init.rst:1011 msgid "" "This is a low-level function, only useful for very special cases. There is " "no guarantee that *func* will be called as quick as possible. If the main " @@ -7008,18 +7052,18 @@ msgid "" "`PyGILState API`." msgstr "" -#: c-api/init.rst:1023 +#: ../../src/Doc/c-api/init.rst:1023 msgid "Profiling and Tracing" msgstr "" -#: c-api/init.rst:1028 +#: ../../src/Doc/c-api/init.rst:1028 msgid "" "The Python interpreter provides some low-level support for attaching " "profiling and execution tracing facilities. These are used for profiling, " "debugging, and coverage analysis tools." msgstr "" -#: c-api/init.rst:1032 +#: ../../src/Doc/c-api/init.rst:1032 msgid "" "This C interface allows the profiling or tracing code to avoid the overhead " "of calling through Python-level callable objects, making a direct C function " @@ -7029,7 +7073,7 @@ msgid "" "reported to the Python-level trace functions in previous versions." msgstr "" -#: c-api/init.rst:1042 +#: ../../src/Doc/c-api/init.rst:1042 msgid "" "The type of the trace function registered using :c:func:`PyEval_SetProfile` " "and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " @@ -7040,60 +7084,61 @@ msgid "" "`PyTrace_C_RETURN`, and *arg* depends on the value of *what*:" msgstr "" -#: c-api/init.rst:1051 +#: ../../src/Doc/c-api/init.rst:1051 msgid "Value of *what*" msgstr "" -#: c-api/init.rst:1051 +#: ../../src/Doc/c-api/init.rst:1051 msgid "Meaning of *arg*" msgstr "" -#: c-api/init.rst:1053 +#: ../../src/Doc/c-api/init.rst:1053 msgid ":const:`PyTrace_CALL`" msgstr "" -#: c-api/init.rst:1053 c-api/init.rst:1058 +#: ../../src/Doc/c-api/init.rst:1053 ../../src/Doc/c-api/init.rst:1058 msgid "Always *NULL*." msgstr "" -#: c-api/init.rst:1055 +#: ../../src/Doc/c-api/init.rst:1055 msgid ":const:`PyTrace_EXCEPTION`" msgstr "" -#: c-api/init.rst:1055 +#: ../../src/Doc/c-api/init.rst:1055 msgid "Exception information as returned by :func:`sys.exc_info`." msgstr "" -#: c-api/init.rst:1058 +#: ../../src/Doc/c-api/init.rst:1058 msgid ":const:`PyTrace_LINE`" msgstr "" -#: c-api/init.rst:1060 +#: ../../src/Doc/c-api/init.rst:1060 msgid ":const:`PyTrace_RETURN`" msgstr "" -#: c-api/init.rst:1060 +#: ../../src/Doc/c-api/init.rst:1060 msgid "" "Value being returned to the caller, or *NULL* if caused by an exception." msgstr "" -#: c-api/init.rst:1063 +#: ../../src/Doc/c-api/init.rst:1063 msgid ":const:`PyTrace_C_CALL`" msgstr "" -#: c-api/init.rst:1063 c-api/init.rst:1065 c-api/init.rst:1067 +#: ../../src/Doc/c-api/init.rst:1063 ../../src/Doc/c-api/init.rst:1065 +#: ../../src/Doc/c-api/init.rst:1067 msgid "Function object being called." msgstr "" -#: c-api/init.rst:1065 +#: ../../src/Doc/c-api/init.rst:1065 msgid ":const:`PyTrace_C_EXCEPTION`" msgstr "" -#: c-api/init.rst:1067 +#: ../../src/Doc/c-api/init.rst:1067 msgid ":const:`PyTrace_C_RETURN`" msgstr "" -#: c-api/init.rst:1073 +#: ../../src/Doc/c-api/init.rst:1073 msgid "" "The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " "a new call to a function or method is being reported, or a new entry into a " @@ -7102,7 +7147,7 @@ msgid "" "the corresponding frame." msgstr "" -#: c-api/init.rst:1082 +#: ../../src/Doc/c-api/init.rst:1082 msgid "" "The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " "an exception has been raised. The callback function is called with this " @@ -7114,37 +7159,37 @@ msgid "" "profiler." msgstr "" -#: c-api/init.rst:1093 +#: ../../src/Doc/c-api/init.rst:1093 msgid "" "The value passed as the *what* parameter to a trace function (but not a " "profiling function) when a line-number event is being reported." msgstr "" -#: c-api/init.rst:1099 +#: ../../src/Doc/c-api/init.rst:1099 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a call is returning without propagating an exception." msgstr "" -#: c-api/init.rst:1105 +#: ../../src/Doc/c-api/init.rst:1105 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function is about to be called." msgstr "" -#: c-api/init.rst:1111 +#: ../../src/Doc/c-api/init.rst:1111 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function has raised an exception." msgstr "" -#: c-api/init.rst:1117 +#: ../../src/Doc/c-api/init.rst:1117 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function has returned." msgstr "" -#: c-api/init.rst:1123 +#: ../../src/Doc/c-api/init.rst:1123 msgid "" "Set the profiler function to *func*. The *obj* parameter is passed to the " "function as its first parameter, and may be any Python object, or *NULL*. " @@ -7154,168 +7199,168 @@ msgid "" "number events." msgstr "" -#: c-api/init.rst:1133 +#: ../../src/Doc/c-api/init.rst:1133 msgid "" "Set the tracing function to *func*. This is similar to :c:func:" "`PyEval_SetProfile`, except the tracing function does receive line-number " "events." msgstr "" -#: c-api/init.rst:1139 +#: ../../src/Doc/c-api/init.rst:1139 msgid "" "Return a tuple of function call counts. There are constants defined for the " "positions within the tuple:" msgstr "" -#: c-api/init.rst:1143 +#: ../../src/Doc/c-api/init.rst:1143 msgid "Name" msgstr "Nom" -#: c-api/init.rst:1143 +#: ../../src/Doc/c-api/init.rst:1143 msgid "Value" msgstr "" -#: c-api/init.rst:1145 +#: ../../src/Doc/c-api/init.rst:1145 msgid ":const:`PCALL_ALL`" msgstr "" -#: c-api/init.rst:1147 +#: ../../src/Doc/c-api/init.rst:1147 msgid ":const:`PCALL_FUNCTION`" msgstr "" -#: c-api/init.rst:1147 +#: ../../src/Doc/c-api/init.rst:1147 msgid "1" msgstr "" -#: c-api/init.rst:1149 +#: ../../src/Doc/c-api/init.rst:1149 msgid ":const:`PCALL_FAST_FUNCTION`" msgstr "" -#: c-api/init.rst:1149 +#: ../../src/Doc/c-api/init.rst:1149 msgid "2" msgstr "" -#: c-api/init.rst:1151 +#: ../../src/Doc/c-api/init.rst:1151 msgid ":const:`PCALL_FASTER_FUNCTION`" msgstr "" -#: c-api/init.rst:1151 +#: ../../src/Doc/c-api/init.rst:1151 msgid "3" msgstr "" -#: c-api/init.rst:1153 +#: ../../src/Doc/c-api/init.rst:1153 msgid ":const:`PCALL_METHOD`" msgstr "" -#: c-api/init.rst:1153 +#: ../../src/Doc/c-api/init.rst:1153 msgid "4" msgstr "" -#: c-api/init.rst:1155 +#: ../../src/Doc/c-api/init.rst:1155 msgid ":const:`PCALL_BOUND_METHOD`" msgstr "" -#: c-api/init.rst:1155 +#: ../../src/Doc/c-api/init.rst:1155 msgid "5" msgstr "" -#: c-api/init.rst:1157 +#: ../../src/Doc/c-api/init.rst:1157 msgid ":const:`PCALL_CFUNCTION`" msgstr "" -#: c-api/init.rst:1157 +#: ../../src/Doc/c-api/init.rst:1157 msgid "6" msgstr "" -#: c-api/init.rst:1159 +#: ../../src/Doc/c-api/init.rst:1159 msgid ":const:`PCALL_TYPE`" msgstr "" -#: c-api/init.rst:1159 +#: ../../src/Doc/c-api/init.rst:1159 msgid "7" msgstr "" -#: c-api/init.rst:1161 +#: ../../src/Doc/c-api/init.rst:1161 msgid ":const:`PCALL_GENERATOR`" msgstr "" -#: c-api/init.rst:1161 +#: ../../src/Doc/c-api/init.rst:1161 msgid "8" msgstr "" -#: c-api/init.rst:1163 +#: ../../src/Doc/c-api/init.rst:1163 msgid ":const:`PCALL_OTHER`" msgstr "" -#: c-api/init.rst:1163 +#: ../../src/Doc/c-api/init.rst:1163 msgid "9" msgstr "" -#: c-api/init.rst:1165 +#: ../../src/Doc/c-api/init.rst:1165 msgid ":const:`PCALL_POP`" msgstr "" -#: c-api/init.rst:1165 +#: ../../src/Doc/c-api/init.rst:1165 msgid "10" msgstr "" -#: c-api/init.rst:1168 +#: ../../src/Doc/c-api/init.rst:1168 msgid "" ":const:`PCALL_FAST_FUNCTION` means no argument tuple needs to be created. :" "const:`PCALL_FASTER_FUNCTION` means that the fast-path frame setup code is " "used." msgstr "" -#: c-api/init.rst:1171 +#: ../../src/Doc/c-api/init.rst:1171 msgid "" "If there is a method call where the call can be optimized by changing the " "argument tuple and calling the function directly, it gets recorded twice." msgstr "" -#: c-api/init.rst:1175 +#: ../../src/Doc/c-api/init.rst:1175 msgid "" "This function is only present if Python is compiled with :const:" "`CALL_PROFILE` defined." msgstr "" -#: c-api/init.rst:1181 +#: ../../src/Doc/c-api/init.rst:1181 msgid "Advanced Debugger Support" msgstr "Support avancé du debugger" -#: c-api/init.rst:1186 +#: ../../src/Doc/c-api/init.rst:1186 msgid "" "These functions are only intended to be used by advanced debugging tools." msgstr "" -#: c-api/init.rst:1191 +#: ../../src/Doc/c-api/init.rst:1191 msgid "" "Return the interpreter state object at the head of the list of all such " "objects." msgstr "" -#: c-api/init.rst:1196 +#: ../../src/Doc/c-api/init.rst:1196 msgid "" "Return the next interpreter state object after *interp* from the list of all " "such objects." msgstr "" -#: c-api/init.rst:1202 +#: ../../src/Doc/c-api/init.rst:1202 msgid "" "Return the pointer to the first :c:type:`PyThreadState` object in the list " "of threads associated with the interpreter *interp*." msgstr "" -#: c-api/init.rst:1208 +#: ../../src/Doc/c-api/init.rst:1208 msgid "" "Return the next thread state object after *tstate* from the list of all such " "objects belonging to the same :c:type:`PyInterpreterState` object." msgstr "" -#: c-api/intro.rst:8 +#: ../../src/Doc/c-api/intro.rst:8 msgid "Introduction" msgstr "Introduction" -#: c-api/intro.rst:10 +#: ../../src/Doc/c-api/intro.rst:10 msgid "" "The Application Programmer's Interface to Python gives C and C++ programmers " "access to the Python interpreter at a variety of levels. The API is equally " @@ -7328,7 +7373,7 @@ msgid "" "`embedding` Python in an application." msgstr "" -#: c-api/intro.rst:20 +#: ../../src/Doc/c-api/intro.rst:20 msgid "" "Writing an extension module is a relatively well-understood process, where " "a \"cookbook\" approach works well. There are several tools that automate " @@ -7337,7 +7382,7 @@ msgid "" "less straightforward than writing an extension." msgstr "" -#: c-api/intro.rst:26 +#: ../../src/Doc/c-api/intro.rst:26 msgid "" "Many API functions are useful independent of whether you're embedding or " "extending Python; moreover, most applications that embed Python will need " @@ -7346,24 +7391,24 @@ msgid "" "in a real application." msgstr "" -#: c-api/intro.rst:36 +#: ../../src/Doc/c-api/intro.rst:36 msgid "Include Files" msgstr "" -#: c-api/intro.rst:38 +#: ../../src/Doc/c-api/intro.rst:38 msgid "" "All function, type and macro definitions needed to use the Python/C API are " "included in your code by the following line::" msgstr "" -#: c-api/intro.rst:43 +#: ../../src/Doc/c-api/intro.rst:43 msgid "" "This implies inclusion of the following standard headers: ````, " "````, ````, ````, ```` and ```` (if available)." msgstr "" -#: c-api/intro.rst:49 +#: ../../src/Doc/c-api/intro.rst:49 msgid "" "Since Python may define some pre-processor definitions which affect the " "standard headers on some systems, you *must* include :file:`Python.h` before " @@ -7373,7 +7418,7 @@ msgstr "" "les têtes standard sur certains systèmes, vous *devez* inclure :file:`Python." "h` avant les en-têtes standards." -#: c-api/intro.rst:53 +#: ../../src/Doc/c-api/intro.rst:53 msgid "" "All user visible names defined by Python.h (except those defined by the " "included standard headers) have one of the prefixes ``Py`` or ``_Py``. " @@ -7382,7 +7427,7 @@ msgid "" "names do not have a reserved prefix." msgstr "" -#: c-api/intro.rst:58 +#: ../../src/Doc/c-api/intro.rst:58 msgid "" "**Important:** user code should never define names that begin with ``Py`` or " "``_Py``. This confuses the reader, and jeopardizes the portability of the " @@ -7390,7 +7435,7 @@ msgid "" "beginning with one of these prefixes." msgstr "" -#: c-api/intro.rst:63 +#: ../../src/Doc/c-api/intro.rst:63 msgid "" "The header files are typically installed with Python. On Unix, these are " "located in the directories :file:`{prefix}/include/pythonversion/` and :file:" @@ -7401,7 +7446,7 @@ msgid "" "envvar:`prefix` is the installation directory specified to the installer." msgstr "" -#: c-api/intro.rst:71 +#: ../../src/Doc/c-api/intro.rst:71 msgid "" "To include the headers, place both directories (if different) on your " "compiler's search path for includes. Do *not* place the parent directories " @@ -7411,18 +7456,18 @@ msgid "" "`exec_prefix`." msgstr "" -#: c-api/intro.rst:78 +#: ../../src/Doc/c-api/intro.rst:78 msgid "" "C++ users should note that though the API is defined entirely using C, the " "header files do properly declare the entry points to be ``extern \"C\"``, so " "there is no need to do anything special to use the API from C++." msgstr "" -#: c-api/intro.rst:86 +#: ../../src/Doc/c-api/intro.rst:86 msgid "Objects, Types and Reference Counts" msgstr "" -#: c-api/intro.rst:90 +#: ../../src/Doc/c-api/intro.rst:90 msgid "" "Most Python/C API functions have one or more arguments as well as a return " "value of type :c:type:`PyObject\\*`. This type is a pointer to an opaque " @@ -7437,7 +7482,7 @@ msgid "" "objects." msgstr "" -#: c-api/intro.rst:101 +#: ../../src/Doc/c-api/intro.rst:101 msgid "" "All Python objects (even Python integers) have a :dfn:`type` and a :dfn:" "`reference count`. An object's type determines what kind of object it is (e." @@ -7448,11 +7493,11 @@ msgid "" "a Python list." msgstr "" -#: c-api/intro.rst:112 +#: ../../src/Doc/c-api/intro.rst:112 msgid "Reference Counts" msgstr "" -#: c-api/intro.rst:114 +#: ../../src/Doc/c-api/intro.rst:114 msgid "" "The reference count is important because today's computers have a finite " "(and often severely limited) memory size; it counts how many different " @@ -7466,7 +7511,7 @@ msgid "" "for now, the solution is \"don't do that.\")" msgstr "" -#: c-api/intro.rst:129 +#: ../../src/Doc/c-api/intro.rst:129 msgid "" "Reference counts are always manipulated explicitly. The normal way is to " "use the macro :c:func:`Py_INCREF` to increment an object's reference count " @@ -7484,7 +7529,7 @@ msgid "" "reference count increment is a simple operation." msgstr "" -#: c-api/intro.rst:143 +#: ../../src/Doc/c-api/intro.rst:143 msgid "" "It is not necessary to increment an object's reference count for every " "local variable that contains a pointer to an object. In theory, the " @@ -7501,7 +7546,7 @@ msgid "" "to hold a reference to every argument for the duration of the call." msgstr "" -#: c-api/intro.rst:157 +#: ../../src/Doc/c-api/intro.rst:157 msgid "" "However, a common pitfall is to extract an object from a list and hold on to " "it for a while without incrementing its reference count. Some other " @@ -7512,7 +7557,7 @@ msgid "" "from a :c:func:`Py_DECREF`, so almost any operation is potentially dangerous." msgstr "" -#: c-api/intro.rst:165 +#: ../../src/Doc/c-api/intro.rst:165 msgid "" "A safe approach is to always use the generic operations (functions whose " "name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or " @@ -7522,11 +7567,11 @@ msgid "" "becomes second nature." msgstr "" -#: c-api/intro.rst:175 +#: ../../src/Doc/c-api/intro.rst:175 msgid "Reference Count Details" msgstr "" -#: c-api/intro.rst:177 +#: ../../src/Doc/c-api/intro.rst:177 msgid "" "The reference count behavior of functions in the Python/C API is best " "explained in terms of *ownership of references*. Ownership pertains to " @@ -7543,7 +7588,7 @@ msgid "" "reference." msgstr "" -#: c-api/intro.rst:190 +#: ../../src/Doc/c-api/intro.rst:190 msgid "" "Conversely, when a calling function passes in a reference to an object, " "there are two possibilities: the function *steals* a reference to the " @@ -7552,7 +7597,7 @@ msgid "" "reference, and you are not responsible for it any longer." msgstr "" -#: c-api/intro.rst:200 +#: ../../src/Doc/c-api/intro.rst:200 msgid "" "Few functions steal references; the two notable exceptions are :c:func:" "`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to " @@ -7564,7 +7609,7 @@ msgid "" "below)::" msgstr "" -#: c-api/intro.rst:215 +#: ../../src/Doc/c-api/intro.rst:215 msgid "" "Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately " "stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object " @@ -7572,7 +7617,7 @@ msgid "" "another reference before calling the reference-stealing function." msgstr "" -#: c-api/intro.rst:220 +#: ../../src/Doc/c-api/intro.rst:220 msgid "" "Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple " "items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to " @@ -7580,13 +7625,13 @@ msgid "" "func:`PyTuple_SetItem` for tuples that you are creating yourself." msgstr "" -#: c-api/intro.rst:225 +#: ../../src/Doc/c-api/intro.rst:225 msgid "" "Equivalent code for populating a list can be written using :c:func:" "`PyList_New` and :c:func:`PyList_SetItem`." msgstr "" -#: c-api/intro.rst:228 +#: ../../src/Doc/c-api/intro.rst:228 msgid "" "However, in practice, you will rarely use these ways of creating and " "populating a tuple or list. There's a generic function, :c:func:" @@ -7595,7 +7640,7 @@ msgid "" "be replaced by the following (which also takes care of the error checking)::" msgstr "" -#: c-api/intro.rst:239 +#: ../../src/Doc/c-api/intro.rst:239 msgid "" "It is much more common to use :c:func:`PyObject_SetItem` and friends with " "items whose references you are only borrowing, like arguments that were " @@ -7606,7 +7651,7 @@ msgid "" "sequence) to a given item::" msgstr "" -#: c-api/intro.rst:269 +#: ../../src/Doc/c-api/intro.rst:269 msgid "" "The situation is slightly different for function return values. While " "passing a reference to most functions does not change your ownership " @@ -7619,7 +7664,7 @@ msgid "" "becomes the owner of the reference)." msgstr "" -#: c-api/intro.rst:278 +#: ../../src/Doc/c-api/intro.rst:278 msgid "" "It is important to realize that whether you own a reference returned by a " "function depends on which function you call only --- *the plumage* (the type " @@ -7630,18 +7675,18 @@ msgid "" "the same arguments), you do own a reference to the returned object." msgstr "" -#: c-api/intro.rst:290 +#: ../../src/Doc/c-api/intro.rst:290 msgid "" "Here is an example of how you could write a function that computes the sum " "of the items in a list of integers; once using :c:func:`PyList_GetItem`, " "and once using :c:func:`PySequence_GetItem`. ::" msgstr "" -#: c-api/intro.rst:354 +#: ../../src/Doc/c-api/intro.rst:354 msgid "Types" msgstr "" -#: c-api/intro.rst:356 +#: ../../src/Doc/c-api/intro.rst:356 msgid "" "There are few other data types that play a significant role in the Python/C " "API; most are simple C types such as :c:type:`int`, :c:type:`long`, :c:type:" @@ -7652,11 +7697,11 @@ msgid "" "that use them." msgstr "" -#: c-api/intro.rst:368 +#: ../../src/Doc/c-api/intro.rst:368 msgid "Exceptions" msgstr "Exceptions" -#: c-api/intro.rst:370 +#: ../../src/Doc/c-api/intro.rst:370 msgid "" "The Python programmer only needs to deal with exceptions if specific error " "handling is required; unhandled exceptions are automatically propagated to " @@ -7665,7 +7710,7 @@ msgid "" "stack traceback." msgstr "" -#: c-api/intro.rst:378 +#: ../../src/Doc/c-api/intro.rst:378 msgid "" "For C programmers, however, error checking always has to be explicit. All " "functions in the Python/C API can raise exceptions, unless an explicit claim " @@ -7680,7 +7725,7 @@ msgid "" "explicitly documented." msgstr "" -#: c-api/intro.rst:393 +#: ../../src/Doc/c-api/intro.rst:393 msgid "" "Exception state is maintained in per-thread storage (this is equivalent to " "using global storage in an unthreaded application). A thread can be in one " @@ -7693,7 +7738,7 @@ msgid "" "clears the exception state." msgstr "" -#: c-api/intro.rst:403 +#: ../../src/Doc/c-api/intro.rst:403 msgid "" "The full exception state consists of three objects (all of which can be " "*NULL*): the exception type, the corresponding exception value, and the " @@ -7706,7 +7751,7 @@ msgid "" "``sys.exc_info()`` and friends." msgstr "" -#: c-api/intro.rst:415 +#: ../../src/Doc/c-api/intro.rst:415 msgid "" "Note that starting with Python 1.5, the preferred, thread-safe way to access " "the exception state from Python code is to call the function :func:`sys." @@ -7720,7 +7765,7 @@ msgid "" "referenced by the stack frames in the traceback." msgstr "" -#: c-api/intro.rst:426 +#: ../../src/Doc/c-api/intro.rst:426 msgid "" "As a general principle, a function that calls another function to perform " "some task should check whether the called function raised an exception, and " @@ -7731,7 +7776,7 @@ msgid "" "of the error." msgstr "" -#: c-api/intro.rst:435 +#: ../../src/Doc/c-api/intro.rst:435 msgid "" "A simple example of detecting exceptions and passing them on is shown in " "the :c:func:`sum_sequence` example above. It so happens that this example " @@ -7740,11 +7785,11 @@ msgid "" "why you like Python, we show the equivalent Python code::" msgstr "" -#: c-api/intro.rst:450 +#: ../../src/Doc/c-api/intro.rst:450 msgid "Here is the corresponding C code, in all its glory::" msgstr "" -#: c-api/intro.rst:502 +#: ../../src/Doc/c-api/intro.rst:502 msgid "" "This example represents an endorsed use of the ``goto`` statement in C! It " "illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:" @@ -7757,11 +7802,11 @@ msgid "" "success after the final call made is successful." msgstr "" -#: c-api/intro.rst:516 +#: ../../src/Doc/c-api/intro.rst:516 msgid "Embedding Python" msgstr "" -#: c-api/intro.rst:518 +#: ../../src/Doc/c-api/intro.rst:518 msgid "" "The one important task that only embedders (as opposed to extension writers) " "of the Python interpreter have to worry about is the initialization, and " @@ -7769,7 +7814,7 @@ msgid "" "the interpreter can only be used after the interpreter has been initialized." msgstr "" -#: c-api/intro.rst:531 +#: ../../src/Doc/c-api/intro.rst:531 msgid "" "The basic initialization function is :c:func:`Py_Initialize`. This " "initializes the table of loaded modules, and creates the fundamental " @@ -7777,7 +7822,7 @@ msgid "" "initializes the module search path (``sys.path``)." msgstr "" -#: c-api/intro.rst:538 +#: ../../src/Doc/c-api/intro.rst:538 msgid "" ":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys." "argv``). If this variable is needed by Python code that will be executed " @@ -7785,7 +7830,7 @@ msgid "" "argv, updatepath)`` after the call to :c:func:`Py_Initialize`." msgstr "" -#: c-api/intro.rst:543 +#: ../../src/Doc/c-api/intro.rst:543 msgid "" "On most systems (in particular, on Unix and Windows, although the details " "are slightly different), :c:func:`Py_Initialize` calculates the module " @@ -7797,7 +7842,7 @@ msgid "" "on the shell command search path (the environment variable :envvar:`PATH`)." msgstr "" -#: c-api/intro.rst:552 +#: ../../src/Doc/c-api/intro.rst:552 msgid "" "For instance, if the Python executable is found in :file:`/usr/local/bin/" "python`, it will assume that the libraries are in :file:`/usr/local/lib/" @@ -7808,7 +7853,7 @@ msgid "" "in front of the standard path by setting :envvar:`PYTHONPATH`." msgstr "" -#: c-api/intro.rst:567 +#: ../../src/Doc/c-api/intro.rst:567 msgid "" "The embedding application can steer the search by calling " "``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note " @@ -7819,7 +7864,7 @@ msgid "" "func:`Py_GetProgramFullPath` (all defined in :file:`Modules/getpath.c`)." msgstr "" -#: c-api/intro.rst:577 +#: ../../src/Doc/c-api/intro.rst:577 msgid "" "Sometimes, it is desirable to \"uninitialize\" Python. For instance, the " "application may want to start over (make another call to :c:func:" @@ -7833,18 +7878,18 @@ msgid "" "released." msgstr "" -#: c-api/intro.rst:591 +#: ../../src/Doc/c-api/intro.rst:591 msgid "Debugging Builds" msgstr "" -#: c-api/intro.rst:593 +#: ../../src/Doc/c-api/intro.rst:593 msgid "" "Python can be built with several macros to enable extra checks of the " "interpreter and extension modules. These checks tend to add a large amount " "of overhead to the runtime so they are not enabled by default." msgstr "" -#: c-api/intro.rst:597 +#: ../../src/Doc/c-api/intro.rst:597 msgid "" "A full list of the various types of debugging builds is in the file :file:" "`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are " @@ -7854,7 +7899,7 @@ msgid "" "section." msgstr "" -#: c-api/intro.rst:603 +#: ../../src/Doc/c-api/intro.rst:603 msgid "" "Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined " "produces what is generally meant by \"a debug build\" of Python. :c:macro:" @@ -7864,61 +7909,61 @@ msgid "" "enabled in the Unix build, compiler optimization is disabled." msgstr "" -#: c-api/intro.rst:610 +#: ../../src/Doc/c-api/intro.rst:610 msgid "" "In addition to the reference count debugging described below, the following " "extra checks are performed:" msgstr "" -#: c-api/intro.rst:613 +#: ../../src/Doc/c-api/intro.rst:613 msgid "Extra checks are added to the object allocator." msgstr "" -#: c-api/intro.rst:615 +#: ../../src/Doc/c-api/intro.rst:615 msgid "Extra checks are added to the parser and compiler." msgstr "" -#: c-api/intro.rst:617 +#: ../../src/Doc/c-api/intro.rst:617 msgid "" "Downcasts from wide types to narrow types are checked for loss of " "information." msgstr "" -#: c-api/intro.rst:619 +#: ../../src/Doc/c-api/intro.rst:619 msgid "" "A number of assertions are added to the dictionary and set implementations. " "In addition, the set object acquires a :meth:`test_c_api` method." msgstr "" -#: c-api/intro.rst:622 +#: ../../src/Doc/c-api/intro.rst:622 msgid "Sanity checks of the input arguments are added to frame creation." msgstr "" -#: c-api/intro.rst:624 +#: ../../src/Doc/c-api/intro.rst:624 msgid "" "The storage for ints is initialized with a known invalid pattern to catch " "reference to uninitialized digits." msgstr "" -#: c-api/intro.rst:627 +#: ../../src/Doc/c-api/intro.rst:627 msgid "" "Low-level tracing and extra exception checking are added to the runtime " "virtual machine." msgstr "" -#: c-api/intro.rst:630 +#: ../../src/Doc/c-api/intro.rst:630 msgid "Extra checks are added to the memory arena implementation." msgstr "" -#: c-api/intro.rst:632 +#: ../../src/Doc/c-api/intro.rst:632 msgid "Extra debugging is added to the thread module." msgstr "" -#: c-api/intro.rst:634 +#: ../../src/Doc/c-api/intro.rst:634 msgid "There may be additional checks not mentioned here." msgstr "" -#: c-api/intro.rst:636 +#: ../../src/Doc/c-api/intro.rst:636 msgid "" "Defining :c:macro:`Py_TRACE_REFS` enables reference tracing. When defined, " "a circular doubly linked list of active objects is maintained by adding two " @@ -7928,25 +7973,25 @@ msgid "" "macro:`Py_DEBUG`." msgstr "" -#: c-api/intro.rst:642 +#: ../../src/Doc/c-api/intro.rst:642 msgid "" "Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution for more detailed information." msgstr "" -#: c-api/iter.rst:6 +#: ../../src/Doc/c-api/iter.rst:6 msgid "Iterator Protocol" msgstr "" -#: c-api/iter.rst:8 +#: ../../src/Doc/c-api/iter.rst:8 msgid "There are two functions specifically for working with iterators." msgstr "" -#: c-api/iter.rst:12 +#: ../../src/Doc/c-api/iter.rst:12 msgid "Return true if the object *o* supports the iterator protocol." msgstr "" -#: c-api/iter.rst:17 +#: ../../src/Doc/c-api/iter.rst:17 msgid "" "Return the next value from the iteration *o*. The object must be an " "iterator (it is up to the caller to check this). If there are no remaining " @@ -7954,17 +7999,17 @@ msgid "" "retrieving the item, returns *NULL* and passes along the exception." msgstr "" -#: c-api/iter.rst:22 +#: ../../src/Doc/c-api/iter.rst:22 msgid "" "To write a loop which iterates over an iterator, the C code should look " "something like this::" msgstr "" -#: c-api/iterator.rst:6 +#: ../../src/Doc/c-api/iterator.rst:6 msgid "Iterator Objects" msgstr "" -#: c-api/iterator.rst:8 +#: ../../src/Doc/c-api/iterator.rst:8 msgid "" "Python provides two general-purpose iterator objects. The first, a sequence " "iterator, works with an arbitrary sequence supporting the :meth:" @@ -7973,35 +8018,35 @@ msgid "" "ending the iteration when the sentinel value is returned." msgstr "" -#: c-api/iterator.rst:17 +#: ../../src/Doc/c-api/iterator.rst:17 msgid "" "Type object for iterator objects returned by :c:func:`PySeqIter_New` and the " "one-argument form of the :func:`iter` built-in function for built-in " "sequence types." msgstr "" -#: c-api/iterator.rst:24 +#: ../../src/Doc/c-api/iterator.rst:24 msgid "Return true if the type of *op* is :c:data:`PySeqIter_Type`." msgstr "" -#: c-api/iterator.rst:29 +#: ../../src/Doc/c-api/iterator.rst:29 msgid "" "Return an iterator that works with a general sequence object, *seq*. The " "iteration ends when the sequence raises :exc:`IndexError` for the " "subscripting operation." msgstr "" -#: c-api/iterator.rst:36 +#: ../../src/Doc/c-api/iterator.rst:36 msgid "" "Type object for iterator objects returned by :c:func:`PyCallIter_New` and " "the two-argument form of the :func:`iter` built-in function." msgstr "" -#: c-api/iterator.rst:42 +#: ../../src/Doc/c-api/iterator.rst:42 msgid "Return true if the type of *op* is :c:data:`PyCallIter_Type`." msgstr "" -#: c-api/iterator.rst:47 +#: ../../src/Doc/c-api/iterator.rst:47 msgid "" "Return a new iterator. The first parameter, *callable*, can be any Python " "callable object that can be called with no parameters; each call to it " @@ -8009,37 +8054,37 @@ msgid "" "value equal to *sentinel*, the iteration will be terminated." msgstr "" -#: c-api/list.rst:6 +#: ../../src/Doc/c-api/list.rst:6 msgid "List Objects" msgstr "" -#: c-api/list.rst:13 +#: ../../src/Doc/c-api/list.rst:13 msgid "This subtype of :c:type:`PyObject` represents a Python list object." msgstr "" -#: c-api/list.rst:18 +#: ../../src/Doc/c-api/list.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python list type. " "This is the same object as :class:`list` in the Python layer." msgstr "" -#: c-api/list.rst:24 +#: ../../src/Doc/c-api/list.rst:24 msgid "" "Return true if *p* is a list object or an instance of a subtype of the list " "type." msgstr "" -#: c-api/list.rst:30 +#: ../../src/Doc/c-api/list.rst:30 msgid "" "Return true if *p* is a list object, but not an instance of a subtype of the " "list type." msgstr "" -#: c-api/list.rst:36 +#: ../../src/Doc/c-api/list.rst:36 msgid "Return a new list of length *len* on success, or *NULL* on failure." msgstr "" -#: c-api/list.rst:40 +#: ../../src/Doc/c-api/list.rst:40 msgid "" "If *len* is greater than zero, the returned list object's items are set to " "``NULL``. Thus you cannot use abstract API functions such as :c:func:" @@ -8047,17 +8092,17 @@ msgid "" "items to a real object with :c:func:`PyList_SetItem`." msgstr "" -#: c-api/list.rst:50 +#: ../../src/Doc/c-api/list.rst:50 msgid "" "Return the length of the list object in *list*; this is equivalent to " "``len(list)`` on a list object." msgstr "" -#: c-api/list.rst:56 +#: ../../src/Doc/c-api/list.rst:56 msgid "Macro form of :c:func:`PyList_Size` without error checking." msgstr "" -#: c-api/list.rst:61 +#: ../../src/Doc/c-api/list.rst:61 msgid "" "Return the object at position *index* in the list pointed to by *list*. The " "position must be positive, indexing from the end of the list is not " @@ -8065,50 +8110,50 @@ msgid "" "`IndexError` exception." msgstr "" -#: c-api/list.rst:69 +#: ../../src/Doc/c-api/list.rst:69 msgid "Macro form of :c:func:`PyList_GetItem` without error checking." msgstr "" -#: c-api/list.rst:74 +#: ../../src/Doc/c-api/list.rst:74 msgid "" "Set the item at index *index* in list to *item*. Return ``0`` on success or " "``-1`` on failure." msgstr "" -#: c-api/list.rst:79 +#: ../../src/Doc/c-api/list.rst:79 msgid "" "This function \"steals\" a reference to *item* and discards a reference to " "an item already in the list at the affected position." msgstr "" -#: c-api/list.rst:85 +#: ../../src/Doc/c-api/list.rst:85 msgid "" "Macro form of :c:func:`PyList_SetItem` without error checking. This is " "normally only used to fill in new lists where there is no previous content." msgstr "" -#: c-api/list.rst:90 +#: ../../src/Doc/c-api/list.rst:90 msgid "" "This macro \"steals\" a reference to *item*, and, unlike :c:func:" "`PyList_SetItem`, does *not* discard a reference to any item that is being " "replaced; any reference in *list* at position *i* will be leaked." msgstr "" -#: c-api/list.rst:98 +#: ../../src/Doc/c-api/list.rst:98 msgid "" "Insert the item *item* into list *list* in front of index *index*. Return " "``0`` if successful; return ``-1`` and set an exception if unsuccessful. " "Analogous to ``list.insert(index, item)``." msgstr "" -#: c-api/list.rst:105 +#: ../../src/Doc/c-api/list.rst:105 msgid "" "Append the object *item* at the end of list *list*. Return ``0`` if " "successful; return ``-1`` and set an exception if unsuccessful. Analogous " "to ``list.append(item)``." msgstr "" -#: c-api/list.rst:112 +#: ../../src/Doc/c-api/list.rst:112 msgid "" "Return a list of the objects in *list* containing the objects *between* " "*low* and *high*. Return *NULL* and set an exception if unsuccessful. " @@ -8116,7 +8161,7 @@ msgid "" "Python, are not supported." msgstr "" -#: c-api/list.rst:120 +#: ../../src/Doc/c-api/list.rst:120 msgid "" "Set the slice of *list* between *low* and *high* to the contents of " "*itemlist*. Analogous to ``list[low:high] = itemlist``. The *itemlist* may " @@ -8125,62 +8170,62 @@ msgid "" "slicing from Python, are not supported." msgstr "" -#: c-api/list.rst:129 +#: ../../src/Doc/c-api/list.rst:129 msgid "" "Sort the items of *list* in place. Return ``0`` on success, ``-1`` on " "failure. This is equivalent to ``list.sort()``." msgstr "" -#: c-api/list.rst:135 +#: ../../src/Doc/c-api/list.rst:135 msgid "" "Reverse the items of *list* in place. Return ``0`` on success, ``-1`` on " "failure. This is the equivalent of ``list.reverse()``." msgstr "" -#: c-api/list.rst:143 +#: ../../src/Doc/c-api/list.rst:143 msgid "" "Return a new tuple object containing the contents of *list*; equivalent to " "``tuple(list)``." msgstr "" -#: c-api/long.rst:6 +#: ../../src/Doc/c-api/long.rst:6 #, fuzzy msgid "Integer Objects" msgstr "Autres Objets" -#: c-api/long.rst:11 +#: ../../src/Doc/c-api/long.rst:11 msgid "" "All integers are implemented as \"long\" integer objects of arbitrary size." msgstr "" -#: c-api/long.rst:15 +#: ../../src/Doc/c-api/long.rst:15 msgid "This subtype of :c:type:`PyObject` represents a Python integer object." msgstr "" -#: c-api/long.rst:20 +#: ../../src/Doc/c-api/long.rst:20 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python integer type. " "This is the same object as :class:`int` in the Python layer." msgstr "" -#: c-api/long.rst:26 +#: ../../src/Doc/c-api/long.rst:26 msgid "" "Return true if its argument is a :c:type:`PyLongObject` or a subtype of :c:" "type:`PyLongObject`." msgstr "" -#: c-api/long.rst:32 +#: ../../src/Doc/c-api/long.rst:32 msgid "" "Return true if its argument is a :c:type:`PyLongObject`, but not a subtype " "of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:38 +#: ../../src/Doc/c-api/long.rst:38 msgid "" "Return a new :c:type:`PyLongObject` object from *v*, or *NULL* on failure." msgstr "" -#: c-api/long.rst:40 +#: ../../src/Doc/c-api/long.rst:40 msgid "" "The current implementation keeps an array of integer objects for all " "integers between ``-5`` and ``256``, when you create an int in that range " @@ -8189,43 +8234,43 @@ msgid "" "in this case is undefined. :-)" msgstr "" -#: c-api/long.rst:49 +#: ../../src/Doc/c-api/long.rst:49 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, " "or *NULL* on failure." msgstr "" -#: c-api/long.rst:55 +#: ../../src/Doc/c-api/long.rst:55 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`Py_ssize_t`, or " "*NULL* on failure." msgstr "" -#: c-api/long.rst:61 +#: ../../src/Doc/c-api/long.rst:61 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`size_t`, or " "*NULL* on failure." msgstr "" -#: c-api/long.rst:67 +#: ../../src/Doc/c-api/long.rst:67 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or " "*NULL* on failure." msgstr "" -#: c-api/long.rst:73 +#: ../../src/Doc/c-api/long.rst:73 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long " "long`, or *NULL* on failure." msgstr "" -#: c-api/long.rst:79 +#: ../../src/Doc/c-api/long.rst:79 msgid "" "Return a new :c:type:`PyLongObject` object from the integer part of *v*, or " "*NULL* on failure." msgstr "" -#: c-api/long.rst:85 +#: ../../src/Doc/c-api/long.rst:85 msgid "" "Return a new :c:type:`PyLongObject` based on the string value in *str*, " "which is interpreted according to the radix in *base*. If *pend* is non-" @@ -8240,7 +8285,7 @@ msgid "" "raised." msgstr "" -#: c-api/long.rst:99 +#: ../../src/Doc/c-api/long.rst:99 msgid "" "Convert a sequence of Unicode digits to a Python integer value. The Unicode " "string is first encoded to a byte string using :c:func:" @@ -8248,19 +8293,19 @@ msgid "" "`PyLong_FromString`." msgstr "" -#: c-api/long.rst:105 +#: ../../src/Doc/c-api/long.rst:105 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyLong_FromUnicodeObject()." msgstr "" -#: c-api/long.rst:105 +#: ../../src/Doc/c-api/long.rst:105 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyLong_FromUnicodeObject`." msgstr "" -#: c-api/long.rst:110 +#: ../../src/Doc/c-api/long.rst:110 msgid "" "Convert a sequence of Unicode digits in the string *u* to a Python integer " "value. The Unicode string is first encoded to a byte string using :c:func:" @@ -8268,26 +8313,26 @@ msgid "" "`PyLong_FromString`." msgstr "" -#: c-api/long.rst:120 +#: ../../src/Doc/c-api/long.rst:120 msgid "" "Create a Python integer from the pointer *p*. The pointer value can be " "retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`." msgstr "" -#: c-api/long.rst:131 c-api/long.rst:141 +#: ../../src/Doc/c-api/long.rst:131 ../../src/Doc/c-api/long.rst:141 msgid "" "Return a C :c:type:`long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:135 c-api/long.rst:160 +#: ../../src/Doc/c-api/long.rst:135 ../../src/Doc/c-api/long.rst:160 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "type:`long`." msgstr "" -#: c-api/long.rst:145 +#: ../../src/Doc/c-api/long.rst:145 msgid "" "If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:" "`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " @@ -8295,14 +8340,14 @@ msgid "" "occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -#: c-api/long.rst:156 c-api/long.rst:166 +#: ../../src/Doc/c-api/long.rst:156 ../../src/Doc/c-api/long.rst:166 msgid "" "Return a C :c:type:`long long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:170 +#: ../../src/Doc/c-api/long.rst:170 msgid "" "If the value of *obj* is greater than :const:`PY_LLONG_MAX` or less than :" "const:`PY_LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, " @@ -8310,98 +8355,98 @@ msgid "" "exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -#: c-api/long.rst:184 +#: ../../src/Doc/c-api/long.rst:184 msgid "" "Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must " "be an instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:187 +#: ../../src/Doc/c-api/long.rst:187 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`Py_ssize_t`." msgstr "" -#: c-api/long.rst:197 +#: ../../src/Doc/c-api/long.rst:197 msgid "" "Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* " "must be an instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:200 +#: ../../src/Doc/c-api/long.rst:200 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`unsigned long`." msgstr "" -#: c-api/long.rst:206 +#: ../../src/Doc/c-api/long.rst:206 msgid "" "Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:209 +#: ../../src/Doc/c-api/long.rst:209 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`size_t`." msgstr "" -#: c-api/long.rst:218 +#: ../../src/Doc/c-api/long.rst:218 msgid "" "Return a C :c:type:`unsigned PY_LONG_LONG` representation of *pylong*. " "*pylong* must be an instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:221 +#: ../../src/Doc/c-api/long.rst:221 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" "c:type:`unsigned PY_LONG_LONG`." msgstr "" -#: c-api/long.rst:224 +#: ../../src/Doc/c-api/long.rst:224 msgid "" "A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`." msgstr "" -#: c-api/long.rst:230 +#: ../../src/Doc/c-api/long.rst:230 msgid "" "Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not " "an instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:234 +#: ../../src/Doc/c-api/long.rst:234 msgid "" "If the value of *obj* is out of range for an :c:type:`unsigned long`, return " "the reduction of that value modulo :const:`ULONG_MAX + 1`." msgstr "" -#: c-api/long.rst:240 +#: ../../src/Doc/c-api/long.rst:240 msgid "" "Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* " "is not an instance of :c:type:`PyLongObject`, first call its :meth:`__int__` " "method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:244 +#: ../../src/Doc/c-api/long.rst:244 msgid "" "If the value of *obj* is out of range for an :c:type:`unsigned long long`, " "return the reduction of that value modulo :const:`PY_ULLONG_MAX + 1`." msgstr "" -#: c-api/long.rst:250 +#: ../../src/Doc/c-api/long.rst:250 msgid "" "Return a C :c:type:`double` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:253 +#: ../../src/Doc/c-api/long.rst:253 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`double`." msgstr "" -#: c-api/long.rst:259 +#: ../../src/Doc/c-api/long.rst:259 msgid "" "Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* " "cannot be converted, an :exc:`OverflowError` will be raised. This is only " @@ -8409,79 +8454,79 @@ msgid "" "c:func:`PyLong_FromVoidPtr`." msgstr "" -#: c-api/mapping.rst:6 +#: ../../src/Doc/c-api/mapping.rst:6 msgid "Mapping Protocol" msgstr "" -#: c-api/mapping.rst:11 +#: ../../src/Doc/c-api/mapping.rst:11 msgid "" "Return ``1`` if the object provides mapping protocol, and ``0`` otherwise. " "This function always succeeds." msgstr "" -#: c-api/mapping.rst:20 +#: ../../src/Doc/c-api/mapping.rst:20 msgid "" "Returns the number of keys in object *o* on success, and ``-1`` on failure. " "For objects that do not provide mapping protocol, this is equivalent to the " "Python expression ``len(o)``." msgstr "" -#: c-api/mapping.rst:27 c-api/mapping.rst:33 +#: ../../src/Doc/c-api/mapping.rst:27 ../../src/Doc/c-api/mapping.rst:33 msgid "" "Remove the mapping for object *key* from the object *o*. Return ``-1`` on " "failure. This is equivalent to the Python statement ``del o[key]``." msgstr "" -#: c-api/mapping.rst:39 +#: ../../src/Doc/c-api/mapping.rst:39 msgid "" "On success, return ``1`` if the mapping object has the key *key* and ``0`` " "otherwise. This is equivalent to the Python expression ``key in o``. This " "function always succeeds." msgstr "" -#: c-api/mapping.rst:46 +#: ../../src/Doc/c-api/mapping.rst:46 msgid "" "Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. " "This is equivalent to the Python expression ``key in o``. This function " "always succeeds." msgstr "" -#: c-api/mapping.rst:53 +#: ../../src/Doc/c-api/mapping.rst:53 msgid "" "On success, return a list, a tuple or a dictionary view in case of a dict, " "of the keys in object *o*. On failure, return *NULL*." msgstr "" -#: c-api/mapping.rst:59 +#: ../../src/Doc/c-api/mapping.rst:59 msgid "" "On success, return a list, a tuple or a dictionary view in case of a dict, " "of the values in object *o*. On failure, return *NULL*." msgstr "" -#: c-api/mapping.rst:65 +#: ../../src/Doc/c-api/mapping.rst:65 msgid "" "On success, return a list, a tuple or a dictionary view in case of a dict, " "of the items in object *o*, where each item is a tuple containing a key-" "value pair. On failure, return *NULL*." msgstr "" -#: c-api/mapping.rst:72 c-api/object.rst:385 +#: ../../src/Doc/c-api/mapping.rst:72 ../../src/Doc/c-api/object.rst:385 msgid "" "Return element of *o* corresponding to the object *key* or *NULL* on " "failure. This is the equivalent of the Python expression ``o[key]``." msgstr "" -#: c-api/mapping.rst:78 +#: ../../src/Doc/c-api/mapping.rst:78 msgid "" "Map the object *key* to the value *v* in object *o*. Returns ``-1`` on " "failure. This is the equivalent of the Python statement ``o[key] = v``." msgstr "" -#: c-api/marshal.rst:6 +#: ../../src/Doc/c-api/marshal.rst:6 msgid "Data marshalling support" msgstr "" -#: c-api/marshal.rst:8 +#: ../../src/Doc/c-api/marshal.rst:8 msgid "" "These routines allow C code to work with serialized objects using the same " "data format as the :mod:`marshal` module. There are functions to write data " @@ -8490,11 +8535,11 @@ msgid "" "binary mode." msgstr "" -#: c-api/marshal.rst:14 +#: ../../src/Doc/c-api/marshal.rst:14 msgid "Numeric values are stored with the least significant byte first." msgstr "" -#: c-api/marshal.rst:16 +#: ../../src/Doc/c-api/marshal.rst:16 msgid "" "The module supports two versions of the data format: version 0 is the " "historical version, version 1 shares interned strings in the file, and upon " @@ -8502,30 +8547,30 @@ msgid "" "*Py_MARSHAL_VERSION* indicates the current file format (currently 2)." msgstr "" -#: c-api/marshal.rst:24 +#: ../../src/Doc/c-api/marshal.rst:24 msgid "" "Marshal a :c:type:`long` integer, *value*, to *file*. This will only write " "the least-significant 32 bits of *value*; regardless of the size of the " "native :c:type:`long` type. *version* indicates the file format." msgstr "" -#: c-api/marshal.rst:31 +#: ../../src/Doc/c-api/marshal.rst:31 msgid "" "Marshal a Python object, *value*, to *file*. *version* indicates the file " "format." msgstr "" -#: c-api/marshal.rst:37 +#: ../../src/Doc/c-api/marshal.rst:37 msgid "" "Return a string object containing the marshalled representation of *value*. " "*version* indicates the file format." msgstr "" -#: c-api/marshal.rst:41 +#: ../../src/Doc/c-api/marshal.rst:41 msgid "The following functions allow marshalled values to be read back in." msgstr "" -#: c-api/marshal.rst:43 +#: ../../src/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), " @@ -8534,37 +8579,38 @@ msgid "" "values be written using these routines?" msgstr "" -#: c-api/marshal.rst:52 +#: ../../src/Doc/c-api/marshal.rst:52 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 "" -#: c-api/marshal.rst:56 c-api/marshal.rst:65 +#: ../../src/Doc/c-api/marshal.rst:56 ../../src/Doc/c-api/marshal.rst:65 msgid "On error, raise an exception and return ``-1``." msgstr "" -#: c-api/marshal.rst:61 +#: ../../src/Doc/c-api/marshal.rst:61 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 "" -#: c-api/marshal.rst:70 +#: ../../src/Doc/c-api/marshal.rst:70 msgid "" "Return a Python object from the data stream in a :c:type:`FILE\\*` opened " "for reading." msgstr "" -#: c-api/marshal.rst:73 c-api/marshal.rst:87 c-api/marshal.rst:96 +#: ../../src/Doc/c-api/marshal.rst:73 ../../src/Doc/c-api/marshal.rst:87 +#: ../../src/Doc/c-api/marshal.rst:96 msgid "" "On error, sets the appropriate exception (:exc:`EOFError` or :exc:" "`TypeError`) and returns *NULL*." msgstr "" -#: c-api/marshal.rst:79 +#: ../../src/Doc/c-api/marshal.rst:79 msgid "" "Return a Python object from the data stream in a :c:type:`FILE\\*` opened " "for reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " @@ -8575,21 +8621,21 @@ msgid "" "anything else from the file." msgstr "" -#: c-api/marshal.rst:93 +#: ../../src/Doc/c-api/marshal.rst:93 msgid "" "Return a Python object from the data stream in a character buffer containing " "*len* bytes pointed to by *string*." msgstr "" -#: c-api/memory.rst:8 +#: ../../src/Doc/c-api/memory.rst:8 msgid "Memory Management" msgstr "" -#: c-api/memory.rst:17 +#: ../../src/Doc/c-api/memory.rst:17 msgid "Overview" msgstr "" -#: c-api/memory.rst:19 +#: ../../src/Doc/c-api/memory.rst:19 msgid "" "Memory management in Python involves a private heap containing all Python " "objects and data structures. The management of this private heap is ensured " @@ -8598,7 +8644,7 @@ msgid "" "aspects, like sharing, segmentation, preallocation or caching." msgstr "" -#: c-api/memory.rst:25 +#: ../../src/Doc/c-api/memory.rst:25 msgid "" "At the lowest level, a raw memory allocator ensures that there is enough " "room in the private heap for storing all Python-related data by interacting " @@ -8612,7 +8658,7 @@ msgid "" "but ensures that the latter operate within the bounds of the private heap." msgstr "" -#: c-api/memory.rst:36 +#: ../../src/Doc/c-api/memory.rst:36 msgid "" "It is important to understand that the management of the Python heap is " "performed by the interpreter itself and that the user has no control over " @@ -8622,7 +8668,7 @@ msgid "" "the Python/C API functions listed in this document." msgstr "" -#: c-api/memory.rst:49 +#: ../../src/Doc/c-api/memory.rst:49 msgid "" "To avoid memory corruption, extension writers should never try to operate on " "Python objects with the functions exported by the C library: :c:func:" @@ -8634,14 +8680,14 @@ msgid "" "in the following example::" msgstr "" -#: c-api/memory.rst:68 +#: ../../src/Doc/c-api/memory.rst:68 msgid "" "In this example, the memory request for the I/O buffer is handled by the C " "library allocator. The Python memory manager is involved only in the " "allocation of the string object returned as a result." msgstr "" -#: c-api/memory.rst:72 +#: ../../src/Doc/c-api/memory.rst:72 msgid "" "In most situations, however, it is recommended to allocate memory from the " "Python heap specifically because the latter is under control of the Python " @@ -8659,25 +8705,25 @@ msgid "" "completely the Python memory manager." msgstr "" -#: c-api/memory.rst:88 +#: ../../src/Doc/c-api/memory.rst:88 msgid "Raw Memory Interface" msgstr "" -#: c-api/memory.rst:90 +#: ../../src/Doc/c-api/memory.rst:90 msgid "" "The following function sets are wrappers to the system allocator. These " "functions are thread-safe, the :term:`GIL ` does " "not need to be held." msgstr "" -#: c-api/memory.rst:94 +#: ../../src/Doc/c-api/memory.rst:94 msgid "" "The default raw memory block allocator uses the following functions: :c:func:" "`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`; call " "``malloc(1)`` (or ``calloc(1, 1)``) when requesting zero bytes." msgstr "" -#: c-api/memory.rst:102 +#: ../../src/Doc/c-api/memory.rst:102 msgid "" "Allocates *n* bytes and returns a pointer of type :c:type:`void\\*` to the " "allocated memory, or *NULL* if the request fails. Requesting zero bytes " @@ -8686,7 +8732,7 @@ msgid "" "been initialized in any way." msgstr "" -#: c-api/memory.rst:111 +#: ../../src/Doc/c-api/memory.rst:111 msgid "" "Allocates *nelem* elements each whose size in bytes is *elsize* and returns " "a pointer of type :c:type:`void\\*` to the allocated memory, or *NULL* if " @@ -8695,7 +8741,7 @@ msgid "" "pointer if possible, as if ``PyMem_RawCalloc(1, 1)`` had been called instead." msgstr "" -#: c-api/memory.rst:122 +#: ../../src/Doc/c-api/memory.rst:122 msgid "" "Resizes the memory block pointed to by *p* to *n* bytes. The contents will " "be unchanged to the minimum of the old and the new sizes. If *p* is *NULL*, " @@ -8707,7 +8753,7 @@ msgid "" "a valid pointer to the previous memory area." msgstr "" -#: c-api/memory.rst:134 +#: ../../src/Doc/c-api/memory.rst:134 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " "previous call to :c:func:`PyMem_RawMalloc` or :c:func:`PyMem_RawRealloc`. " @@ -8715,31 +8761,31 @@ msgid "" "behavior occurs. If *p* is *NULL*, no operation is performed." msgstr "" -#: c-api/memory.rst:143 +#: ../../src/Doc/c-api/memory.rst:143 msgid "Memory Interface" msgstr "" -#: c-api/memory.rst:145 +#: ../../src/Doc/c-api/memory.rst:145 msgid "" "The following function sets, modeled after the ANSI C standard, but " "specifying behavior when requesting zero bytes, are available for allocating " "and releasing memory from the Python heap." msgstr "" -#: c-api/memory.rst:149 +#: ../../src/Doc/c-api/memory.rst:149 msgid "" "The default memory block allocator uses the following functions: :c:func:" "`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`; call " "``malloc(1)`` (or ``calloc(1, 1)``) when requesting zero bytes." msgstr "" -#: c-api/memory.rst:155 +#: ../../src/Doc/c-api/memory.rst:155 msgid "" "The :term:`GIL ` must be held when using these " "functions." msgstr "" -#: c-api/memory.rst:160 +#: ../../src/Doc/c-api/memory.rst:160 msgid "" "Allocates *n* bytes and returns a pointer of type :c:type:`void\\*` to the " "allocated memory, or *NULL* if the request fails. Requesting zero bytes " @@ -8748,7 +8794,7 @@ msgid "" "way." msgstr "" -#: c-api/memory.rst:168 +#: ../../src/Doc/c-api/memory.rst:168 msgid "" "Allocates *nelem* elements each whose size in bytes is *elsize* and returns " "a pointer of type :c:type:`void\\*` to the allocated memory, or *NULL* if " @@ -8757,7 +8803,7 @@ msgid "" "pointer if possible, as if ``PyMem_Calloc(1, 1)`` had been called instead." msgstr "" -#: c-api/memory.rst:179 +#: ../../src/Doc/c-api/memory.rst:179 msgid "" "Resizes the memory block pointed to by *p* to *n* bytes. The contents will " "be unchanged to the minimum of the old and the new sizes. If *p* is *NULL*, " @@ -8769,7 +8815,7 @@ msgid "" "pointer to the previous memory area." msgstr "" -#: c-api/memory.rst:191 +#: ../../src/Doc/c-api/memory.rst:191 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " "previous call to :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc`. " @@ -8777,20 +8823,20 @@ msgid "" "behavior occurs. If *p* is *NULL*, no operation is performed." msgstr "" -#: c-api/memory.rst:196 +#: ../../src/Doc/c-api/memory.rst:196 msgid "" "The following type-oriented macros are provided for convenience. Note that " "*TYPE* refers to any C type." msgstr "" -#: c-api/memory.rst:202 +#: ../../src/Doc/c-api/memory.rst:202 msgid "" "Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " "of memory. Returns a pointer cast to :c:type:`TYPE\\*`. The memory will " "not have been initialized in any way." msgstr "" -#: c-api/memory.rst:209 +#: ../../src/Doc/c-api/memory.rst:209 msgid "" "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " "sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE\\*`. On " @@ -8799,11 +8845,11 @@ msgid "" "the original value of p to avoid losing memory when handling errors." msgstr "" -#: c-api/memory.rst:218 +#: ../../src/Doc/c-api/memory.rst:218 msgid "Same as :c:func:`PyMem_Free`." msgstr "" -#: c-api/memory.rst:220 +#: ../../src/Doc/c-api/memory.rst:220 msgid "" "In addition, the following macro sets are provided for calling the Python " "memory allocator directly, without involving the C API functions listed " @@ -8811,176 +8857,178 @@ msgid "" "across Python versions and is therefore deprecated in extension modules." msgstr "" -#: c-api/memory.rst:225 +#: ../../src/Doc/c-api/memory.rst:225 msgid ":c:func:`PyMem_MALLOC`, :c:func:`PyMem_REALLOC`, :c:func:`PyMem_FREE`." msgstr "" -#: c-api/memory.rst:227 +#: ../../src/Doc/c-api/memory.rst:227 msgid ":c:func:`PyMem_NEW`, :c:func:`PyMem_RESIZE`, :c:func:`PyMem_DEL`." msgstr "" -#: c-api/memory.rst:231 +#: ../../src/Doc/c-api/memory.rst:231 msgid "Customize Memory Allocators" msgstr "" -#: c-api/memory.rst:237 +#: ../../src/Doc/c-api/memory.rst:237 msgid "" "Structure used to describe a memory block allocator. The structure has four " "fields:" msgstr "" -#: c-api/memory.rst:241 c-api/memory.rst:339 c-api/structures.rst:129 -#: c-api/structures.rst:241 c-api/tuple.rst:145 c-api/tuple.rst:168 +#: ../../src/Doc/c-api/memory.rst:241 ../../src/Doc/c-api/memory.rst:339 +#: ../../src/Doc/c-api/structures.rst:129 +#: ../../src/Doc/c-api/structures.rst:241 ../../src/Doc/c-api/tuple.rst:145 +#: ../../src/Doc/c-api/tuple.rst:168 msgid "Field" msgstr "" -#: c-api/memory.rst:243 c-api/memory.rst:341 +#: ../../src/Doc/c-api/memory.rst:243 ../../src/Doc/c-api/memory.rst:341 msgid "``void *ctx``" msgstr "" -#: c-api/memory.rst:243 c-api/memory.rst:341 +#: ../../src/Doc/c-api/memory.rst:243 ../../src/Doc/c-api/memory.rst:341 msgid "user context passed as first argument" msgstr "" -#: c-api/memory.rst:245 +#: ../../src/Doc/c-api/memory.rst:245 msgid "``void* malloc(void *ctx, size_t size)``" msgstr "" -#: c-api/memory.rst:245 +#: ../../src/Doc/c-api/memory.rst:245 msgid "allocate a memory block" msgstr "" -#: c-api/memory.rst:247 +#: ../../src/Doc/c-api/memory.rst:247 msgid "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" msgstr "" -#: c-api/memory.rst:247 +#: ../../src/Doc/c-api/memory.rst:247 msgid "allocate a memory block initialized with zeros" msgstr "" -#: c-api/memory.rst:250 +#: ../../src/Doc/c-api/memory.rst:250 msgid "``void* realloc(void *ctx, void *ptr, size_t new_size)``" msgstr "" -#: c-api/memory.rst:250 +#: ../../src/Doc/c-api/memory.rst:250 msgid "allocate or resize a memory block" msgstr "" -#: c-api/memory.rst:252 +#: ../../src/Doc/c-api/memory.rst:252 msgid "``void free(void *ctx, void *ptr)``" msgstr "" -#: c-api/memory.rst:252 +#: ../../src/Doc/c-api/memory.rst:252 msgid "free a memory block" msgstr "" -#: c-api/memory.rst:255 +#: ../../src/Doc/c-api/memory.rst:255 msgid "" "The :c:type:`PyMemAllocator` structure was renamed to :c:type:" "`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" -#: c-api/memory.rst:262 +#: ../../src/Doc/c-api/memory.rst:262 msgid "Enum used to identify an allocator domain. Domains:" msgstr "" -#: c-api/memory.rst:264 +#: ../../src/Doc/c-api/memory.rst:264 msgid "" ":c:data:`PYMEM_DOMAIN_RAW`: functions :c:func:`PyMem_RawMalloc`, :c:func:" "`PyMem_RawRealloc` and :c:func:`PyMem_RawFree`" msgstr "" -#: c-api/memory.rst:266 +#: ../../src/Doc/c-api/memory.rst:266 msgid "" ":c:data:`PYMEM_DOMAIN_MEM`: functions :c:func:`PyMem_Malloc`, :c:func:" "`PyMem_Realloc` and :c:func:`PyMem_Free`" msgstr "" -#: c-api/memory.rst:268 +#: ../../src/Doc/c-api/memory.rst:268 msgid "" ":c:data:`PYMEM_DOMAIN_OBJ`: functions :c:func:`PyObject_Malloc`, :c:func:" "`PyObject_Realloc` and :c:func:`PyObject_Free`" msgstr "" -#: c-api/memory.rst:274 +#: ../../src/Doc/c-api/memory.rst:274 msgid "Get the memory block allocator of the specified domain." msgstr "" -#: c-api/memory.rst:279 +#: ../../src/Doc/c-api/memory.rst:279 msgid "Set the memory block allocator of the specified domain." msgstr "" -#: c-api/memory.rst:281 +#: ../../src/Doc/c-api/memory.rst:281 msgid "" "The new allocator must return a distinct non-NULL pointer when requesting " "zero bytes." msgstr "" -#: c-api/memory.rst:284 +#: ../../src/Doc/c-api/memory.rst:284 msgid "" "For the :c:data:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" "safe: the :term:`GIL ` is not held when the " "allocator is called." msgstr "" -#: c-api/memory.rst:288 +#: ../../src/Doc/c-api/memory.rst:288 msgid "" "If the new allocator is not a hook (does not call the previous allocator), " "the :c:func:`PyMem_SetupDebugHooks` function must be called to reinstall the " "debug hooks on top on the new allocator." msgstr "" -#: c-api/memory.rst:295 +#: ../../src/Doc/c-api/memory.rst:295 msgid "" "Setup hooks to detect bugs in the following Python memory allocator " "functions:" msgstr "" -#: c-api/memory.rst:298 +#: ../../src/Doc/c-api/memory.rst:298 msgid "" ":c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc`, :c:func:" "`PyMem_RawFree`" msgstr "" -#: c-api/memory.rst:300 +#: ../../src/Doc/c-api/memory.rst:300 msgid ":c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, :c:func:`PyMem_Free`" msgstr "" -#: c-api/memory.rst:301 +#: ../../src/Doc/c-api/memory.rst:301 msgid "" ":c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, :c:func:" "`PyObject_Free`" msgstr "" -#: c-api/memory.rst:304 +#: ../../src/Doc/c-api/memory.rst:304 msgid "" "Newly allocated memory is filled with the byte ``0xCB``, freed memory is " "filled with the byte ``0xDB``. Additional checks:" msgstr "" -#: c-api/memory.rst:307 +#: ../../src/Doc/c-api/memory.rst:307 msgid "" "detect API violations, ex: :c:func:`PyObject_Free` called on a buffer " "allocated by :c:func:`PyMem_Malloc`" msgstr "" -#: c-api/memory.rst:309 +#: ../../src/Doc/c-api/memory.rst:309 msgid "detect write before the start of the buffer (buffer underflow)" msgstr "" -#: c-api/memory.rst:310 +#: ../../src/Doc/c-api/memory.rst:310 msgid "detect write after the end of the buffer (buffer overflow)" msgstr "" -#: c-api/memory.rst:312 +#: ../../src/Doc/c-api/memory.rst:312 msgid "The function does nothing if Python is not compiled is debug mode." msgstr "" -#: c-api/memory.rst:316 +#: ../../src/Doc/c-api/memory.rst:316 msgid "Customize PyObject Arena Allocator" msgstr "" -#: c-api/memory.rst:318 +#: ../../src/Doc/c-api/memory.rst:318 msgid "" "Python has a *pymalloc* allocator for allocations smaller than 512 bytes. " "This allocator is optimized for small objects with a short lifetime. It uses " @@ -8990,68 +9038,68 @@ msgid "" "`PyObject_Malloc`." msgstr "" -#: c-api/memory.rst:325 +#: ../../src/Doc/c-api/memory.rst:325 msgid "The default arena allocator uses the following functions:" msgstr "" -#: c-api/memory.rst:327 +#: ../../src/Doc/c-api/memory.rst:327 msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows," msgstr "" -#: c-api/memory.rst:328 +#: ../../src/Doc/c-api/memory.rst:328 msgid ":c:func:`mmap` and :c:func:`munmap` if available," msgstr "" -#: c-api/memory.rst:329 +#: ../../src/Doc/c-api/memory.rst:329 msgid ":c:func:`malloc` and :c:func:`free` otherwise." msgstr "" -#: c-api/memory.rst:335 +#: ../../src/Doc/c-api/memory.rst:335 msgid "" "Structure used to describe an arena allocator. The structure has three " "fields:" msgstr "" -#: c-api/memory.rst:343 +#: ../../src/Doc/c-api/memory.rst:343 msgid "``void* alloc(void *ctx, size_t size)``" msgstr "" -#: c-api/memory.rst:343 +#: ../../src/Doc/c-api/memory.rst:343 msgid "allocate an arena of size bytes" msgstr "" -#: c-api/memory.rst:345 +#: ../../src/Doc/c-api/memory.rst:345 msgid "``void free(void *ctx, size_t size, void *ptr)``" msgstr "" -#: c-api/memory.rst:345 +#: ../../src/Doc/c-api/memory.rst:345 msgid "free an arena" msgstr "" -#: c-api/memory.rst:350 +#: ../../src/Doc/c-api/memory.rst:350 msgid "Get the arena allocator." msgstr "" -#: c-api/memory.rst:354 +#: ../../src/Doc/c-api/memory.rst:354 msgid "Set the arena allocator." msgstr "" -#: c-api/memory.rst:360 +#: ../../src/Doc/c-api/memory.rst:360 msgid "Examples" msgstr "" -#: c-api/memory.rst:362 +#: ../../src/Doc/c-api/memory.rst:362 msgid "" "Here is the example from section :ref:`memoryoverview`, rewritten so that " "the I/O buffer is allocated from the Python heap by using the first function " "set::" msgstr "" -#: c-api/memory.rst:375 +#: ../../src/Doc/c-api/memory.rst:375 msgid "The same code using the type-oriented function set::" msgstr "" -#: c-api/memory.rst:387 +#: ../../src/Doc/c-api/memory.rst:387 msgid "" "Note that in the two examples above, the buffer is always manipulated via " "functions belonging to the same set. Indeed, it is required to use the same " @@ -9061,24 +9109,24 @@ msgid "" "different allocators operating on different heaps. ::" msgstr "" -#: c-api/memory.rst:402 +#: ../../src/Doc/c-api/memory.rst:402 msgid "" "In addition to the functions aimed at handling raw memory blocks from the " "Python heap, objects in Python are allocated and released with :c:func:" "`PyObject_New`, :c:func:`PyObject_NewVar` and :c:func:`PyObject_Del`." msgstr "" -#: c-api/memory.rst:406 +#: ../../src/Doc/c-api/memory.rst:406 msgid "" "These will be explained in the next chapter on defining and implementing new " "object types in C." msgstr "" -#: c-api/memoryview.rst:9 +#: ../../src/Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" msgstr "Objets de type MemoryView" -#: c-api/memoryview.rst:11 +#: ../../src/Doc/c-api/memoryview.rst:11 #, fuzzy msgid "" "A :class:`memoryview` object exposes the C level :ref:`buffer interface " @@ -9086,7 +9134,7 @@ msgid "" "other object." msgstr "Un objet MemoryView expose l'interface tampon au niveau C à Python." -#: c-api/memoryview.rst:18 +#: ../../src/Doc/c-api/memoryview.rst:18 msgid "" "Create a memoryview object from an object that provides the buffer " "interface. If *obj* supports writable buffer exports, the memoryview object " @@ -9094,20 +9142,20 @@ msgid "" "the discretion of the exporter." msgstr "" -#: c-api/memoryview.rst:25 +#: ../../src/Doc/c-api/memoryview.rst:25 msgid "" "Create a memoryview object using *mem* as the underlying buffer. *flags* can " "be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." msgstr "" -#: c-api/memoryview.rst:32 +#: ../../src/Doc/c-api/memoryview.rst:32 msgid "" "Create a memoryview object wrapping the given buffer structure *view*. For " "simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the preferred " "function." msgstr "" -#: c-api/memoryview.rst:38 +#: ../../src/Doc/c-api/memoryview.rst:38 msgid "" "Create a memoryview object to a :term:`contiguous` chunk of memory (in " "either 'C' or 'F'ortran *order*) from an object that defines the buffer " @@ -9116,20 +9164,20 @@ msgid "" "new bytes object." msgstr "" -#: c-api/memoryview.rst:47 +#: ../../src/Doc/c-api/memoryview.rst:47 msgid "" "Return true if the object *obj* is a memoryview object. It is not currently " "allowed to create subclasses of :class:`memoryview`." msgstr "" -#: c-api/memoryview.rst:53 +#: ../../src/Doc/c-api/memoryview.rst:53 msgid "" "Return a pointer to the memoryview's private copy of the exporter's buffer. " "*mview* **must** be a memoryview instance; this macro doesn't check its " "type, you must do it yourself or you will risk crashes." msgstr "" -#: c-api/memoryview.rst:59 +#: ../../src/Doc/c-api/memoryview.rst:59 msgid "" "Return either a pointer to the exporting object that the memoryview is based " "on or *NULL* if the memoryview has been created by one of the functions :c:" @@ -9137,115 +9185,115 @@ msgid "" "**must** be a memoryview instance." msgstr "" -#: c-api/method.rst:6 +#: ../../src/Doc/c-api/method.rst:6 #, fuzzy msgid "Instance Method Objects" msgstr "Objets Exception" -#: c-api/method.rst:10 +#: ../../src/Doc/c-api/method.rst:10 msgid "" "An instance method is a wrapper for a :c:data:`PyCFunction` and the new way " "to bind a :c:data:`PyCFunction` to a class object. It replaces the former " "call ``PyMethod_New(func, NULL, class)``." msgstr "" -#: c-api/method.rst:17 +#: ../../src/Doc/c-api/method.rst:17 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python instance " "method type. It is not exposed to Python programs." msgstr "" -#: c-api/method.rst:23 +#: ../../src/Doc/c-api/method.rst:23 msgid "" "Return true if *o* is an instance method object (has type :c:data:" "`PyInstanceMethod_Type`). The parameter must not be *NULL*." msgstr "" -#: c-api/method.rst:29 +#: ../../src/Doc/c-api/method.rst:29 msgid "" "Return a new instance method object, with *func* being any callable object " "*func* is the function that will be called when the instance method is " "called." msgstr "" -#: c-api/method.rst:36 +#: ../../src/Doc/c-api/method.rst:36 msgid "Return the function object associated with the instance method *im*." msgstr "" -#: c-api/method.rst:41 +#: ../../src/Doc/c-api/method.rst:41 msgid "" "Macro version of :c:func:`PyInstanceMethod_Function` which avoids error " "checking." msgstr "" -#: c-api/method.rst:47 +#: ../../src/Doc/c-api/method.rst:47 msgid "Method Objects" msgstr "Les objets méthode" -#: c-api/method.rst:51 +#: ../../src/Doc/c-api/method.rst:51 msgid "" "Methods are bound function objects. Methods are always bound to an instance " "of an user-defined class. Unbound methods (methods bound to a class object) " "are no longer available." msgstr "" -#: c-api/method.rst:60 +#: ../../src/Doc/c-api/method.rst:60 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python method type. " "This is exposed to Python programs as ``types.MethodType``." msgstr "" -#: c-api/method.rst:66 +#: ../../src/Doc/c-api/method.rst:66 msgid "" "Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). " "The parameter must not be *NULL*." msgstr "" -#: c-api/method.rst:72 +#: ../../src/Doc/c-api/method.rst:72 msgid "" "Return a new method object, with *func* being any callable object and *self* " "the instance the method should be bound. *func* is the function that will be " "called when the method is called. *self* must not be *NULL*." msgstr "" -#: c-api/method.rst:79 +#: ../../src/Doc/c-api/method.rst:79 msgid "Return the function object associated with the method *meth*." msgstr "" -#: c-api/method.rst:84 +#: ../../src/Doc/c-api/method.rst:84 msgid "" "Macro version of :c:func:`PyMethod_Function` which avoids error checking." msgstr "" -#: c-api/method.rst:89 +#: ../../src/Doc/c-api/method.rst:89 msgid "Return the instance associated with the method *meth*." msgstr "" -#: c-api/method.rst:94 +#: ../../src/Doc/c-api/method.rst:94 msgid "Macro version of :c:func:`PyMethod_Self` which avoids error checking." msgstr "" -#: c-api/module.rst:6 +#: ../../src/Doc/c-api/module.rst:6 msgid "Module Objects" msgstr "" -#: c-api/module.rst:15 +#: ../../src/Doc/c-api/module.rst:15 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python module type. " "This is exposed to Python programs as ``types.ModuleType``." msgstr "" -#: c-api/module.rst:21 +#: ../../src/Doc/c-api/module.rst:21 msgid "Return true if *p* is a module object, or a subtype of a module object." msgstr "" -#: c-api/module.rst:26 +#: ../../src/Doc/c-api/module.rst:26 msgid "" "Return true if *p* is a module object, but not a subtype of :c:data:" "`PyModule_Type`." msgstr "" -#: c-api/module.rst:39 +#: ../../src/Doc/c-api/module.rst:39 msgid "" "Return a new module object with the :attr:`__name__` attribute set to " "*name*. The module's :attr:`__name__`, :attr:`__doc__`, :attr:`__package__`, " @@ -9254,17 +9302,17 @@ msgid "" "`__file__` attribute." msgstr "" -#: c-api/module.rst:47 +#: ../../src/Doc/c-api/module.rst:47 msgid ":attr:`__package__` and :attr:`__loader__` are set to ``None``." msgstr "" -#: c-api/module.rst:53 +#: ../../src/Doc/c-api/module.rst:53 msgid "" "Similar to :c:func:`PyImport_NewObject`, but the name is an UTF-8 encoded " "string instead of a Unicode object." msgstr "" -#: c-api/module.rst:61 +#: ../../src/Doc/c-api/module.rst:61 msgid "" "Return the dictionary object that implements *module*'s namespace; this " "object is the same as the :attr:`__dict__` attribute of the module object. " @@ -9273,33 +9321,33 @@ msgid "" "manipulate a module's :attr:`__dict__`." msgstr "" -#: c-api/module.rst:74 +#: ../../src/Doc/c-api/module.rst:74 msgid "" "Return *module*'s :attr:`__name__` value. If the module does not provide " "one, or if it is not a string, :exc:`SystemError` is raised and *NULL* is " "returned." msgstr "" -#: c-api/module.rst:82 +#: ../../src/Doc/c-api/module.rst:82 msgid "" "Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to " "``'utf-8'``." msgstr "" -#: c-api/module.rst:87 +#: ../../src/Doc/c-api/module.rst:87 msgid "" "Return the \"state\" of the module, that is, a pointer to the block of " "memory allocated at module creation time, or *NULL*. See :c:member:" "`PyModuleDef.m_size`." msgstr "" -#: c-api/module.rst:94 +#: ../../src/Doc/c-api/module.rst:94 msgid "" "Return a pointer to the :c:type:`PyModuleDef` struct from which the module " "was created, or *NULL* if the module wasn't created from a definition." msgstr "" -#: c-api/module.rst:104 +#: ../../src/Doc/c-api/module.rst:104 msgid "" "Return the name of the file from which *module* was loaded using *module*'s :" "attr:`__file__` attribute. If this is not defined, or if it is not a " @@ -9307,23 +9355,23 @@ msgid "" "a reference to a Unicode object." msgstr "" -#: c-api/module.rst:114 +#: ../../src/Doc/c-api/module.rst:114 msgid "" "Similar to :c:func:`PyModule_GetFilenameObject` but return the filename " "encoded to 'utf-8'." msgstr "" -#: c-api/module.rst:117 +#: ../../src/Doc/c-api/module.rst:117 msgid "" ":c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on " "unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." msgstr "" -#: c-api/module.rst:125 +#: ../../src/Doc/c-api/module.rst:125 msgid "Initializing C modules" msgstr "" -#: c-api/module.rst:127 +#: ../../src/Doc/c-api/module.rst:127 msgid "" "Modules objects are usually created from extension modules (shared libraries " "which export an initialization function), or compiled-in modules (where the " @@ -9331,7 +9379,7 @@ msgid "" "See :ref:`building` or :ref:`extending-with-embedding` for details." msgstr "" -#: c-api/module.rst:132 +#: ../../src/Doc/c-api/module.rst:132 msgid "" "The initialization function can either pass pass a module definition " "instance to :c:func:`PyModule_Create`, and return the resulting module " @@ -9339,48 +9387,48 @@ msgid "" "definition struct itself." msgstr "" -#: c-api/module.rst:138 +#: ../../src/Doc/c-api/module.rst:138 msgid "" "The module definition struct, which holds all information needed to create a " "module object. There is usually only one statically initialized variable of " "this type for each module." msgstr "" -#: c-api/module.rst:144 +#: ../../src/Doc/c-api/module.rst:144 msgid "Always initialize this member to :const:`PyModuleDef_HEAD_INIT`." msgstr "" -#: c-api/module.rst:148 +#: ../../src/Doc/c-api/module.rst:148 msgid "Name for the new module." msgstr "" -#: c-api/module.rst:152 +#: ../../src/Doc/c-api/module.rst:152 msgid "" "Docstring for the module; usually a docstring variable created with :c:func:" "`PyDoc_STRVAR` is used." msgstr "" -#: c-api/module.rst:157 +#: ../../src/Doc/c-api/module.rst:157 msgid "" "Module state may be kept in a per-module memory area that can be retrieved " "with :c:func:`PyModule_GetState`, rather than in static globals. This makes " "modules safe for use in multiple sub-interpreters." msgstr "" -#: c-api/module.rst:161 +#: ../../src/Doc/c-api/module.rst:161 msgid "" "This memory area is allocated based on *m_size* on module creation, and " "freed when the module object is deallocated, after the :c:member:`m_free` " "function has been called, if present." msgstr "" -#: c-api/module.rst:165 +#: ../../src/Doc/c-api/module.rst:165 msgid "" "Setting ``m_size`` to ``-1`` means that the module does not support sub-" "interpreters, because it has global state." msgstr "" -#: c-api/module.rst:168 +#: ../../src/Doc/c-api/module.rst:168 msgid "" "Setting it to a non-negative value means that the module can be re-" "initialized and specifies the additional amount of memory it requires for " @@ -9388,90 +9436,90 @@ msgid "" "initialization." msgstr "" -#: c-api/module.rst:173 +#: ../../src/Doc/c-api/module.rst:173 msgid "See :PEP:`3121` for more details." msgstr "" -#: c-api/module.rst:177 +#: ../../src/Doc/c-api/module.rst:177 msgid "" "A pointer to a table of module-level functions, described by :c:type:" "`PyMethodDef` values. Can be *NULL* if no functions are present." msgstr "" -#: c-api/module.rst:182 +#: ../../src/Doc/c-api/module.rst:182 msgid "" "An array of slot definitions for multi-phase initialization, terminated by a " "``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must " "be *NULL*." msgstr "" -#: c-api/module.rst:188 +#: ../../src/Doc/c-api/module.rst:188 msgid "" "Prior to version 3.5, this member was always set to *NULL*, and was defined " "as:" msgstr "" -#: c-api/module.rst:195 +#: ../../src/Doc/c-api/module.rst:195 msgid "" "A traversal function to call during GC traversal of the module object, or " "*NULL* if not needed." msgstr "" -#: c-api/module.rst:200 +#: ../../src/Doc/c-api/module.rst:200 msgid "" "A clear function to call during GC clearing of the module object, or *NULL* " "if not needed." msgstr "" -#: c-api/module.rst:205 +#: ../../src/Doc/c-api/module.rst:205 msgid "" "A function to call during deallocation of the module object, or *NULL* if " "not needed." msgstr "" -#: c-api/module.rst:209 +#: ../../src/Doc/c-api/module.rst:209 msgid "Single-phase initialization" msgstr "" -#: c-api/module.rst:211 +#: ../../src/Doc/c-api/module.rst:211 msgid "" "The module initialization function may create and return the module object " "directly. This is referred to as \"single-phase initialization\", and uses " "one of the following two module creation functions:" msgstr "" -#: c-api/module.rst:217 +#: ../../src/Doc/c-api/module.rst:217 msgid "" "Create a new module object, given the definition in *def*. This behaves " "like :c:func:`PyModule_Create2` with *module_api_version* set to :const:" "`PYTHON_API_VERSION`." msgstr "" -#: c-api/module.rst:224 +#: ../../src/Doc/c-api/module.rst:224 msgid "" "Create a new module object, given the definition in *def*, assuming the API " "version *module_api_version*. If that version does not match the version of " "the running interpreter, a :exc:`RuntimeWarning` is emitted." msgstr "" -#: c-api/module.rst:230 +#: ../../src/Doc/c-api/module.rst:230 msgid "" "Most uses of this function should be using :c:func:`PyModule_Create` " "instead; only use this if you are sure you need it." msgstr "" -#: c-api/module.rst:233 +#: ../../src/Doc/c-api/module.rst:233 msgid "" "Before it is returned from in the initialization function, the resulting " "module object is typically populated using functions like :c:func:" "`PyModule_AddObject`." msgstr "" -#: c-api/module.rst:239 +#: ../../src/Doc/c-api/module.rst:239 msgid "Multi-phase initialization" msgstr "" -#: c-api/module.rst:241 +#: ../../src/Doc/c-api/module.rst:241 msgid "" "An alternate way to specify extensions is to request \"multi-phase " "initialization\". Extension modules created this way behave more like Python " @@ -9481,7 +9529,7 @@ msgid "" "methods of classes." msgstr "" -#: c-api/module.rst:248 +#: ../../src/Doc/c-api/module.rst:248 msgid "" "Unlike modules created using single-phase initialization, these modules are " "not singletons: if the *sys.modules* entry is removed and the module is re-" @@ -9494,14 +9542,14 @@ msgid "" "or individual classes created with :c:func:`PyType_FromSpec`)." msgstr "" -#: c-api/module.rst:258 +#: ../../src/Doc/c-api/module.rst:258 msgid "" "All modules created using multi-phase initialization are expected to " "support :ref:`sub-interpreters `. Making sure " "multiple modules are independent is typically enough to achieve this." msgstr "" -#: c-api/module.rst:262 +#: ../../src/Doc/c-api/module.rst:262 msgid "" "To request multi-phase initialization, the initialization function " "(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :" @@ -9509,65 +9557,65 @@ msgid "" "instance must be initialized with the following function:" msgstr "" -#: c-api/module.rst:269 +#: ../../src/Doc/c-api/module.rst:269 msgid "" "Ensures a module definition is a properly initialized Python object that " "correctly reports its type and reference count." msgstr "" -#: c-api/module.rst:272 +#: ../../src/Doc/c-api/module.rst:272 msgid "Returns *def* cast to ``PyObject*``, or *NULL* if an error occurred." msgstr "" -#: c-api/module.rst:276 +#: ../../src/Doc/c-api/module.rst:276 msgid "" "The *m_slots* member of the module definition must point to an array of " "``PyModuleDef_Slot`` structures:" msgstr "" -#: c-api/module.rst:283 +#: ../../src/Doc/c-api/module.rst:283 msgid "A slot ID, chosen from the available values explained below." msgstr "" -#: c-api/module.rst:287 +#: ../../src/Doc/c-api/module.rst:287 msgid "Value of the slot, whose meaning depends on the slot ID." msgstr "" -#: c-api/module.rst:291 +#: ../../src/Doc/c-api/module.rst:291 msgid "The *m_slots* array must be terminated by a slot with id 0." msgstr "" -#: c-api/module.rst:293 +#: ../../src/Doc/c-api/module.rst:293 msgid "The available slot types are:" msgstr "" -#: c-api/module.rst:297 +#: ../../src/Doc/c-api/module.rst:297 msgid "" "Specifies a function that is called to create the module object itself. The " "*value* pointer of this slot must point to a function of the signature:" msgstr "" -#: c-api/module.rst:302 +#: ../../src/Doc/c-api/module.rst:302 msgid "" "The function receives a :py:class:`~importlib.machinery.ModuleSpec` " "instance, as defined in :PEP:`451`, and the module definition. It should " "return a new module object, or set an error and return *NULL*." msgstr "" -#: c-api/module.rst:307 +#: ../../src/Doc/c-api/module.rst:307 msgid "" "This function should be kept minimal. In particular, it should not call " "arbitrary Python code, as trying to import the same module again may result " "in an infinite loop." msgstr "" -#: c-api/module.rst:311 +#: ../../src/Doc/c-api/module.rst:311 msgid "" "Multiple ``Py_mod_create`` slots may not be specified in one module " "definition." msgstr "" -#: c-api/module.rst:314 +#: ../../src/Doc/c-api/module.rst:314 msgid "" "If ``Py_mod_create`` is not specified, the import machinery will create a " "normal module object using :c:func:`PyModule_New`. The name is taken from " @@ -9576,7 +9624,7 @@ msgid "" "through symlinks, all while sharing a single module definition." msgstr "" -#: c-api/module.rst:320 +#: ../../src/Doc/c-api/module.rst:320 msgid "" "There is no requirement for the returned object to be an instance of :c:type:" "`PyModule_Type`. Any type can be used, as long as it supports setting and " @@ -9586,7 +9634,7 @@ msgid "" "than ``Py_mod_create``." msgstr "" -#: c-api/module.rst:329 +#: ../../src/Doc/c-api/module.rst:329 msgid "" "Specifies a function that is called to *execute* the module. This is " "equivalent to executing the code of a Python module: typically, this " @@ -9594,21 +9642,21 @@ msgid "" "function is:" msgstr "" -#: c-api/module.rst:336 +#: ../../src/Doc/c-api/module.rst:336 msgid "" "If multiple ``Py_mod_exec`` slots are specified, they are processed in the " "order they appear in the *m_slots* array." msgstr "" -#: c-api/module.rst:339 +#: ../../src/Doc/c-api/module.rst:339 msgid "See :PEP:`489` for more details on multi-phase initialization." msgstr "" -#: c-api/module.rst:342 +#: ../../src/Doc/c-api/module.rst:342 msgid "Low-level module creation functions" msgstr "" -#: c-api/module.rst:344 +#: ../../src/Doc/c-api/module.rst:344 msgid "" "The following functions are called under the hood when using multi-phase " "initialization. They can be used directly, for example when creating module " @@ -9616,14 +9664,14 @@ msgid "" "``PyModule_ExecDef`` must be called to fully initialize a module." msgstr "" -#: c-api/module.rst:351 +#: ../../src/Doc/c-api/module.rst:351 msgid "" "Create a new module object, given the definition in *module* and the " "ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` " "with *module_api_version* set to :const:`PYTHON_API_VERSION`." msgstr "" -#: c-api/module.rst:359 +#: ../../src/Doc/c-api/module.rst:359 msgid "" "Create a new module object, given the definition in *module* and the " "ModuleSpec *spec*, assuming the API version *module_api_version*. If that " @@ -9631,24 +9679,24 @@ msgid "" "`RuntimeWarning` is emitted." msgstr "" -#: c-api/module.rst:366 +#: ../../src/Doc/c-api/module.rst:366 msgid "" "Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` " "instead; only use this if you are sure you need it." msgstr "" -#: c-api/module.rst:373 +#: ../../src/Doc/c-api/module.rst:373 msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." msgstr "" -#: c-api/module.rst:379 +#: ../../src/Doc/c-api/module.rst:379 msgid "" "Set the docstring for *module* to *docstring*. This function is called " "automatically when creating a module from ``PyModuleDef``, using either " "``PyModule_Create`` or ``PyModule_FromDefAndSpec``." msgstr "" -#: c-api/module.rst:388 +#: ../../src/Doc/c-api/module.rst:388 msgid "" "Add the functions from the *NULL* terminated *functions* array to *module*. " "Refer to the :c:type:`PyMethodDef` documentation for details on individual " @@ -9660,11 +9708,11 @@ msgid "" "``PyModule_FromDefAndSpec``." msgstr "" -#: c-api/module.rst:400 +#: ../../src/Doc/c-api/module.rst:400 msgid "Support functions" msgstr "" -#: c-api/module.rst:402 +#: ../../src/Doc/c-api/module.rst:402 msgid "" "The module initialization function (if using single phase initialization) or " "a function called from a module execution slot (if using multi-phase " @@ -9672,28 +9720,28 @@ msgid "" "module state:" msgstr "" -#: c-api/module.rst:409 +#: ../../src/Doc/c-api/module.rst:409 msgid "" "Add an object to *module* as *name*. This is a convenience function which " "can be used from the module's initialization function. This steals a " "reference to *value*. Return ``-1`` on error, ``0`` on success." msgstr "" -#: c-api/module.rst:415 +#: ../../src/Doc/c-api/module.rst:415 msgid "" "Add an integer constant to *module* as *name*. This convenience function " "can be used from the module's initialization function. Return ``-1`` on " "error, ``0`` on success." msgstr "" -#: c-api/module.rst:422 +#: ../../src/Doc/c-api/module.rst:422 msgid "" "Add a string constant to *module* as *name*. This convenience function can " "be used from the module's initialization function. The string *value* must " "be *NULL*-terminated. Return ``-1`` on error, ``0`` on success." msgstr "" -#: c-api/module.rst:429 +#: ../../src/Doc/c-api/module.rst:429 msgid "" "Add an int constant to *module*. The name and the value are taken from " "*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int " @@ -9701,29 +9749,29 @@ msgid "" "error, ``0`` on success." msgstr "" -#: c-api/module.rst:437 +#: ../../src/Doc/c-api/module.rst:437 msgid "Add a string constant to *module*." msgstr "" -#: c-api/module.rst:441 +#: ../../src/Doc/c-api/module.rst:441 msgid "Module lookup" msgstr "" -#: c-api/module.rst:443 +#: ../../src/Doc/c-api/module.rst:443 msgid "" "Single-phase initialization creates singleton modules that can be looked up " "in the context of the current interpreter. This allows the module object to " "be retrieved later with only a reference to the module definition." msgstr "" -#: c-api/module.rst:447 +#: ../../src/Doc/c-api/module.rst:447 msgid "" "These functions will not work on modules created using multi-phase " "initialization, since multiple such modules can be created from a single " "definition." msgstr "" -#: c-api/module.rst:452 +#: ../../src/Doc/c-api/module.rst:452 msgid "" "Returns the module object that was created from *def* for the current " "interpreter. This method requires that the module object has been attached " @@ -9732,27 +9780,27 @@ msgid "" "to the interpreter state yet, it returns *NULL*." msgstr "" -#: c-api/module.rst:459 +#: ../../src/Doc/c-api/module.rst:459 msgid "" "Attaches the module object passed to the function to the interpreter state. " "This allows the module object to be accessible via :c:func:" "`PyState_FindModule`." msgstr "" -#: c-api/module.rst:462 +#: ../../src/Doc/c-api/module.rst:462 msgid "Only effective on modules created using single-phase initialization." msgstr "" -#: c-api/module.rst:468 +#: ../../src/Doc/c-api/module.rst:468 msgid "" "Removes the module object created from *def* from the interpreter state." msgstr "" -#: c-api/none.rst:6 +#: ../../src/Doc/c-api/none.rst:6 msgid "The None Object" msgstr "" -#: c-api/none.rst:10 +#: ../../src/Doc/c-api/none.rst:10 msgid "" "Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in " "the Python/C API. Since ``None`` is a singleton, testing for object " @@ -9760,60 +9808,60 @@ msgid "" "`PyNone_Check` function for the same reason." msgstr "" -#: c-api/none.rst:18 +#: ../../src/Doc/c-api/none.rst:18 msgid "" "The Python ``None`` object, denoting lack of value. This object has no " "methods. It needs to be treated just like any other object with respect to " "reference counts." msgstr "" -#: c-api/none.rst:25 +#: ../../src/Doc/c-api/none.rst:25 msgid "" "Properly handle returning :c:data:`Py_None` from within a C function (that " "is, increment the reference count of None and return it.)" msgstr "" -#: c-api/number.rst:6 +#: ../../src/Doc/c-api/number.rst:6 msgid "Number Protocol" msgstr "" -#: c-api/number.rst:11 +#: ../../src/Doc/c-api/number.rst:11 msgid "" "Returns ``1`` if the object *o* provides numeric protocols, and false " "otherwise. This function always succeeds." msgstr "" -#: c-api/number.rst:17 +#: ../../src/Doc/c-api/number.rst:17 msgid "" "Returns the result of adding *o1* and *o2*, or *NULL* on failure. This is " "the equivalent of the Python expression ``o1 + o2``." msgstr "" -#: c-api/number.rst:23 +#: ../../src/Doc/c-api/number.rst:23 msgid "" "Returns the result of subtracting *o2* from *o1*, or *NULL* on failure. " "This is the equivalent of the Python expression ``o1 - o2``." msgstr "" -#: c-api/number.rst:29 +#: ../../src/Doc/c-api/number.rst:29 msgid "" "Returns the result of multiplying *o1* and *o2*, or *NULL* on failure. This " "is the equivalent of the Python expression ``o1 * o2``." msgstr "" -#: c-api/number.rst:35 +#: ../../src/Doc/c-api/number.rst:35 msgid "" "Returns the result of matrix multiplication on *o1* and *o2*, or *NULL* on " "failure. This is the equivalent of the Python expression ``o1 @ o2``." msgstr "" -#: c-api/number.rst:43 +#: ../../src/Doc/c-api/number.rst:43 msgid "" "Return the floor of *o1* divided by *o2*, or *NULL* on failure. This is " "equivalent to the \"classic\" division of integers." msgstr "" -#: c-api/number.rst:49 +#: ../../src/Doc/c-api/number.rst:49 msgid "" "Return a reasonable approximation for the mathematical value of *o1* divided " "by *o2*, or *NULL* on failure. The return value is \"approximate\" because " @@ -9822,19 +9870,19 @@ msgid "" "point value when passed two integers." msgstr "" -#: c-api/number.rst:58 +#: ../../src/Doc/c-api/number.rst:58 msgid "" "Returns the remainder of dividing *o1* by *o2*, or *NULL* on failure. This " "is the equivalent of the Python expression ``o1 % o2``." msgstr "" -#: c-api/number.rst:66 +#: ../../src/Doc/c-api/number.rst:66 msgid "" "See the built-in function :func:`divmod`. Returns *NULL* on failure. This " "is the equivalent of the Python expression ``divmod(o1, o2)``." msgstr "" -#: c-api/number.rst:74 +#: ../../src/Doc/c-api/number.rst:74 msgid "" "See the built-in function :func:`pow`. Returns *NULL* on failure. This is " "the equivalent of the Python expression ``pow(o1, o2, o3)``, where *o3* is " @@ -9842,96 +9890,96 @@ msgid "" "(passing *NULL* for *o3* would cause an illegal memory access)." msgstr "" -#: c-api/number.rst:82 +#: ../../src/Doc/c-api/number.rst:82 msgid "" "Returns the negation of *o* on success, or *NULL* on failure. This is the " "equivalent of the Python expression ``-o``." msgstr "" -#: c-api/number.rst:88 +#: ../../src/Doc/c-api/number.rst:88 msgid "" "Returns *o* on success, or *NULL* on failure. This is the equivalent of the " "Python expression ``+o``." msgstr "" -#: c-api/number.rst:96 +#: ../../src/Doc/c-api/number.rst:96 msgid "" "Returns the absolute value of *o*, or *NULL* on failure. This is the " "equivalent of the Python expression ``abs(o)``." msgstr "" -#: c-api/number.rst:102 +#: ../../src/Doc/c-api/number.rst:102 msgid "" "Returns the bitwise negation of *o* on success, or *NULL* on failure. This " "is the equivalent of the Python expression ``~o``." msgstr "" -#: c-api/number.rst:108 +#: ../../src/Doc/c-api/number.rst:108 msgid "" "Returns the result of left shifting *o1* by *o2* on success, or *NULL* on " "failure. This is the equivalent of the Python expression ``o1 << o2``." msgstr "" -#: c-api/number.rst:114 +#: ../../src/Doc/c-api/number.rst:114 msgid "" "Returns the result of right shifting *o1* by *o2* on success, or *NULL* on " "failure. This is the equivalent of the Python expression ``o1 >> o2``." msgstr "" -#: c-api/number.rst:120 +#: ../../src/Doc/c-api/number.rst:120 msgid "" "Returns the \"bitwise and\" of *o1* and *o2* on success and *NULL* on " "failure. This is the equivalent of the Python expression ``o1 & o2``." msgstr "" -#: c-api/number.rst:126 +#: ../../src/Doc/c-api/number.rst:126 msgid "" "Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or *NULL* " "on failure. This is the equivalent of the Python expression ``o1 ^ o2``." msgstr "" -#: c-api/number.rst:132 +#: ../../src/Doc/c-api/number.rst:132 msgid "" "Returns the \"bitwise or\" of *o1* and *o2* on success, or *NULL* on " "failure. This is the equivalent of the Python expression ``o1 | o2``." msgstr "" -#: c-api/number.rst:138 +#: ../../src/Doc/c-api/number.rst:138 msgid "" "Returns the result of adding *o1* and *o2*, or *NULL* on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 += o2``." msgstr "" -#: c-api/number.rst:145 +#: ../../src/Doc/c-api/number.rst:145 msgid "" "Returns the result of subtracting *o2* from *o1*, or *NULL* on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 -= o2``." msgstr "" -#: c-api/number.rst:152 +#: ../../src/Doc/c-api/number.rst:152 msgid "" "Returns the result of multiplying *o1* and *o2*, or *NULL* on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 *= o2``." msgstr "" -#: c-api/number.rst:159 +#: ../../src/Doc/c-api/number.rst:159 msgid "" "Returns the result of matrix multiplication on *o1* and *o2*, or *NULL* on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 @= o2``." msgstr "" -#: c-api/number.rst:168 +#: ../../src/Doc/c-api/number.rst:168 msgid "" "Returns the mathematical floor of dividing *o1* by *o2*, or *NULL* on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 //= o2``." msgstr "" -#: c-api/number.rst:175 +#: ../../src/Doc/c-api/number.rst:175 msgid "" "Return a reasonable approximation for the mathematical value of *o1* divided " "by *o2*, or *NULL* on failure. The return value is \"approximate\" because " @@ -9941,14 +9989,14 @@ msgid "" "*o1* supports it." msgstr "" -#: c-api/number.rst:184 +#: ../../src/Doc/c-api/number.rst:184 msgid "" "Returns the remainder of dividing *o1* by *o2*, or *NULL* on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 %= o2``." msgstr "" -#: c-api/number.rst:193 +#: ../../src/Doc/c-api/number.rst:193 msgid "" "See the built-in function :func:`pow`. Returns *NULL* on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " @@ -9958,60 +10006,60 @@ msgid "" "illegal memory access)." msgstr "" -#: c-api/number.rst:202 +#: ../../src/Doc/c-api/number.rst:202 msgid "" "Returns the result of left shifting *o1* by *o2* on success, or *NULL* on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 <<= o2``." msgstr "" -#: c-api/number.rst:209 +#: ../../src/Doc/c-api/number.rst:209 msgid "" "Returns the result of right shifting *o1* by *o2* on success, or *NULL* on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 >>= o2``." msgstr "" -#: c-api/number.rst:216 +#: ../../src/Doc/c-api/number.rst:216 msgid "" "Returns the \"bitwise and\" of *o1* and *o2* on success and *NULL* on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 &= o2``." msgstr "" -#: c-api/number.rst:223 +#: ../../src/Doc/c-api/number.rst:223 msgid "" "Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or *NULL* " "on failure. The operation is done *in-place* when *o1* supports it. This " "is the equivalent of the Python statement ``o1 ^= o2``." msgstr "" -#: c-api/number.rst:230 +#: ../../src/Doc/c-api/number.rst:230 msgid "" "Returns the \"bitwise or\" of *o1* and *o2* on success, or *NULL* on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 |= o2``." msgstr "" -#: c-api/number.rst:239 +#: ../../src/Doc/c-api/number.rst:239 msgid "" "Returns the *o* converted to an integer object on success, or *NULL* on " "failure. This is the equivalent of the Python expression ``int(o)``." msgstr "" -#: c-api/number.rst:247 +#: ../../src/Doc/c-api/number.rst:247 msgid "" "Returns the *o* converted to a float object on success, or *NULL* on " "failure. This is the equivalent of the Python expression ``float(o)``." msgstr "" -#: c-api/number.rst:253 +#: ../../src/Doc/c-api/number.rst:253 msgid "" "Returns the *o* converted to a Python int on success or *NULL* with a :exc:" "`TypeError` exception raised on failure." msgstr "" -#: c-api/number.rst:259 +#: ../../src/Doc/c-api/number.rst:259 msgid "" "Returns the integer *n* converted to base *base* as a string. The *base* " "argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned " @@ -10020,13 +10068,13 @@ msgid "" "`PyNumber_Index` first." msgstr "" -#: c-api/number.rst:268 +#: ../../src/Doc/c-api/number.rst:268 msgid "" "Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an " "integer. If the call fails, an exception is raised and -1 is returned." msgstr "" -#: c-api/number.rst:271 +#: ../../src/Doc/c-api/number.rst:271 msgid "" "If *o* can be converted to a Python int but the attempt to convert to a " "Py_ssize_t value would raise an :exc:`OverflowError`, then the *exc* " @@ -10036,17 +10084,17 @@ msgid "" "negative integer or *PY_SSIZE_T_MAX* for a positive integer." msgstr "" -#: c-api/number.rst:281 +#: ../../src/Doc/c-api/number.rst:281 msgid "" "Returns True if *o* is an index integer (has the nb_index slot of the " "tp_as_number structure filled in)." msgstr "" -#: c-api/objbuffer.rst:4 +#: ../../src/Doc/c-api/objbuffer.rst:4 msgid "Old Buffer Protocol" msgstr "" -#: c-api/objbuffer.rst:8 +#: ../../src/Doc/c-api/objbuffer.rst:8 msgid "" "These functions were part of the \"old buffer protocol\" API in Python 2. In " "Python 3, this protocol doesn't exist anymore but the functions are still " @@ -10056,7 +10104,7 @@ msgid "" "exported." msgstr "" -#: c-api/objbuffer.rst:15 +#: ../../src/Doc/c-api/objbuffer.rst:15 msgid "" "Therefore, it is recommended that you call :c:func:`PyObject_GetBuffer` (or " "the ``y*`` or ``w*`` :ref:`format codes ` with the :c:func:" @@ -10064,7 +10112,7 @@ msgid "" "and :c:func:`PyBuffer_Release` when the buffer view can be released." msgstr "" -#: c-api/objbuffer.rst:23 +#: ../../src/Doc/c-api/objbuffer.rst:23 msgid "" "Returns a pointer to a read-only memory location usable as character-based " "input. The *obj* argument must support the single-segment character buffer " @@ -10073,7 +10121,7 @@ msgid "" "`TypeError` on error." msgstr "" -#: c-api/objbuffer.rst:32 +#: ../../src/Doc/c-api/objbuffer.rst:32 msgid "" "Returns a pointer to a read-only memory location containing arbitrary data. " "The *obj* argument must support the single-segment readable buffer " @@ -10082,13 +10130,13 @@ msgid "" "`TypeError` on error." msgstr "" -#: c-api/objbuffer.rst:41 +#: ../../src/Doc/c-api/objbuffer.rst:41 msgid "" "Returns ``1`` if *o* supports the single-segment readable buffer interface. " "Otherwise returns ``0``." msgstr "" -#: c-api/objbuffer.rst:47 +#: ../../src/Doc/c-api/objbuffer.rst:47 msgid "" "Returns a pointer to a writable memory location. The *obj* argument must " "support the single-segment, character buffer interface. On success, returns " @@ -10096,24 +10144,24 @@ msgid "" "length. Returns ``-1`` and sets a :exc:`TypeError` on error." msgstr "" -#: c-api/object.rst:6 +#: ../../src/Doc/c-api/object.rst:6 msgid "Object Protocol" msgstr "" -#: c-api/object.rst:11 +#: ../../src/Doc/c-api/object.rst:11 msgid "" "The ``NotImplemented`` singleton, used to signal that an operation is not " "implemented for the given type combination." msgstr "" -#: c-api/object.rst:17 +#: ../../src/Doc/c-api/object.rst:17 msgid "" "Properly handle returning :c:data:`Py_NotImplemented` from within a C " "function (that is, increment the reference count of NotImplemented and " "return it)." msgstr "" -#: c-api/object.rst:24 +#: ../../src/Doc/c-api/object.rst:24 msgid "" "Print an object *o*, on file *fp*. Returns ``-1`` on error. The flags " "argument is used to enable certain printing options. The only option " @@ -10121,28 +10169,28 @@ msgid "" "the object is written instead of the :func:`repr`." msgstr "" -#: c-api/object.rst:32 c-api/object.rst:39 +#: ../../src/Doc/c-api/object.rst:32 ../../src/Doc/c-api/object.rst:39 msgid "" "Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. " "This is equivalent to the Python expression ``hasattr(o, attr_name)``. This " "function always succeeds." msgstr "" -#: c-api/object.rst:46 +#: ../../src/Doc/c-api/object.rst:46 msgid "" "Retrieve an attribute named *attr_name* from object *o*. Returns the " "attribute value on success, or *NULL* on failure. This is the equivalent of " "the Python expression ``o.attr_name``." msgstr "" -#: c-api/object.rst:53 +#: ../../src/Doc/c-api/object.rst:53 msgid "" "Retrieve an attribute named *attr_name* from object *o*. Returns the " "attribute value on success, or *NULL* on failure. This is the equivalent of " "the Python expression ``o.attr_name``." msgstr "" -#: c-api/object.rst:60 +#: ../../src/Doc/c-api/object.rst:60 msgid "" "Generic attribute getter function that is meant to be put into a type " "object's ``tp_getattro`` slot. It looks for a descriptor in the dictionary " @@ -10152,26 +10200,26 @@ msgid "" "descriptors don't. Otherwise, an :exc:`AttributeError` is raised." msgstr "" -#: c-api/object.rst:70 c-api/object.rst:81 +#: ../../src/Doc/c-api/object.rst:70 ../../src/Doc/c-api/object.rst:81 msgid "" "Set the value of the attribute named *attr_name*, for object *o*, to the " "value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on " "success. This is the equivalent of the Python statement ``o.attr_name = v``." msgstr "" -#: c-api/object.rst:75 +#: ../../src/Doc/c-api/object.rst:75 msgid "" "If *v* is *NULL*, the attribute is deleted, however this feature is " "deprecated in favour of using :c:func:`PyObject_DelAttr`." msgstr "" -#: c-api/object.rst:86 +#: ../../src/Doc/c-api/object.rst:86 msgid "" "If *v* is *NULL*, the attribute is deleted, however this feature is " "deprecated in favour of using :c:func:`PyObject_DelAttrString`." msgstr "" -#: c-api/object.rst:92 +#: ../../src/Doc/c-api/object.rst:92 msgid "" "Generic attribute setter and deleter function that is meant to be put into a " "type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a " @@ -10183,25 +10231,25 @@ msgid "" "returned." msgstr "" -#: c-api/object.rst:104 c-api/object.rst:110 +#: ../../src/Doc/c-api/object.rst:104 ../../src/Doc/c-api/object.rst:110 msgid "" "Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on " "failure. This is the equivalent of the Python statement ``del o.attr_name``." msgstr "" -#: c-api/object.rst:116 +#: ../../src/Doc/c-api/object.rst:116 msgid "" "A generic implementation for the getter of a ``__dict__`` descriptor. It " "creates the dictionary if necessary." msgstr "" -#: c-api/object.rst:124 +#: ../../src/Doc/c-api/object.rst:124 msgid "" "A generic implementation for the setter of a ``__dict__`` descriptor. This " "implementation does not allow the dictionary to be deleted." msgstr "" -#: c-api/object.rst:132 +#: ../../src/Doc/c-api/object.rst:132 msgid "" "Compare the values of *o1* and *o2* using the operation specified by *opid*, " "which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" @@ -10212,7 +10260,7 @@ msgid "" "failure." msgstr "" -#: c-api/object.rst:142 +#: ../../src/Doc/c-api/object.rst:142 msgid "" "Compare the values of *o1* and *o2* using the operation specified by *opid*, " "which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" @@ -10223,26 +10271,27 @@ msgid "" "to *opid*." msgstr "" -#: c-api/object.rst:151 +#: ../../src/Doc/c-api/object.rst:151 msgid "" "If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` " "will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`." msgstr "" -#: c-api/object.rst:158 +#: ../../src/Doc/c-api/object.rst:158 msgid "" "Compute a string representation of object *o*. Returns the string " "representation on success, *NULL* on failure. This is the equivalent of the " "Python expression ``repr(o)``. Called by the :func:`repr` built-in function." msgstr "" -#: c-api/object.rst:162 c-api/object.rst:186 c-api/veryhigh.rst:325 +#: ../../src/Doc/c-api/object.rst:162 ../../src/Doc/c-api/object.rst:186 +#: ../../src/Doc/c-api/veryhigh.rst:325 msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." msgstr "" -#: c-api/object.rst:170 +#: ../../src/Doc/c-api/object.rst:170 msgid "" "As :c:func:`PyObject_Repr`, compute a string representation of object *o*, " "but escape the non-ASCII characters in the string returned by :c:func:" @@ -10251,7 +10300,7 @@ msgid "" "Called by the :func:`ascii` built-in function." msgstr "" -#: c-api/object.rst:181 +#: ../../src/Doc/c-api/object.rst:181 msgid "" "Compute a string representation of object *o*. Returns the string " "representation on success, *NULL* on failure. This is the equivalent of the " @@ -10259,7 +10308,7 @@ msgid "" "and, therefore, by the :func:`print` function." msgstr "" -#: c-api/object.rst:194 +#: ../../src/Doc/c-api/object.rst:194 msgid "" "Compute a bytes representation of object *o*. *NULL* is returned on failure " "and a bytes object on success. This is equivalent to the Python expression " @@ -10267,20 +10316,20 @@ msgid "" "is raised when *o* is an integer instead of a zero-initialized bytes object." msgstr "" -#: c-api/object.rst:203 +#: ../../src/Doc/c-api/object.rst:203 msgid "" "Return ``1`` if the class *derived* is identical to or derived from the " "class *cls*, otherwise return ``0``. In case of an error, return ``-1``." msgstr "" -#: c-api/object.rst:206 c-api/object.rst:225 +#: ../../src/Doc/c-api/object.rst:206 ../../src/Doc/c-api/object.rst:225 msgid "" "If *cls* is a tuple, the check will be done against every entry in *cls*. " "The result will be ``1`` when at least one of the checks returns ``1``, " "otherwise it will be ``0``." msgstr "" -#: c-api/object.rst:210 +#: ../../src/Doc/c-api/object.rst:210 msgid "" "If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " @@ -10288,46 +10337,46 @@ msgid "" "e. contained in ``cls.__mro__``." msgstr "" -#: c-api/object.rst:215 +#: ../../src/Doc/c-api/object.rst:215 msgid "" "Normally only class objects, i.e. instances of :class:`type` or a derived " "class, are considered classes. However, objects can override this by having " "a :attr:`__bases__` attribute (which must be a tuple of base classes)." msgstr "" -#: c-api/object.rst:222 +#: ../../src/Doc/c-api/object.rst:222 msgid "" "Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " "*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." msgstr "" -#: c-api/object.rst:229 +#: ../../src/Doc/c-api/object.rst:229 msgid "" "If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " "*inst* is an instance of *cls* if its class is a subclass of *cls*." msgstr "" -#: c-api/object.rst:233 +#: ../../src/Doc/c-api/object.rst:233 msgid "" "An instance *inst* can override what is considered its class by having a :" "attr:`__class__` attribute." msgstr "" -#: c-api/object.rst:236 +#: ../../src/Doc/c-api/object.rst:236 msgid "" "An object *cls* can override if it is considered a class, and what its base " "classes are, by having a :attr:`__bases__` attribute (which must be a tuple " "of base classes)." msgstr "" -#: c-api/object.rst:243 +#: ../../src/Doc/c-api/object.rst:243 msgid "" "Determine if the object *o* is callable. Return ``1`` if the object is " "callable and ``0`` otherwise. This function always succeeds." msgstr "" -#: c-api/object.rst:249 +#: ../../src/Doc/c-api/object.rst:249 msgid "" "Call a callable Python object *callable_object*, with arguments given by the " "tuple *args*, and named arguments given by the dictionary *kw*. If no named " @@ -10337,7 +10386,7 @@ msgid "" "expression ``callable_object(*args, **kw)``." msgstr "" -#: c-api/object.rst:259 +#: ../../src/Doc/c-api/object.rst:259 msgid "" "Call a callable Python object *callable_object*, with arguments given by the " "tuple *args*. If no arguments are needed, then *args* may be *NULL*. " @@ -10345,7 +10394,7 @@ msgid "" "the equivalent of the Python expression ``callable_object(*args)``." msgstr "" -#: c-api/object.rst:267 +#: ../../src/Doc/c-api/object.rst:267 msgid "" "Call a callable Python object *callable*, with a variable number of C " "arguments. The C arguments are described using a :c:func:`Py_BuildValue` " @@ -10356,11 +10405,11 @@ msgid "" "args, :c:func:`PyObject_CallFunctionObjArgs` is a faster alternative." msgstr "" -#: c-api/object.rst:275 +#: ../../src/Doc/c-api/object.rst:275 msgid "The type of *format* was changed from ``char *``." msgstr "" -#: c-api/object.rst:281 +#: ../../src/Doc/c-api/object.rst:281 msgid "" "Call the method named *method* of object *o* with a variable number of C " "arguments. The C arguments are described by a :c:func:`Py_BuildValue` " @@ -10371,11 +10420,11 @@ msgid "" "\\*` args, :c:func:`PyObject_CallMethodObjArgs` is a faster alternative." msgstr "" -#: c-api/object.rst:289 +#: ../../src/Doc/c-api/object.rst:289 msgid "The types of *method* and *format* were changed from ``char *``." msgstr "" -#: c-api/object.rst:295 +#: ../../src/Doc/c-api/object.rst:295 msgid "" "Call a callable Python object *callable*, with a variable number of :c:type:" "`PyObject\\*` arguments. The arguments are provided as a variable number of " @@ -10383,7 +10432,7 @@ msgid "" "*NULL* on failure." msgstr "" -#: c-api/object.rst:303 +#: ../../src/Doc/c-api/object.rst:303 msgid "" "Calls a method of the object *o*, where the name of the method is given as a " "Python string object in *name*. It is called with a variable number of :c:" @@ -10392,19 +10441,19 @@ msgid "" "success, or *NULL* on failure." msgstr "" -#: c-api/object.rst:314 +#: ../../src/Doc/c-api/object.rst:314 msgid "" "Compute and return the hash value of an object *o*. On failure, return " "``-1``. This is the equivalent of the Python expression ``hash(o)``." msgstr "" -#: c-api/object.rst:317 +#: ../../src/Doc/c-api/object.rst:317 msgid "" "The return type is now Py_hash_t. This is a signed integer the same size as " "Py_ssize_t." msgstr "" -#: c-api/object.rst:324 +#: ../../src/Doc/c-api/object.rst:324 msgid "" "Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and " "return ``-1``. This function receives special treatment when stored in a " @@ -10412,21 +10461,21 @@ msgid "" "that it is not hashable." msgstr "" -#: c-api/object.rst:332 +#: ../../src/Doc/c-api/object.rst:332 msgid "" "Returns ``1`` if the object *o* is considered to be true, and ``0`` " "otherwise. This is equivalent to the Python expression ``not not o``. On " "failure, return ``-1``." msgstr "" -#: c-api/object.rst:339 +#: ../../src/Doc/c-api/object.rst:339 msgid "" "Returns ``0`` if the object *o* is considered to be true, and ``1`` " "otherwise. This is equivalent to the Python expression ``not o``. On " "failure, return ``-1``." msgstr "" -#: c-api/object.rst:348 +#: ../../src/Doc/c-api/object.rst:348 msgid "" "When *o* is non-*NULL*, returns a type object corresponding to the object " "type of object *o*. On failure, raises :exc:`SystemError` and returns " @@ -10437,13 +10486,13 @@ msgid "" "except when the incremented reference count is needed." msgstr "" -#: c-api/object.rst:359 +#: ../../src/Doc/c-api/object.rst:359 msgid "" "Return true if the object *o* is of type *type* or a subtype of *type*. " "Both parameters must be non-*NULL*." msgstr "" -#: c-api/object.rst:368 +#: ../../src/Doc/c-api/object.rst:368 msgid "" "Return the length of object *o*. If the object *o* provides either the " "sequence and mapping protocols, the sequence length is returned. On error, " @@ -10451,7 +10500,7 @@ msgid "" "``len(o)``." msgstr "" -#: c-api/object.rst:375 +#: ../../src/Doc/c-api/object.rst:375 msgid "" "Return an estimated length for the object *o*. First try to return its " "actual length, then an estimate using :meth:`~object.__length_hint__`, and " @@ -10459,20 +10508,20 @@ msgid "" "equivalent to the Python expression ``operator.length_hint(o, default)``." msgstr "" -#: c-api/object.rst:391 +#: ../../src/Doc/c-api/object.rst:391 msgid "" "Map the object *key* to the value *v*. Raise an exception and return ``-1`` " "on failure; return ``0`` on success. This is the equivalent of the Python " "statement ``o[key] = v``." msgstr "" -#: c-api/object.rst:398 +#: ../../src/Doc/c-api/object.rst:398 msgid "" "Delete the mapping for *key* from *o*. Returns ``-1`` on failure. This is " "the equivalent of the Python statement ``del o[key]``." msgstr "" -#: c-api/object.rst:404 +#: ../../src/Doc/c-api/object.rst:404 msgid "" "This is equivalent to the Python expression ``dir(o)``, returning a " "(possibly empty) list of strings appropriate for the object argument, or " @@ -10482,7 +10531,7 @@ msgid "" "`PyErr_Occurred` will return false." msgstr "" -#: c-api/object.rst:413 +#: ../../src/Doc/c-api/object.rst:413 msgid "" "This is equivalent to the Python expression ``iter(o)``. It returns a new " "iterator for the object argument, or the object itself if the object is " @@ -10490,39 +10539,39 @@ msgid "" "object cannot be iterated." msgstr "" -#: c-api/objimpl.rst:7 +#: ../../src/Doc/c-api/objimpl.rst:7 msgid "Object Implementation Support" msgstr "" -#: c-api/objimpl.rst:9 +#: ../../src/Doc/c-api/objimpl.rst:9 msgid "" "This chapter describes the functions, types, and macros used when defining " "new object types." msgstr "" -#: c-api/refcounting.rst:8 +#: ../../src/Doc/c-api/refcounting.rst:8 msgid "Reference Counting" msgstr "" -#: c-api/refcounting.rst:10 +#: ../../src/Doc/c-api/refcounting.rst:10 msgid "" "The macros in this section are used for managing reference counts of Python " "objects." msgstr "" -#: c-api/refcounting.rst:16 +#: ../../src/Doc/c-api/refcounting.rst:16 msgid "" "Increment the reference count for object *o*. The object must not be " "*NULL*; if you aren't sure that it isn't *NULL*, use :c:func:`Py_XINCREF`." msgstr "" -#: c-api/refcounting.rst:22 +#: ../../src/Doc/c-api/refcounting.rst:22 msgid "" "Increment the reference count for object *o*. The object may be *NULL*, in " "which case the macro has no effect." msgstr "" -#: c-api/refcounting.rst:28 +#: ../../src/Doc/c-api/refcounting.rst:28 msgid "" "Decrement the reference count for object *o*. The object must not be " "*NULL*; if you aren't sure that it isn't *NULL*, use :c:func:`Py_XDECREF`. " @@ -10530,7 +10579,7 @@ msgid "" "function (which must not be *NULL*) is invoked." msgstr "" -#: c-api/refcounting.rst:35 +#: ../../src/Doc/c-api/refcounting.rst:35 msgid "" "The deallocation function can cause arbitrary Python code to be invoked (e." "g. when a class instance with a :meth:`__del__` method is deallocated). " @@ -10543,14 +10592,14 @@ msgid "" "temporary variable." msgstr "" -#: c-api/refcounting.rst:47 +#: ../../src/Doc/c-api/refcounting.rst:47 msgid "" "Decrement the reference count for object *o*. The object may be *NULL*, in " "which case the macro has no effect; otherwise the effect is the same as for :" "c:func:`Py_DECREF`, and the same warning applies." msgstr "" -#: c-api/refcounting.rst:54 +#: ../../src/Doc/c-api/refcounting.rst:54 msgid "" "Decrement the reference count for object *o*. The object may be *NULL*, in " "which case the macro has no effect; otherwise the effect is the same as for :" @@ -10560,13 +10609,13 @@ msgid "" "argument to *NULL* before decrementing its reference count." msgstr "" -#: c-api/refcounting.rst:61 +#: ../../src/Doc/c-api/refcounting.rst:61 msgid "" "It is a good idea to use this macro whenever decrementing the value of a " "variable that might be traversed during garbage collection." msgstr "" -#: c-api/refcounting.rst:65 +#: ../../src/Doc/c-api/refcounting.rst:65 msgid "" "The following functions are for runtime dynamic embedding of Python: " "``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply " @@ -10574,52 +10623,52 @@ msgid "" "respectively." msgstr "" -#: c-api/refcounting.rst:70 +#: ../../src/Doc/c-api/refcounting.rst:70 msgid "" "The following functions or macros are only for use within the interpreter " "core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:" "`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`." msgstr "" -#: c-api/reflection.rst:6 +#: ../../src/Doc/c-api/reflection.rst:6 msgid "Reflection" msgstr "" -#: c-api/reflection.rst:10 +#: ../../src/Doc/c-api/reflection.rst:10 msgid "" "Return a dictionary of the builtins in the current execution frame, or the " "interpreter of the thread state if no frame is currently executing." msgstr "" -#: c-api/reflection.rst:16 +#: ../../src/Doc/c-api/reflection.rst:16 msgid "" "Return a dictionary of the local variables in the current execution frame, " "or *NULL* if no frame is currently executing." msgstr "" -#: c-api/reflection.rst:22 +#: ../../src/Doc/c-api/reflection.rst:22 msgid "" "Return a dictionary of the global variables in the current execution frame, " "or *NULL* if no frame is currently executing." msgstr "" -#: c-api/reflection.rst:28 +#: ../../src/Doc/c-api/reflection.rst:28 msgid "" "Return the current thread state's frame, which is *NULL* if no frame is " "currently executing." msgstr "" -#: c-api/reflection.rst:34 +#: ../../src/Doc/c-api/reflection.rst:34 msgid "Return the line number that *frame* is currently executing." msgstr "" -#: c-api/reflection.rst:39 +#: ../../src/Doc/c-api/reflection.rst:39 msgid "" "Return the name of *func* if it is a function, class or instance object, " "else the name of *func*\\s type." msgstr "" -#: c-api/reflection.rst:45 +#: ../../src/Doc/c-api/reflection.rst:45 msgid "" "Return a description string, depending on the type of *func*. Return values " "include \"()\" for functions and methods, \" constructor\", \" instance\", " @@ -10627,62 +10676,62 @@ msgid "" "`PyEval_GetFuncName`, the result will be a description of *func*." msgstr "" -#: c-api/sequence.rst:6 +#: ../../src/Doc/c-api/sequence.rst:6 msgid "Sequence Protocol" msgstr "" -#: c-api/sequence.rst:11 +#: ../../src/Doc/c-api/sequence.rst:11 msgid "" "Return ``1`` if the object provides sequence protocol, and ``0`` otherwise. " "This function always succeeds." msgstr "" -#: c-api/sequence.rst:20 +#: ../../src/Doc/c-api/sequence.rst:20 msgid "" "Returns the number of objects in sequence *o* on success, and ``-1`` on " "failure. For objects that do not provide sequence protocol, this is " "equivalent to the Python expression ``len(o)``." msgstr "" -#: c-api/sequence.rst:27 +#: ../../src/Doc/c-api/sequence.rst:27 msgid "" "Return the concatenation of *o1* and *o2* on success, and *NULL* on failure. " "This is the equivalent of the Python expression ``o1 + o2``." msgstr "" -#: c-api/sequence.rst:33 +#: ../../src/Doc/c-api/sequence.rst:33 msgid "" "Return the result of repeating sequence object *o* *count* times, or *NULL* " "on failure. This is the equivalent of the Python expression ``o * count``." msgstr "" -#: c-api/sequence.rst:39 +#: ../../src/Doc/c-api/sequence.rst:39 msgid "" "Return the concatenation of *o1* and *o2* on success, and *NULL* on failure. " "The operation is done *in-place* when *o1* supports it. This is the " "equivalent of the Python expression ``o1 += o2``." msgstr "" -#: c-api/sequence.rst:46 +#: ../../src/Doc/c-api/sequence.rst:46 msgid "" "Return the result of repeating sequence object *o* *count* times, or *NULL* " "on failure. The operation is done *in-place* when *o* supports it. This is " "the equivalent of the Python expression ``o *= count``." msgstr "" -#: c-api/sequence.rst:53 +#: ../../src/Doc/c-api/sequence.rst:53 msgid "" "Return the *i*\\ th element of *o*, or *NULL* on failure. This is the " "equivalent of the Python expression ``o[i]``." msgstr "" -#: c-api/sequence.rst:59 +#: ../../src/Doc/c-api/sequence.rst:59 msgid "" "Return the slice of sequence object *o* between *i1* and *i2*, or *NULL* on " "failure. This is the equivalent of the Python expression ``o[i1:i2]``." msgstr "" -#: c-api/sequence.rst:65 +#: ../../src/Doc/c-api/sequence.rst:65 msgid "" "Assign object *v* to the *i*\\ th element of *o*. Raise an exception and " "return ``-1`` on failure; return ``0`` on success. This is the equivalent " @@ -10690,58 +10739,58 @@ msgid "" "reference to *v*." msgstr "" -#: c-api/sequence.rst:70 +#: ../../src/Doc/c-api/sequence.rst:70 msgid "" "If *v* is *NULL*, the element is deleted, however this feature is deprecated " "in favour of using :c:func:`PySequence_DelItem`." msgstr "" -#: c-api/sequence.rst:76 +#: ../../src/Doc/c-api/sequence.rst:76 msgid "" "Delete the *i*\\ th element of object *o*. Returns ``-1`` on failure. This " "is the equivalent of the Python statement ``del o[i]``." msgstr "" -#: c-api/sequence.rst:82 +#: ../../src/Doc/c-api/sequence.rst:82 msgid "" "Assign the sequence object *v* to the slice in sequence object *o* from *i1* " "to *i2*. This is the equivalent of the Python statement ``o[i1:i2] = v``." msgstr "" -#: c-api/sequence.rst:88 +#: ../../src/Doc/c-api/sequence.rst:88 msgid "" "Delete the slice in sequence object *o* from *i1* to *i2*. Returns ``-1`` " "on failure. This is the equivalent of the Python statement ``del o[i1:i2]``." msgstr "" -#: c-api/sequence.rst:94 +#: ../../src/Doc/c-api/sequence.rst:94 msgid "" "Return the number of occurrences of *value* in *o*, that is, return the " "number of keys for which ``o[key] == value``. On failure, return ``-1``. " "This is equivalent to the Python expression ``o.count(value)``." msgstr "" -#: c-api/sequence.rst:101 +#: ../../src/Doc/c-api/sequence.rst:101 msgid "" "Determine if *o* contains *value*. If an item in *o* is equal to *value*, " "return ``1``, otherwise return ``0``. On error, return ``-1``. This is " "equivalent to the Python expression ``value in o``." msgstr "" -#: c-api/sequence.rst:108 +#: ../../src/Doc/c-api/sequence.rst:108 msgid "" "Return the first index *i* for which ``o[i] == value``. On error, return " "``-1``. This is equivalent to the Python expression ``o.index(value)``." msgstr "" -#: c-api/sequence.rst:114 +#: ../../src/Doc/c-api/sequence.rst:114 msgid "" "Return a list object with the same contents as the sequence or iterable *o*, " "or *NULL* on failure. The returned list is guaranteed to be new. This is " "equivalent to the Python expression ``list(o)``." msgstr "" -#: c-api/sequence.rst:123 +#: ../../src/Doc/c-api/sequence.rst:123 msgid "" "Return a tuple object with the same contents as the arbitrary sequence *o* " "or *NULL* on failure. If *o* is a tuple, a new reference will be returned, " @@ -10749,7 +10798,7 @@ msgid "" "is equivalent to the Python expression ``tuple(o)``." msgstr "" -#: c-api/sequence.rst:131 +#: ../../src/Doc/c-api/sequence.rst:131 msgid "" "Return the sequence *o* as a list, unless it is already a tuple or list, in " "which case *o* is returned. Use :c:func:`PySequence_Fast_GET_ITEM` to " @@ -10757,26 +10806,26 @@ msgid "" "is not a sequence, raises :exc:`TypeError` with *m* as the message text." msgstr "" -#: c-api/sequence.rst:139 +#: ../../src/Doc/c-api/sequence.rst:139 msgid "" "Return the *i*\\ th element of *o*, assuming that *o* was returned by :c:" "func:`PySequence_Fast`, *o* is not *NULL*, and that *i* is within bounds." msgstr "" -#: c-api/sequence.rst:145 +#: ../../src/Doc/c-api/sequence.rst:145 msgid "" "Return the underlying array of PyObject pointers. Assumes that *o* was " "returned by :c:func:`PySequence_Fast` and *o* is not *NULL*." msgstr "" -#: c-api/sequence.rst:148 +#: ../../src/Doc/c-api/sequence.rst:148 msgid "" "Note, if a list gets resized, the reallocation may relocate the items array. " "So, only use the underlying array pointer in contexts where the sequence " "cannot change." msgstr "" -#: c-api/sequence.rst:155 +#: ../../src/Doc/c-api/sequence.rst:155 msgid "" "Return the *i*\\ th element of *o* or *NULL* on failure. Macro form of :c:" "func:`PySequence_GetItem` but without checking that :c:func:" @@ -10784,7 +10833,7 @@ msgid "" "indices." msgstr "" -#: c-api/sequence.rst:163 +#: ../../src/Doc/c-api/sequence.rst:163 msgid "" "Returns the length of *o*, assuming that *o* was returned by :c:func:" "`PySequence_Fast` and that *o* is not *NULL*. The size can also be gotten " @@ -10793,11 +10842,11 @@ msgid "" "tuple." msgstr "" -#: c-api/set.rst:6 +#: ../../src/Doc/c-api/set.rst:6 msgid "Set Objects" msgstr "" -#: c-api/set.rst:15 +#: ../../src/Doc/c-api/set.rst:15 msgid "" "This section details the public API for :class:`set` and :class:`frozenset` " "objects. Any functionality not listed below is best accessed using the " @@ -10811,7 +10860,7 @@ msgid "" "`PyNumber_InPlaceXor`)." msgstr "" -#: c-api/set.rst:29 +#: ../../src/Doc/c-api/set.rst:29 msgid "" "This subtype of :c:type:`PyObject` is used to hold the internal data for " "both :class:`set` and :class:`frozenset` objects. It is like a :c:type:" @@ -10823,54 +10872,54 @@ msgid "" "the values in the structure." msgstr "" -#: c-api/set.rst:40 +#: ../../src/Doc/c-api/set.rst:40 msgid "" "This is an instance of :c:type:`PyTypeObject` representing the Python :class:" "`set` type." msgstr "" -#: c-api/set.rst:46 +#: ../../src/Doc/c-api/set.rst:46 msgid "" "This is an instance of :c:type:`PyTypeObject` representing the Python :class:" "`frozenset` type." msgstr "" -#: c-api/set.rst:49 +#: ../../src/Doc/c-api/set.rst:49 msgid "" "The following type check macros work on pointers to any Python object. " "Likewise, the constructor functions work with any iterable Python object." msgstr "" -#: c-api/set.rst:55 +#: ../../src/Doc/c-api/set.rst:55 msgid "" "Return true if *p* is a :class:`set` object or an instance of a subtype." msgstr "" -#: c-api/set.rst:59 +#: ../../src/Doc/c-api/set.rst:59 msgid "" "Return true if *p* is a :class:`frozenset` object or an instance of a " "subtype." msgstr "" -#: c-api/set.rst:64 +#: ../../src/Doc/c-api/set.rst:64 msgid "" "Return true if *p* is a :class:`set` object, a :class:`frozenset` object, or " "an instance of a subtype." msgstr "" -#: c-api/set.rst:70 +#: ../../src/Doc/c-api/set.rst:70 msgid "" "Return true if *p* is a :class:`set` object or a :class:`frozenset` object " "but not an instance of a subtype." msgstr "" -#: c-api/set.rst:76 +#: ../../src/Doc/c-api/set.rst:76 msgid "" "Return true if *p* is a :class:`frozenset` object but not an instance of a " "subtype." msgstr "" -#: c-api/set.rst:82 +#: ../../src/Doc/c-api/set.rst:82 msgid "" "Return a new :class:`set` containing objects returned by the *iterable*. " "The *iterable* may be *NULL* to create a new empty set. Return the new set " @@ -10879,7 +10928,7 @@ msgid "" "(``c=set(s)``)." msgstr "" -#: c-api/set.rst:91 +#: ../../src/Doc/c-api/set.rst:91 msgid "" "Return a new :class:`frozenset` containing objects returned by the " "*iterable*. The *iterable* may be *NULL* to create a new empty frozenset. " @@ -10887,24 +10936,24 @@ msgid "" "if *iterable* is not actually iterable." msgstr "" -#: c-api/set.rst:97 +#: ../../src/Doc/c-api/set.rst:97 msgid "" "The following functions and macros are available for instances of :class:" "`set` or :class:`frozenset` or instances of their subtypes." msgstr "" -#: c-api/set.rst:105 +#: ../../src/Doc/c-api/set.rst:105 msgid "" "Return the length of a :class:`set` or :class:`frozenset` object. Equivalent " "to ``len(anyset)``. Raises a :exc:`PyExc_SystemError` if *anyset* is not a :" "class:`set`, :class:`frozenset`, or an instance of a subtype." msgstr "" -#: c-api/set.rst:112 +#: ../../src/Doc/c-api/set.rst:112 msgid "Macro form of :c:func:`PySet_Size` without error checking." msgstr "" -#: c-api/set.rst:117 +#: ../../src/Doc/c-api/set.rst:117 msgid "" "Return 1 if found, 0 if not found, and -1 if an error is encountered. " "Unlike the Python :meth:`__contains__` method, this function does not " @@ -10914,7 +10963,7 @@ msgid "" "subtype." msgstr "" -#: c-api/set.rst:126 +#: ../../src/Doc/c-api/set.rst:126 msgid "" "Add *key* to a :class:`set` instance. Also works with :class:`frozenset` " "instances (like :c:func:`PyTuple_SetItem` it can be used to fill-in the " @@ -10925,13 +10974,13 @@ msgid "" "its subtype." msgstr "" -#: c-api/set.rst:135 +#: ../../src/Doc/c-api/set.rst:135 msgid "" "The following functions are available for instances of :class:`set` or its " "subtypes but not for instances of :class:`frozenset` or its subtypes." msgstr "" -#: c-api/set.rst:141 +#: ../../src/Doc/c-api/set.rst:141 msgid "" "Return 1 if found and removed, 0 if not found (no action taken), and -1 if " "an error is encountered. Does not raise :exc:`KeyError` for missing keys. " @@ -10941,7 +10990,7 @@ msgid "" "*set* is an not an instance of :class:`set` or its subtype." msgstr "" -#: c-api/set.rst:151 +#: ../../src/Doc/c-api/set.rst:151 msgid "" "Return a new reference to an arbitrary object in the *set*, and removes the " "object from the *set*. Return *NULL* on failure. Raise :exc:`KeyError` if " @@ -10949,25 +10998,25 @@ msgid "" "of :class:`set` or its subtype." msgstr "" -#: c-api/set.rst:159 +#: ../../src/Doc/c-api/set.rst:159 msgid "Empty an existing set of all elements." msgstr "" -#: c-api/slice.rst:6 +#: ../../src/Doc/c-api/slice.rst:6 msgid "Slice Objects" msgstr "" -#: c-api/slice.rst:11 +#: ../../src/Doc/c-api/slice.rst:11 msgid "" "The type object for slice objects. This is the same as :class:`slice` in " "the Python layer." msgstr "" -#: c-api/slice.rst:17 +#: ../../src/Doc/c-api/slice.rst:17 msgid "Return true if *ob* is a slice object; *ob* must not be *NULL*." msgstr "" -#: c-api/slice.rst:22 +#: ../../src/Doc/c-api/slice.rst:22 msgid "" "Return a new slice object with the given values. The *start*, *stop*, and " "*step* parameters are used as the values of the slice object attributes of " @@ -10976,30 +11025,30 @@ msgid "" "object could not be allocated." msgstr "" -#: c-api/slice.rst:31 +#: ../../src/Doc/c-api/slice.rst:31 msgid "" "Retrieve the start, stop and step indices from the slice object *slice*, " "assuming a sequence of length *length*. Treats indices greater than *length* " "as errors." msgstr "" -#: c-api/slice.rst:35 +#: ../../src/Doc/c-api/slice.rst:35 msgid "" "Returns 0 on success and -1 on error with no exception set (unless one of " "the indices was not :const:`None` and failed to be converted to an integer, " "in which case -1 is returned with an exception set)." msgstr "" -#: c-api/slice.rst:39 +#: ../../src/Doc/c-api/slice.rst:39 msgid "You probably do not want to use this function." msgstr "" -#: c-api/slice.rst:41 c-api/slice.rst:56 +#: ../../src/Doc/c-api/slice.rst:41 ../../src/Doc/c-api/slice.rst:56 msgid "" "The parameter type for the *slice* parameter was ``PySliceObject*`` before." msgstr "" -#: c-api/slice.rst:48 +#: ../../src/Doc/c-api/slice.rst:48 msgid "" "Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start, " "stop, and step indices from the slice object *slice* assuming a sequence of " @@ -11008,15 +11057,15 @@ msgid "" "normal slices." msgstr "" -#: c-api/slice.rst:54 +#: ../../src/Doc/c-api/slice.rst:54 msgid "Returns 0 on success and -1 on error with exception set." msgstr "" -#: c-api/stable.rst:7 +#: ../../src/Doc/c-api/stable.rst:7 msgid "Stable Application Binary Interface" msgstr "" -#: c-api/stable.rst:9 +#: ../../src/Doc/c-api/stable.rst:9 msgid "" "Traditionally, the C API of Python will change with every release. Most " "changes will be source-compatible, typically by only adding API, rather than " @@ -11024,7 +11073,7 @@ msgid "" "removed after being deprecated first)." msgstr "" -#: c-api/stable.rst:14 +#: ../../src/Doc/c-api/stable.rst:14 msgid "" "Unfortunately, the API compatibility does not extend to binary compatibility " "(the ABI). The reason is primarily the evolution of struct definitions, " @@ -11036,7 +11085,7 @@ msgid "" "and need to be recompiled to link with a newer one." msgstr "" -#: c-api/stable.rst:23 +#: ../../src/Doc/c-api/stable.rst:23 msgid "" "Since Python 3.2, a subset of the API has been declared to guarantee a " "stable ABI. Extension modules wishing to use this API (called \"limited API" @@ -11045,7 +11094,7 @@ msgid "" "works on any 3.x version (x>=2) without recompilation." msgstr "" -#: c-api/stable.rst:29 +#: ../../src/Doc/c-api/stable.rst:29 msgid "" "In some cases, the stable ABI needs to be extended with new functions. " "Extension modules wishing to use these new APIs need to set " @@ -11056,25 +11105,25 @@ msgid "" "releases." msgstr "" -#: c-api/stable.rst:36 +#: ../../src/Doc/c-api/stable.rst:36 msgid "" "As of Python 3.2, the set of functions available to the limited API is " "documented in PEP 384. In the C API documentation, API elements that are " "not part of the limited API are marked as \"Not part of the limited API.\"" msgstr "" -#: c-api/structures.rst:6 +#: ../../src/Doc/c-api/structures.rst:6 msgid "Common Object Structures" msgstr "" -#: c-api/structures.rst:8 +#: ../../src/Doc/c-api/structures.rst:8 msgid "" "There are a large number of structures which are used in the definition of " "object types for Python. This section describes these structures and how " "they are used." msgstr "" -#: c-api/structures.rst:12 +#: ../../src/Doc/c-api/structures.rst:12 msgid "" "All Python objects ultimately share a small number of fields at the " "beginning of the object's representation in memory. These are represented " @@ -11083,7 +11132,7 @@ msgid "" "directly or indirectly, in the definition of all other Python objects." msgstr "" -#: c-api/structures.rst:21 +#: ../../src/Doc/c-api/structures.rst:21 msgid "" "All object types are extensions of this type. This is a type which contains " "the information Python needs to treat a pointer to an object as an object. " @@ -11094,7 +11143,7 @@ msgid "" "macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" -#: c-api/structures.rst:33 +#: ../../src/Doc/c-api/structures.rst:33 msgid "" "This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` " "field. This is only used for objects that have some notion of *length*. " @@ -11103,59 +11152,59 @@ msgid "" "and :c:macro:`Py_SIZE`." msgstr "" -#: c-api/structures.rst:42 +#: ../../src/Doc/c-api/structures.rst:42 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" msgstr "" -#: c-api/structures.rst:47 +#: ../../src/Doc/c-api/structures.rst:47 msgid "See documentation of :c:type:`PyObject` above." msgstr "" -#: c-api/structures.rst:52 +#: ../../src/Doc/c-api/structures.rst:52 msgid "" "This is a macro used when declaring new types which represent objects with a " "length that varies from instance to instance. The PyObject_VAR_HEAD macro " "expands to::" msgstr "" -#: c-api/structures.rst:58 +#: ../../src/Doc/c-api/structures.rst:58 msgid "See documentation of :c:type:`PyVarObject` above." msgstr "" -#: c-api/structures.rst:63 +#: ../../src/Doc/c-api/structures.rst:63 msgid "" "This macro is used to access the :attr:`ob_type` member of a Python object. " "It expands to::" msgstr "" -#: c-api/structures.rst:71 +#: ../../src/Doc/c-api/structures.rst:71 msgid "" "This macro is used to access the :attr:`ob_refcnt` member of a Python " "object. It expands to::" msgstr "" -#: c-api/structures.rst:80 +#: ../../src/Doc/c-api/structures.rst:80 msgid "" "This macro is used to access the :attr:`ob_size` member of a Python object. " "It expands to::" msgstr "" -#: c-api/structures.rst:88 +#: ../../src/Doc/c-api/structures.rst:88 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyObject` type. This macro expands to::" msgstr "" -#: c-api/structures.rst:97 +#: ../../src/Doc/c-api/structures.rst:97 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyVarObject` type, including the :attr:`ob_size` field. This macro expands " "to::" msgstr "" -#: c-api/structures.rst:107 +#: ../../src/Doc/c-api/structures.rst:107 msgid "" "Type of the functions used to implement most Python callables in C. " "Functions of this type take two :c:type:`PyObject\\*` parameters and return " @@ -11164,7 +11213,7 @@ msgid "" "the function as exposed in Python. The function must return a new reference." msgstr "" -#: c-api/structures.rst:117 +#: ../../src/Doc/c-api/structures.rst:117 msgid "" "Type of the functions used to implement Python callables in C that take " "keyword arguments: they take three :c:type:`PyObject\\*` parameters and " @@ -11172,60 +11221,65 @@ msgid "" "the return value." msgstr "" -#: c-api/structures.rst:125 +#: ../../src/Doc/c-api/structures.rst:125 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" msgstr "" -#: c-api/structures.rst:129 c-api/structures.rst:241 c-api/tuple.rst:145 -#: c-api/tuple.rst:168 +#: ../../src/Doc/c-api/structures.rst:129 +#: ../../src/Doc/c-api/structures.rst:241 ../../src/Doc/c-api/tuple.rst:145 +#: ../../src/Doc/c-api/tuple.rst:168 msgid "C Type" msgstr "" -#: c-api/structures.rst:131 +#: ../../src/Doc/c-api/structures.rst:131 msgid ":attr:`ml_name`" msgstr "" -#: c-api/structures.rst:131 c-api/structures.rst:139 c-api/structures.rst:243 -#: c-api/structures.rst:256 c-api/structures.rst:272 +#: ../../src/Doc/c-api/structures.rst:131 +#: ../../src/Doc/c-api/structures.rst:139 +#: ../../src/Doc/c-api/structures.rst:243 +#: ../../src/Doc/c-api/structures.rst:256 +#: ../../src/Doc/c-api/structures.rst:272 msgid "char \\*" msgstr "" -#: c-api/structures.rst:131 +#: ../../src/Doc/c-api/structures.rst:131 msgid "name of the method" msgstr "" -#: c-api/structures.rst:133 +#: ../../src/Doc/c-api/structures.rst:133 msgid ":attr:`ml_meth`" msgstr "" -#: c-api/structures.rst:133 +#: ../../src/Doc/c-api/structures.rst:133 #, fuzzy msgid "PyCFunction" msgstr "Fonction de l'API" -#: c-api/structures.rst:133 +#: ../../src/Doc/c-api/structures.rst:133 msgid "pointer to the C implementation" msgstr "" -#: c-api/structures.rst:136 +#: ../../src/Doc/c-api/structures.rst:136 msgid ":attr:`ml_flags`" msgstr "" -#: c-api/structures.rst:136 +#: ../../src/Doc/c-api/structures.rst:136 msgid "flag bits indicating how the call should be constructed" msgstr "" -#: c-api/structures.rst:139 +#: ../../src/Doc/c-api/structures.rst:139 msgid ":attr:`ml_doc`" msgstr "" -#: c-api/structures.rst:139 c-api/structures.rst:256 +#: ../../src/Doc/c-api/structures.rst:139 +#: ../../src/Doc/c-api/structures.rst:256 msgid "points to the contents of the docstring" msgstr "" -#: c-api/structures.rst:143 +#: ../../src/Doc/c-api/structures.rst:143 msgid "" "The :attr:`ml_meth` is a C function pointer. The functions may be of " "different types, but they always return :c:type:`PyObject\\*`. If the " @@ -11235,7 +11289,7 @@ msgid "" "implementation uses the specific C type of the *self* object." msgstr "" -#: c-api/structures.rst:150 +#: ../../src/Doc/c-api/structures.rst:150 msgid "" "The :attr:`ml_flags` field is a bitfield which can include the following " "flags. The individual flags indicate either a calling convention or a " @@ -11246,7 +11300,7 @@ msgid "" "binding flag." msgstr "" -#: c-api/structures.rst:160 +#: ../../src/Doc/c-api/structures.rst:160 msgid "" "This is the typical calling convention, where the methods have the type :c:" "type:`PyCFunction`. The function expects two :c:type:`PyObject\\*` values. " @@ -11256,7 +11310,7 @@ msgid "" "using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." msgstr "" -#: c-api/structures.rst:170 +#: ../../src/Doc/c-api/structures.rst:170 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, and a dictionary of " @@ -11265,7 +11319,7 @@ msgid "" "`PyArg_ParseTupleAndKeywords`." msgstr "" -#: c-api/structures.rst:179 +#: ../../src/Doc/c-api/structures.rst:179 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :const:`METH_NOARGS` flag. They need to be of " @@ -11274,7 +11328,7 @@ msgid "" "the second parameter will be *NULL*." msgstr "" -#: c-api/structures.rst:188 +#: ../../src/Doc/c-api/structures.rst:188 msgid "" "Methods with a single object argument can be listed with the :const:`METH_O` " "flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " @@ -11283,7 +11337,7 @@ msgid "" "argument." msgstr "" -#: c-api/structures.rst:194 +#: ../../src/Doc/c-api/structures.rst:194 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use with methods of classes. These may not be used for " @@ -11291,27 +11345,27 @@ msgid "" "any given method." msgstr "" -#: c-api/structures.rst:204 +#: ../../src/Doc/c-api/structures.rst:204 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " "what is created when using the :func:`classmethod` built-in function." msgstr "" -#: c-api/structures.rst:214 +#: ../../src/Doc/c-api/structures.rst:214 msgid "" "The method will be passed *NULL* as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " "what is created when using the :func:`staticmethod` built-in function." msgstr "" -#: c-api/structures.rst:218 +#: ../../src/Doc/c-api/structures.rst:218 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" -#: c-api/structures.rst:224 +#: ../../src/Doc/c-api/structures.rst:224 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " @@ -11324,175 +11378,179 @@ msgid "" "calls." msgstr "" -#: c-api/structures.rst:237 +#: ../../src/Doc/c-api/structures.rst:237 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" msgstr "" -#: c-api/structures.rst:243 +#: ../../src/Doc/c-api/structures.rst:243 msgid ":attr:`name`" msgstr "" -#: c-api/structures.rst:243 +#: ../../src/Doc/c-api/structures.rst:243 msgid "name of the member" msgstr "" -#: c-api/structures.rst:245 +#: ../../src/Doc/c-api/structures.rst:245 msgid ":attr:`type`" msgstr "" -#: c-api/structures.rst:245 +#: ../../src/Doc/c-api/structures.rst:245 msgid "the type of the member in the C struct" msgstr "" -#: c-api/structures.rst:248 +#: ../../src/Doc/c-api/structures.rst:248 msgid ":attr:`offset`" msgstr "" -#: c-api/structures.rst:248 +#: ../../src/Doc/c-api/structures.rst:248 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" -#: c-api/structures.rst:252 +#: ../../src/Doc/c-api/structures.rst:252 msgid ":attr:`flags`" msgstr "" -#: c-api/structures.rst:252 +#: ../../src/Doc/c-api/structures.rst:252 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" -#: c-api/structures.rst:256 +#: ../../src/Doc/c-api/structures.rst:256 msgid ":attr:`doc`" msgstr "" -#: c-api/structures.rst:260 +#: ../../src/Doc/c-api/structures.rst:260 msgid "" ":attr:`type` can be one of many ``T_`` macros corresponding to various C " "types. When the member is accessed in Python, it will be converted to the " "equivalent Python type." msgstr "" -#: c-api/structures.rst:265 +#: ../../src/Doc/c-api/structures.rst:265 #, fuzzy msgid "Macro name" msgstr "Macros" -#: c-api/structures.rst:265 +#: ../../src/Doc/c-api/structures.rst:265 msgid "C type" msgstr "" -#: c-api/structures.rst:267 +#: ../../src/Doc/c-api/structures.rst:267 msgid "T_SHORT" msgstr "" -#: c-api/structures.rst:267 +#: ../../src/Doc/c-api/structures.rst:267 msgid "short" msgstr "" -#: c-api/structures.rst:268 +#: ../../src/Doc/c-api/structures.rst:268 msgid "T_INT" msgstr "" -#: c-api/structures.rst:269 +#: ../../src/Doc/c-api/structures.rst:269 msgid "T_LONG" msgstr "" -#: c-api/structures.rst:270 +#: ../../src/Doc/c-api/structures.rst:270 msgid "T_FLOAT" msgstr "" -#: c-api/structures.rst:270 +#: ../../src/Doc/c-api/structures.rst:270 msgid "float" msgstr "" -#: c-api/structures.rst:271 +#: ../../src/Doc/c-api/structures.rst:271 msgid "T_DOUBLE" msgstr "" -#: c-api/structures.rst:271 +#: ../../src/Doc/c-api/structures.rst:271 msgid "double" msgstr "" -#: c-api/structures.rst:272 +#: ../../src/Doc/c-api/structures.rst:272 msgid "T_STRING" msgstr "" -#: c-api/structures.rst:273 +#: ../../src/Doc/c-api/structures.rst:273 msgid "T_OBJECT" msgstr "" -#: c-api/structures.rst:273 c-api/structures.rst:274 +#: ../../src/Doc/c-api/structures.rst:273 +#: ../../src/Doc/c-api/structures.rst:274 #, fuzzy msgid "PyObject \\*" msgstr "PyObject \\*" -#: c-api/structures.rst:274 +#: ../../src/Doc/c-api/structures.rst:274 msgid "T_OBJECT_EX" msgstr "" -#: c-api/structures.rst:275 +#: ../../src/Doc/c-api/structures.rst:275 msgid "T_CHAR" msgstr "" -#: c-api/structures.rst:275 c-api/structures.rst:276 c-api/structures.rst:281 +#: ../../src/Doc/c-api/structures.rst:275 +#: ../../src/Doc/c-api/structures.rst:276 +#: ../../src/Doc/c-api/structures.rst:281 msgid "char" msgstr "" -#: c-api/structures.rst:276 +#: ../../src/Doc/c-api/structures.rst:276 msgid "T_BYTE" msgstr "" -#: c-api/structures.rst:277 +#: ../../src/Doc/c-api/structures.rst:277 msgid "T_UBYTE" msgstr "" -#: c-api/structures.rst:277 +#: ../../src/Doc/c-api/structures.rst:277 msgid "unsigned char" msgstr "" -#: c-api/structures.rst:278 +#: ../../src/Doc/c-api/structures.rst:278 msgid "T_UINT" msgstr "" -#: c-api/structures.rst:279 +#: ../../src/Doc/c-api/structures.rst:279 msgid "T_USHORT" msgstr "" -#: c-api/structures.rst:279 +#: ../../src/Doc/c-api/structures.rst:279 msgid "unsigned short" msgstr "" -#: c-api/structures.rst:280 +#: ../../src/Doc/c-api/structures.rst:280 msgid "T_ULONG" msgstr "" -#: c-api/structures.rst:281 +#: ../../src/Doc/c-api/structures.rst:281 msgid "T_BOOL" msgstr "" -#: c-api/structures.rst:282 +#: ../../src/Doc/c-api/structures.rst:282 msgid "T_LONGLONG" msgstr "" -#: c-api/structures.rst:282 c-api/unicode.rst:470 c-api/unicode.rst:473 +#: ../../src/Doc/c-api/structures.rst:282 ../../src/Doc/c-api/unicode.rst:470 +#: ../../src/Doc/c-api/unicode.rst:473 msgid "long long" msgstr "" -#: c-api/structures.rst:283 +#: ../../src/Doc/c-api/structures.rst:283 msgid "T_ULONGLONG" msgstr "" -#: c-api/structures.rst:283 c-api/unicode.rst:476 +#: ../../src/Doc/c-api/structures.rst:283 ../../src/Doc/c-api/unicode.rst:476 msgid "unsigned long long" msgstr "" -#: c-api/structures.rst:284 +#: ../../src/Doc/c-api/structures.rst:284 msgid "T_PYSSIZET" msgstr "" -#: c-api/structures.rst:287 +#: ../../src/Doc/c-api/structures.rst:287 msgid "" ":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" "`T_OBJECT` returns ``None`` if the member is *NULL* and :c:macro:" @@ -11502,7 +11560,7 @@ msgid "" "than :c:macro:`T_OBJECT`." msgstr "" -#: c-api/structures.rst:294 +#: ../../src/Doc/c-api/structures.rst:294 msgid "" ":attr:`flags` can be 0 for write and read access or :c:macro:`READONLY` for " "read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" @@ -11510,11 +11568,11 @@ msgid "" "members can be deleted. (They are set to *NULL*)." msgstr "" -#: c-api/sys.rst:6 +#: ../../src/Doc/c-api/sys.rst:6 msgid "Operating System Utilities" msgstr "" -#: c-api/sys.rst:11 +#: ../../src/Doc/c-api/sys.rst:11 msgid "" "Return true (nonzero) if the standard I/O file *fp* with name *filename* is " "deemed interactive. This is the case for files for which " @@ -11524,7 +11582,7 @@ msgid "" "``''`` or ``'???'``." msgstr "" -#: c-api/sys.rst:20 +#: ../../src/Doc/c-api/sys.rst:20 msgid "" "Function to update some internal state after a process fork; this should be " "called in the new process if the Python interpreter will continue to be " @@ -11532,7 +11590,7 @@ msgid "" "not need to be called." msgstr "" -#: c-api/sys.rst:28 +#: ../../src/Doc/c-api/sys.rst:28 msgid "" "Return true when the interpreter runs out of stack space. This is a " "reliable check, but is only available when :const:`USE_STACKCHECK` is " @@ -11541,7 +11599,7 @@ msgid "" "change the definition in your own code." msgstr "" -#: c-api/sys.rst:37 +#: ../../src/Doc/c-api/sys.rst:37 msgid "" "Return the current signal handler for signal *i*. This is a thin wrapper " "around either :c:func:`sigaction` or :c:func:`signal`. Do not call those " @@ -11549,7 +11607,7 @@ msgid "" "type:`void (\\*)(int)`." msgstr "" -#: c-api/sys.rst:45 +#: ../../src/Doc/c-api/sys.rst:45 msgid "" "Set the signal handler for signal *i* to be *h*; return the old signal " "handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:" @@ -11557,7 +11615,7 @@ msgid "" "`PyOS_sighandler_t` is a typedef alias for :c:type:`void (\\*)(int)`." msgstr "" -#: c-api/sys.rst:52 +#: ../../src/Doc/c-api/sys.rst:52 msgid "" "Decode a byte string from the locale encoding with the :ref:`surrogateescape " "error handler `: undecodable bytes are decoded as " @@ -11566,74 +11624,74 @@ msgid "" "handler instead of decoding them." msgstr "" -#: c-api/sys.rst:58 +#: ../../src/Doc/c-api/sys.rst:58 msgid "" "Return a pointer to a newly allocated wide character string, use :c:func:" "`PyMem_RawFree` to free the memory. If size is not ``NULL``, write the " "number of wide characters excluding the null character into ``*size``" msgstr "" -#: c-api/sys.rst:62 +#: ../../src/Doc/c-api/sys.rst:62 msgid "" "Return ``NULL`` on decoding error or memory allocation error. If *size* is " "not ``NULL``, ``*size`` is set to ``(size_t)-1`` on memory error or set to " "``(size_t)-2`` on decoding error." msgstr "" -#: c-api/sys.rst:66 +#: ../../src/Doc/c-api/sys.rst:66 msgid "" "Decoding errors should never happen, unless there is a bug in the C library." msgstr "" -#: c-api/sys.rst:69 +#: ../../src/Doc/c-api/sys.rst:69 msgid "" "Use the :c:func:`Py_EncodeLocale` function to encode the character string " "back to a byte string." msgstr "" -#: c-api/sys.rst:74 +#: ../../src/Doc/c-api/sys.rst:74 msgid "" "The :c:func:`PyUnicode_DecodeFSDefaultAndSize` and :c:func:" "`PyUnicode_DecodeLocaleAndSize` functions." msgstr "" -#: c-api/sys.rst:82 +#: ../../src/Doc/c-api/sys.rst:82 msgid "" "Encode a wide character string to the locale encoding with the :ref:" "`surrogateescape error handler `: surrogate characters in " "the range U+DC80..U+DCFF are converted to bytes 0x80..0xFF." msgstr "" -#: c-api/sys.rst:86 +#: ../../src/Doc/c-api/sys.rst:86 msgid "" "Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` " "to free the memory. Return ``NULL`` on encoding error or memory allocation " "error" msgstr "" -#: c-api/sys.rst:90 +#: ../../src/Doc/c-api/sys.rst:90 msgid "" "If error_pos is not ``NULL``, ``*error_pos`` is set to the index of the " "invalid character on encoding error, or set to ``(size_t)-1`` otherwise." msgstr "" -#: c-api/sys.rst:93 +#: ../../src/Doc/c-api/sys.rst:93 msgid "" "Use the :c:func:`Py_DecodeLocale` function to decode the bytes string back " "to a wide character string." msgstr "" -#: c-api/sys.rst:98 +#: ../../src/Doc/c-api/sys.rst:98 msgid "" "The :c:func:`PyUnicode_EncodeFSDefault` and :c:func:`PyUnicode_EncodeLocale` " "functions." msgstr "" -#: c-api/sys.rst:107 +#: ../../src/Doc/c-api/sys.rst:107 msgid "System Functions" msgstr "" -#: c-api/sys.rst:109 +#: ../../src/Doc/c-api/sys.rst:109 msgid "" "These are utility functions that make functionality from the :mod:`sys` " "module accessible to C code. They all work with the current interpreter " @@ -11641,45 +11699,45 @@ msgid "" "state structure." msgstr "" -#: c-api/sys.rst:115 +#: ../../src/Doc/c-api/sys.rst:115 msgid "" "Return the object *name* from the :mod:`sys` module or *NULL* if it does not " "exist, without setting an exception." msgstr "" -#: c-api/sys.rst:120 +#: ../../src/Doc/c-api/sys.rst:120 msgid "" "Set *name* in the :mod:`sys` module to *v* unless *v* is *NULL*, in which " "case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` " "on error." msgstr "" -#: c-api/sys.rst:126 +#: ../../src/Doc/c-api/sys.rst:126 msgid "Reset :data:`sys.warnoptions` to an empty list." msgstr "" -#: c-api/sys.rst:130 +#: ../../src/Doc/c-api/sys.rst:130 msgid "Append *s* to :data:`sys.warnoptions`." msgstr "" -#: c-api/sys.rst:134 +#: ../../src/Doc/c-api/sys.rst:134 msgid "Append *unicode* to :data:`sys.warnoptions`." msgstr "" -#: c-api/sys.rst:138 +#: ../../src/Doc/c-api/sys.rst:138 msgid "" "Set :data:`sys.path` to a list object of paths found in *path* which should " "be a list of paths separated with the platform's search path delimiter (``:" "`` on Unix, ``;`` on Windows)." msgstr "" -#: c-api/sys.rst:144 +#: ../../src/Doc/c-api/sys.rst:144 msgid "" "Write the output string described by *format* to :data:`sys.stdout`. No " "exceptions are raised, even if truncation occurs (see below)." msgstr "" -#: c-api/sys.rst:147 +#: ../../src/Doc/c-api/sys.rst:147 msgid "" "*format* should limit the total size of the formatted output string to 1000 " "bytes or less -- after 1000 bytes, the output string is truncated. In " @@ -11690,48 +11748,48 @@ msgid "" "of digits for very large numbers." msgstr "" -#: c-api/sys.rst:155 +#: ../../src/Doc/c-api/sys.rst:155 msgid "" "If a problem occurs, or :data:`sys.stdout` is unset, the formatted message " "is written to the real (C level) *stdout*." msgstr "" -#: c-api/sys.rst:160 +#: ../../src/Doc/c-api/sys.rst:160 msgid "" "As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* " "instead." msgstr "" -#: c-api/sys.rst:165 +#: ../../src/Doc/c-api/sys.rst:165 msgid "" "Function similar to PySys_WriteStdout() but format the message using :c:func:" "`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary " "length." msgstr "" -#: c-api/sys.rst:173 +#: ../../src/Doc/c-api/sys.rst:173 msgid "" "As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* " "instead." msgstr "" -#: c-api/sys.rst:180 +#: ../../src/Doc/c-api/sys.rst:180 msgid "" "Parse *s* as a set of :option:`-X` options and add them to the current " "options mapping as returned by :c:func:`PySys_GetXOptions`." msgstr "" -#: c-api/sys.rst:187 +#: ../../src/Doc/c-api/sys.rst:187 msgid "" "Return the current dictionary of :option:`-X` options, similarly to :data:" "`sys._xoptions`. On error, *NULL* is returned and an exception is set." msgstr "" -#: c-api/sys.rst:197 +#: ../../src/Doc/c-api/sys.rst:197 msgid "Process Control" msgstr "" -#: c-api/sys.rst:204 +#: ../../src/Doc/c-api/sys.rst:204 msgid "" "Print a fatal error message and kill the process. No cleanup is performed. " "This function should only be invoked when a condition is detected that would " @@ -11741,13 +11799,13 @@ msgid "" "file:`core` file." msgstr "" -#: c-api/sys.rst:218 +#: ../../src/Doc/c-api/sys.rst:218 msgid "" "Exit the current process. This calls :c:func:`Py_Finalize` and then calls " "the standard C library function ``exit(status)``." msgstr "" -#: c-api/sys.rst:228 +#: ../../src/Doc/c-api/sys.rst:228 msgid "" "Register a cleanup function to be called by :c:func:`Py_Finalize`. The " "cleanup function will be called with no arguments and should return no " @@ -11759,37 +11817,37 @@ msgid "" "should be called by *func*." msgstr "" -#: c-api/tuple.rst:6 +#: ../../src/Doc/c-api/tuple.rst:6 msgid "Tuple Objects" msgstr "" -#: c-api/tuple.rst:13 +#: ../../src/Doc/c-api/tuple.rst:13 msgid "This subtype of :c:type:`PyObject` represents a Python tuple object." msgstr "" -#: c-api/tuple.rst:18 +#: ../../src/Doc/c-api/tuple.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python tuple type; it " "is the same object as :class:`tuple` in the Python layer." msgstr "" -#: c-api/tuple.rst:24 +#: ../../src/Doc/c-api/tuple.rst:24 msgid "" "Return true if *p* is a tuple object or an instance of a subtype of the " "tuple type." msgstr "" -#: c-api/tuple.rst:30 +#: ../../src/Doc/c-api/tuple.rst:30 msgid "" "Return true if *p* is a tuple object, but not an instance of a subtype of " "the tuple type." msgstr "" -#: c-api/tuple.rst:36 +#: ../../src/Doc/c-api/tuple.rst:36 msgid "Return a new tuple object of size *len*, or *NULL* on failure." msgstr "" -#: c-api/tuple.rst:41 +#: ../../src/Doc/c-api/tuple.rst:41 msgid "" "Return a new tuple object of size *n*, or *NULL* on failure. The tuple " "values are initialized to the subsequent *n* C arguments pointing to Python " @@ -11797,51 +11855,51 @@ msgid "" "``Py_BuildValue(\"(OO)\", a, b)``." msgstr "" -#: c-api/tuple.rst:48 +#: ../../src/Doc/c-api/tuple.rst:48 msgid "Take a pointer to a tuple object, and return the size of that tuple." msgstr "" -#: c-api/tuple.rst:53 +#: ../../src/Doc/c-api/tuple.rst:53 msgid "" "Return the size of the tuple *p*, which must be non-*NULL* and point to a " "tuple; no error checking is performed." msgstr "" -#: c-api/tuple.rst:59 +#: ../../src/Doc/c-api/tuple.rst:59 msgid "" "Return the object at position *pos* in the tuple pointed to by *p*. If " "*pos* is out of bounds, return *NULL* and sets an :exc:`IndexError` " "exception." msgstr "" -#: c-api/tuple.rst:65 +#: ../../src/Doc/c-api/tuple.rst:65 msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments." msgstr "" -#: c-api/tuple.rst:70 +#: ../../src/Doc/c-api/tuple.rst:70 msgid "" "Take a slice of the tuple pointed to by *p* from *low* to *high* and return " "it as a new tuple." msgstr "" -#: c-api/tuple.rst:76 +#: ../../src/Doc/c-api/tuple.rst:76 msgid "" "Insert a reference to object *o* at position *pos* of the tuple pointed to " "by *p*. Return ``0`` on success." msgstr "" -#: c-api/tuple.rst:81 c-api/tuple.rst:91 c-api/tuple.rst:209 -#: c-api/tuple.rst:218 +#: ../../src/Doc/c-api/tuple.rst:81 ../../src/Doc/c-api/tuple.rst:91 +#: ../../src/Doc/c-api/tuple.rst:209 ../../src/Doc/c-api/tuple.rst:218 msgid "This function \"steals\" a reference to *o*." msgstr "" -#: c-api/tuple.rst:86 +#: ../../src/Doc/c-api/tuple.rst:86 msgid "" "Like :c:func:`PyTuple_SetItem`, but does no error checking, and should " "*only* be used to fill in brand new tuples." msgstr "" -#: c-api/tuple.rst:96 +#: ../../src/Doc/c-api/tuple.rst:96 msgid "" "Can be used to resize a tuple. *newsize* will be the new length of the " "tuple. Because tuples are *supposed* to be immutable, this should only be " @@ -11856,12 +11914,12 @@ msgid "" "`SystemError`." msgstr "" -#: c-api/tuple.rst:114 +#: ../../src/Doc/c-api/tuple.rst:114 #, fuzzy msgid "Struct Sequence Objects" msgstr "Objets séquences" -#: c-api/tuple.rst:116 +#: ../../src/Doc/c-api/tuple.rst:116 msgid "" "Struct sequence objects are the C equivalent of :func:`~collections." "namedtuple` objects, i.e. a sequence whose items can also be accessed " @@ -11869,73 +11927,73 @@ msgid "" "specific struct sequence type." msgstr "" -#: c-api/tuple.rst:123 +#: ../../src/Doc/c-api/tuple.rst:123 msgid "" "Create a new struct sequence type from the data in *desc*, described below. " "Instances of the resulting type can be created with :c:func:" "`PyStructSequence_New`." msgstr "" -#: c-api/tuple.rst:129 +#: ../../src/Doc/c-api/tuple.rst:129 msgid "Initializes a struct sequence type *type* from *desc* in place." msgstr "" -#: c-api/tuple.rst:134 +#: ../../src/Doc/c-api/tuple.rst:134 msgid "" "The same as ``PyStructSequence_InitType``, but returns ``0`` on success and " "``-1`` on failure." msgstr "" -#: c-api/tuple.rst:142 +#: ../../src/Doc/c-api/tuple.rst:142 msgid "Contains the meta information of a struct sequence type to create." msgstr "" -#: c-api/tuple.rst:147 c-api/tuple.rst:170 +#: ../../src/Doc/c-api/tuple.rst:147 ../../src/Doc/c-api/tuple.rst:170 msgid "``name``" msgstr "" -#: c-api/tuple.rst:147 c-api/tuple.rst:149 c-api/tuple.rst:170 -#: c-api/tuple.rst:175 +#: ../../src/Doc/c-api/tuple.rst:147 ../../src/Doc/c-api/tuple.rst:149 +#: ../../src/Doc/c-api/tuple.rst:170 ../../src/Doc/c-api/tuple.rst:175 msgid "``char *``" msgstr "" -#: c-api/tuple.rst:147 +#: ../../src/Doc/c-api/tuple.rst:147 msgid "name of the struct sequence type" msgstr "" -#: c-api/tuple.rst:149 c-api/tuple.rst:175 +#: ../../src/Doc/c-api/tuple.rst:149 ../../src/Doc/c-api/tuple.rst:175 msgid "``doc``" msgstr "" -#: c-api/tuple.rst:149 +#: ../../src/Doc/c-api/tuple.rst:149 msgid "pointer to docstring for the type or NULL to omit" msgstr "" -#: c-api/tuple.rst:152 +#: ../../src/Doc/c-api/tuple.rst:152 msgid "``fields``" msgstr "" -#: c-api/tuple.rst:152 +#: ../../src/Doc/c-api/tuple.rst:152 msgid "``PyStructSequence_Field *``" msgstr "" -#: c-api/tuple.rst:152 +#: ../../src/Doc/c-api/tuple.rst:152 msgid "pointer to *NULL*-terminated array with field names of the new type" msgstr "" -#: c-api/tuple.rst:155 +#: ../../src/Doc/c-api/tuple.rst:155 msgid "``n_in_sequence``" msgstr "" -#: c-api/tuple.rst:155 +#: ../../src/Doc/c-api/tuple.rst:155 msgid "``int``" msgstr "" -#: c-api/tuple.rst:155 +#: ../../src/Doc/c-api/tuple.rst:155 msgid "number of fields visible to the Python side (if used as tuple)" msgstr "" -#: c-api/tuple.rst:162 +#: ../../src/Doc/c-api/tuple.rst:162 msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " "tuple, all fields are typed as :c:type:`PyObject\\*`. The index in the :" @@ -11943,78 +12001,78 @@ msgid "" "field of the struct sequence is described." msgstr "" -#: c-api/tuple.rst:170 +#: ../../src/Doc/c-api/tuple.rst:170 msgid "" "name for the field or *NULL* to end the list of named fields, set to " "PyStructSequence_UnnamedField to leave unnamed" msgstr "" -#: c-api/tuple.rst:175 +#: ../../src/Doc/c-api/tuple.rst:175 msgid "field docstring or *NULL* to omit" msgstr "" -#: c-api/tuple.rst:181 +#: ../../src/Doc/c-api/tuple.rst:181 msgid "Special value for a field name to leave it unnamed." msgstr "" -#: c-api/tuple.rst:186 +#: ../../src/Doc/c-api/tuple.rst:186 msgid "" "Creates an instance of *type*, which must have been created with :c:func:" "`PyStructSequence_NewType`." msgstr "" -#: c-api/tuple.rst:192 +#: ../../src/Doc/c-api/tuple.rst:192 msgid "" "Return the object at position *pos* in the struct sequence pointed to by " "*p*. No bounds checking is performed." msgstr "" -#: c-api/tuple.rst:198 +#: ../../src/Doc/c-api/tuple.rst:198 msgid "Macro equivalent of :c:func:`PyStructSequence_GetItem`." msgstr "" -#: c-api/tuple.rst:203 +#: ../../src/Doc/c-api/tuple.rst:203 msgid "" "Sets the field at index *pos* of the struct sequence *p* to value *o*. " "Like :c:func:`PyTuple_SET_ITEM`, this should only be used to fill in brand " "new instances." msgstr "" -#: c-api/tuple.rst:214 +#: ../../src/Doc/c-api/tuple.rst:214 msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`." msgstr "" -#: c-api/type.rst:6 c-api/typeobj.rst:6 +#: ../../src/Doc/c-api/type.rst:6 ../../src/Doc/c-api/typeobj.rst:6 msgid "Type Objects" msgstr "" -#: c-api/type.rst:13 +#: ../../src/Doc/c-api/type.rst:13 msgid "The C structure of the objects used to describe built-in types." msgstr "" -#: c-api/type.rst:18 +#: ../../src/Doc/c-api/type.rst:18 msgid "" "This is the type object for type objects; it is the same object as :class:" "`type` in the Python layer." msgstr "" -#: c-api/type.rst:24 +#: ../../src/Doc/c-api/type.rst:24 msgid "" "Return true if the object *o* is a type object, including instances of types " "derived from the standard type object. Return false in all other cases." msgstr "" -#: c-api/type.rst:30 +#: ../../src/Doc/c-api/type.rst:30 msgid "" "Return true if the object *o* is a type object, but not a subtype of the " "standard type object. Return false in all other cases." msgstr "" -#: c-api/type.rst:36 +#: ../../src/Doc/c-api/type.rst:36 msgid "Clear the internal lookup cache. Return the current version tag." msgstr "" -#: c-api/type.rst:40 +#: ../../src/Doc/c-api/type.rst:40 msgid "" "Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " "function is primarily meant for use with `Py_LIMITED_API`; the individual " @@ -12022,51 +12080,51 @@ msgid "" "c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API." msgstr "" -#: c-api/type.rst:50 +#: ../../src/Doc/c-api/type.rst:50 msgid "" "Invalidate the internal lookup cache for the type and all of its subtypes. " "This function must be called after any manual modification of the attributes " "or base classes of the type." msgstr "" -#: c-api/type.rst:57 +#: ../../src/Doc/c-api/type.rst:57 msgid "" "Return true if the type object *o* sets the feature *feature*. Type " "features are denoted by single bit flags." msgstr "" -#: c-api/type.rst:63 +#: ../../src/Doc/c-api/type.rst:63 msgid "" "Return true if the type object includes support for the cycle detector; this " "tests the type flag :const:`Py_TPFLAGS_HAVE_GC`." msgstr "" -#: c-api/type.rst:69 +#: ../../src/Doc/c-api/type.rst:69 msgid "Return true if *a* is a subtype of *b*." msgstr "" -#: c-api/type.rst:71 +#: ../../src/Doc/c-api/type.rst:71 msgid "" "This function only checks for actual subtypes, which means that :meth:" "`~class.__subclasscheck__` is not called on *b*. Call :c:func:" "`PyObject_IsSubclass` to do the same check that :func:`issubclass` would do." msgstr "" -#: c-api/type.rst:79 +#: ../../src/Doc/c-api/type.rst:79 msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type " "object. Use Python's default memory allocation mechanism to allocate a new " "instance and initialize all its contents to *NULL*." msgstr "" -#: c-api/type.rst:85 +#: ../../src/Doc/c-api/type.rst:85 msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type " "object. Create a new instance using the type's :c:member:`~PyTypeObject." "tp_alloc` slot." msgstr "" -#: c-api/type.rst:90 +#: ../../src/Doc/c-api/type.rst:90 msgid "" "Finalize a type object. This should be called on all type objects to finish " "their initialization. This function is responsible for adding inherited " @@ -12074,13 +12132,13 @@ msgid "" "and sets an exception on error." msgstr "" -#: c-api/type.rst:97 +#: ../../src/Doc/c-api/type.rst:97 msgid "" "Creates and returns a heap type object from the *spec* passed to the " "function." msgstr "" -#: c-api/type.rst:101 +#: ../../src/Doc/c-api/type.rst:101 msgid "" "Creates and returns a heap type object from the *spec*. In addition to that, " "the created heap type contains all types contained by the *bases* tuple as " @@ -12088,7 +12146,7 @@ msgid "" "types." msgstr "" -#: c-api/type.rst:109 +#: ../../src/Doc/c-api/type.rst:109 msgid "" "Return the function pointer stored in the given slot. If the result is " "*NULL*, this indicates that either the slot is *NULL*, or that the function " @@ -12096,7 +12154,7 @@ msgid "" "pointer into the appropriate function type." msgstr "" -#: c-api/typeobj.rst:8 +#: ../../src/Doc/c-api/typeobj.rst:8 msgid "" "Perhaps one of the most important structures of the Python object system is " "the structure that defines a new type: the :c:type:`PyTypeObject` " @@ -12107,7 +12165,7 @@ msgid "" "to any extension module that implements new types." msgstr "" -#: c-api/typeobj.rst:16 +#: ../../src/Doc/c-api/typeobj.rst:16 msgid "" "Type objects are fairly large compared to most of the standard types. The " "reason for the size is that each type object stores a large number of " @@ -12117,7 +12175,7 @@ msgid "" "they occur in the structure." msgstr "" -#: c-api/typeobj.rst:23 +#: ../../src/Doc/c-api/typeobj.rst:23 msgid "" "Typedefs: unaryfunc, binaryfunc, ternaryfunc, inquiry, intargfunc, " "intintargfunc, intobjargproc, intintobjargproc, objobjargproc, destructor, " @@ -12125,14 +12183,14 @@ msgid "" "reprfunc, hashfunc" msgstr "" -#: c-api/typeobj.rst:28 +#: ../../src/Doc/c-api/typeobj.rst:28 msgid "" "The structure definition for :c:type:`PyTypeObject` can be found in :file:" "`Include/object.h`. For convenience of reference, this repeats the " "definition found there:" msgstr "" -#: c-api/typeobj.rst:35 +#: ../../src/Doc/c-api/typeobj.rst:35 msgid "" "The type object structure extends the :c:type:`PyVarObject` structure. The :" "attr:`ob_size` field is used for dynamic types (created by :func:" @@ -12142,7 +12200,7 @@ msgid "" "the :attr:`ob_size` field." msgstr "" -#: c-api/typeobj.rst:45 +#: ../../src/Doc/c-api/typeobj.rst:45 msgid "" "These fields are only present when the macro ``Py_TRACE_REFS`` is defined. " "Their initialization to *NULL* is taken care of by the " @@ -12154,11 +12212,11 @@ msgid "" "end of a run when the environment variable :envvar:`PYTHONDUMPREFS` is set." msgstr "" -#: c-api/typeobj.rst:54 +#: ../../src/Doc/c-api/typeobj.rst:54 msgid "These fields are not inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:59 +#: ../../src/Doc/c-api/typeobj.rst:59 msgid "" "This is the type object's reference count, initialized to ``1`` by the " "``PyObject_HEAD_INIT`` macro. Note that for statically allocated type " @@ -12167,11 +12225,12 @@ msgid "" "objects, the instances *do* count as references." msgstr "" -#: c-api/typeobj.rst:65 c-api/typeobj.rst:94 c-api/typeobj.rst:121 +#: ../../src/Doc/c-api/typeobj.rst:65 ../../src/Doc/c-api/typeobj.rst:94 +#: ../../src/Doc/c-api/typeobj.rst:121 msgid "This field is not inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:70 +#: ../../src/Doc/c-api/typeobj.rst:70 msgid "" "This is the type's type, in other words its metatype. It is initialized by " "the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " @@ -12183,7 +12242,7 @@ msgid "" "doing anything else. This is typically done like this::" msgstr "" -#: c-api/typeobj.rst:81 +#: ../../src/Doc/c-api/typeobj.rst:81 msgid "" "This should be done before any instances of the type are created. :c:func:" "`PyType_Ready` checks if :attr:`ob_type` is *NULL*, and if so, initializes " @@ -12191,21 +12250,23 @@ msgid "" "will not change this field if it is non-zero." msgstr "" -#: c-api/typeobj.rst:86 c-api/typeobj.rst:187 c-api/typeobj.rst:252 -#: c-api/typeobj.rst:319 c-api/typeobj.rst:337 c-api/typeobj.rst:663 -#: c-api/typeobj.rst:680 c-api/typeobj.rst:775 c-api/typeobj.rst:870 -#: c-api/typeobj.rst:963 c-api/typeobj.rst:1018 +#: ../../src/Doc/c-api/typeobj.rst:86 ../../src/Doc/c-api/typeobj.rst:187 +#: ../../src/Doc/c-api/typeobj.rst:252 ../../src/Doc/c-api/typeobj.rst:319 +#: ../../src/Doc/c-api/typeobj.rst:337 ../../src/Doc/c-api/typeobj.rst:663 +#: ../../src/Doc/c-api/typeobj.rst:680 ../../src/Doc/c-api/typeobj.rst:775 +#: ../../src/Doc/c-api/typeobj.rst:870 ../../src/Doc/c-api/typeobj.rst:963 +#: ../../src/Doc/c-api/typeobj.rst:1018 msgid "This field is inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:91 +#: ../../src/Doc/c-api/typeobj.rst:91 msgid "" "For statically allocated type objects, this should be initialized to zero. " "For dynamically allocated type objects, this field has a special internal " "meaning." msgstr "" -#: c-api/typeobj.rst:99 +#: ../../src/Doc/c-api/typeobj.rst:99 msgid "" "Pointer to a NUL-terminated string containing the name of the type. For " "types that are accessible as module globals, the string should be the full " @@ -12217,14 +12278,14 @@ msgid "" "tp_name` initializer ``\"P.Q.M.T\"``." msgstr "" -#: c-api/typeobj.rst:107 +#: ../../src/Doc/c-api/typeobj.rst:107 msgid "" "For dynamically allocated type objects, this should just be the type name, " "and the module name explicitly stored in the type dict as the value for key " "``'__module__'``." msgstr "" -#: c-api/typeobj.rst:111 +#: ../../src/Doc/c-api/typeobj.rst:111 msgid "" "For statically allocated type objects, the tp_name field should contain a " "dot. Everything before the last dot is made accessible as the :attr:" @@ -12232,7 +12293,7 @@ msgid "" "as the :attr:`__name__` attribute." msgstr "" -#: c-api/typeobj.rst:116 +#: ../../src/Doc/c-api/typeobj.rst:116 msgid "" "If no dot is present, the entire :c:member:`~PyTypeObject.tp_name` field is " "made accessible as the :attr:`__name__` attribute, and the :attr:" @@ -12241,12 +12302,12 @@ msgid "" "pickle." msgstr "" -#: c-api/typeobj.rst:127 +#: ../../src/Doc/c-api/typeobj.rst:127 msgid "" "These fields allow calculating the size in bytes of instances of the type." msgstr "" -#: c-api/typeobj.rst:129 +#: ../../src/Doc/c-api/typeobj.rst:129 msgid "" "There are two kinds of types: types with fixed-length instances have a zero :" "c:member:`~PyTypeObject.tp_itemsize` field, types with variable-length " @@ -12255,7 +12316,7 @@ msgid "" "in :c:member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: c-api/typeobj.rst:134 +#: ../../src/Doc/c-api/typeobj.rst:134 msgid "" "For a type with variable-length instances, the instances must have an :attr:" "`ob_size` field, and the instance size is :c:member:`~PyTypeObject." @@ -12269,7 +12330,7 @@ msgid "" "instances, yet those instances have a meaningful :attr:`ob_size` field)." msgstr "" -#: c-api/typeobj.rst:145 +#: ../../src/Doc/c-api/typeobj.rst:145 msgid "" "The basic size includes the fields in the instance declared by the macro :c:" "macro:`PyObject_HEAD` or :c:macro:`PyObject_VAR_HEAD` (whichever is used to " @@ -12281,7 +12342,7 @@ msgid "" "size." msgstr "" -#: c-api/typeobj.rst:153 +#: ../../src/Doc/c-api/typeobj.rst:153 msgid "" "These fields are inherited separately by subtypes. If the base type has a " "non-zero :c:member:`~PyTypeObject.tp_itemsize`, it is generally not safe to " @@ -12289,7 +12350,7 @@ msgid "" "subtype (though this depends on the implementation of the base type)." msgstr "" -#: c-api/typeobj.rst:158 +#: ../../src/Doc/c-api/typeobj.rst:158 msgid "" "A note about alignment: if the variable items require a particular " "alignment, this should be taken care of by the value of :c:member:" @@ -12300,14 +12361,14 @@ msgid "" "alignment requirement for ``double``)." msgstr "" -#: c-api/typeobj.rst:168 +#: ../../src/Doc/c-api/typeobj.rst:168 msgid "" "A pointer to the instance destructor function. This function must be " "defined unless the type guarantees that its instances will never be " "deallocated (as is the case for the singletons ``None`` and ``Ellipsis``)." msgstr "" -#: c-api/typeobj.rst:172 +#: ../../src/Doc/c-api/typeobj.rst:172 msgid "" "The destructor function is called by the :c:func:`Py_DECREF` and :c:func:" "`Py_XDECREF` macros when the new reference count is zero. At this point, " @@ -12326,15 +12387,15 @@ msgid "" "`PyObject_GC_NewVar`." msgstr "" -#: c-api/typeobj.rst:192 +#: ../../src/Doc/c-api/typeobj.rst:192 msgid "Reserved slot, formerly used for print formatting in Python 2.x." msgstr "" -#: c-api/typeobj.rst:197 +#: ../../src/Doc/c-api/typeobj.rst:197 msgid "An optional pointer to the get-attribute-string function." msgstr "" -#: c-api/typeobj.rst:199 +#: ../../src/Doc/c-api/typeobj.rst:199 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " @@ -12343,7 +12404,7 @@ msgid "" "`PyObject_GetAttrString`." msgstr "" -#: c-api/typeobj.rst:204 +#: ../../src/Doc/c-api/typeobj.rst:204 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -12352,12 +12413,12 @@ msgid "" "tp_getattro` are both *NULL*." msgstr "" -#: c-api/typeobj.rst:211 c-api/typeobj.rst:355 +#: ../../src/Doc/c-api/typeobj.rst:211 ../../src/Doc/c-api/typeobj.rst:355 msgid "" "An optional pointer to the function for setting and deleting attributes." msgstr "" -#: c-api/typeobj.rst:213 +#: ../../src/Doc/c-api/typeobj.rst:213 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " @@ -12367,7 +12428,7 @@ msgid "" "must be supported." msgstr "" -#: c-api/typeobj.rst:219 +#: ../../src/Doc/c-api/typeobj.rst:219 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -12376,24 +12437,24 @@ msgid "" "tp_setattro` are both *NULL*." msgstr "" -#: c-api/typeobj.rst:226 +#: ../../src/Doc/c-api/typeobj.rst:226 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement :term:`awaitable` and :term:`asynchronous iterator` " "protocols at the C-level. See :ref:`async-structs` for details." msgstr "" -#: c-api/typeobj.rst:230 +#: ../../src/Doc/c-api/typeobj.rst:230 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." msgstr "" -#: c-api/typeobj.rst:238 +#: ../../src/Doc/c-api/typeobj.rst:238 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`repr`." msgstr "" -#: c-api/typeobj.rst:241 +#: ../../src/Doc/c-api/typeobj.rst:241 msgid "" "The signature is the same as for :c:func:`PyObject_Repr`; it must return a " "string or a Unicode object. Ideally, this function should return a string " @@ -12403,59 +12464,59 @@ msgid "" "type and the value of the object can be deduced." msgstr "" -#: c-api/typeobj.rst:248 +#: ../../src/Doc/c-api/typeobj.rst:248 msgid "" "When this field is not set, a string of the form ``<%s object at %p>`` is " "returned, where ``%s`` is replaced by the type name, and ``%p`` by the " "object's memory address." msgstr "" -#: c-api/typeobj.rst:256 +#: ../../src/Doc/c-api/typeobj.rst:256 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the number protocol. These fields are documented " "in :ref:`number-structs`." msgstr "" -#: c-api/typeobj.rst:260 +#: ../../src/Doc/c-api/typeobj.rst:260 msgid "" "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:266 +#: ../../src/Doc/c-api/typeobj.rst:266 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the sequence protocol. These fields are documented " "in :ref:`sequence-structs`." msgstr "" -#: c-api/typeobj.rst:270 +#: ../../src/Doc/c-api/typeobj.rst:270 msgid "" "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:276 +#: ../../src/Doc/c-api/typeobj.rst:276 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the mapping protocol. These fields are documented " "in :ref:`mapping-structs`." msgstr "" -#: c-api/typeobj.rst:280 +#: ../../src/Doc/c-api/typeobj.rst:280 msgid "" "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:288 +#: ../../src/Doc/c-api/typeobj.rst:288 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`hash`." msgstr "" -#: c-api/typeobj.rst:291 +#: ../../src/Doc/c-api/typeobj.rst:291 msgid "" "The signature is the same as for :c:func:`PyObject_Hash`; it must return a " "value of the type Py_hash_t. The value ``-1`` should not be returned as a " @@ -12463,7 +12524,7 @@ msgid "" "value, the function should set an exception and return ``-1``." msgstr "" -#: c-api/typeobj.rst:296 +#: ../../src/Doc/c-api/typeobj.rst:296 msgid "" "This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to " "block inheritance of the hash method from a parent type. This is interpreted " @@ -12474,13 +12535,13 @@ msgid "" "`PyObject_HashNotImplemented`." msgstr "" -#: c-api/typeobj.rst:304 +#: ../../src/Doc/c-api/typeobj.rst:304 msgid "" "When this field is not set, an attempt to take the hash of the object " "raises :exc:`TypeError`." msgstr "" -#: c-api/typeobj.rst:307 +#: ../../src/Doc/c-api/typeobj.rst:307 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." @@ -12489,14 +12550,14 @@ msgid "" "are both *NULL*." msgstr "" -#: c-api/typeobj.rst:315 +#: ../../src/Doc/c-api/typeobj.rst:315 msgid "" "An optional pointer to a function that implements calling the object. This " "should be *NULL* if the object is not callable. The signature is the same " "as for :c:func:`PyObject_Call`." msgstr "" -#: c-api/typeobj.rst:324 +#: ../../src/Doc/c-api/typeobj.rst:324 msgid "" "An optional pointer to a function that implements the built-in operation :" "func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " @@ -12505,7 +12566,7 @@ msgid "" "this handler.)" msgstr "" -#: c-api/typeobj.rst:329 +#: ../../src/Doc/c-api/typeobj.rst:329 msgid "" "The signature is the same as for :c:func:`PyObject_Str`; it must return a " "string or a Unicode object. This function should return a \"friendly\" " @@ -12513,24 +12574,24 @@ msgid "" "be used, among other things, by the :func:`print` function." msgstr "" -#: c-api/typeobj.rst:334 +#: ../../src/Doc/c-api/typeobj.rst:334 msgid "" "When this field is not set, :c:func:`PyObject_Repr` is called to return a " "string representation." msgstr "" -#: c-api/typeobj.rst:342 +#: ../../src/Doc/c-api/typeobj.rst:342 msgid "An optional pointer to the get-attribute function." msgstr "" -#: c-api/typeobj.rst:344 +#: ../../src/Doc/c-api/typeobj.rst:344 msgid "" "The signature is the same as for :c:func:`PyObject_GetAttr`. It is usually " "convenient to set this field to :c:func:`PyObject_GenericGetAttr`, which " "implements the normal way of looking for object attributes." msgstr "" -#: c-api/typeobj.rst:348 +#: ../../src/Doc/c-api/typeobj.rst:348 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -12539,7 +12600,7 @@ msgid "" "tp_getattro` are both *NULL*." msgstr "" -#: c-api/typeobj.rst:357 +#: ../../src/Doc/c-api/typeobj.rst:357 msgid "" "The signature is the same as for :c:func:`PyObject_SetAttr`, but setting *v* " "to *NULL* to delete an attribute must be supported. It is usually " @@ -12547,7 +12608,7 @@ msgid "" "implements the normal way of setting object attributes." msgstr "" -#: c-api/typeobj.rst:362 +#: ../../src/Doc/c-api/typeobj.rst:362 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -12556,20 +12617,20 @@ msgid "" "tp_setattro` are both *NULL*." msgstr "" -#: c-api/typeobj.rst:369 +#: ../../src/Doc/c-api/typeobj.rst:369 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the buffer interface. These fields are documented " "in :ref:`buffer-structs`." msgstr "" -#: c-api/typeobj.rst:373 +#: ../../src/Doc/c-api/typeobj.rst:373 msgid "" "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:379 +#: ../../src/Doc/c-api/typeobj.rst:379 msgid "" "This field is a bit mask of various flags. Some flags indicate variant " "semantics for certain situations; others are used to indicate that certain " @@ -12581,7 +12642,7 @@ msgid "" "accessed and must be considered to have a zero or *NULL* value instead." msgstr "" -#: c-api/typeobj.rst:387 +#: ../../src/Doc/c-api/typeobj.rst:387 msgid "" "Inheritance of this field is complicated. Most flag bits are inherited " "individually, i.e. if the base type has a flag bit set, the subtype inherits " @@ -12596,7 +12657,7 @@ msgid "" "the subtype exist and have *NULL* values." msgstr "" -#: c-api/typeobj.rst:398 +#: ../../src/Doc/c-api/typeobj.rst:398 msgid "" "The following bit masks are currently defined; these can be ORed together " "using the ``|`` operator to form the value of the :c:member:`~PyTypeObject." @@ -12605,7 +12666,7 @@ msgid "" "zero." msgstr "" -#: c-api/typeobj.rst:406 +#: ../../src/Doc/c-api/typeobj.rst:406 msgid "" "This bit is set when the type object itself is allocated on the heap. In " "this case, the :attr:`ob_type` field of its instances is considered a " @@ -12615,26 +12676,26 @@ msgid "" "gets INCREF'ed or DECREF'ed)." msgstr "" -#: c-api/typeobj.rst:416 +#: ../../src/Doc/c-api/typeobj.rst:416 msgid "" "This bit is set when the type can be used as the base type of another type. " "If this bit is clear, the type cannot be subtyped (similar to a \"final\" " "class in Java)." msgstr "" -#: c-api/typeobj.rst:423 +#: ../../src/Doc/c-api/typeobj.rst:423 msgid "" "This bit is set when the type object has been fully initialized by :c:func:" "`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:429 +#: ../../src/Doc/c-api/typeobj.rst:429 msgid "" "This bit is set while :c:func:`PyType_Ready` is in the process of " "initializing the type object." msgstr "" -#: c-api/typeobj.rst:435 +#: ../../src/Doc/c-api/typeobj.rst:435 msgid "" "This bit is set when the object supports garbage collection. If this bit is " "set, instances must be created using :c:func:`PyObject_GC_New` and destroyed " @@ -12644,7 +12705,7 @@ msgid "" "tp_clear` are present in the type object." msgstr "" -#: c-api/typeobj.rst:445 +#: ../../src/Doc/c-api/typeobj.rst:445 msgid "" "This is a bitmask of all the bits that pertain to the existence of certain " "fields in the type object and its extension structures. Currently, it " @@ -12652,7 +12713,7 @@ msgid "" "const:`Py_TPFLAGS_HAVE_VERSION_TAG`." msgstr "" -#: c-api/typeobj.rst:460 +#: ../../src/Doc/c-api/typeobj.rst:460 msgid "" "These flags are used by functions such as :c:func:`PyLong_Check` to quickly " "determine if a type is a subclass of a built-in type; such specific checks " @@ -12662,24 +12723,24 @@ msgid "" "behave differently depending on what kind of check is used." msgstr "" -#: c-api/typeobj.rst:471 +#: ../../src/Doc/c-api/typeobj.rst:471 msgid "" "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " "present in the type structure." msgstr "" -#: c-api/typeobj.rst:479 +#: ../../src/Doc/c-api/typeobj.rst:479 msgid "" "An optional pointer to a NUL-terminated C string giving the docstring for " "this type object. This is exposed as the :attr:`__doc__` attribute on the " "type and instances of the type." msgstr "" -#: c-api/typeobj.rst:483 +#: ../../src/Doc/c-api/typeobj.rst:483 msgid "This field is *not* inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:488 +#: ../../src/Doc/c-api/typeobj.rst:488 msgid "" "An optional pointer to a traversal function for the garbage collector. This " "is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. More " @@ -12687,7 +12748,7 @@ msgid "" "section :ref:`supporting-cycle-detection`." msgstr "" -#: c-api/typeobj.rst:493 +#: ../../src/Doc/c-api/typeobj.rst:493 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " "collector to detect reference cycles. A typical implementation of a :c:" @@ -12697,7 +12758,7 @@ msgid "" "module::" msgstr "" -#: c-api/typeobj.rst:508 +#: ../../src/Doc/c-api/typeobj.rst:508 msgid "" "Note that :c:func:`Py_VISIT` is called only on those members that can " "participate in reference cycles. Although there is also a ``self->key`` " @@ -12705,21 +12766,21 @@ msgid "" "part of a reference cycle." msgstr "" -#: c-api/typeobj.rst:512 +#: ../../src/Doc/c-api/typeobj.rst:512 msgid "" "On the other hand, even if you know a member can never be part of a cycle, " "as a debugging aid you may want to visit it anyway just so the :mod:`gc` " "module's :func:`~gc.get_referents` function will include it." msgstr "" -#: c-api/typeobj.rst:516 +#: ../../src/Doc/c-api/typeobj.rst:516 msgid "" "Note that :c:func:`Py_VISIT` requires the *visit* and *arg* parameters to :c:" "func:`local_traverse` to have these specific names; don't name them just " "anything." msgstr "" -#: c-api/typeobj.rst:520 +#: ../../src/Doc/c-api/typeobj.rst:520 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -12727,13 +12788,13 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: c-api/typeobj.rst:528 +#: ../../src/Doc/c-api/typeobj.rst:528 msgid "" "An optional pointer to a clear function for the garbage collector. This is " "only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set." msgstr "" -#: c-api/typeobj.rst:531 +#: ../../src/Doc/c-api/typeobj.rst:531 msgid "" "The :c:member:`~PyTypeObject.tp_clear` member function is used to break " "reference cycles in cyclic garbage detected by the garbage collector. Taken " @@ -12748,7 +12809,7 @@ msgid "" "good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: c-api/typeobj.rst:541 +#: ../../src/Doc/c-api/typeobj.rst:541 msgid "" "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " "instance's references to those of its members that may be Python objects, " @@ -12756,7 +12817,7 @@ msgid "" "example::" msgstr "" -#: c-api/typeobj.rst:555 +#: ../../src/Doc/c-api/typeobj.rst:555 msgid "" "The :c:func:`Py_CLEAR` macro should be used, because clearing references is " "delicate: the reference to the contained object must not be decremented " @@ -12771,7 +12832,7 @@ msgid "" "a safe order." msgstr "" -#: c-api/typeobj.rst:566 +#: ../../src/Doc/c-api/typeobj.rst:566 msgid "" "Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break " "reference cycles, it's not necessary to clear contained objects like Python " @@ -12781,13 +12842,13 @@ msgid "" "invoke :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: c-api/typeobj.rst:572 +#: ../../src/Doc/c-api/typeobj.rst:572 msgid "" "More information about Python's garbage collection scheme can be found in " "section :ref:`supporting-cycle-detection`." msgstr "" -#: c-api/typeobj.rst:575 +#: ../../src/Doc/c-api/typeobj.rst:575 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -12795,7 +12856,7 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: c-api/typeobj.rst:583 +#: ../../src/Doc/c-api/typeobj.rst:583 msgid "" "An optional pointer to the rich comparison function, whose signature is " "``PyObject *tp_richcompare(PyObject *a, PyObject *b, int op)``. The first " @@ -12803,7 +12864,7 @@ msgid "" "type:`PyTypeObject`." msgstr "" -#: c-api/typeobj.rst:588 +#: ../../src/Doc/c-api/typeobj.rst:588 msgid "" "The function should return the result of the comparison (usually ``Py_True`` " "or ``Py_False``). If the comparison is undefined, it must return " @@ -12811,14 +12872,14 @@ msgid "" "set an exception condition." msgstr "" -#: c-api/typeobj.rst:595 +#: ../../src/Doc/c-api/typeobj.rst:595 msgid "" "If you want to implement a type for which only a limited set of comparisons " "makes sense (e.g. ``==`` and ``!=``, but not ``<`` and friends), directly " "raise :exc:`TypeError` in the rich comparison function." msgstr "" -#: c-api/typeobj.rst:599 +#: ../../src/Doc/c-api/typeobj.rst:599 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" @@ -12826,69 +12887,69 @@ msgid "" "tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both *NULL*." msgstr "" -#: c-api/typeobj.rst:604 +#: ../../src/Doc/c-api/typeobj.rst:604 msgid "" "The following constants are defined to be used as the third argument for :c:" "member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:" msgstr "" -#: c-api/typeobj.rst:608 +#: ../../src/Doc/c-api/typeobj.rst:608 msgid "Constant" msgstr "" -#: c-api/typeobj.rst:608 +#: ../../src/Doc/c-api/typeobj.rst:608 msgid "Comparison" msgstr "" -#: c-api/typeobj.rst:610 +#: ../../src/Doc/c-api/typeobj.rst:610 msgid ":const:`Py_LT`" msgstr "" -#: c-api/typeobj.rst:610 +#: ../../src/Doc/c-api/typeobj.rst:610 msgid "``<``" msgstr "``<``" -#: c-api/typeobj.rst:612 +#: ../../src/Doc/c-api/typeobj.rst:612 msgid ":const:`Py_LE`" msgstr "" -#: c-api/typeobj.rst:612 +#: ../../src/Doc/c-api/typeobj.rst:612 msgid "``<=``" msgstr "``<=``" -#: c-api/typeobj.rst:614 +#: ../../src/Doc/c-api/typeobj.rst:614 msgid ":const:`Py_EQ`" msgstr "" -#: c-api/typeobj.rst:614 +#: ../../src/Doc/c-api/typeobj.rst:614 msgid "``==``" msgstr "``==``" -#: c-api/typeobj.rst:616 +#: ../../src/Doc/c-api/typeobj.rst:616 msgid ":const:`Py_NE`" msgstr "" -#: c-api/typeobj.rst:616 +#: ../../src/Doc/c-api/typeobj.rst:616 msgid "``!=``" msgstr "``!=``" -#: c-api/typeobj.rst:618 +#: ../../src/Doc/c-api/typeobj.rst:618 msgid ":const:`Py_GT`" msgstr "" -#: c-api/typeobj.rst:618 +#: ../../src/Doc/c-api/typeobj.rst:618 msgid "``>``" msgstr "``>``" -#: c-api/typeobj.rst:620 +#: ../../src/Doc/c-api/typeobj.rst:620 msgid ":const:`Py_GE`" msgstr "" -#: c-api/typeobj.rst:620 +#: ../../src/Doc/c-api/typeobj.rst:620 msgid "``>=``" msgstr "``>=``" -#: c-api/typeobj.rst:626 +#: ../../src/Doc/c-api/typeobj.rst:626 msgid "" "If the instances of this type are weakly referenceable, this field is " "greater than zero and contains the offset in the instance structure of the " @@ -12898,13 +12959,13 @@ msgid "" "`PyObject\\*` which is initialized to *NULL*." msgstr "" -#: c-api/typeobj.rst:633 +#: ../../src/Doc/c-api/typeobj.rst:633 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " "is the list head for weak references to the type object itself." msgstr "" -#: c-api/typeobj.rst:636 +#: ../../src/Doc/c-api/typeobj.rst:636 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype uses a " @@ -12913,7 +12974,7 @@ msgid "" "not be a problem." msgstr "" -#: c-api/typeobj.rst:641 +#: ../../src/Doc/c-api/typeobj.rst:641 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types are weakly referenceable, the type " @@ -12922,7 +12983,7 @@ msgid "" "tp_weaklistoffset` of that slot's offset." msgstr "" -#: c-api/typeobj.rst:646 +#: ../../src/Doc/c-api/typeobj.rst:646 msgid "" "When a type's :attr:`__slots__` declaration contains a slot named :attr:" "`__weakref__`, that slot becomes the weak reference list head for instances " @@ -12930,25 +12991,25 @@ msgid "" "`~PyTypeObject.tp_weaklistoffset`." msgstr "" -#: c-api/typeobj.rst:651 +#: ../../src/Doc/c-api/typeobj.rst:651 msgid "" "When a type's :attr:`__slots__` declaration does not contain a slot named :" "attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject." "tp_weaklistoffset` from its base type." msgstr "" -#: c-api/typeobj.rst:657 +#: ../../src/Doc/c-api/typeobj.rst:657 msgid "" "An optional pointer to a function that returns an iterator for the object. " "Its presence normally signals that the instances of this type are iterable " "(although sequences may be iterable without this function)." msgstr "" -#: c-api/typeobj.rst:661 +#: ../../src/Doc/c-api/typeobj.rst:661 msgid "This function has the same signature as :c:func:`PyObject_GetIter`." msgstr "" -#: c-api/typeobj.rst:668 +#: ../../src/Doc/c-api/typeobj.rst:668 msgid "" "An optional pointer to a function that returns the next item in an iterator. " "When the iterator is exhausted, it must return *NULL*; a :exc:" @@ -12957,78 +13018,78 @@ msgid "" "type are iterators." msgstr "" -#: c-api/typeobj.rst:674 +#: ../../src/Doc/c-api/typeobj.rst:674 msgid "" "Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " "function, and that function should return the iterator instance itself (not " "a new iterator instance)." msgstr "" -#: c-api/typeobj.rst:678 +#: ../../src/Doc/c-api/typeobj.rst:678 msgid "This function has the same signature as :c:func:`PyIter_Next`." msgstr "" -#: c-api/typeobj.rst:685 +#: ../../src/Doc/c-api/typeobj.rst:685 msgid "" "An optional pointer to a static *NULL*-terminated array of :c:type:" "`PyMethodDef` structures, declaring regular methods of this type." msgstr "" -#: c-api/typeobj.rst:688 +#: ../../src/Doc/c-api/typeobj.rst:688 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." msgstr "" -#: c-api/typeobj.rst:691 +#: ../../src/Doc/c-api/typeobj.rst:691 msgid "" "This field is not inherited by subtypes (methods are inherited through a " "different mechanism)." msgstr "" -#: c-api/typeobj.rst:697 +#: ../../src/Doc/c-api/typeobj.rst:697 msgid "" "An optional pointer to a static *NULL*-terminated array of :c:type:" "`PyMemberDef` structures, declaring regular data members (fields or slots) " "of instances of this type." msgstr "" -#: c-api/typeobj.rst:701 +#: ../../src/Doc/c-api/typeobj.rst:701 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." msgstr "" -#: c-api/typeobj.rst:704 +#: ../../src/Doc/c-api/typeobj.rst:704 msgid "" "This field is not inherited by subtypes (members are inherited through a " "different mechanism)." msgstr "" -#: c-api/typeobj.rst:710 +#: ../../src/Doc/c-api/typeobj.rst:710 msgid "" "An optional pointer to a static *NULL*-terminated array of :c:type:" "`PyGetSetDef` structures, declaring computed attributes of instances of this " "type." msgstr "" -#: c-api/typeobj.rst:713 +#: ../../src/Doc/c-api/typeobj.rst:713 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." msgstr "" -#: c-api/typeobj.rst:716 +#: ../../src/Doc/c-api/typeobj.rst:716 msgid "" "This field is not inherited by subtypes (computed attributes are inherited " "through a different mechanism)." msgstr "" -#: c-api/typeobj.rst:721 +#: ../../src/Doc/c-api/typeobj.rst:721 msgid "Docs for PyGetSetDef::" msgstr "" -#: c-api/typeobj.rst:737 +#: ../../src/Doc/c-api/typeobj.rst:737 msgid "" "An optional pointer to a base type from which type properties are " "inherited. At this level, only single inheritance is supported; multiple " @@ -13036,18 +13097,18 @@ msgid "" "metatype." msgstr "" -#: c-api/typeobj.rst:741 +#: ../../src/Doc/c-api/typeobj.rst:741 msgid "" "This field is not inherited by subtypes (obviously), but it defaults to " "``&PyBaseObject_Type`` (which to Python programmers is known as the type :" "class:`object`)." msgstr "" -#: c-api/typeobj.rst:748 +#: ../../src/Doc/c-api/typeobj.rst:748 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:750 +#: ../../src/Doc/c-api/typeobj.rst:750 msgid "" "This field should normally be initialized to *NULL* before PyType_Ready is " "called; it may also be initialized to a dictionary containing initial " @@ -13056,40 +13117,41 @@ msgid "" "they don't correspond to overloaded operations (like :meth:`__add__`)." msgstr "" -#: c-api/typeobj.rst:756 +#: ../../src/Doc/c-api/typeobj.rst:756 msgid "" "This field is not inherited by subtypes (though the attributes defined in " "here are inherited through a different mechanism)." msgstr "" -#: c-api/typeobj.rst:761 +#: ../../src/Doc/c-api/typeobj.rst:761 msgid "" "It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:" "member:`~PyTypeObject.tp_dict` with the dictionary C-API." msgstr "" -#: c-api/typeobj.rst:767 +#: ../../src/Doc/c-api/typeobj.rst:767 msgid "An optional pointer to a \"descriptor get\" function." msgstr "" -#: c-api/typeobj.rst:769 c-api/typeobj.rst:783 c-api/typeobj.rst:855 -#: c-api/typeobj.rst:877 c-api/typeobj.rst:908 +#: ../../src/Doc/c-api/typeobj.rst:769 ../../src/Doc/c-api/typeobj.rst:783 +#: ../../src/Doc/c-api/typeobj.rst:855 ../../src/Doc/c-api/typeobj.rst:877 +#: ../../src/Doc/c-api/typeobj.rst:908 msgid "The function signature is ::" msgstr "" -#: c-api/typeobj.rst:780 +#: ../../src/Doc/c-api/typeobj.rst:780 msgid "" "An optional pointer to a function for setting and deleting a descriptor's " "value." msgstr "" -#: c-api/typeobj.rst:787 +#: ../../src/Doc/c-api/typeobj.rst:787 msgid "" "The *value* argument is set to *NULL* to delete the value. This field is " "inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:795 +#: ../../src/Doc/c-api/typeobj.rst:795 msgid "" "If the instances of this type have a dictionary containing instance " "variables, this field is non-zero and contains the offset in the instances " @@ -13097,13 +13159,13 @@ msgid "" "func:`PyObject_GenericGetAttr`." msgstr "" -#: c-api/typeobj.rst:800 +#: ../../src/Doc/c-api/typeobj.rst:800 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " "the dictionary for attributes of the type object itself." msgstr "" -#: c-api/typeobj.rst:803 +#: ../../src/Doc/c-api/typeobj.rst:803 msgid "" "If the value of this field is greater than zero, it specifies the offset " "from the start of the instance structure. If the value is less than zero, " @@ -13119,13 +13181,13 @@ msgid "" "the very end of the structure." msgstr "" -#: c-api/typeobj.rst:815 +#: ../../src/Doc/c-api/typeobj.rst:815 msgid "" "The real dictionary offset in an instance can be computed from a negative :c:" "member:`~PyTypeObject.tp_dictoffset` as follows::" msgstr "" -#: c-api/typeobj.rst:822 +#: ../../src/Doc/c-api/typeobj.rst:822 msgid "" "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject." "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the " @@ -13135,7 +13197,7 @@ msgid "" "it is done for you by :c:func:`_PyObject_GetDictPtr`.)" msgstr "" -#: c-api/typeobj.rst:828 +#: ../../src/Doc/c-api/typeobj.rst:828 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype instances " @@ -13144,7 +13206,7 @@ msgid "" "should not be a problem." msgstr "" -#: c-api/typeobj.rst:833 +#: ../../src/Doc/c-api/typeobj.rst:833 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types has an instance variable dictionary, " @@ -13152,14 +13214,14 @@ msgid "" "`~PyTypeObject.tp_dictoffset` is set to that slot's offset." msgstr "" -#: c-api/typeobj.rst:838 +#: ../../src/Doc/c-api/typeobj.rst:838 msgid "" "When a type defined by a class statement has a :attr:`__slots__` " "declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` " "from its base type." msgstr "" -#: c-api/typeobj.rst:841 +#: ../../src/Doc/c-api/typeobj.rst:841 msgid "" "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " "declaration does not have the expected effect, it just causes confusion. " @@ -13167,11 +13229,11 @@ msgid "" "though.)" msgstr "" -#: c-api/typeobj.rst:848 +#: ../../src/Doc/c-api/typeobj.rst:848 msgid "An optional pointer to an instance initialization function." msgstr "" -#: c-api/typeobj.rst:850 +#: ../../src/Doc/c-api/typeobj.rst:850 msgid "" "This function corresponds to the :meth:`__init__` method of classes. Like :" "meth:`__init__`, it is possible to create an instance without calling :meth:" @@ -13179,14 +13241,14 @@ msgid "" "meth:`__init__` method again." msgstr "" -#: c-api/typeobj.rst:859 +#: ../../src/Doc/c-api/typeobj.rst:859 msgid "" "The self argument is the instance to be initialized; the *args* and *kwds* " "arguments represent positional and keyword arguments of the call to :meth:" "`__init__`." msgstr "" -#: c-api/typeobj.rst:863 +#: ../../src/Doc/c-api/typeobj.rst:863 msgid "" "The :c:member:`~PyTypeObject.tp_init` function, if not *NULL*, is called " "when an instance is created normally by calling its type, after the type's :" @@ -13198,11 +13260,11 @@ msgid "" "subtype's :c:member:`~PyTypeObject.tp_init` is called." msgstr "" -#: c-api/typeobj.rst:875 +#: ../../src/Doc/c-api/typeobj.rst:875 msgid "An optional pointer to an instance allocation function." msgstr "" -#: c-api/typeobj.rst:881 +#: ../../src/Doc/c-api/typeobj.rst:881 msgid "" "The purpose of this function is to separate memory allocation from memory " "initialization. It should return a pointer to a block of memory of adequate " @@ -13216,14 +13278,14 @@ msgid "" "member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: c-api/typeobj.rst:891 +#: ../../src/Doc/c-api/typeobj.rst:891 msgid "" "Do not use this function to do any other instance initialization, not even " "to allocate additional memory; that should be done by :c:member:" "`~PyTypeObject.tp_new`." msgstr "" -#: c-api/typeobj.rst:894 +#: ../../src/Doc/c-api/typeobj.rst:894 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement); in the latter, this field is always " @@ -13231,18 +13293,18 @@ msgid "" "strategy. That is also the recommended value for statically defined types." msgstr "" -#: c-api/typeobj.rst:902 +#: ../../src/Doc/c-api/typeobj.rst:902 msgid "An optional pointer to an instance creation function." msgstr "" -#: c-api/typeobj.rst:904 +#: ../../src/Doc/c-api/typeobj.rst:904 msgid "" "If this function is *NULL* for a particular type, that type cannot be called " "to create new instances; presumably there is some other way to create " "instances, like a factory function." msgstr "" -#: c-api/typeobj.rst:912 +#: ../../src/Doc/c-api/typeobj.rst:912 msgid "" "The subtype argument is the type of the object being created; the *args* and " "*kwds* arguments represent positional and keyword arguments of the call to " @@ -13251,7 +13313,7 @@ msgid "" "(but not an unrelated type)." msgstr "" -#: c-api/typeobj.rst:918 +#: ../../src/Doc/c-api/typeobj.rst:918 msgid "" "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " @@ -13263,26 +13325,26 @@ msgid "" "be deferred to :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: c-api/typeobj.rst:926 +#: ../../src/Doc/c-api/typeobj.rst:926 msgid "" "This field is inherited by subtypes, except it is not inherited by static " "types whose :c:member:`~PyTypeObject.tp_base` is *NULL* or " "``&PyBaseObject_Type``." msgstr "" -#: c-api/typeobj.rst:932 +#: ../../src/Doc/c-api/typeobj.rst:932 msgid "" "An optional pointer to an instance deallocation function. Its signature is :" "c:type:`freefunc`::" msgstr "" -#: c-api/typeobj.rst:937 +#: ../../src/Doc/c-api/typeobj.rst:937 msgid "" "An initializer that is compatible with this signature is :c:func:" "`PyObject_Free`." msgstr "" -#: c-api/typeobj.rst:939 +#: ../../src/Doc/c-api/typeobj.rst:939 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement); in the latter, this field is set to " @@ -13290,11 +13352,11 @@ msgid "" "of the :const:`Py_TPFLAGS_HAVE_GC` flag bit." msgstr "" -#: c-api/typeobj.rst:947 +#: ../../src/Doc/c-api/typeobj.rst:947 msgid "An optional pointer to a function called by the garbage collector." msgstr "" -#: c-api/typeobj.rst:949 +#: ../../src/Doc/c-api/typeobj.rst:949 msgid "" "The garbage collector needs to know whether a particular object is " "collectible or not. Normally, it is sufficient to look at the object's " @@ -13306,46 +13368,46 @@ msgid "" "instance. The signature is ::" msgstr "" -#: c-api/typeobj.rst:959 +#: ../../src/Doc/c-api/typeobj.rst:959 msgid "" "(The only example of this are types themselves. The metatype, :c:data:" "`PyType_Type`, defines this function to distinguish between statically and " "dynamically allocated types.)" msgstr "" -#: c-api/typeobj.rst:968 +#: ../../src/Doc/c-api/typeobj.rst:968 msgid "Tuple of base types." msgstr "" -#: c-api/typeobj.rst:970 +#: ../../src/Doc/c-api/typeobj.rst:970 msgid "" "This is set for types created by a class statement. It should be *NULL* for " "statically defined types." msgstr "" -#: c-api/typeobj.rst:973 +#: ../../src/Doc/c-api/typeobj.rst:973 msgid "This field is not inherited." msgstr "" -#: c-api/typeobj.rst:978 +#: ../../src/Doc/c-api/typeobj.rst:978 msgid "" "Tuple containing the expanded set of base types, starting with the type " "itself and ending with :class:`object`, in Method Resolution Order." msgstr "" -#: c-api/typeobj.rst:981 +#: ../../src/Doc/c-api/typeobj.rst:981 msgid "" "This field is not inherited; it is calculated fresh by :c:func:" "`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:986 +#: ../../src/Doc/c-api/typeobj.rst:986 msgid "" "An optional pointer to an instance finalization function. Its signature is :" "c:type:`destructor`::" msgstr "" -#: c-api/typeobj.rst:991 +#: ../../src/Doc/c-api/typeobj.rst:991 msgid "" "If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " "once when finalizing an instance. It is called either from the garbage " @@ -13355,39 +13417,39 @@ msgid "" "object in a sane state." msgstr "" -#: c-api/typeobj.rst:998 +#: ../../src/Doc/c-api/typeobj.rst:998 msgid "" ":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " "exception status; therefore, a recommended way to write a non-trivial " "finalizer is::" msgstr "" -#: c-api/typeobj.rst:1015 +#: ../../src/Doc/c-api/typeobj.rst:1015 msgid "" "For this field to be taken into account (even through inheritance), you must " "also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit." msgstr "" -#: c-api/typeobj.rst:1022 +#: ../../src/Doc/c-api/typeobj.rst:1022 msgid "\"Safe object finalization\" (:pep:`442`)" msgstr "" -#: c-api/typeobj.rst:1027 +#: ../../src/Doc/c-api/typeobj.rst:1027 msgid "Unused. Not inherited. Internal use only." msgstr "" -#: c-api/typeobj.rst:1032 +#: ../../src/Doc/c-api/typeobj.rst:1032 msgid "" "List of weak references to subclasses. Not inherited. Internal use only." msgstr "" -#: c-api/typeobj.rst:1037 +#: ../../src/Doc/c-api/typeobj.rst:1037 msgid "" "Weak reference list head, for weak references to this type object. Not " "inherited. Internal use only." msgstr "" -#: c-api/typeobj.rst:1040 +#: ../../src/Doc/c-api/typeobj.rst:1040 msgid "" "The remaining fields are only defined if the feature test macro :const:" "`COUNT_ALLOCS` is defined, and are for internal use only. They are " @@ -13395,26 +13457,26 @@ msgid "" "subtypes." msgstr "" -#: c-api/typeobj.rst:1048 +#: ../../src/Doc/c-api/typeobj.rst:1048 msgid "Number of allocations." msgstr "" -#: c-api/typeobj.rst:1053 +#: ../../src/Doc/c-api/typeobj.rst:1053 #, fuzzy msgid "Number of frees." msgstr "Nombres" -#: c-api/typeobj.rst:1058 +#: ../../src/Doc/c-api/typeobj.rst:1058 msgid "Maximum simultaneously allocated objects." msgstr "" -#: c-api/typeobj.rst:1063 +#: ../../src/Doc/c-api/typeobj.rst:1063 msgid "" "Pointer to the next type object with a non-zero :c:member:`~PyTypeObject." "tp_allocs` field." msgstr "" -#: c-api/typeobj.rst:1065 +#: ../../src/Doc/c-api/typeobj.rst:1065 msgid "" "Also, note that, in a garbage collected Python, tp_dealloc may be called " "from any Python thread, not just the thread which created the object (if the " @@ -13427,22 +13489,22 @@ msgid "" "will not violate any assumptions of the library." msgstr "" -#: c-api/typeobj.rst:1079 +#: ../../src/Doc/c-api/typeobj.rst:1079 msgid "Number Object Structures" msgstr "" -#: c-api/typeobj.rst:1086 +#: ../../src/Doc/c-api/typeobj.rst:1086 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the number protocol. Each function is used by the function of " "similar name documented in the :ref:`number` section." msgstr "" -#: c-api/typeobj.rst:1090 c-api/typeobj.rst:1363 +#: ../../src/Doc/c-api/typeobj.rst:1090 ../../src/Doc/c-api/typeobj.rst:1363 msgid "Here is the structure definition::" msgstr "" -#: c-api/typeobj.rst:1137 +#: ../../src/Doc/c-api/typeobj.rst:1137 msgid "" "Binary and ternary functions must check the type of all their operands, and " "implement the necessary conversions (at least one of the operands is an " @@ -13452,37 +13514,37 @@ msgid "" "and set an exception." msgstr "" -#: c-api/typeobj.rst:1146 +#: ../../src/Doc/c-api/typeobj.rst:1146 msgid "" "The :c:data:`nb_reserved` field should always be ``NULL``. It was " "previously called :c:data:`nb_long`, and was renamed in Python 3.0.1." msgstr "" -#: c-api/typeobj.rst:1154 +#: ../../src/Doc/c-api/typeobj.rst:1154 msgid "Mapping Object Structures" msgstr "" -#: c-api/typeobj.rst:1161 +#: ../../src/Doc/c-api/typeobj.rst:1161 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the mapping protocol. It has three members:" msgstr "" -#: c-api/typeobj.rst:1166 +#: ../../src/Doc/c-api/typeobj.rst:1166 msgid "" "This function is used by :c:func:`PyMapping_Length` and :c:func:" "`PyObject_Size`, and has the same signature. This slot may be set to *NULL* " "if the object has no defined length." msgstr "" -#: c-api/typeobj.rst:1172 +#: ../../src/Doc/c-api/typeobj.rst:1172 msgid "" "This function is used by :c:func:`PyObject_GetItem` and has the same " "signature. This slot must be filled for the :c:func:`PyMapping_Check` " "function to return ``1``, it can be *NULL* otherwise." msgstr "" -#: c-api/typeobj.rst:1178 +#: ../../src/Doc/c-api/typeobj.rst:1178 msgid "" "This function is used by :c:func:`PyObject_SetItem` and :c:func:" "`PyObject_DelItem`. It has the same signature as :c:func:" @@ -13491,30 +13553,30 @@ msgid "" "deletion." msgstr "" -#: c-api/typeobj.rst:1188 +#: ../../src/Doc/c-api/typeobj.rst:1188 msgid "Sequence Object Structures" msgstr "" -#: c-api/typeobj.rst:1195 +#: ../../src/Doc/c-api/typeobj.rst:1195 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the sequence protocol." msgstr "" -#: c-api/typeobj.rst:1200 +#: ../../src/Doc/c-api/typeobj.rst:1200 msgid "" "This function is used by :c:func:`PySequence_Size` and :c:func:" "`PyObject_Size`, and has the same signature." msgstr "" -#: c-api/typeobj.rst:1205 +#: ../../src/Doc/c-api/typeobj.rst:1205 msgid "" "This function is used by :c:func:`PySequence_Concat` and has the same " "signature. It is also used by the ``+`` operator, after trying the numeric " "addition via the :c:member:`~PyTypeObject.tp_as_number.nb_add` slot." msgstr "" -#: c-api/typeobj.rst:1211 +#: ../../src/Doc/c-api/typeobj.rst:1211 msgid "" "This function is used by :c:func:`PySequence_Repeat` and has the same " "signature. It is also used by the ``*`` operator, after trying numeric " @@ -13522,14 +13584,14 @@ msgid "" "slot." msgstr "" -#: c-api/typeobj.rst:1218 +#: ../../src/Doc/c-api/typeobj.rst:1218 msgid "" "This function is used by :c:func:`PySequence_GetItem` and has the same " "signature. This slot must be filled for the :c:func:`PySequence_Check` " "function to return ``1``, it can be *NULL* otherwise." msgstr "" -#: c-api/typeobj.rst:1222 +#: ../../src/Doc/c-api/typeobj.rst:1222 msgid "" "Negative indexes are handled as follows: if the :attr:`sq_length` slot is " "filled, it is called and the sequence length is used to compute a positive " @@ -13537,97 +13599,98 @@ msgid "" "the index is passed as is to the function." msgstr "" -#: c-api/typeobj.rst:1229 +#: ../../src/Doc/c-api/typeobj.rst:1229 msgid "" "This function is used by :c:func:`PySequence_SetItem` and has the same " "signature. This slot may be left to *NULL* if the object does not support " "item assignment and deletion." msgstr "" -#: c-api/typeobj.rst:1235 +#: ../../src/Doc/c-api/typeobj.rst:1235 msgid "" "This function may be used by :c:func:`PySequence_Contains` and has the same " "signature. This slot may be left to *NULL*, in this case :c:func:" "`PySequence_Contains` simply traverses the sequence until it finds a match." msgstr "" -#: c-api/typeobj.rst:1242 +#: ../../src/Doc/c-api/typeobj.rst:1242 msgid "" "This function is used by :c:func:`PySequence_InPlaceConcat` and has the same " "signature. It should modify its first operand, and return it." msgstr "" -#: c-api/typeobj.rst:1247 +#: ../../src/Doc/c-api/typeobj.rst:1247 msgid "" "This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same " "signature. It should modify its first operand, and return it." msgstr "" -#: c-api/typeobj.rst:1257 +#: ../../src/Doc/c-api/typeobj.rst:1257 msgid "Buffer Object Structures" msgstr "" -#: c-api/typeobj.rst:1265 +#: ../../src/Doc/c-api/typeobj.rst:1265 msgid "" "This structure holds pointers to the functions required by the :ref:`Buffer " "protocol `. The protocol defines how an exporter object can " "expose its internal data to consumer objects." msgstr "" -#: c-api/typeobj.rst:1271 c-api/typeobj.rst:1320 c-api/typeobj.rst:1373 -#: c-api/typeobj.rst:1384 c-api/typeobj.rst:1395 +#: ../../src/Doc/c-api/typeobj.rst:1271 ../../src/Doc/c-api/typeobj.rst:1320 +#: ../../src/Doc/c-api/typeobj.rst:1373 ../../src/Doc/c-api/typeobj.rst:1384 +#: ../../src/Doc/c-api/typeobj.rst:1395 msgid "The signature of this function is::" msgstr "" -#: c-api/typeobj.rst:1275 +#: ../../src/Doc/c-api/typeobj.rst:1275 msgid "" "Handle a request to *exporter* to fill in *view* as specified by *flags*. " "Except for point (3), an implementation of this function MUST take these " "steps:" msgstr "" -#: c-api/typeobj.rst:1279 +#: ../../src/Doc/c-api/typeobj.rst:1279 msgid "" "Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " "set :c:data:`view->obj` to *NULL* and return -1." msgstr "" -#: c-api/typeobj.rst:1282 +#: ../../src/Doc/c-api/typeobj.rst:1282 msgid "Fill in the requested fields." msgstr "" -#: c-api/typeobj.rst:1284 +#: ../../src/Doc/c-api/typeobj.rst:1284 msgid "Increment an internal counter for the number of exports." msgstr "" -#: c-api/typeobj.rst:1286 +#: ../../src/Doc/c-api/typeobj.rst:1286 msgid "" "Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`." msgstr "" -#: c-api/typeobj.rst:1288 +#: ../../src/Doc/c-api/typeobj.rst:1288 msgid "Return 0." msgstr "" -#: c-api/typeobj.rst:1290 +#: ../../src/Doc/c-api/typeobj.rst:1290 msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" msgstr "" -#: c-api/typeobj.rst:1293 +#: ../../src/Doc/c-api/typeobj.rst:1293 msgid "" "Re-export: Each member of the tree acts as the exporting object and sets :c:" "data:`view->obj` to a new reference to itself." msgstr "" -#: c-api/typeobj.rst:1296 +#: ../../src/Doc/c-api/typeobj.rst:1296 msgid "" "Redirect: The buffer request is redirected to the root object of the tree. " "Here, :c:data:`view->obj` will be a new reference to the root object." msgstr "" -#: c-api/typeobj.rst:1300 +#: ../../src/Doc/c-api/typeobj.rst:1300 msgid "" "The individual fields of *view* are described in section :ref:`Buffer " "structure `, the rules how an exporter must react to " @@ -13635,7 +13698,7 @@ msgid "" "types>`." msgstr "" -#: c-api/typeobj.rst:1305 +#: ../../src/Doc/c-api/typeobj.rst:1305 msgid "" "All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " "exporter and must remain valid until there are no consumers left. :c:member:" @@ -13644,19 +13707,19 @@ msgid "" "internal` are read-only for the consumer." msgstr "" -#: c-api/typeobj.rst:1312 +#: ../../src/Doc/c-api/typeobj.rst:1312 msgid "" ":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " "buffer while dealing correctly with all request types." msgstr "" -#: c-api/typeobj.rst:1315 +#: ../../src/Doc/c-api/typeobj.rst:1315 msgid "" ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " "this function." msgstr "" -#: c-api/typeobj.rst:1324 +#: ../../src/Doc/c-api/typeobj.rst:1324 msgid "" "Handle a request to release the resources of the buffer. If no resources " "need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " @@ -13664,15 +13727,15 @@ msgid "" "these optional steps:" msgstr "" -#: c-api/typeobj.rst:1329 +#: ../../src/Doc/c-api/typeobj.rst:1329 msgid "Decrement an internal counter for the number of exports." msgstr "" -#: c-api/typeobj.rst:1331 +#: ../../src/Doc/c-api/typeobj.rst:1331 msgid "If the counter is 0, free all memory associated with *view*." msgstr "" -#: c-api/typeobj.rst:1333 +#: ../../src/Doc/c-api/typeobj.rst:1333 msgid "" "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " "track of buffer-specific resources. This field is guaranteed to remain " @@ -13680,66 +13743,66 @@ msgid "" "*view* argument." msgstr "" -#: c-api/typeobj.rst:1339 +#: ../../src/Doc/c-api/typeobj.rst:1339 msgid "" "This function MUST NOT decrement :c:data:`view->obj`, since that is done " "automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " "breaking reference cycles)." msgstr "" -#: c-api/typeobj.rst:1344 +#: ../../src/Doc/c-api/typeobj.rst:1344 msgid "" ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " "function." msgstr "" -#: c-api/typeobj.rst:1352 +#: ../../src/Doc/c-api/typeobj.rst:1352 msgid "Async Object Structures" msgstr "" -#: c-api/typeobj.rst:1360 +#: ../../src/Doc/c-api/typeobj.rst:1360 msgid "" "This structure holds pointers to the functions required to implement :term:" "`awaitable` and :term:`asynchronous iterator` objects." msgstr "" -#: c-api/typeobj.rst:1377 +#: ../../src/Doc/c-api/typeobj.rst:1377 msgid "" "The returned object must be an iterator, i.e. :c:func:`PyIter_Check` must " "return ``1`` for it." msgstr "" -#: c-api/typeobj.rst:1380 +#: ../../src/Doc/c-api/typeobj.rst:1380 msgid "" "This slot may be set to *NULL* if an object is not an :term:`awaitable`." msgstr "" -#: c-api/typeobj.rst:1388 +#: ../../src/Doc/c-api/typeobj.rst:1388 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details." msgstr "" -#: c-api/typeobj.rst:1390 +#: ../../src/Doc/c-api/typeobj.rst:1390 msgid "" "This slot may be set to *NULL* if an object does not implement asynchronous " "iteration protocol." msgstr "" -#: c-api/typeobj.rst:1399 +#: ../../src/Doc/c-api/typeobj.rst:1399 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " "This slot may be set to *NULL*." msgstr "" -#: c-api/unicode.rst:6 +#: ../../src/Doc/c-api/unicode.rst:6 msgid "Unicode Objects and Codecs" msgstr "" -#: c-api/unicode.rst:12 +#: ../../src/Doc/c-api/unicode.rst:12 msgid "Unicode Objects" msgstr "" -#: c-api/unicode.rst:14 +#: ../../src/Doc/c-api/unicode.rst:14 msgid "" "Since the implementation of :pep:`393` in Python 3.3, Unicode objects " "internally use a variety of representations, in order to allow handling the " @@ -13749,7 +13812,7 @@ msgid "" "Unicode range)." msgstr "" -#: c-api/unicode.rst:20 +#: ../../src/Doc/c-api/unicode.rst:20 msgid "" ":c:type:`Py_UNICODE*` and UTF-8 representations are created on demand and " "cached in the Unicode object. The :c:type:`Py_UNICODE*` representation is " @@ -13757,20 +13820,20 @@ msgid "" "sensitive situations." msgstr "" -#: c-api/unicode.rst:25 +#: ../../src/Doc/c-api/unicode.rst:25 msgid "" "Due to the transition between the old APIs and the new APIs, unicode objects " "can internally be in two states depending on how they were created:" msgstr "" -#: c-api/unicode.rst:28 +#: ../../src/Doc/c-api/unicode.rst:28 msgid "" "\"canonical\" unicode objects are all objects created by a non-deprecated " "unicode API. They use the most efficient representation allowed by the " "implementation." msgstr "" -#: c-api/unicode.rst:32 +#: ../../src/Doc/c-api/unicode.rst:32 msgid "" "\"legacy\" unicode objects have been created through one of the deprecated " "APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:type:" @@ -13778,86 +13841,86 @@ msgid "" "`PyUnicode_READY` on them before calling any other API." msgstr "" -#: c-api/unicode.rst:39 +#: ../../src/Doc/c-api/unicode.rst:39 msgid "Unicode Type" msgstr "" -#: c-api/unicode.rst:41 +#: ../../src/Doc/c-api/unicode.rst:41 msgid "" "These are the basic Unicode object types used for the Unicode implementation " "in Python:" msgstr "" -#: c-api/unicode.rst:48 +#: ../../src/Doc/c-api/unicode.rst:48 msgid "" "These types are typedefs for unsigned integer types wide enough to contain " "characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " "single Unicode characters, use :c:type:`Py_UCS4`." msgstr "" -#: c-api/unicode.rst:57 +#: ../../src/Doc/c-api/unicode.rst:57 msgid "" "This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform." msgstr "" -#: c-api/unicode.rst:60 +#: ../../src/Doc/c-api/unicode.rst:60 msgid "" "In previous versions, this was a 16-bit type or a 32-bit type depending on " "whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " "build time." msgstr "" -#: c-api/unicode.rst:70 +#: ../../src/Doc/c-api/unicode.rst:70 msgid "" "These subtypes of :c:type:`PyObject` represent a Python Unicode object. In " "almost all cases, they shouldn't be used directly, since all API functions " "that deal with Unicode objects take and return :c:type:`PyObject` pointers." msgstr "" -#: c-api/unicode.rst:79 +#: ../../src/Doc/c-api/unicode.rst:79 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " "It is exposed to Python code as ``str``." msgstr "" -#: c-api/unicode.rst:83 +#: ../../src/Doc/c-api/unicode.rst:83 msgid "" "The following APIs are really C macros and can be used to do fast checks and " "to access internal read-only data of Unicode objects:" msgstr "" -#: c-api/unicode.rst:88 +#: ../../src/Doc/c-api/unicode.rst:88 msgid "" "Return true if the object *o* is a Unicode object or an instance of a " "Unicode subtype." msgstr "" -#: c-api/unicode.rst:94 +#: ../../src/Doc/c-api/unicode.rst:94 msgid "" "Return true if the object *o* is a Unicode object, but not an instance of a " "subtype." msgstr "" -#: c-api/unicode.rst:100 +#: ../../src/Doc/c-api/unicode.rst:100 msgid "" "Ensure the string object *o* is in the \"canonical\" representation. This " "is required before using any of the access macros described below." msgstr "" -#: c-api/unicode.rst:105 +#: ../../src/Doc/c-api/unicode.rst:105 msgid "" "Returns 0 on success and -1 with an exception set on failure, which in " "particular happens if memory allocation fails." msgstr "" -#: c-api/unicode.rst:113 +#: ../../src/Doc/c-api/unicode.rst:113 msgid "" "Return the length of the Unicode string, in code points. *o* has to be a " "Unicode object in the \"canonical\" representation (not checked)." msgstr "" -#: c-api/unicode.rst:123 +#: ../../src/Doc/c-api/unicode.rst:123 msgid "" "Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 " "integer types for direct character access. No checks are performed if the " @@ -13866,24 +13929,24 @@ msgid "" "`PyUnicode_READY` has been called before accessing this." msgstr "" -#: c-api/unicode.rst:137 +#: ../../src/Doc/c-api/unicode.rst:137 msgid "Return values of the :c:func:`PyUnicode_KIND` macro." msgstr "" -#: c-api/unicode.rst:144 +#: ../../src/Doc/c-api/unicode.rst:144 msgid "" "Return one of the PyUnicode kind constants (see above) that indicate how " "many bytes per character this Unicode object uses to store its data. *o* " "has to be a Unicode object in the \"canonical\" representation (not checked)." msgstr "" -#: c-api/unicode.rst:155 +#: ../../src/Doc/c-api/unicode.rst:155 msgid "" "Return a void pointer to the raw unicode buffer. *o* has to be a Unicode " "object in the \"canonical\" representation (not checked)." msgstr "" -#: c-api/unicode.rst:164 +#: ../../src/Doc/c-api/unicode.rst:164 msgid "" "Write into a canonical representation *data* (as obtained with :c:func:" "`PyUnicode_DATA`). This macro does not do any sanity checks and is intended " @@ -13893,52 +13956,52 @@ msgid "" "written to that location." msgstr "" -#: c-api/unicode.rst:176 +#: ../../src/Doc/c-api/unicode.rst:176 msgid "" "Read a code point from a canonical representation *data* (as obtained with :" "c:func:`PyUnicode_DATA`). No checks or ready calls are performed." msgstr "" -#: c-api/unicode.rst:184 +#: ../../src/Doc/c-api/unicode.rst:184 msgid "" "Read a character from a Unicode object *o*, which must be in the \"canonical" "\" representation. This is less efficient than :c:func:`PyUnicode_READ` if " "you do multiple consecutive reads." msgstr "" -#: c-api/unicode.rst:193 +#: ../../src/Doc/c-api/unicode.rst:193 msgid "" "Return the maximum code point that is suitable for creating another string " "based on *o*, which must be in the \"canonical\" representation. This is " "always an approximation but more efficient than iterating over the string." msgstr "" -#: c-api/unicode.rst:207 +#: ../../src/Doc/c-api/unicode.rst:207 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " "code units (this includes surrogate pairs as 2 units). *o* has to be a " "Unicode object (not checked)." msgstr "" -#: c-api/unicode.rst:213 c-api/unicode.rst:223 +#: ../../src/Doc/c-api/unicode.rst:213 ../../src/Doc/c-api/unicode.rst:223 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Unicode API, please migrate to using PyUnicode_GET_LENGTH()." msgstr "" -#: c-api/unicode.rst:213 c-api/unicode.rst:223 +#: ../../src/Doc/c-api/unicode.rst:213 ../../src/Doc/c-api/unicode.rst:223 msgid "" "Part of the old-style Unicode API, please migrate to using :c:func:" "`PyUnicode_GET_LENGTH`." msgstr "" -#: c-api/unicode.rst:218 +#: ../../src/Doc/c-api/unicode.rst:218 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation in " "bytes. *o* has to be a Unicode object (not checked)." msgstr "" -#: c-api/unicode.rst:229 +#: ../../src/Doc/c-api/unicode.rst:229 msgid "" "Return a pointer to a :c:type:`Py_UNICODE` representation of the object. " "The returned buffer is always terminated with an extra null code point. It " @@ -13948,7 +14011,7 @@ msgid "" "object (not checked)." msgstr "" -#: c-api/unicode.rst:236 +#: ../../src/Doc/c-api/unicode.rst:236 msgid "" "This macro is now inefficient -- because in many cases the :c:type:" "`Py_UNICODE` representation does not exist and needs to be created -- and " @@ -13957,71 +14020,71 @@ msgid "" "`PyUnicode_WRITE` or :c:func:`PyUnicode_READ`." msgstr "" -#: c-api/unicode.rst:245 +#: ../../src/Doc/c-api/unicode.rst:245 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Unicode API, please migrate to using the PyUnicode_nBYTE_DATA() " "family of macros." msgstr "" -#: c-api/unicode.rst:245 +#: ../../src/Doc/c-api/unicode.rst:245 msgid "" "Part of the old-style Unicode API, please migrate to using the :c:func:" "`PyUnicode_nBYTE_DATA` family of macros." msgstr "" -#: c-api/unicode.rst:249 +#: ../../src/Doc/c-api/unicode.rst:249 msgid "Unicode Character Properties" msgstr "" -#: c-api/unicode.rst:251 +#: ../../src/Doc/c-api/unicode.rst:251 msgid "" "Unicode provides many different character properties. The most often needed " "ones are available through these macros which are mapped to C functions " "depending on the Python configuration." msgstr "" -#: c-api/unicode.rst:258 +#: ../../src/Doc/c-api/unicode.rst:258 msgid "Return 1 or 0 depending on whether *ch* is a whitespace character." msgstr "" -#: c-api/unicode.rst:263 +#: ../../src/Doc/c-api/unicode.rst:263 msgid "Return 1 or 0 depending on whether *ch* is a lowercase character." msgstr "" -#: c-api/unicode.rst:268 +#: ../../src/Doc/c-api/unicode.rst:268 msgid "Return 1 or 0 depending on whether *ch* is an uppercase character." msgstr "" -#: c-api/unicode.rst:273 +#: ../../src/Doc/c-api/unicode.rst:273 msgid "Return 1 or 0 depending on whether *ch* is a titlecase character." msgstr "" -#: c-api/unicode.rst:278 +#: ../../src/Doc/c-api/unicode.rst:278 msgid "Return 1 or 0 depending on whether *ch* is a linebreak character." msgstr "" -#: c-api/unicode.rst:283 +#: ../../src/Doc/c-api/unicode.rst:283 msgid "Return 1 or 0 depending on whether *ch* is a decimal character." msgstr "" -#: c-api/unicode.rst:288 +#: ../../src/Doc/c-api/unicode.rst:288 msgid "Return 1 or 0 depending on whether *ch* is a digit character." msgstr "" -#: c-api/unicode.rst:293 +#: ../../src/Doc/c-api/unicode.rst:293 msgid "Return 1 or 0 depending on whether *ch* is a numeric character." msgstr "" -#: c-api/unicode.rst:298 +#: ../../src/Doc/c-api/unicode.rst:298 msgid "Return 1 or 0 depending on whether *ch* is an alphabetic character." msgstr "" -#: c-api/unicode.rst:303 +#: ../../src/Doc/c-api/unicode.rst:303 msgid "Return 1 or 0 depending on whether *ch* is an alphanumeric character." msgstr "" -#: c-api/unicode.rst:308 +#: ../../src/Doc/c-api/unicode.rst:308 msgid "" "Return 1 or 0 depending on whether *ch* is a printable character. " "Nonprintable characters are those characters defined in the Unicode " @@ -14032,91 +14095,92 @@ msgid "" "to :data:`sys.stdout` or :data:`sys.stderr`.)" msgstr "" -#: c-api/unicode.rst:317 +#: ../../src/Doc/c-api/unicode.rst:317 msgid "These APIs can be used for fast direct character conversions:" msgstr "" -#: c-api/unicode.rst:322 +#: ../../src/Doc/c-api/unicode.rst:322 msgid "Return the character *ch* converted to lower case." msgstr "" -#: c-api/unicode.rst:324 c-api/unicode.rst:332 c-api/unicode.rst:340 +#: ../../src/Doc/c-api/unicode.rst:324 ../../src/Doc/c-api/unicode.rst:332 +#: ../../src/Doc/c-api/unicode.rst:340 msgid "This function uses simple case mappings." msgstr "" -#: c-api/unicode.rst:330 +#: ../../src/Doc/c-api/unicode.rst:330 msgid "Return the character *ch* converted to upper case." msgstr "" -#: c-api/unicode.rst:338 +#: ../../src/Doc/c-api/unicode.rst:338 msgid "Return the character *ch* converted to title case." msgstr "" -#: c-api/unicode.rst:346 +#: ../../src/Doc/c-api/unicode.rst:346 msgid "" "Return the character *ch* converted to a decimal positive integer. Return " "``-1`` if this is not possible. This macro does not raise exceptions." msgstr "" -#: c-api/unicode.rst:352 +#: ../../src/Doc/c-api/unicode.rst:352 msgid "" "Return the character *ch* converted to a single digit integer. Return ``-1`` " "if this is not possible. This macro does not raise exceptions." msgstr "" -#: c-api/unicode.rst:358 +#: ../../src/Doc/c-api/unicode.rst:358 msgid "" "Return the character *ch* converted to a double. Return ``-1.0`` if this is " "not possible. This macro does not raise exceptions." msgstr "" -#: c-api/unicode.rst:362 +#: ../../src/Doc/c-api/unicode.rst:362 msgid "These APIs can be used to work with surrogates:" msgstr "" -#: c-api/unicode.rst:366 +#: ../../src/Doc/c-api/unicode.rst:366 msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)." msgstr "" -#: c-api/unicode.rst:370 +#: ../../src/Doc/c-api/unicode.rst:370 msgid "Check if *ch* is an high surrogate (``0xD800 <= ch <= 0xDBFF``)." msgstr "" -#: c-api/unicode.rst:374 +#: ../../src/Doc/c-api/unicode.rst:374 msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)." msgstr "" -#: c-api/unicode.rst:378 +#: ../../src/Doc/c-api/unicode.rst:378 msgid "" "Join two surrogate characters and return a single Py_UCS4 value. *high* and " "*low* are respectively the leading and trailing surrogates in a surrogate " "pair." msgstr "" -#: c-api/unicode.rst:384 +#: ../../src/Doc/c-api/unicode.rst:384 msgid "Creating and accessing Unicode strings" msgstr "" -#: c-api/unicode.rst:386 +#: ../../src/Doc/c-api/unicode.rst:386 msgid "" "To create Unicode objects and access their basic sequence properties, use " "these APIs:" msgstr "" -#: c-api/unicode.rst:391 +#: ../../src/Doc/c-api/unicode.rst:391 msgid "" "Create a new Unicode object. *maxchar* should be the true maximum code " "point to be placed in the string. As an approximation, it can be rounded up " "to the nearest value in the sequence 127, 255, 65535, 1114111." msgstr "" -#: c-api/unicode.rst:395 +#: ../../src/Doc/c-api/unicode.rst:395 msgid "" "This is the recommended way to allocate a new Unicode object. Objects " "created using this function are not resizable." msgstr "" -#: c-api/unicode.rst:404 +#: ../../src/Doc/c-api/unicode.rst:404 msgid "" "Create a new Unicode object with the given *kind* (possible values are :c:" "macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:" @@ -14124,7 +14188,7 @@ msgid "" "1, 2 or 4 bytes per character, as given by the kind." msgstr "" -#: c-api/unicode.rst:414 +#: ../../src/Doc/c-api/unicode.rst:414 msgid "" "Create a Unicode object from the char buffer *u*. The bytes will be " "interpreted as being UTF-8 encoded. The buffer is copied into the new " @@ -14132,20 +14196,20 @@ msgid "" "object, i.e. modification of the data is not allowed." msgstr "" -#: c-api/unicode.rst:419 +#: ../../src/Doc/c-api/unicode.rst:419 msgid "" "If *u* is *NULL*, this function behaves like :c:func:`PyUnicode_FromUnicode` " "with the buffer set to *NULL*. This usage is deprecated in favor of :c:func:" "`PyUnicode_New`." msgstr "" -#: c-api/unicode.rst:426 +#: ../../src/Doc/c-api/unicode.rst:426 msgid "" "Create a Unicode object from an UTF-8 encoded null-terminated char buffer " "*u*." msgstr "" -#: c-api/unicode.rst:432 +#: ../../src/Doc/c-api/unicode.rst:432 msgid "" "Take a C :c:func:`printf`\\ -style *format* string and a variable number of " "arguments, calculate the size of the resulting Python unicode string and " @@ -14154,116 +14218,116 @@ msgid "" "*format* ASCII-encoded string. The following format characters are allowed:" msgstr "" -#: c-api/unicode.rst:452 +#: ../../src/Doc/c-api/unicode.rst:452 msgid "A single character, represented as an C int." msgstr "" -#: c-api/unicode.rst:464 +#: ../../src/Doc/c-api/unicode.rst:464 msgid ":attr:`%li`" msgstr "" -#: c-api/unicode.rst:464 +#: ../../src/Doc/c-api/unicode.rst:464 msgid "Exactly equivalent to ``printf(\"%li\")``." msgstr "" -#: c-api/unicode.rst:470 +#: ../../src/Doc/c-api/unicode.rst:470 msgid ":attr:`%lld`" msgstr "" -#: c-api/unicode.rst:470 +#: ../../src/Doc/c-api/unicode.rst:470 msgid "Exactly equivalent to ``printf(\"%lld\")``." msgstr "" -#: c-api/unicode.rst:473 +#: ../../src/Doc/c-api/unicode.rst:473 msgid ":attr:`%lli`" msgstr "" -#: c-api/unicode.rst:473 +#: ../../src/Doc/c-api/unicode.rst:473 msgid "Exactly equivalent to ``printf(\"%lli\")``." msgstr "" -#: c-api/unicode.rst:476 +#: ../../src/Doc/c-api/unicode.rst:476 msgid ":attr:`%llu`" msgstr "" -#: c-api/unicode.rst:476 +#: ../../src/Doc/c-api/unicode.rst:476 msgid "Exactly equivalent to ``printf(\"%llu\")``." msgstr "" -#: c-api/unicode.rst:482 +#: ../../src/Doc/c-api/unicode.rst:482 msgid ":attr:`%zi`" msgstr "" -#: c-api/unicode.rst:482 +#: ../../src/Doc/c-api/unicode.rst:482 msgid "Exactly equivalent to ``printf(\"%zi\")``." msgstr "" -#: c-api/unicode.rst:505 +#: ../../src/Doc/c-api/unicode.rst:505 msgid ":attr:`%A`" msgstr "" -#: c-api/unicode.rst:505 c-api/unicode.rst:508 c-api/unicode.rst:517 -#: c-api/unicode.rst:520 +#: ../../src/Doc/c-api/unicode.rst:505 ../../src/Doc/c-api/unicode.rst:508 +#: ../../src/Doc/c-api/unicode.rst:517 ../../src/Doc/c-api/unicode.rst:520 msgid "PyObject\\*" msgstr "PyObject\\*" -#: c-api/unicode.rst:505 +#: ../../src/Doc/c-api/unicode.rst:505 msgid "The result of calling :func:`ascii`." msgstr "" -#: c-api/unicode.rst:508 +#: ../../src/Doc/c-api/unicode.rst:508 msgid ":attr:`%U`" msgstr "" -#: c-api/unicode.rst:508 +#: ../../src/Doc/c-api/unicode.rst:508 #, fuzzy msgid "A unicode object." msgstr "Objets Code" -#: c-api/unicode.rst:510 +#: ../../src/Doc/c-api/unicode.rst:510 msgid ":attr:`%V`" msgstr "" -#: c-api/unicode.rst:510 +#: ../../src/Doc/c-api/unicode.rst:510 msgid "PyObject\\*, char \\*" msgstr "" -#: c-api/unicode.rst:510 +#: ../../src/Doc/c-api/unicode.rst:510 msgid "" "A unicode object (which may be *NULL*) and a null-terminated C character " "array as a second parameter (which will be used, if the first parameter is " "*NULL*)." msgstr "" -#: c-api/unicode.rst:517 +#: ../../src/Doc/c-api/unicode.rst:517 msgid ":attr:`%S`" msgstr "" -#: c-api/unicode.rst:517 +#: ../../src/Doc/c-api/unicode.rst:517 msgid "The result of calling :c:func:`PyObject_Str`." msgstr "" -#: c-api/unicode.rst:520 +#: ../../src/Doc/c-api/unicode.rst:520 msgid ":attr:`%R`" msgstr "" -#: c-api/unicode.rst:520 +#: ../../src/Doc/c-api/unicode.rst:520 msgid "The result of calling :c:func:`PyObject_Repr`." msgstr "" -#: c-api/unicode.rst:524 +#: ../../src/Doc/c-api/unicode.rst:524 msgid "" "An unrecognized format character causes all the rest of the format string to " "be copied as-is to the result string, and any extra arguments discarded." msgstr "" -#: c-api/unicode.rst:529 +#: ../../src/Doc/c-api/unicode.rst:529 msgid "" "The `\"%lld\"` and `\"%llu\"` format specifiers are only available when :" "const:`HAVE_LONG_LONG` is defined." msgstr "" -#: c-api/unicode.rst:533 +#: ../../src/Doc/c-api/unicode.rst:533 msgid "" "The width formatter unit is number of characters rather than bytes. The " "precision formatter unit is number of bytes for ``\"%s\"`` and ``\"%V\"`` " @@ -14272,33 +14336,33 @@ msgid "" "``PyObject*`` argument is not NULL)." msgstr "" -#: c-api/unicode.rst:539 +#: ../../src/Doc/c-api/unicode.rst:539 msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added." msgstr "" -#: c-api/unicode.rst:542 +#: ../../src/Doc/c-api/unicode.rst:542 msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added." msgstr "" -#: c-api/unicode.rst:545 +#: ../../src/Doc/c-api/unicode.rst:545 msgid "" "Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, ``\"%U" "\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added." msgstr "" -#: c-api/unicode.rst:552 +#: ../../src/Doc/c-api/unicode.rst:552 msgid "" "Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two " "arguments." msgstr "" -#: c-api/unicode.rst:559 +#: ../../src/Doc/c-api/unicode.rst:559 msgid "" "Coerce an encoded object *obj* to an Unicode object and return a reference " "with incremented refcount." msgstr "" -#: c-api/unicode.rst:562 +#: ../../src/Doc/c-api/unicode.rst:562 msgid "" ":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects " "` are decoded according to the given *encoding* and using " @@ -14306,23 +14370,23 @@ msgid "" "interface use the default values (see the next section for details)." msgstr "" -#: c-api/unicode.rst:568 +#: ../../src/Doc/c-api/unicode.rst:568 msgid "" "All other objects, including Unicode objects, cause a :exc:`TypeError` to be " "set." msgstr "" -#: c-api/unicode.rst:571 +#: ../../src/Doc/c-api/unicode.rst:571 msgid "" "The API returns *NULL* if there was an error. The caller is responsible for " "decref'ing the returned objects." msgstr "" -#: c-api/unicode.rst:577 +#: ../../src/Doc/c-api/unicode.rst:577 msgid "Return the length of the Unicode object, in code points." msgstr "" -#: c-api/unicode.rst:585 +#: ../../src/Doc/c-api/unicode.rst:585 msgid "" "Copy characters from one Unicode object into another. This function " "performs character conversion when necessary and falls back to :c:func:" @@ -14330,32 +14394,32 @@ msgid "" "otherwise returns ``0``." msgstr "" -#: c-api/unicode.rst:596 +#: ../../src/Doc/c-api/unicode.rst:596 msgid "" "Fill a string with a character: write *fill_char* into ``unicode[start:start" "+length]``." msgstr "" -#: c-api/unicode.rst:599 +#: ../../src/Doc/c-api/unicode.rst:599 msgid "" "Fail if *fill_char* is bigger than the string maximum character, or if the " "string has more than 1 reference." msgstr "" -#: c-api/unicode.rst:602 +#: ../../src/Doc/c-api/unicode.rst:602 msgid "" "Return the number of written character, or return ``-1`` and raise an " "exception on error." msgstr "" -#: c-api/unicode.rst:611 +#: ../../src/Doc/c-api/unicode.rst:611 msgid "" "Write a character to a string. The string must have been created through :c:" "func:`PyUnicode_New`. Since Unicode strings are supposed to be immutable, " "the string must not be shared, or have been hashed yet." msgstr "" -#: c-api/unicode.rst:615 +#: ../../src/Doc/c-api/unicode.rst:615 msgid "" "This function checks that *unicode* is a Unicode object, that the index is " "not out of bounds, and that the object can be modified safely (i.e. that it " @@ -14363,20 +14427,20 @@ msgid "" "`PyUnicode_WRITE_CHAR`." msgstr "" -#: c-api/unicode.rst:625 +#: ../../src/Doc/c-api/unicode.rst:625 msgid "" "Read a character from a string. This function checks that *unicode* is a " "Unicode object and the index is not out of bounds, in contrast to the macro " "version :c:func:`PyUnicode_READ_CHAR`." msgstr "" -#: c-api/unicode.rst:635 +#: ../../src/Doc/c-api/unicode.rst:635 msgid "" "Return a substring of *str*, from character index *start* (included) to " "character index *end* (excluded). Negative indices are not supported." msgstr "" -#: c-api/unicode.rst:644 +#: ../../src/Doc/c-api/unicode.rst:644 msgid "" "Copy the string *u* into a UCS4 buffer, including a null character, if " "*copy_null* is set. Returns *NULL* and sets an exception on error (in " @@ -14384,22 +14448,22 @@ msgid "" "*u*). *buffer* is returned on success." msgstr "" -#: c-api/unicode.rst:654 +#: ../../src/Doc/c-api/unicode.rst:654 msgid "" "Copy the string *u* into a new UCS4 buffer that is allocated using :c:func:" "`PyMem_Malloc`. If this fails, *NULL* is returned with a :exc:`MemoryError` " "set. The returned buffer always has an extra null code point appended." msgstr "" -#: c-api/unicode.rst:663 +#: ../../src/Doc/c-api/unicode.rst:663 msgid "Deprecated Py_UNICODE APIs" msgstr "" -#: c-api/unicode.rst:666 +#: ../../src/Doc/c-api/unicode.rst:666 msgid "Deprecated since version 3.3, will be removed in version 4.0." msgstr "" -#: c-api/unicode.rst:667 +#: ../../src/Doc/c-api/unicode.rst:667 msgid "" "These API functions are deprecated with the implementation of :pep:`393`. " "Extension modules can continue using them, as they will not be removed in " @@ -14407,7 +14471,7 @@ msgid "" "and memory hits." msgstr "" -#: c-api/unicode.rst:674 +#: ../../src/Doc/c-api/unicode.rst:674 msgid "" "Create a Unicode object from the Py_UNICODE buffer *u* of the given size. " "*u* may be *NULL* which causes the contents to be undefined. It is the " @@ -14415,27 +14479,27 @@ msgid "" "the new object." msgstr "" -#: c-api/unicode.rst:679 +#: ../../src/Doc/c-api/unicode.rst:679 msgid "" "If the buffer is not *NULL*, the return value might be a shared object. " "Therefore, modification of the resulting Unicode object is only allowed when " "*u* is *NULL*." msgstr "" -#: c-api/unicode.rst:683 +#: ../../src/Doc/c-api/unicode.rst:683 msgid "" "If the buffer is *NULL*, :c:func:`PyUnicode_READY` must be called once the " "string content has been filled before using any of the access macros such " "as :c:func:`PyUnicode_KIND`." msgstr "" -#: c-api/unicode.rst:687 +#: ../../src/Doc/c-api/unicode.rst:687 msgid "" "Please migrate to using :c:func:`PyUnicode_FromKindAndData` or :c:func:" "`PyUnicode_New`." msgstr "" -#: c-api/unicode.rst:693 +#: ../../src/Doc/c-api/unicode.rst:693 msgid "" "Return a read-only pointer to the Unicode object's internal :c:type:" "`Py_UNICODE` buffer, or *NULL* on error. This will create the :c:type:" @@ -14446,20 +14510,20 @@ msgid "" "functions." msgstr "" -#: c-api/unicode.rst:701 +#: ../../src/Doc/c-api/unicode.rst:701 msgid "" "Please migrate to using :c:func:`PyUnicode_AsUCS4`, :c:func:" "`PyUnicode_Substring`, :c:func:`PyUnicode_ReadChar` or similar new APIs." msgstr "" -#: c-api/unicode.rst:708 +#: ../../src/Doc/c-api/unicode.rst:708 msgid "" "Create a Unicode object by replacing all decimal digits in :c:type:" "`Py_UNICODE` buffer of the given *size* by ASCII digits 0--9 according to " "their decimal value. Return *NULL* if an exception occurs." msgstr "" -#: c-api/unicode.rst:715 +#: ../../src/Doc/c-api/unicode.rst:715 msgid "" "Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` " "array length (excluding the extra null terminator) in *size*. Note that the " @@ -14468,7 +14532,7 @@ msgid "" "functions." msgstr "" -#: c-api/unicode.rst:726 +#: ../../src/Doc/c-api/unicode.rst:726 msgid "" "Create a copy of a Unicode string ending with a null code point. Return " "*NULL* and raise a :exc:`MemoryError` exception on memory allocation " @@ -14478,38 +14542,38 @@ msgid "" "truncated when used in most C functions." msgstr "" -#: c-api/unicode.rst:735 +#: ../../src/Doc/c-api/unicode.rst:735 msgid "" "Please migrate to using :c:func:`PyUnicode_AsUCS4Copy` or similar new APIs." msgstr "" -#: c-api/unicode.rst:740 +#: ../../src/Doc/c-api/unicode.rst:740 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " "code units (this includes surrogate pairs as 2 units)." msgstr "" -#: c-api/unicode.rst:743 +#: ../../src/Doc/c-api/unicode.rst:743 msgid "Please migrate to using :c:func:`PyUnicode_GetLength`." msgstr "" -#: c-api/unicode.rst:748 +#: ../../src/Doc/c-api/unicode.rst:748 msgid "" "Shortcut for ``PyUnicode_FromEncodedObject(obj, NULL, \"strict\")`` which is " "used throughout the interpreter whenever coercion to Unicode is needed." msgstr "" -#: c-api/unicode.rst:753 +#: ../../src/Doc/c-api/unicode.rst:753 msgid "Locale Encoding" msgstr "" -#: c-api/unicode.rst:755 +#: ../../src/Doc/c-api/unicode.rst:755 msgid "" "The current locale encoding can be used to decode text from the operating " "system." msgstr "" -#: c-api/unicode.rst:762 +#: ../../src/Doc/c-api/unicode.rst:762 msgid "" "Decode a string from the current locale encoding. The supported error " "handlers are ``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The " @@ -14517,24 +14581,24 @@ msgid "" "must end with a null character but cannot contain embedded null characters." msgstr "" -#: c-api/unicode.rst:768 +#: ../../src/Doc/c-api/unicode.rst:768 msgid "" "Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:" "data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python " "startup)." msgstr "" -#: c-api/unicode.rst:774 c-api/unicode.rst:853 +#: ../../src/Doc/c-api/unicode.rst:774 ../../src/Doc/c-api/unicode.rst:853 msgid "The :c:func:`Py_DecodeLocale` function." msgstr "" -#: c-api/unicode.rst:781 +#: ../../src/Doc/c-api/unicode.rst:781 msgid "" "Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string " "length using :c:func:`strlen`." msgstr "" -#: c-api/unicode.rst:789 +#: ../../src/Doc/c-api/unicode.rst:789 msgid "" "Encode a Unicode object to the current locale encoding. The supported error " "handlers are ``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The " @@ -14542,21 +14606,21 @@ msgid "" "class:`bytes` object. *str* cannot contain embedded null characters." msgstr "" -#: c-api/unicode.rst:795 +#: ../../src/Doc/c-api/unicode.rst:795 msgid "" "Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:" "`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup)." msgstr "" -#: c-api/unicode.rst:801 c-api/unicode.rst:889 +#: ../../src/Doc/c-api/unicode.rst:801 ../../src/Doc/c-api/unicode.rst:889 msgid "The :c:func:`Py_EncodeLocale` function." msgstr "" -#: c-api/unicode.rst:807 +#: ../../src/Doc/c-api/unicode.rst:807 msgid "File System Encoding" msgstr "" -#: c-api/unicode.rst:809 +#: ../../src/Doc/c-api/unicode.rst:809 msgid "" "To encode and decode file names and other environment strings, :c:data:" "`Py_FileSystemEncoding` should be used as the encoding, and ``" @@ -14565,7 +14629,7 @@ msgid "" "be used, passing :c:func:`PyUnicode_FSConverter` as the conversion function:" msgstr "" -#: c-api/unicode.rst:817 +#: ../../src/Doc/c-api/unicode.rst:817 msgid "" "ParseTuple converter: encode :class:`str` objects to :class:`bytes` using :c:" "func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. " @@ -14573,14 +14637,14 @@ msgid "" "is no longer used." msgstr "" -#: c-api/unicode.rst:825 +#: ../../src/Doc/c-api/unicode.rst:825 msgid "" "To decode file names during argument parsing, the ``\"O&\"`` converter " "should be used, passing :c:func:`PyUnicode_FSDecoder` as the conversion " "function:" msgstr "" -#: c-api/unicode.rst:830 +#: ../../src/Doc/c-api/unicode.rst:830 msgid "" "ParseTuple converter: decode :class:`bytes` objects to :class:`str` using :c:" "func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` objects are output as-" @@ -14588,19 +14652,20 @@ msgid "" "when it is no longer used." msgstr "" -#: c-api/unicode.rst:840 +#: ../../src/Doc/c-api/unicode.rst:840 msgid "" "Decode a string using :c:data:`Py_FileSystemDefaultEncoding` and the ``" "\"surrogateescape\"`` error handler, or ``\"strict\"`` on Windows." msgstr "" -#: c-api/unicode.rst:843 c-api/unicode.rst:864 c-api/unicode.rst:880 +#: ../../src/Doc/c-api/unicode.rst:843 ../../src/Doc/c-api/unicode.rst:864 +#: ../../src/Doc/c-api/unicode.rst:880 msgid "" "If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to the " "locale encoding." msgstr "" -#: c-api/unicode.rst:846 +#: ../../src/Doc/c-api/unicode.rst:846 msgid "" ":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " "locale encoding and cannot be modified later. If you need to decode a string " @@ -14608,22 +14673,22 @@ msgid "" "`PyUnicode_DecodeLocaleAndSize`." msgstr "" -#: c-api/unicode.rst:855 c-api/unicode.rst:869 +#: ../../src/Doc/c-api/unicode.rst:855 ../../src/Doc/c-api/unicode.rst:869 msgid "Use ``\"strict\"`` error handler on Windows." msgstr "" -#: c-api/unicode.rst:861 +#: ../../src/Doc/c-api/unicode.rst:861 msgid "" "Decode a null-terminated string using :c:data:`Py_FileSystemDefaultEncoding` " "and the ``\"surrogateescape\"`` error handler, or ``\"strict\"`` on Windows." msgstr "" -#: c-api/unicode.rst:867 +#: ../../src/Doc/c-api/unicode.rst:867 msgid "" "Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length." msgstr "" -#: c-api/unicode.rst:875 +#: ../../src/Doc/c-api/unicode.rst:875 msgid "" "Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the ``" "\"surrogateescape\"`` error handler, or ``\"strict\"`` on Windows, and " @@ -14631,29 +14696,29 @@ msgid "" "contain null bytes." msgstr "" -#: c-api/unicode.rst:883 +#: ../../src/Doc/c-api/unicode.rst:883 msgid "" ":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " "locale encoding and cannot be modified later. If you need to encode a string " "to the current locale encoding, use :c:func:`PyUnicode_EncodeLocale`." msgstr "" -#: c-api/unicode.rst:895 +#: ../../src/Doc/c-api/unicode.rst:895 msgid "wchar_t Support" msgstr "" -#: c-api/unicode.rst:897 +#: ../../src/Doc/c-api/unicode.rst:897 msgid ":c:type:`wchar_t` support for platforms which support it:" msgstr "" -#: c-api/unicode.rst:901 +#: ../../src/Doc/c-api/unicode.rst:901 msgid "" "Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given " "*size*. Passing -1 as the *size* indicates that the function must itself " "compute the length, using wcslen. Return *NULL* on failure." msgstr "" -#: c-api/unicode.rst:909 +#: ../../src/Doc/c-api/unicode.rst:909 msgid "" "Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At " "most *size* :c:type:`wchar_t` characters are copied (excluding a possibly " @@ -14666,7 +14731,7 @@ msgid "" "would cause the string to be truncated when used with most C functions." msgstr "" -#: c-api/unicode.rst:922 +#: ../../src/Doc/c-api/unicode.rst:922 msgid "" "Convert the Unicode object to a wide character string. The output string " "always ends with a null character. If *size* is not *NULL*, write the number " @@ -14674,7 +14739,7 @@ msgid "" "\\*size*." msgstr "" -#: c-api/unicode.rst:927 +#: ../../src/Doc/c-api/unicode.rst:927 msgid "" "Returns a buffer allocated by :c:func:`PyMem_Alloc` (use :c:func:" "`PyMem_Free` to free it) on success. On error, returns *NULL*, *\\*size* is " @@ -14683,34 +14748,34 @@ msgid "" "to be truncated when used with most C functions." msgstr "" -#: c-api/unicode.rst:937 +#: ../../src/Doc/c-api/unicode.rst:937 msgid "UCS4 Support" msgstr "" -#: c-api/unicode.rst:952 +#: ../../src/Doc/c-api/unicode.rst:952 msgid "" "These utility functions work on strings of :c:type:`Py_UCS4` characters and " "otherwise behave like the C standard library functions with the same name." msgstr "" -#: c-api/unicode.rst:959 +#: ../../src/Doc/c-api/unicode.rst:959 msgid "Built-in Codecs" msgstr "" -#: c-api/unicode.rst:961 +#: ../../src/Doc/c-api/unicode.rst:961 msgid "" "Python provides a set of built-in codecs which are written in C for speed. " "All of these codecs are directly usable via the following functions." msgstr "" -#: c-api/unicode.rst:964 +#: ../../src/Doc/c-api/unicode.rst:964 msgid "" "Many of the following APIs take two arguments encoding and errors, and they " "have the same semantics as the ones of the built-in :func:`str` string " "object constructor." msgstr "" -#: c-api/unicode.rst:968 +#: ../../src/Doc/c-api/unicode.rst:968 msgid "" "Setting encoding to *NULL* causes the default encoding to be used which is " "ASCII. The file system calls should use :c:func:`PyUnicode_FSConverter` for " @@ -14721,28 +14786,28 @@ msgid "" "setlocale)." msgstr "" -#: c-api/unicode.rst:976 +#: ../../src/Doc/c-api/unicode.rst:976 msgid "" "Error handling is set by errors which may also be set to *NULL* meaning to " "use the default handling defined for the codec. Default error handling for " "all built-in codecs is \"strict\" (:exc:`ValueError` is raised)." msgstr "" -#: c-api/unicode.rst:980 +#: ../../src/Doc/c-api/unicode.rst:980 msgid "" "The codecs all use a similar interface. Only deviation from the following " "generic ones are documented for simplicity." msgstr "" -#: c-api/unicode.rst:985 +#: ../../src/Doc/c-api/unicode.rst:985 msgid "Generic Codecs" msgstr "" -#: c-api/unicode.rst:987 +#: ../../src/Doc/c-api/unicode.rst:987 msgid "These are the generic codec APIs:" msgstr "" -#: c-api/unicode.rst:993 +#: ../../src/Doc/c-api/unicode.rst:993 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string *s*. " "*encoding* and *errors* have the same meaning as the parameters of the same " @@ -14751,7 +14816,7 @@ msgid "" "raised by the codec." msgstr "" -#: c-api/unicode.rst:1003 +#: ../../src/Doc/c-api/unicode.rst:1003 msgid "" "Encode a Unicode object and return the result as Python bytes object. " "*encoding* and *errors* have the same meaning as the parameters of the same " @@ -14760,7 +14825,7 @@ msgid "" "raised by the codec." msgstr "" -#: c-api/unicode.rst:1013 +#: ../../src/Doc/c-api/unicode.rst:1013 msgid "" "Encode the :c:type:`Py_UNICODE` buffer *s* of the given *size* and return a " "Python bytes object. *encoding* and *errors* have the same meaning as the " @@ -14769,34 +14834,34 @@ msgid "" "*NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1021 +#: ../../src/Doc/c-api/unicode.rst:1021 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using " "PyUnicode_AsEncodedString()." msgstr "" -#: c-api/unicode.rst:1021 +#: ../../src/Doc/c-api/unicode.rst:1021 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsEncodedString`." msgstr "" -#: c-api/unicode.rst:1025 +#: ../../src/Doc/c-api/unicode.rst:1025 msgid "UTF-8 Codecs" msgstr "" -#: c-api/unicode.rst:1027 +#: ../../src/Doc/c-api/unicode.rst:1027 msgid "These are the UTF-8 codec APIs:" msgstr "" -#: c-api/unicode.rst:1032 +#: ../../src/Doc/c-api/unicode.rst:1032 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string " "*s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1039 +#: ../../src/Doc/c-api/unicode.rst:1039 msgid "" "If *consumed* is *NULL*, behave like :c:func:`PyUnicode_DecodeUTF8`. If " "*consumed* is not *NULL*, trailing incomplete UTF-8 byte sequences will not " @@ -14804,14 +14869,14 @@ msgid "" "bytes that have been decoded will be stored in *consumed*." msgstr "" -#: c-api/unicode.rst:1047 +#: ../../src/Doc/c-api/unicode.rst:1047 msgid "" "Encode a Unicode object using UTF-8 and return the result as Python bytes " "object. Error handling is \"strict\". Return *NULL* if an exception was " "raised by the codec." msgstr "" -#: c-api/unicode.rst:1054 +#: ../../src/Doc/c-api/unicode.rst:1054 msgid "" "Return a pointer to the UTF-8 encoding of the Unicode object, and store the " "size of the encoded representation (in bytes) in *size*. The *size* " @@ -14820,65 +14885,65 @@ msgid "" "regardless of whether there are any other null code points." msgstr "" -#: c-api/unicode.rst:1060 +#: ../../src/Doc/c-api/unicode.rst:1060 msgid "" "In the case of an error, *NULL* is returned with an exception set and no " "*size* is stored." msgstr "" -#: c-api/unicode.rst:1063 +#: ../../src/Doc/c-api/unicode.rst:1063 msgid "" "This caches the UTF-8 representation of the string in the Unicode object, " "and subsequent calls will return a pointer to the same buffer. The caller " "is not responsible for deallocating the buffer." msgstr "" -#: c-api/unicode.rst:1072 +#: ../../src/Doc/c-api/unicode.rst:1072 msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." msgstr "" -#: c-api/unicode.rst:1079 +#: ../../src/Doc/c-api/unicode.rst:1079 msgid "" "Encode the :c:type:`Py_UNICODE` buffer *s* of the given *size* using UTF-8 " "and return a Python bytes object. Return *NULL* if an exception was raised " "by the codec." msgstr "" -#: c-api/unicode.rst:1085 +#: ../../src/Doc/c-api/unicode.rst:1085 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyUnicode_AsUTF8String() " "or PyUnicode_AsUTF8AndSize()." msgstr "" -#: c-api/unicode.rst:1085 +#: ../../src/Doc/c-api/unicode.rst:1085 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF8String` or :c:func:`PyUnicode_AsUTF8AndSize`." msgstr "" -#: c-api/unicode.rst:1089 +#: ../../src/Doc/c-api/unicode.rst:1089 msgid "UTF-32 Codecs" msgstr "" -#: c-api/unicode.rst:1091 +#: ../../src/Doc/c-api/unicode.rst:1091 msgid "These are the UTF-32 codec APIs:" msgstr "" -#: c-api/unicode.rst:1097 +#: ../../src/Doc/c-api/unicode.rst:1097 msgid "" "Decode *size* bytes from a UTF-32 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-*NULL*) defines the error " "handling. It defaults to \"strict\"." msgstr "" -#: c-api/unicode.rst:1101 c-api/unicode.rst:1174 +#: ../../src/Doc/c-api/unicode.rst:1101 ../../src/Doc/c-api/unicode.rst:1174 msgid "" "If *byteorder* is non-*NULL*, the decoder starts decoding using the given " "byte order::" msgstr "" -#: c-api/unicode.rst:1108 +#: ../../src/Doc/c-api/unicode.rst:1108 msgid "" "If ``*byteorder`` is zero, and the first four bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -14886,22 +14951,22 @@ msgid "" "``-1`` or ``1``, any byte order mark is copied to the output." msgstr "" -#: c-api/unicode.rst:1113 c-api/unicode.rst:1187 +#: ../../src/Doc/c-api/unicode.rst:1113 ../../src/Doc/c-api/unicode.rst:1187 msgid "" "After completion, *\\*byteorder* is set to the current byte order at the end " "of input data." msgstr "" -#: c-api/unicode.rst:1116 c-api/unicode.rst:1190 +#: ../../src/Doc/c-api/unicode.rst:1116 ../../src/Doc/c-api/unicode.rst:1190 msgid "If *byteorder* is *NULL*, the codec starts in native order mode." msgstr "" -#: c-api/unicode.rst:1118 c-api/unicode.rst:1154 c-api/unicode.rst:1192 -#: c-api/unicode.rst:1229 +#: ../../src/Doc/c-api/unicode.rst:1118 ../../src/Doc/c-api/unicode.rst:1154 +#: ../../src/Doc/c-api/unicode.rst:1192 ../../src/Doc/c-api/unicode.rst:1229 msgid "Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1124 +#: ../../src/Doc/c-api/unicode.rst:1124 msgid "" "If *consumed* is *NULL*, behave like :c:func:`PyUnicode_DecodeUTF32`. If " "*consumed* is not *NULL*, :c:func:`PyUnicode_DecodeUTF32Stateful` will not " @@ -14910,59 +14975,59 @@ msgid "" "number of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: c-api/unicode.rst:1133 +#: ../../src/Doc/c-api/unicode.rst:1133 msgid "" "Return a Python byte string using the UTF-32 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " "Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1141 +#: ../../src/Doc/c-api/unicode.rst:1141 msgid "" "Return a Python bytes object holding the UTF-32 encoded value of the Unicode " "data in *s*. Output is written according to the following byte order::" msgstr "" -#: c-api/unicode.rst:1148 c-api/unicode.rst:1222 +#: ../../src/Doc/c-api/unicode.rst:1148 ../../src/Doc/c-api/unicode.rst:1222 msgid "" "If byteorder is ``0``, the output string will always start with the Unicode " "BOM mark (U+FEFF). In the other two modes, no BOM mark is prepended." msgstr "" -#: c-api/unicode.rst:1151 +#: ../../src/Doc/c-api/unicode.rst:1151 msgid "" "If *Py_UNICODE_WIDE* is not defined, surrogate pairs will be output as a " "single code point." msgstr "" -#: c-api/unicode.rst:1158 +#: ../../src/Doc/c-api/unicode.rst:1158 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyUnicode_AsUTF32String()." msgstr "" -#: c-api/unicode.rst:1158 +#: ../../src/Doc/c-api/unicode.rst:1158 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF32String`." msgstr "" -#: c-api/unicode.rst:1162 +#: ../../src/Doc/c-api/unicode.rst:1162 msgid "UTF-16 Codecs" msgstr "" -#: c-api/unicode.rst:1164 +#: ../../src/Doc/c-api/unicode.rst:1164 msgid "These are the UTF-16 codec APIs:" msgstr "" -#: c-api/unicode.rst:1170 +#: ../../src/Doc/c-api/unicode.rst:1170 msgid "" "Decode *size* bytes from a UTF-16 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-*NULL*) defines the error " "handling. It defaults to \"strict\"." msgstr "" -#: c-api/unicode.rst:1181 +#: ../../src/Doc/c-api/unicode.rst:1181 msgid "" "If ``*byteorder`` is zero, and the first two bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -14971,7 +15036,7 @@ msgid "" "result in either a ``\\ufeff`` or a ``\\ufffe`` character)." msgstr "" -#: c-api/unicode.rst:1198 +#: ../../src/Doc/c-api/unicode.rst:1198 msgid "" "If *consumed* is *NULL*, behave like :c:func:`PyUnicode_DecodeUTF16`. If " "*consumed* is not *NULL*, :c:func:`PyUnicode_DecodeUTF16Stateful` will not " @@ -14981,53 +15046,53 @@ msgid "" "*consumed*." msgstr "" -#: c-api/unicode.rst:1207 +#: ../../src/Doc/c-api/unicode.rst:1207 msgid "" "Return a Python byte string using the UTF-16 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " "Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1215 +#: ../../src/Doc/c-api/unicode.rst:1215 msgid "" "Return a Python bytes object holding the UTF-16 encoded value of the Unicode " "data in *s*. Output is written according to the following byte order::" msgstr "" -#: c-api/unicode.rst:1225 +#: ../../src/Doc/c-api/unicode.rst:1225 msgid "" "If *Py_UNICODE_WIDE* is defined, a single :c:type:`Py_UNICODE` value may get " "represented as a surrogate pair. If it is not defined, each :c:type:" "`Py_UNICODE` values is interpreted as an UCS-2 character." msgstr "" -#: c-api/unicode.rst:1233 +#: ../../src/Doc/c-api/unicode.rst:1233 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyUnicode_AsUTF16String()." msgstr "" -#: c-api/unicode.rst:1233 +#: ../../src/Doc/c-api/unicode.rst:1233 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF16String`." msgstr "" -#: c-api/unicode.rst:1237 +#: ../../src/Doc/c-api/unicode.rst:1237 msgid "UTF-7 Codecs" msgstr "" -#: c-api/unicode.rst:1239 +#: ../../src/Doc/c-api/unicode.rst:1239 msgid "These are the UTF-7 codec APIs:" msgstr "" -#: c-api/unicode.rst:1244 +#: ../../src/Doc/c-api/unicode.rst:1244 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string " "*s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1251 +#: ../../src/Doc/c-api/unicode.rst:1251 msgid "" "If *consumed* is *NULL*, behave like :c:func:`PyUnicode_DecodeUTF7`. If " "*consumed* is not *NULL*, trailing incomplete UTF-7 base-64 sections will " @@ -15035,14 +15100,14 @@ msgid "" "of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: c-api/unicode.rst:1260 +#: ../../src/Doc/c-api/unicode.rst:1260 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given size using UTF-7 and " "return a Python bytes object. Return *NULL* if an exception was raised by " "the codec." msgstr "" -#: c-api/unicode.rst:1264 +#: ../../src/Doc/c-api/unicode.rst:1264 msgid "" "If *base64SetO* is nonzero, \"Set O\" (punctuation that has no otherwise " "special meaning) will be encoded in base-64. If *base64WhiteSpace* is " @@ -15050,187 +15115,187 @@ msgid "" "the Python \"utf-7\" codec." msgstr "" -#: c-api/unicode.rst:1271 c-api/unicode.rst:1462 +#: ../../src/Doc/c-api/unicode.rst:1271 ../../src/Doc/c-api/unicode.rst:1462 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API." msgstr "" -#: c-api/unicode.rst:1271 c-api/unicode.rst:1462 +#: ../../src/Doc/c-api/unicode.rst:1271 ../../src/Doc/c-api/unicode.rst:1462 msgid "Part of the old-style :c:type:`Py_UNICODE` API." msgstr "" -#: c-api/unicode.rst:1276 +#: ../../src/Doc/c-api/unicode.rst:1276 msgid "Unicode-Escape Codecs" msgstr "" -#: c-api/unicode.rst:1278 +#: ../../src/Doc/c-api/unicode.rst:1278 msgid "These are the \"Unicode Escape\" codec APIs:" msgstr "" -#: c-api/unicode.rst:1284 +#: ../../src/Doc/c-api/unicode.rst:1284 msgid "" "Create a Unicode object by decoding *size* bytes of the Unicode-Escape " "encoded string *s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1290 +#: ../../src/Doc/c-api/unicode.rst:1290 msgid "" "Encode a Unicode object using Unicode-Escape and return the result as Python " "string object. Error handling is \"strict\". Return *NULL* if an exception " "was raised by the codec." msgstr "" -#: c-api/unicode.rst:1297 +#: ../../src/Doc/c-api/unicode.rst:1297 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Unicode-" "Escape and return a Python string object. Return *NULL* if an exception was " "raised by the codec." msgstr "" -#: c-api/unicode.rst:1303 +#: ../../src/Doc/c-api/unicode.rst:1303 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using " "PyUnicode_AsUnicodeEscapeString()." msgstr "" -#: c-api/unicode.rst:1303 +#: ../../src/Doc/c-api/unicode.rst:1303 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUnicodeEscapeString`." msgstr "" -#: c-api/unicode.rst:1307 +#: ../../src/Doc/c-api/unicode.rst:1307 msgid "Raw-Unicode-Escape Codecs" msgstr "" -#: c-api/unicode.rst:1309 +#: ../../src/Doc/c-api/unicode.rst:1309 msgid "These are the \"Raw Unicode Escape\" codec APIs:" msgstr "" -#: c-api/unicode.rst:1315 +#: ../../src/Doc/c-api/unicode.rst:1315 msgid "" "Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape " "encoded string *s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1321 +#: ../../src/Doc/c-api/unicode.rst:1321 msgid "" "Encode a Unicode object using Raw-Unicode-Escape and return the result as " "Python string object. Error handling is \"strict\". Return *NULL* if an " "exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1329 +#: ../../src/Doc/c-api/unicode.rst:1329 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Raw-Unicode-" "Escape and return a Python string object. Return *NULL* if an exception was " "raised by the codec." msgstr "" -#: c-api/unicode.rst:1335 +#: ../../src/Doc/c-api/unicode.rst:1335 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using " "PyUnicode_AsRawUnicodeEscapeString()." msgstr "" -#: c-api/unicode.rst:1335 +#: ../../src/Doc/c-api/unicode.rst:1335 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsRawUnicodeEscapeString`." msgstr "" -#: c-api/unicode.rst:1339 +#: ../../src/Doc/c-api/unicode.rst:1339 msgid "Latin-1 Codecs" msgstr "" -#: c-api/unicode.rst:1341 +#: ../../src/Doc/c-api/unicode.rst:1341 msgid "" "These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 " "Unicode ordinals and only these are accepted by the codecs during encoding." msgstr "" -#: c-api/unicode.rst:1347 +#: ../../src/Doc/c-api/unicode.rst:1347 msgid "" "Create a Unicode object by decoding *size* bytes of the Latin-1 encoded " "string *s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1353 +#: ../../src/Doc/c-api/unicode.rst:1353 msgid "" "Encode a Unicode object using Latin-1 and return the result as Python bytes " "object. Error handling is \"strict\". Return *NULL* if an exception was " "raised by the codec." msgstr "" -#: c-api/unicode.rst:1360 +#: ../../src/Doc/c-api/unicode.rst:1360 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Latin-1 and " "return a Python bytes object. Return *NULL* if an exception was raised by " "the codec." msgstr "" -#: c-api/unicode.rst:1366 +#: ../../src/Doc/c-api/unicode.rst:1366 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyUnicode_AsLatin1String()." msgstr "" -#: c-api/unicode.rst:1366 +#: ../../src/Doc/c-api/unicode.rst:1366 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsLatin1String`." msgstr "" -#: c-api/unicode.rst:1370 +#: ../../src/Doc/c-api/unicode.rst:1370 msgid "ASCII Codecs" msgstr "" -#: c-api/unicode.rst:1372 +#: ../../src/Doc/c-api/unicode.rst:1372 msgid "" "These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " "other codes generate errors." msgstr "" -#: c-api/unicode.rst:1378 +#: ../../src/Doc/c-api/unicode.rst:1378 msgid "" "Create a Unicode object by decoding *size* bytes of the ASCII encoded string " "*s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1384 +#: ../../src/Doc/c-api/unicode.rst:1384 msgid "" "Encode a Unicode object using ASCII and return the result as Python bytes " "object. Error handling is \"strict\". Return *NULL* if an exception was " "raised by the codec." msgstr "" -#: c-api/unicode.rst:1391 +#: ../../src/Doc/c-api/unicode.rst:1391 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using ASCII and " "return a Python bytes object. Return *NULL* if an exception was raised by " "the codec." msgstr "" -#: c-api/unicode.rst:1397 +#: ../../src/Doc/c-api/unicode.rst:1397 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyUnicode_AsASCIIString()." msgstr "" -#: c-api/unicode.rst:1397 +#: ../../src/Doc/c-api/unicode.rst:1397 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsASCIIString`." msgstr "" -#: c-api/unicode.rst:1401 +#: ../../src/Doc/c-api/unicode.rst:1401 msgid "Character Map Codecs" msgstr "" -#: c-api/unicode.rst:1403 +#: ../../src/Doc/c-api/unicode.rst:1403 msgid "" "This codec is special in that it can be used to implement many different " "codecs (and this is in fact what was done to obtain most of the standard " @@ -15238,27 +15303,27 @@ msgid "" "encode and decode characters." msgstr "" -#: c-api/unicode.rst:1408 +#: ../../src/Doc/c-api/unicode.rst:1408 msgid "" "Decoding mappings must map single string characters to single Unicode " "characters, integers (which are then interpreted as Unicode ordinals) or " "None (meaning \"undefined mapping\" and causing an error)." msgstr "" -#: c-api/unicode.rst:1412 +#: ../../src/Doc/c-api/unicode.rst:1412 msgid "" "Encoding mappings must map single Unicode characters to single string " "characters, integers (which are then interpreted as Latin-1 ordinals) or " "None (meaning \"undefined mapping\" and causing an error)." msgstr "" -#: c-api/unicode.rst:1416 +#: ../../src/Doc/c-api/unicode.rst:1416 msgid "" "The mapping objects provided must only support the __getitem__ mapping " "interface." msgstr "" -#: c-api/unicode.rst:1419 +#: ../../src/Doc/c-api/unicode.rst:1419 msgid "" "If a character lookup fails with a LookupError, the character is copied as-" "is meaning that its ordinal value will be interpreted as Unicode or Latin-1 " @@ -15266,11 +15331,11 @@ msgid "" "which map characters to different code points." msgstr "" -#: c-api/unicode.rst:1424 +#: ../../src/Doc/c-api/unicode.rst:1424 msgid "These are the mapping codec APIs:" msgstr "" -#: c-api/unicode.rst:1429 +#: ../../src/Doc/c-api/unicode.rst:1429 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string *s* " "using the given *mapping* object. Return *NULL* if an exception was raised " @@ -15280,62 +15345,62 @@ msgid "" "\"characters\" are treated as \"undefined mapping\"." msgstr "" -#: c-api/unicode.rst:1439 +#: ../../src/Doc/c-api/unicode.rst:1439 msgid "" "Encode a Unicode object using the given *mapping* object and return the " "result as Python string object. Error handling is \"strict\". Return " "*NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1443 +#: ../../src/Doc/c-api/unicode.rst:1443 msgid "The following codec API is special in that maps Unicode to Unicode." msgstr "" -#: c-api/unicode.rst:1449 +#: ../../src/Doc/c-api/unicode.rst:1449 msgid "" "Translate a :c:type:`Py_UNICODE` buffer of the given *size* by applying a " "character mapping *table* to it and return the resulting Unicode object. " "Return *NULL* when an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1453 +#: ../../src/Doc/c-api/unicode.rst:1453 msgid "" "The *mapping* table must map Unicode ordinal integers to Unicode ordinal " "integers or None (causing deletion of the character)." msgstr "" -#: c-api/unicode.rst:1456 c-api/unicode.rst:1573 +#: ../../src/Doc/c-api/unicode.rst:1456 ../../src/Doc/c-api/unicode.rst:1573 msgid "" "Mapping tables need only provide the :meth:`__getitem__` interface; " "dictionaries and sequences work well. Unmapped character ordinals (ones " "which cause a :exc:`LookupError`) are left untouched and are copied as-is." msgstr "" -#: c-api/unicode.rst:1469 +#: ../../src/Doc/c-api/unicode.rst:1469 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using the given " "*mapping* object and return a Python string object. Return *NULL* if an " "exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1475 +#: ../../src/Doc/c-api/unicode.rst:1475 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using " "PyUnicode_AsCharmapString()." msgstr "" -#: c-api/unicode.rst:1475 +#: ../../src/Doc/c-api/unicode.rst:1475 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsCharmapString`." msgstr "" -#: c-api/unicode.rst:1479 +#: ../../src/Doc/c-api/unicode.rst:1479 msgid "MBCS codecs for Windows" msgstr "" -#: c-api/unicode.rst:1481 +#: ../../src/Doc/c-api/unicode.rst:1481 msgid "" "These are the MBCS codec APIs. They are currently only available on Windows " "and use the Win32 MBCS converters to implement the conversions. Note that " @@ -15343,13 +15408,13 @@ msgid "" "is defined by the user settings on the machine running the codec." msgstr "" -#: c-api/unicode.rst:1488 +#: ../../src/Doc/c-api/unicode.rst:1488 msgid "" "Create a Unicode object by decoding *size* bytes of the MBCS encoded string " "*s*. Return *NULL* if an exception was raised by the codec." msgstr "" -#: c-api/unicode.rst:1495 +#: ../../src/Doc/c-api/unicode.rst:1495 msgid "" "If *consumed* is *NULL*, behave like :c:func:`PyUnicode_DecodeMBCS`. If " "*consumed* is not *NULL*, :c:func:`PyUnicode_DecodeMBCSStateful` will not " @@ -15357,64 +15422,64 @@ msgid "" "will be stored in *consumed*." msgstr "" -#: c-api/unicode.rst:1503 +#: ../../src/Doc/c-api/unicode.rst:1503 msgid "" "Encode a Unicode object using MBCS and return the result as Python bytes " "object. Error handling is \"strict\". Return *NULL* if an exception was " "raised by the codec." msgstr "" -#: c-api/unicode.rst:1510 +#: ../../src/Doc/c-api/unicode.rst:1510 msgid "" "Encode the Unicode object using the specified code page and return a Python " "bytes object. Return *NULL* if an exception was raised by the codec. Use :c:" "data:`CP_ACP` code page to get the MBCS encoder." msgstr "" -#: c-api/unicode.rst:1519 +#: ../../src/Doc/c-api/unicode.rst:1519 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using MBCS and " "return a Python bytes object. Return *NULL* if an exception was raised by " "the codec." msgstr "" -#: c-api/unicode.rst:1525 +#: ../../src/Doc/c-api/unicode.rst:1525 msgid "" "Deprecated since version 3.3, will be removed in version 4.0: Part of the " "old-style Py_UNICODE API; please migrate to using PyUnicode_AsMBCSString() " "or PyUnicode_EncodeCodePage()." msgstr "" -#: c-api/unicode.rst:1525 +#: ../../src/Doc/c-api/unicode.rst:1525 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsMBCSString` or :c:func:`PyUnicode_EncodeCodePage`." msgstr "" -#: c-api/unicode.rst:1529 +#: ../../src/Doc/c-api/unicode.rst:1529 msgid "Methods & Slots" msgstr "" -#: c-api/unicode.rst:1535 +#: ../../src/Doc/c-api/unicode.rst:1535 msgid "Methods and Slot Functions" msgstr "" -#: c-api/unicode.rst:1537 +#: ../../src/Doc/c-api/unicode.rst:1537 msgid "" "The following APIs are capable of handling Unicode objects and strings on " "input (we refer to them as strings in the descriptions) and return Unicode " "objects or integers as appropriate." msgstr "" -#: c-api/unicode.rst:1541 +#: ../../src/Doc/c-api/unicode.rst:1541 msgid "They all return *NULL* or ``-1`` if an exception occurs." msgstr "" -#: c-api/unicode.rst:1546 +#: ../../src/Doc/c-api/unicode.rst:1546 msgid "Concat two strings giving a new Unicode string." msgstr "" -#: c-api/unicode.rst:1551 +#: ../../src/Doc/c-api/unicode.rst:1551 msgid "" "Split a string giving a list of Unicode strings. If *sep* is *NULL*, " "splitting will be done at all whitespace substrings. Otherwise, splits " @@ -15423,45 +15488,45 @@ msgid "" "list." msgstr "" -#: c-api/unicode.rst:1559 +#: ../../src/Doc/c-api/unicode.rst:1559 msgid "" "Split a Unicode string at line breaks, returning a list of Unicode strings. " "CRLF is considered to be one line break. If *keepend* is 0, the Line break " "characters are not included in the resulting strings." msgstr "" -#: c-api/unicode.rst:1567 +#: ../../src/Doc/c-api/unicode.rst:1567 msgid "" "Translate a string by applying a character mapping table to it and return " "the resulting Unicode object." msgstr "" -#: c-api/unicode.rst:1570 +#: ../../src/Doc/c-api/unicode.rst:1570 msgid "" "The mapping table must map Unicode ordinal integers to Unicode ordinal " "integers or None (causing deletion of the character)." msgstr "" -#: c-api/unicode.rst:1577 +#: ../../src/Doc/c-api/unicode.rst:1577 msgid "" "*errors* has the usual meaning for codecs. It may be *NULL* which indicates " "to use the default error handling." msgstr "" -#: c-api/unicode.rst:1583 +#: ../../src/Doc/c-api/unicode.rst:1583 msgid "" "Join a sequence of strings using the given *separator* and return the " "resulting Unicode string." msgstr "" -#: c-api/unicode.rst:1590 +#: ../../src/Doc/c-api/unicode.rst:1590 msgid "" "Return 1 if *substr* matches ``str[start:end]`` at the given tail end " "(*direction* == -1 means to do a prefix match, *direction* == 1 a suffix " "match), 0 otherwise. Return ``-1`` if an error occurred." msgstr "" -#: c-api/unicode.rst:1598 +#: ../../src/Doc/c-api/unicode.rst:1598 msgid "" "Return the first position of *substr* in ``str[start:end]`` using the given " "*direction* (*direction* == 1 means to do a forward search, *direction* == " @@ -15470,7 +15535,7 @@ msgid "" "an error occurred and an exception has been set." msgstr "" -#: c-api/unicode.rst:1608 +#: ../../src/Doc/c-api/unicode.rst:1608 msgid "" "Return the first position of the character *ch* in ``str[start:end]`` using " "the given *direction* (*direction* == 1 means to do a forward search, " @@ -15479,26 +15544,26 @@ msgid "" "indicates that an error occurred and an exception has been set." msgstr "" -#: c-api/unicode.rst:1620 +#: ../../src/Doc/c-api/unicode.rst:1620 msgid "" "Return the number of non-overlapping occurrences of *substr* in ``str[start:" "end]``. Return ``-1`` if an error occurred." msgstr "" -#: c-api/unicode.rst:1627 +#: ../../src/Doc/c-api/unicode.rst:1627 msgid "" "Replace at most *maxcount* occurrences of *substr* in *str* with *replstr* " "and return the resulting Unicode object. *maxcount* == -1 means replace all " "occurrences." msgstr "" -#: c-api/unicode.rst:1634 +#: ../../src/Doc/c-api/unicode.rst:1634 msgid "" "Compare two strings and return -1, 0, 1 for less than, equal, and greater " "than, respectively." msgstr "" -#: c-api/unicode.rst:1640 +#: ../../src/Doc/c-api/unicode.rst:1640 msgid "" "Compare a unicode object, *uni*, with *string* and return -1, 0, 1 for less " "than, equal, and greater than, respectively. It is best to pass only ASCII-" @@ -15506,54 +15571,54 @@ msgid "" "if it contains non-ASCII characters." msgstr "" -#: c-api/unicode.rst:1648 +#: ../../src/Doc/c-api/unicode.rst:1648 msgid "Rich compare two unicode strings and return one of the following:" msgstr "" -#: c-api/unicode.rst:1650 +#: ../../src/Doc/c-api/unicode.rst:1650 msgid "``NULL`` in case an exception was raised" msgstr "" -#: c-api/unicode.rst:1651 +#: ../../src/Doc/c-api/unicode.rst:1651 msgid ":const:`Py_True` or :const:`Py_False` for successful comparisons" msgstr "" -#: c-api/unicode.rst:1652 +#: ../../src/Doc/c-api/unicode.rst:1652 msgid ":const:`Py_NotImplemented` in case the type combination is unknown" msgstr "" -#: c-api/unicode.rst:1654 +#: ../../src/Doc/c-api/unicode.rst:1654 msgid "" "Note that :const:`Py_EQ` and :const:`Py_NE` comparisons can cause a :exc:" "`UnicodeWarning` in case the conversion of the arguments to Unicode fails " "with a :exc:`UnicodeDecodeError`." msgstr "" -#: c-api/unicode.rst:1658 +#: ../../src/Doc/c-api/unicode.rst:1658 msgid "" "Possible values for *op* are :const:`Py_GT`, :const:`Py_GE`, :const:" "`Py_EQ`, :const:`Py_NE`, :const:`Py_LT`, and :const:`Py_LE`." msgstr "" -#: c-api/unicode.rst:1664 +#: ../../src/Doc/c-api/unicode.rst:1664 msgid "" "Return a new string object from *format* and *args*; this is analogous to " "``format % args``." msgstr "" -#: c-api/unicode.rst:1670 +#: ../../src/Doc/c-api/unicode.rst:1670 msgid "" "Check whether *element* is contained in *container* and return true or false " "accordingly." msgstr "" -#: c-api/unicode.rst:1673 +#: ../../src/Doc/c-api/unicode.rst:1673 msgid "" "*element* has to coerce to a one element Unicode string. ``-1`` is returned " "if there was an error." msgstr "" -#: c-api/unicode.rst:1679 +#: ../../src/Doc/c-api/unicode.rst:1679 msgid "" "Intern the argument *\\*string* in place. The argument must be the address " "of a pointer variable pointing to a Python unicode string object. If there " @@ -15566,7 +15631,7 @@ msgid "" "the object after the call if and only if you owned it before the call.)" msgstr "" -#: c-api/unicode.rst:1692 +#: ../../src/Doc/c-api/unicode.rst:1692 msgid "" "A combination of :c:func:`PyUnicode_FromString` and :c:func:" "`PyUnicode_InternInPlace`, returning either a new unicode string object that " @@ -15574,11 +15639,11 @@ msgid "" "string object with the same value." msgstr "" -#: c-api/utilities.rst:7 +#: ../../src/Doc/c-api/utilities.rst:7 msgid "Utilities" msgstr "Utilitaires" -#: c-api/utilities.rst:9 +#: ../../src/Doc/c-api/utilities.rst:9 msgid "" "The functions in this chapter perform various utility tasks, ranging from " "helping C code be more portable across platforms, using Python modules from " @@ -15586,18 +15651,18 @@ msgid "" "values." msgstr "" -#: c-api/veryhigh.rst:8 +#: ../../src/Doc/c-api/veryhigh.rst:8 msgid "The Very High Level Layer" msgstr "" -#: c-api/veryhigh.rst:10 +#: ../../src/Doc/c-api/veryhigh.rst:10 msgid "" "The functions in this chapter will let you execute Python source code given " "in a file or a buffer, but they will not let you interact in a more detailed " "way with the interpreter." msgstr "" -#: c-api/veryhigh.rst:14 +#: ../../src/Doc/c-api/veryhigh.rst:14 msgid "" "Several of these functions accept a start symbol from the grammar as a " "parameter. The available start symbols are :const:`Py_eval_input`, :const:" @@ -15605,7 +15670,7 @@ msgid "" "following the functions which accept them as parameters." msgstr "" -#: c-api/veryhigh.rst:19 +#: ../../src/Doc/c-api/veryhigh.rst:19 msgid "" "Note also that several of these functions take :c:type:`FILE\\*` " "parameters. One particular issue which needs to be handled carefully is " @@ -15617,7 +15682,7 @@ msgid "" "runtime is using." msgstr "" -#: c-api/veryhigh.rst:30 +#: ../../src/Doc/c-api/veryhigh.rst:30 msgid "" "The main program for the standard interpreter. This is made available for " "programs which embed Python. The *argc* and *argv* parameters should be " @@ -15630,32 +15695,32 @@ msgid "" "the parameter list does not represent a valid Python command line." msgstr "" -#: c-api/veryhigh.rst:40 +#: ../../src/Doc/c-api/veryhigh.rst:40 msgid "" "Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " "function will not return ``1``, but exit the process, as long as " "``Py_InspectFlag`` is not set." msgstr "" -#: c-api/veryhigh.rst:47 +#: ../../src/Doc/c-api/veryhigh.rst:47 msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving *closeit* set to ``0`` and *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:53 +#: ../../src/Doc/c-api/veryhigh.rst:53 msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving the *closeit* argument set to ``0``." msgstr "" -#: c-api/veryhigh.rst:59 +#: ../../src/Doc/c-api/veryhigh.rst:59 msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving the *flags* argument set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:65 +#: ../../src/Doc/c-api/veryhigh.rst:65 msgid "" "If *fp* refers to a file associated with an interactive device (console or " "terminal input or Unix pseudo-terminal), return the value of :c:func:" @@ -15665,13 +15730,13 @@ msgid "" "uses ``\"???\"`` as the filename." msgstr "" -#: c-api/veryhigh.rst:75 +#: ../../src/Doc/c-api/veryhigh.rst:75 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, " "leaving the *PyCompilerFlags\\** argument set to NULL." msgstr "" -#: c-api/veryhigh.rst:81 +#: ../../src/Doc/c-api/veryhigh.rst:81 msgid "" "Executes the Python source code from *command* in the :mod:`__main__` module " "according to the *flags* argument. If :mod:`__main__` does not already " @@ -15680,26 +15745,26 @@ msgid "" "information. For the meaning of *flags*, see below." msgstr "" -#: c-api/veryhigh.rst:87 +#: ../../src/Doc/c-api/veryhigh.rst:87 msgid "" "Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " "function will not return ``-1``, but exit the process, as long as " "``Py_InspectFlag`` is not set." msgstr "" -#: c-api/veryhigh.rst:94 +#: ../../src/Doc/c-api/veryhigh.rst:94 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " "leaving *closeit* set to ``0`` and *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:100 +#: ../../src/Doc/c-api/veryhigh.rst:100 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " "leaving *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:106 +#: ../../src/Doc/c-api/veryhigh.rst:106 msgid "" "Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code is " "read from *fp* instead of an in-memory string. *filename* should be the name " @@ -15708,13 +15773,13 @@ msgid "" "PyRun_SimpleFileExFlags returns." msgstr "" -#: c-api/veryhigh.rst:115 +#: ../../src/Doc/c-api/veryhigh.rst:115 msgid "" "This is a simplified interface to :c:func:`PyRun_InteractiveOneFlags` below, " "leaving *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:121 +#: ../../src/Doc/c-api/veryhigh.rst:121 msgid "" "Read and execute a single statement from a file associated with an " "interactive device according to the *flags* argument. The user will be " @@ -15722,7 +15787,7 @@ msgid "" "filesystem encoding (:func:`sys.getfilesystemencoding`)." msgstr "" -#: c-api/veryhigh.rst:126 +#: ../../src/Doc/c-api/veryhigh.rst:126 msgid "" "Returns ``0`` when the input was executed successfully, ``-1`` if there was " "an exception, or an error code from the :file:`errcode.h` include file " @@ -15731,13 +15796,13 @@ msgid "" "specifically if needed.)" msgstr "" -#: c-api/veryhigh.rst:135 +#: ../../src/Doc/c-api/veryhigh.rst:135 msgid "" "This is a simplified interface to :c:func:`PyRun_InteractiveLoopFlags` " "below, leaving *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:141 +#: ../../src/Doc/c-api/veryhigh.rst:141 msgid "" "Read and execute statements from a file associated with an interactive " "device until EOF is reached. The user will be prompted using ``sys.ps1`` " @@ -15745,7 +15810,7 @@ msgid "" "`sys.getfilesystemencoding`). Returns ``0`` at EOF." msgstr "" -#: c-api/veryhigh.rst:149 +#: ../../src/Doc/c-api/veryhigh.rst:149 msgid "" "Can be set to point to a function with the prototype ``int func(void)``. " "The function will be called when Python's interpreter prompt is about to " @@ -15755,7 +15820,7 @@ msgid "" "the Python source code." msgstr "" -#: c-api/veryhigh.rst:160 +#: ../../src/Doc/c-api/veryhigh.rst:160 msgid "" "Can be set to point to a function with the prototype ``char *func(FILE " "*stdin, FILE *stdout, char *prompt)``, overriding the default function used " @@ -15766,34 +15831,34 @@ msgid "" "line-editing and tab-completion features." msgstr "" -#: c-api/veryhigh.rst:169 +#: ../../src/Doc/c-api/veryhigh.rst:169 msgid "" "The result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:" "func:`PyMem_RawRealloc`, or *NULL* if an error occurred." msgstr "" -#: c-api/veryhigh.rst:172 +#: ../../src/Doc/c-api/veryhigh.rst:172 msgid "" "The result must be allocated by :c:func:`PyMem_RawMalloc` or :c:func:" "`PyMem_RawRealloc`, instead of being allocated by :c:func:`PyMem_Malloc` or :" "c:func:`PyMem_Realloc`." msgstr "" -#: c-api/veryhigh.rst:180 +#: ../../src/Doc/c-api/veryhigh.rst:180 msgid "" "This is a simplified interface to :c:func:" "`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to " "*NULL* and *flags* set to ``0``." msgstr "" -#: c-api/veryhigh.rst:187 +#: ../../src/Doc/c-api/veryhigh.rst:187 msgid "" "This is a simplified interface to :c:func:" "`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to " "*NULL*." msgstr "" -#: c-api/veryhigh.rst:194 +#: ../../src/Doc/c-api/veryhigh.rst:194 msgid "" "Parse Python source code from *str* using the start token *start* according " "to the *flags* argument. The result can be used to create a code object " @@ -15802,25 +15867,25 @@ msgid "" "(:func:`sys.getfilesystemencoding`)." msgstr "" -#: c-api/veryhigh.rst:203 +#: ../../src/Doc/c-api/veryhigh.rst:203 msgid "" "This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` " "below, leaving *flags* set to ``0``." msgstr "" -#: c-api/veryhigh.rst:209 +#: ../../src/Doc/c-api/veryhigh.rst:209 msgid "" "Similar to :c:func:`PyParser_SimpleParseStringFlagsFilename`, but the Python " "source code is read from *fp* instead of an in-memory string." msgstr "" -#: c-api/veryhigh.rst:215 +#: ../../src/Doc/c-api/veryhigh.rst:215 msgid "" "This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving " "*flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:221 +#: ../../src/Doc/c-api/veryhigh.rst:221 msgid "" "Execute Python source code from *str* in the context specified by the " "dictionaries *globals* and *locals* with the compiler flags specified by " @@ -15828,31 +15893,31 @@ msgid "" "used to parse the source code." msgstr "" -#: c-api/veryhigh.rst:226 +#: ../../src/Doc/c-api/veryhigh.rst:226 msgid "" "Returns the result of executing the code as a Python object, or *NULL* if an " "exception was raised." msgstr "" -#: c-api/veryhigh.rst:232 +#: ../../src/Doc/c-api/veryhigh.rst:232 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*closeit* set to ``0`` and *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:238 +#: ../../src/Doc/c-api/veryhigh.rst:238 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:244 +#: ../../src/Doc/c-api/veryhigh.rst:244 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*closeit* set to ``0``." msgstr "" -#: c-api/veryhigh.rst:250 +#: ../../src/Doc/c-api/veryhigh.rst:250 msgid "" "Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read " "from *fp* instead of an in-memory string. *filename* should be the name of " @@ -15861,19 +15926,19 @@ msgid "" "func:`PyRun_FileExFlags` returns." msgstr "" -#: c-api/veryhigh.rst:259 +#: ../../src/Doc/c-api/veryhigh.rst:259 msgid "" "This is a simplified interface to :c:func:`Py_CompileStringFlags` below, " "leaving *flags* set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:265 +#: ../../src/Doc/c-api/veryhigh.rst:265 msgid "" "This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, " "with *optimize* set to ``-1``." msgstr "" -#: c-api/veryhigh.rst:271 +#: ../../src/Doc/c-api/veryhigh.rst:271 msgid "" "Parse and compile the Python source code in *str*, returning the resulting " "code object. The start token is given by *start*; this can be used to " @@ -15884,7 +15949,7 @@ msgid "" "returns *NULL* if the code cannot be parsed or compiled." msgstr "" -#: c-api/veryhigh.rst:279 +#: ../../src/Doc/c-api/veryhigh.rst:279 msgid "" "The integer *optimize* specifies the optimization level of the compiler; a " "value of ``-1`` selects the optimization level of the interpreter as given " @@ -15893,20 +15958,20 @@ msgid "" "or ``2`` (docstrings are removed too)." msgstr "" -#: c-api/veryhigh.rst:290 +#: ../../src/Doc/c-api/veryhigh.rst:290 msgid "" "Like :c:func:`Py_CompileStringExFlags`, but *filename* is a byte string " "decoded from the filesystem encoding (:func:`os.fsdecode`)." msgstr "" -#: c-api/veryhigh.rst:297 +#: ../../src/Doc/c-api/veryhigh.rst:297 msgid "" "This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the " "code object, and the dictionaries of global and local variables. The other " "arguments are set to *NULL*." msgstr "" -#: c-api/veryhigh.rst:304 +#: ../../src/Doc/c-api/veryhigh.rst:304 msgid "" "Evaluate a precompiled code object, given a particular environment for its " "evaluation. This environment consists of dictionaries of global and local " @@ -15914,13 +15979,13 @@ msgid "" "of cells." msgstr "" -#: c-api/veryhigh.rst:312 +#: ../../src/Doc/c-api/veryhigh.rst:312 msgid "" "Evaluate an execution frame. This is a simplified interface to " "PyEval_EvalFrameEx, for backward compatibility." msgstr "" -#: c-api/veryhigh.rst:318 +#: ../../src/Doc/c-api/veryhigh.rst:318 msgid "" "This is the main, unvarnished function of Python interpretation. It is " "literally 2000 lines long. The code object associated with the execution " @@ -15930,33 +15995,33 @@ msgid "" "`~generator.throw` methods of generator objects." msgstr "" -#: c-api/veryhigh.rst:332 +#: ../../src/Doc/c-api/veryhigh.rst:332 msgid "" "This function changes the flags of the current evaluation frame, and returns " "true on success, false on failure." msgstr "" -#: c-api/veryhigh.rst:340 +#: ../../src/Doc/c-api/veryhigh.rst:340 msgid "" "The start symbol from the Python grammar for isolated expressions; for use " "with :c:func:`Py_CompileString`." msgstr "" -#: c-api/veryhigh.rst:348 +#: ../../src/Doc/c-api/veryhigh.rst:348 msgid "" "The start symbol from the Python grammar for sequences of statements as read " "from a file or other source; for use with :c:func:`Py_CompileString`. This " "is the symbol to use when compiling arbitrarily long Python source code." msgstr "" -#: c-api/veryhigh.rst:357 +#: ../../src/Doc/c-api/veryhigh.rst:357 msgid "" "The start symbol from the Python grammar for a single statement; for use " "with :c:func:`Py_CompileString`. This is the symbol used for the interactive " "interpreter loop." msgstr "" -#: c-api/veryhigh.rst:364 +#: ../../src/Doc/c-api/veryhigh.rst:364 msgid "" "This is the structure used to hold compiler flags. In cases where code is " "only being compiled, it is passed as ``int flags``, and in cases where code " @@ -15964,24 +16029,24 @@ msgid "" "case, ``from __future__ import`` can modify *flags*." msgstr "" -#: c-api/veryhigh.rst:369 +#: ../../src/Doc/c-api/veryhigh.rst:369 msgid "" "Whenever ``PyCompilerFlags *flags`` is *NULL*, :attr:`cf_flags` is treated " "as equal to ``0``, and any modification due to ``from __future__ import`` is " "discarded. ::" msgstr "" -#: c-api/veryhigh.rst:380 +#: ../../src/Doc/c-api/veryhigh.rst:380 msgid "" "This bit can be set in *flags* to cause division operator ``/`` to be " "interpreted as \"true division\" according to :pep:`238`." msgstr "" -#: c-api/weakref.rst:6 +#: ../../src/Doc/c-api/weakref.rst:6 msgid "Weak Reference Objects" msgstr "" -#: c-api/weakref.rst:8 +#: ../../src/Doc/c-api/weakref.rst:8 msgid "" "Python supports *weak references* as first-class objects. There are two " "specific object types which directly implement weak references. The first " @@ -15989,19 +16054,19 @@ msgid "" "original object as much as it can." msgstr "" -#: c-api/weakref.rst:16 +#: ../../src/Doc/c-api/weakref.rst:16 msgid "Return true if *ob* is either a reference or proxy object." msgstr "" -#: c-api/weakref.rst:21 +#: ../../src/Doc/c-api/weakref.rst:21 msgid "Return true if *ob* is a reference object." msgstr "" -#: c-api/weakref.rst:26 +#: ../../src/Doc/c-api/weakref.rst:26 msgid "Return true if *ob* is a proxy object." msgstr "" -#: c-api/weakref.rst:31 +#: ../../src/Doc/c-api/weakref.rst:31 msgid "" "Return a weak reference object for the object *ob*. This will always return " "a new reference, but is not guaranteed to create a new object; an existing " @@ -16013,7 +16078,7 @@ msgid "" "this will return *NULL* and raise :exc:`TypeError`." msgstr "" -#: c-api/weakref.rst:43 +#: ../../src/Doc/c-api/weakref.rst:43 msgid "" "Return a weak reference proxy object for the object *ob*. This will always " "return a new reference, but is not guaranteed to create a new object; an " @@ -16025,20 +16090,20 @@ msgid "" "``None``, or *NULL*, this will return *NULL* and raise :exc:`TypeError`." msgstr "" -#: c-api/weakref.rst:55 +#: ../../src/Doc/c-api/weakref.rst:55 msgid "" "Return the referenced object from a weak reference, *ref*. If the referent " "is no longer live, returns :const:`Py_None`." msgstr "" -#: c-api/weakref.rst:60 +#: ../../src/Doc/c-api/weakref.rst:60 msgid "" "This function returns a **borrowed reference** to the referenced object. " "This means that you should always call :c:func:`Py_INCREF` on the object " "except if you know that it cannot be destroyed while you are still using it." msgstr "" -#: c-api/weakref.rst:68 +#: ../../src/Doc/c-api/weakref.rst:68 msgid "" "Similar to :c:func:`PyWeakref_GetObject`, but implemented as a macro that " "does no error checking." diff --git a/contents.po b/contents.po index e87c1ce6..ebadcc59 100644 --- a/contents.po +++ b/contents.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-22 00:55+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,6 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: contents.rst:3 +#: ../../src/Doc/contents.rst:3 msgid "Python Documentation contents" msgstr "Contenu de la documentation Python" diff --git a/copyright.po b/copyright.po index b5858b94..a7ff782d 100644 --- a/copyright.po +++ b/copyright.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-18 22:45+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: 2016-01-17 16:58+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -17,24 +17,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.6\n" -#: copyright.rst:3 +#: ../../src/Doc/copyright.rst:3 msgid "Copyright" msgstr "Copyright" -#: copyright.rst:5 +#: ../../src/Doc/copyright.rst:5 msgid "Python and this documentation is:" msgstr "Python et cette documentation sont :" -#: copyright.rst:7 +#: ../../src/Doc/copyright.rst:7 msgid "Copyright © 2001-2016 Python Software Foundation. All rights reserved." msgstr "" "Copyright © 2001-2016 Python Software Foundation. Tous droits réservés." -#: copyright.rst:9 +#: ../../src/Doc/copyright.rst:9 msgid "Copyright © 2000 BeOpen.com. All rights reserved." msgstr "Copyright © 2000 BeOpen.com. Tous droits réservés." -#: copyright.rst:11 +#: ../../src/Doc/copyright.rst:11 msgid "" "Copyright © 1995-2000 Corporation for National Research Initiatives. All " "rights reserved." @@ -42,13 +42,13 @@ msgstr "" "Copyright © 1995-2000 Corporation for National Research Initiatives. Tous " "droits réservés." -#: copyright.rst:14 +#: ../../src/Doc/copyright.rst:14 msgid "" "Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved." msgstr "" "Copyright © 1991-1995 Stichting Mathematisch Centrum. Tous droits réservés." -#: copyright.rst:18 +#: ../../src/Doc/copyright.rst:18 msgid "" "See :ref:`history-and-license` for complete license and permissions " "information." diff --git a/distributing.po b/distributing.po index a89b4148..5891005e 100644 --- a/distributing.po +++ b/distributing.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-22 00:55+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: 2015-12-29 14:12+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: \n" @@ -18,15 +18,15 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 1.8.6\n" -#: distributing/index.rst:5 +#: ../../src/Doc/distributing/index.rst:5 msgid "Distributing Python Modules" msgstr "Distribuer des Modules Python" -#: distributing/index.rst:7 +#: ../../src/Doc/distributing/index.rst:7 msgid "distutils-sig@python.org" msgstr "distutils-sig@python.org" -#: distributing/index.rst:10 +#: ../../src/Doc/distributing/index.rst:10 msgid "" "As a popular open source development project, Python has an active " "supporting community of contributors and users that also make their software " @@ -37,7 +37,7 @@ msgstr "" "logiciels disponibles, sous licence libre, pour les autres développeurs " "Python." -#: distributing/index.rst:14 +#: ../../src/Doc/distributing/index.rst:14 msgid "" "This allows Python users to share and collaborate effectively, benefiting " "from the solutions others have already created to common (and sometimes even " @@ -49,7 +49,7 @@ msgstr "" "résoudre les problèmes communs (ou même, parfois, rares !), aussi que de " "partager leurs propres solutions à tous." -#: distributing/index.rst:19 +#: ../../src/Doc/distributing/index.rst:19 msgid "" "This guide covers the distribution part of the process. For a guide to " "installing other Python projects, refer to the :ref:`installation guide " @@ -59,7 +59,7 @@ msgstr "" "l'installation d'autres projets Python, voir :ref:`installation guide " "`." -#: distributing/index.rst:25 +#: ../../src/Doc/distributing/index.rst:25 msgid "" "For corporate and other institutional users, be aware that many " "organisations have their own policies around using and contributing to open " @@ -71,11 +71,11 @@ msgstr "" "au logiciel libre. Prennez ces règles en compte lorsque vous utilisez les " "outils de distribution et d'installation fournis par Python." -#: distributing/index.rst:32 +#: ../../src/Doc/distributing/index.rst:32 msgid "Key terms" msgstr "Vocabulaire" -#: distributing/index.rst:34 +#: ../../src/Doc/distributing/index.rst:34 msgid "" "the `Python Packaging Index `__ is a public " "repository of open source licensed packages made available for use by other " @@ -85,7 +85,7 @@ msgstr "" "public de paquets sous licence libre rendus disponibles par d'autres " "utilisateurs Python" -#: distributing/index.rst:37 +#: ../../src/Doc/distributing/index.rst:37 msgid "" "the `Python Packaging Authority `__ are the group of developers and documentation authors " @@ -102,7 +102,7 @@ msgstr "" "aussi bien sur `GitHub `__ que sur `BitBucket " "`__." -#: distributing/index.rst:44 +#: ../../src/Doc/distributing/index.rst:44 msgid "" ":mod:`distutils` is the original build and distribution system first added " "to the Python standard library in 1998. While direct use of :mod:`distutils` " @@ -119,7 +119,7 @@ msgstr "" "d'autres formes, tel que la liste de diffusion utilisée pour coordonner le " "développement et les standards de la création de paquet." -#: distributing/index.rst:51 +#: ../../src/Doc/distributing/index.rst:51 msgid "" "`setuptools`_ is a (largely) drop-in replacement for :mod:`distutils` first " "published in 2004. Its most notable addition over the unmodified :mod:" @@ -135,7 +135,7 @@ msgstr "" "régulièrement mise à jour que :mod:`distutils` et gère mieux les standards " "de créaction de paquets actuels, pour un large choix de version de Python." -#: distributing/index.rst:57 +#: ../../src/Doc/distributing/index.rst:57 msgid "" "`wheel`_ (in this context) is a project that adds the ``bdist_wheel`` " "command to :mod:`distutils`/`setuptools`_. This produces a cross platform " @@ -150,11 +150,11 @@ msgstr "" "incluant des extensions binaires, d'être installées sur un système sans " "avoir à les compiler localement." -#: distributing/index.rst:68 +#: ../../src/Doc/distributing/index.rst:68 msgid "Open source licensing and collaboration" msgstr "Licence libre et collaboration" -#: distributing/index.rst:70 +#: ../../src/Doc/distributing/index.rst:70 msgid "" "In most parts of the world, software is automatically covered by copyright. " "This means that other developers require explicit permission to copy, use, " @@ -165,7 +165,7 @@ msgstr "" "besoin d'une autorisation explicite pour copier, utiliser, modifier, et " "redistribuer le logiciel." -#: distributing/index.rst:74 +#: ../../src/Doc/distributing/index.rst:74 msgid "" "Open source licensing is a way of explicitly granting such permission in a " "relatively consistent way, allowing developers to share and collaborate " @@ -180,7 +180,7 @@ msgstr "" "de dépenser plus de temps concentrés sur des problèmes relativement uniques " "à leur cas spécifiques." -#: distributing/index.rst:80 +#: ../../src/Doc/distributing/index.rst:80 msgid "" "The distribution tools provided with Python are designed to make it " "reasonably straightforward for developers to make their own contributions " @@ -190,7 +190,7 @@ msgstr "" "vie des développeurs relativement simple lorsqu'ils souhaitent contribuer, " "s'il le désirent, à ces ressources communes." -#: distributing/index.rst:84 +#: ../../src/Doc/distributing/index.rst:84 msgid "" "The same distribution tools can also be used to distribute software within " "an organisation, regardless of whether that software is published as open " @@ -200,11 +200,11 @@ msgstr "" "du logiciel à l'intérieur d'une organisation, que ce soit du logiciel libre " "ou non." -#: distributing/index.rst:90 +#: ../../src/Doc/distributing/index.rst:90 msgid "Installing the tools" msgstr "Installer les outils" -#: distributing/index.rst:92 +#: ../../src/Doc/distributing/index.rst:92 msgid "" "The standard library does not include build tools that support modern Python " "packaging standards, as the core development team has found that it is " @@ -217,7 +217,7 @@ msgstr "" "fonctionnent de manière cohérente, même avec de plus vieilles versions de " "Python." -#: distributing/index.rst:97 +#: ../../src/Doc/distributing/index.rst:97 msgid "" "The currently recommended build and distribution tools can be installed by " "invoking the ``pip`` module at the command line::" @@ -226,7 +226,7 @@ msgstr "" "recommandées peuvent être installées en invoquant le module ``pip`` dans une " "invite de commande ::" -#: distributing/index.rst:104 +#: ../../src/Doc/distributing/index.rst:104 msgid "" "For POSIX users (including Mac OS X and Linux users), these instructions " "assume the use of a :term:`virtual environment`." @@ -235,7 +235,7 @@ msgstr "" "utilisateurs de Linux), ces instructions supposent l'utilisation d'un :term:" "`environnement virtuel`." -#: distributing/index.rst:107 +#: ../../src/Doc/distributing/index.rst:107 msgid "" "For Windows users, these instructions assume that the option to adjust the " "system PATH environment variable was selected when installing Python." @@ -244,7 +244,7 @@ msgstr "" "proposant de modifier la variable d'environnement PATH à été cochée lors de " "l'installation de Python." -#: distributing/index.rst:111 +#: ../../src/Doc/distributing/index.rst:111 msgid "" "The Python Packaging User Guide includes more details on the `currently " "recommended tools`_." @@ -252,11 +252,11 @@ msgstr "" " Le *Python Packaging User Guide* contient plus de détails sur les `(en) " "outils actuellement recommandés `_." -#: distributing/index.rst:117 +#: ../../src/Doc/distributing/index.rst:117 msgid "Reading the guide" msgstr "Lire le manuel" -#: distributing/index.rst:119 +#: ../../src/Doc/distributing/index.rst:119 msgid "" "The Python Packaging User Guide covers the various key steps and elements " "involved in creating a project:" @@ -264,44 +264,44 @@ msgstr "" "Le *Python Packaging User Guide* couvre les différentes étapes et les " "éléments clés de la création d'un projet :" -#: distributing/index.rst:122 +#: ../../src/Doc/distributing/index.rst:122 msgid "`Project structure`_" msgstr "`(en) Structure d'un projet `_" -#: distributing/index.rst:123 +#: ../../src/Doc/distributing/index.rst:123 msgid "`Building and packaging the project`_" msgstr "" "`(en) Construire et empaqueter le projet `_" -#: distributing/index.rst:124 +#: ../../src/Doc/distributing/index.rst:124 msgid "`Uploading the project to the Python Packaging Index`_" msgstr "" "`(en) Téléverser le projet sur le Python Packaging Index `_" -#: distributing/index.rst:135 +#: ../../src/Doc/distributing/index.rst:135 msgid "How do I...?" msgstr "Comment puis-je ...?" -#: distributing/index.rst:137 +#: ../../src/Doc/distributing/index.rst:137 msgid "These are quick answers or links for some common tasks." msgstr "" "Ce sont des réponses rapides ou des liens pour certaines tâches courantes." -#: distributing/index.rst:140 +#: ../../src/Doc/distributing/index.rst:140 msgid "... choose a name for my project?" msgstr "... choisir un nom pour mon projet ?" -#: distributing/index.rst:142 +#: ../../src/Doc/distributing/index.rst:142 msgid "This isn't an easy topic, but here are a few tips:" msgstr "Ce n'est pas un sujet facile, mais voici quelques conseils :" -#: distributing/index.rst:144 +#: ../../src/Doc/distributing/index.rst:144 msgid "check the Python Packaging Index to see if the name is already in use" msgstr "vérifiez dans le *Python Packaging Index* si le nom est déjà utilisé" -#: distributing/index.rst:145 +#: ../../src/Doc/distributing/index.rst:145 msgid "" "check popular hosting sites like GitHub, BitBucket, etc to see if there is " "already a project with that name" @@ -309,12 +309,12 @@ msgstr "" "vérifiez sur quelques sites d'hébergement populaires tels que GitHub, " "BitBucket, etc pour voir s'il y existe déjà un projet avec ce nom" -#: distributing/index.rst:147 +#: ../../src/Doc/distributing/index.rst:147 msgid "check what comes up in a web search for the name you're considering" msgstr "" "vérifiez ce qui sort en recherchant sur le web le nom que vous envisagez" -#: distributing/index.rst:148 +#: ../../src/Doc/distributing/index.rst:148 msgid "" "avoid particularly common words, especially ones with multiple meanings, as " "they can make it difficult for users to find your software when searching " @@ -324,11 +324,11 @@ msgstr "" "significations, car pour vos utilisateurs, cela complique la recherche de " "votre logiciel" -#: distributing/index.rst:154 +#: ../../src/Doc/distributing/index.rst:154 msgid "... create and distribute binary extensions?" msgstr "... créer et distribuer des extensions binaires ?" -#: distributing/index.rst:156 +#: ../../src/Doc/distributing/index.rst:156 msgid "" "This is actually quite a complex topic, with a variety of alternatives " "available depending on exactly what you're aiming to achieve. See the Python " @@ -338,7 +338,7 @@ msgstr "" "disponibles dont le choix dépend de votre objectif exact. Voir le *Python " "Packaging User Guide* pour plus d'informations et de recommandations." -#: distributing/index.rst:162 +#: ../../src/Doc/distributing/index.rst:162 msgid "" "`Python Packaging User Guide: Binary Extensions `__" diff --git a/distutils.po b/distutils.po index f724c4d7..9bd13d47 100644 --- a/distutils.po +++ b/distutils.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-22 00:55+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: distutils/apiref.rst:5 +#: ../../src/Doc/distutils/apiref.rst:5 msgid "API Reference" msgstr "Référence de l'API" -#: distutils/apiref.rst:9 +#: ../../src/Doc/distutils/apiref.rst:9 msgid ":mod:`distutils.core` --- Core Distutils functionality" msgstr "" -#: distutils/apiref.rst:15 +#: ../../src/Doc/distutils/apiref.rst:15 msgid "" "The :mod:`distutils.core` module is the only module that needs to be " "installed to use the Distutils. It provides the :func:`setup` (which is " @@ -37,7 +37,7 @@ msgstr "" "appelé par le script de setup). Il fournit indirectement les classes :class:" "`distutils.dist.Distribution` et :class:`distutils.cmd.Command`." -#: distutils/apiref.rst:23 +#: ../../src/Doc/distutils/apiref.rst:23 #, fuzzy msgid "" "The basic do-everything function that does most everything you could ever " @@ -46,7 +46,7 @@ msgstr "" "La fonction de base à tout faire qui fait presque tout ce dont vous pourriez " "attendre d'une méthode Distutils. Voir XXXXX" -#: distutils/apiref.rst:26 +#: ../../src/Doc/distutils/apiref.rst:26 msgid "" "The setup function takes a large number of arguments. These are laid out in " "the following table." @@ -54,165 +54,177 @@ msgstr "" "La fonction setup prend un grand nombre d'arguments. Ils sont présentés dans " "le tableau suivant." -#: distutils/apiref.rst:32 distutils/apiref.rst:175 +#: ../../src/Doc/distutils/apiref.rst:32 ../../src/Doc/distutils/apiref.rst:175 msgid "argument name" msgstr "nom de l'argument" -#: distutils/apiref.rst:32 distutils/apiref.rst:133 distutils/apiref.rst:175 +#: ../../src/Doc/distutils/apiref.rst:32 ../../src/Doc/distutils/apiref.rst:133 +#: ../../src/Doc/distutils/apiref.rst:175 msgid "value" msgstr "valeur" -#: distutils/apiref.rst:32 distutils/apiref.rst:175 +#: ../../src/Doc/distutils/apiref.rst:32 ../../src/Doc/distutils/apiref.rst:175 msgid "type" msgstr "type" -#: distutils/apiref.rst:34 distutils/apiref.rst:177 +#: ../../src/Doc/distutils/apiref.rst:34 ../../src/Doc/distutils/apiref.rst:177 msgid "*name*" msgstr "*name*" -#: distutils/apiref.rst:34 +#: ../../src/Doc/distutils/apiref.rst:34 msgid "The name of the package" msgstr "Le nom du paquet" -#: distutils/apiref.rst:34 distutils/apiref.rst:36 distutils/apiref.rst:40 -#: distutils/apiref.rst:43 distutils/apiref.rst:46 distutils/apiref.rst:48 -#: distutils/apiref.rst:51 distutils/apiref.rst:58 distutils/apiref.rst:62 -#: distutils/apiref.rst:65 distutils/apiref.rst:86 distutils/apiref.rst:96 -#: distutils/apiref.rst:177 distutils/apiref.rst:267 +#: ../../src/Doc/distutils/apiref.rst:34 ../../src/Doc/distutils/apiref.rst:36 +#: ../../src/Doc/distutils/apiref.rst:40 ../../src/Doc/distutils/apiref.rst:43 +#: ../../src/Doc/distutils/apiref.rst:46 ../../src/Doc/distutils/apiref.rst:48 +#: ../../src/Doc/distutils/apiref.rst:51 ../../src/Doc/distutils/apiref.rst:58 +#: ../../src/Doc/distutils/apiref.rst:62 ../../src/Doc/distutils/apiref.rst:65 +#: ../../src/Doc/distutils/apiref.rst:86 ../../src/Doc/distutils/apiref.rst:96 +#: ../../src/Doc/distutils/apiref.rst:177 +#: ../../src/Doc/distutils/apiref.rst:267 msgid "a string" msgstr "une chaîne de caractères" -#: distutils/apiref.rst:36 +#: ../../src/Doc/distutils/apiref.rst:36 msgid "*version*" msgstr "*version*" -#: distutils/apiref.rst:36 +#: ../../src/Doc/distutils/apiref.rst:36 #, fuzzy msgid "The version number of the package; see :mod:`distutils.version`" msgstr "Le numéro de version du paquet" -#: distutils/apiref.rst:40 +#: ../../src/Doc/distutils/apiref.rst:40 msgid "*description*" msgstr "*description*" -#: distutils/apiref.rst:40 +#: ../../src/Doc/distutils/apiref.rst:40 msgid "A single line describing the package" msgstr "Une ligne unique décrivant le paquet" -#: distutils/apiref.rst:43 +#: ../../src/Doc/distutils/apiref.rst:43 msgid "*long_description*" msgstr "*long_description*" -#: distutils/apiref.rst:43 +#: ../../src/Doc/distutils/apiref.rst:43 msgid "Longer description of the package" msgstr "Une description plus longue du paquet" -#: distutils/apiref.rst:46 +#: ../../src/Doc/distutils/apiref.rst:46 msgid "*author*" msgstr "*author*" -#: distutils/apiref.rst:46 +#: ../../src/Doc/distutils/apiref.rst:46 msgid "The name of the package author" msgstr "Le nom de l'auteur du paquet" -#: distutils/apiref.rst:48 +#: ../../src/Doc/distutils/apiref.rst:48 msgid "*author_email*" msgstr "*author_email*" -#: distutils/apiref.rst:48 +#: ../../src/Doc/distutils/apiref.rst:48 msgid "The email address of the package author" msgstr "L'adresse e-mail de l'auteur du paquet" -#: distutils/apiref.rst:51 +#: ../../src/Doc/distutils/apiref.rst:51 msgid "*maintainer*" msgstr "*maintainer*" -#: distutils/apiref.rst:51 +#: ../../src/Doc/distutils/apiref.rst:51 msgid "" "The name of the current maintainer, if different from the author. Note that " "if the maintainer is provided, distutils will use it as the author in :file:" "`PKG-INFO`" msgstr "" -#: distutils/apiref.rst:58 +#: ../../src/Doc/distutils/apiref.rst:58 msgid "*maintainer_email*" msgstr "*maintainer_email*" -#: distutils/apiref.rst:58 +#: ../../src/Doc/distutils/apiref.rst:58 msgid "" "The email address of the current maintainer, if different from the author" msgstr "L'adresse email de l'actuel mainteneur, si différent de l'auteur" -#: distutils/apiref.rst:62 +#: ../../src/Doc/distutils/apiref.rst:62 msgid "*url*" msgstr "*url*" -#: distutils/apiref.rst:62 +#: ../../src/Doc/distutils/apiref.rst:62 msgid "A URL for the package (homepage)" msgstr "Une URL pour le paquet (page d'accueil)" -#: distutils/apiref.rst:65 +#: ../../src/Doc/distutils/apiref.rst:65 msgid "*download_url*" msgstr "*download_url*" -#: distutils/apiref.rst:65 +#: ../../src/Doc/distutils/apiref.rst:65 msgid "A URL to download the package" msgstr "Une URL pour télécharger le paquet" -#: distutils/apiref.rst:67 +#: ../../src/Doc/distutils/apiref.rst:67 msgid "*packages*" msgstr "*packages*" -#: distutils/apiref.rst:67 +#: ../../src/Doc/distutils/apiref.rst:67 msgid "A list of Python packages that distutils will manipulate" msgstr "Une liste des paquets Python que distutils va manipuler" -#: distutils/apiref.rst:67 distutils/apiref.rst:70 distutils/apiref.rst:73 -#: distutils/apiref.rst:90 distutils/apiref.rst:183 distutils/apiref.rst:196 -#: distutils/apiref.rst:212 distutils/apiref.rst:215 distutils/apiref.rst:219 -#: distutils/apiref.rst:223 distutils/apiref.rst:229 distutils/apiref.rst:236 -#: distutils/apiref.rst:247 distutils/apiref.rst:256 distutils/apiref.rst:264 +#: ../../src/Doc/distutils/apiref.rst:67 ../../src/Doc/distutils/apiref.rst:70 +#: ../../src/Doc/distutils/apiref.rst:73 ../../src/Doc/distutils/apiref.rst:90 +#: ../../src/Doc/distutils/apiref.rst:183 +#: ../../src/Doc/distutils/apiref.rst:196 +#: ../../src/Doc/distutils/apiref.rst:212 +#: ../../src/Doc/distutils/apiref.rst:215 +#: ../../src/Doc/distutils/apiref.rst:219 +#: ../../src/Doc/distutils/apiref.rst:223 +#: ../../src/Doc/distutils/apiref.rst:229 +#: ../../src/Doc/distutils/apiref.rst:236 +#: ../../src/Doc/distutils/apiref.rst:247 +#: ../../src/Doc/distutils/apiref.rst:256 +#: ../../src/Doc/distutils/apiref.rst:264 msgid "a list of strings" msgstr "une liste de chaînes" -#: distutils/apiref.rst:70 +#: ../../src/Doc/distutils/apiref.rst:70 msgid "*py_modules*" msgstr "*py_modules*" -#: distutils/apiref.rst:70 +#: ../../src/Doc/distutils/apiref.rst:70 msgid "A list of Python modules that distutils will manipulate" msgstr "Une liste de modules Python que distutils va manipuler" -#: distutils/apiref.rst:73 +#: ../../src/Doc/distutils/apiref.rst:73 msgid "*scripts*" msgstr "*scripts*" -#: distutils/apiref.rst:73 +#: ../../src/Doc/distutils/apiref.rst:73 msgid "A list of standalone script files to be built and installed" msgstr "Une liste de scripts autonomes à construire et à installer" -#: distutils/apiref.rst:77 +#: ../../src/Doc/distutils/apiref.rst:77 msgid "*ext_modules*" msgstr "*ext_modules*" -#: distutils/apiref.rst:77 +#: ../../src/Doc/distutils/apiref.rst:77 msgid "A list of Python extensions to be built" msgstr "Une liste des extensions Python à construire" -#: distutils/apiref.rst:77 +#: ../../src/Doc/distutils/apiref.rst:77 #, fuzzy msgid "a list of instances of :class:`distutils.core.Extension`" msgstr "Une liste d'instances de :class:`distutils.core.Extension'" -#: distutils/apiref.rst:80 +#: ../../src/Doc/distutils/apiref.rst:80 msgid "*classifiers*" msgstr "*classifiers*" -#: distutils/apiref.rst:80 +#: ../../src/Doc/distutils/apiref.rst:80 msgid "A list of categories for the package" msgstr "Une liste de catégories pour le paquet" -#: distutils/apiref.rst:80 +#: ../../src/Doc/distutils/apiref.rst:80 #, fuzzy msgid "" "a list of strings; valid classifiers are listed on `PyPI `_)." msgstr "" -#: distutils/apiref.rst:1006 +#: ../../src/Doc/distutils/apiref.rst:1006 msgid "NFS files are ignored." msgstr "" -#: distutils/apiref.rst:1011 +#: ../../src/Doc/distutils/apiref.rst:1011 msgid "" "Recursively remove *directory* and all files and directories underneath it. " "Any errors are ignored (apart from being reported to ``sys.stdout`` if " "*verbose* is true)." msgstr "" -#: distutils/apiref.rst:1017 +#: ../../src/Doc/distutils/apiref.rst:1017 msgid ":mod:`distutils.file_util` --- Single file operations" msgstr "" -#: distutils/apiref.rst:1023 +#: ../../src/Doc/distutils/apiref.rst:1023 msgid "" "This module contains some utility functions for operating on individual " "files." msgstr "" -#: distutils/apiref.rst:1028 +#: ../../src/Doc/distutils/apiref.rst:1028 msgid "" "Copy file *src* to *dst*. If *dst* is a directory, then *src* is copied " "there with the same name; otherwise, it must be a filename. (If the file " @@ -1477,7 +1493,7 @@ msgid "" "if *dst* does exist but is older than *src*." msgstr "" -#: distutils/apiref.rst:1037 +#: ../../src/Doc/distutils/apiref.rst:1037 msgid "" "*link* allows you to make hard links (using :func:`os.link`) or symbolic " "links (using :func:`os.symlink`) instead of copying: set it to ``'hard'`` or " @@ -1487,43 +1503,43 @@ msgid "" "to copy file contents." msgstr "" -#: distutils/apiref.rst:1044 +#: ../../src/Doc/distutils/apiref.rst:1044 msgid "" "Return a tuple ``(dest_name, copied)``: *dest_name* is the actual name of " "the output file, and *copied* is true if the file was copied (or would have " "been copied, if *dry_run* true)." msgstr "" -#: distutils/apiref.rst:1058 +#: ../../src/Doc/distutils/apiref.rst:1058 msgid "" "Move file *src* to *dst*. If *dst* is a directory, the file will be moved " "into it with the same name; otherwise, *src* is just renamed to *dst*. " "Returns the new full name of the file." msgstr "" -#: distutils/apiref.rst:1064 +#: ../../src/Doc/distutils/apiref.rst:1064 msgid "" "Handles cross-device moves on Unix using :func:`copy_file`. What about " "other systems?" msgstr "" -#: distutils/apiref.rst:1070 +#: ../../src/Doc/distutils/apiref.rst:1070 msgid "" "Create a file called *filename* and write *contents* (a sequence of strings " "without line terminators) to it." msgstr "" -#: distutils/apiref.rst:1075 +#: ../../src/Doc/distutils/apiref.rst:1075 msgid ":mod:`distutils.util` --- Miscellaneous other utility functions" msgstr "" -#: distutils/apiref.rst:1081 +#: ../../src/Doc/distutils/apiref.rst:1081 msgid "" "This module contains other assorted bits and pieces that don't fit into any " "other utility module." msgstr "" -#: distutils/apiref.rst:1087 +#: ../../src/Doc/distutils/apiref.rst:1087 msgid "" "Return a string that identifies the current platform. This is used mainly " "to distinguish platform-specific build directories and platform-specific " @@ -1534,42 +1550,42 @@ msgid "" "isn't particularly important." msgstr "" -#: distutils/apiref.rst:1095 +#: ../../src/Doc/distutils/apiref.rst:1095 msgid "Examples of returned values:" msgstr "" -#: distutils/apiref.rst:1097 +#: ../../src/Doc/distutils/apiref.rst:1097 msgid "``linux-i586``" msgstr "" -#: distutils/apiref.rst:1098 +#: ../../src/Doc/distutils/apiref.rst:1098 msgid "``linux-alpha``" msgstr "" -#: distutils/apiref.rst:1099 +#: ../../src/Doc/distutils/apiref.rst:1099 msgid "``solaris-2.6-sun4u``" msgstr "" -#: distutils/apiref.rst:1100 +#: ../../src/Doc/distutils/apiref.rst:1100 msgid "``irix-5.3``" msgstr "" -#: distutils/apiref.rst:1101 +#: ../../src/Doc/distutils/apiref.rst:1101 msgid "``irix64-6.2``" msgstr "" -#: distutils/apiref.rst:1103 +#: ../../src/Doc/distutils/apiref.rst:1103 msgid "For non-POSIX platforms, currently just returns ``sys.platform``." msgstr "" -#: distutils/apiref.rst:1105 +#: ../../src/Doc/distutils/apiref.rst:1105 msgid "" "For Mac OS X systems the OS version reflects the minimal version on which " "binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET`` during " "the build of Python), not the OS version of the current system." msgstr "" -#: distutils/apiref.rst:1109 +#: ../../src/Doc/distutils/apiref.rst:1109 msgid "" "For universal binary builds on Mac OS X the architecture value reflects the " "universal binary status instead of the architecture of the current " @@ -1581,27 +1597,27 @@ msgid "" "the i386 and x86_64 architectures" msgstr "" -#: distutils/apiref.rst:1118 +#: ../../src/Doc/distutils/apiref.rst:1118 msgid "Examples of returned values on Mac OS X:" msgstr "" -#: distutils/apiref.rst:1120 +#: ../../src/Doc/distutils/apiref.rst:1120 msgid "``macosx-10.3-ppc``" msgstr "" -#: distutils/apiref.rst:1122 +#: ../../src/Doc/distutils/apiref.rst:1122 msgid "``macosx-10.3-fat``" msgstr "" -#: distutils/apiref.rst:1124 +#: ../../src/Doc/distutils/apiref.rst:1124 msgid "``macosx-10.5-universal``" msgstr "" -#: distutils/apiref.rst:1126 +#: ../../src/Doc/distutils/apiref.rst:1126 msgid "``macosx-10.6-intel``" msgstr "" -#: distutils/apiref.rst:1131 +#: ../../src/Doc/distutils/apiref.rst:1131 msgid "" "Return 'pathname' as a name that will work on the native filesystem, i.e. " "split it on '/' and put it back together again using the current directory " @@ -1611,7 +1627,7 @@ msgid "" "Unix-ish systems if *pathname* either starts or ends with a slash." msgstr "" -#: distutils/apiref.rst:1141 +#: ../../src/Doc/distutils/apiref.rst:1141 msgid "" "Return *pathname* with *new_root* prepended. If *pathname* is relative, " "this is equivalent to ``os.path.join(new_root,pathname)`` Otherwise, it " @@ -1619,24 +1635,24 @@ msgid "" "tricky on DOS/Windows." msgstr "" -#: distutils/apiref.rst:1148 +#: ../../src/Doc/distutils/apiref.rst:1148 msgid "" "Ensure that 'os.environ' has all the environment variables we guarantee that " "users can use in config files, command-line options, etc. Currently this " "includes:" msgstr "" -#: distutils/apiref.rst:1152 +#: ../../src/Doc/distutils/apiref.rst:1152 msgid ":envvar:`HOME` - user's home directory (Unix only)" msgstr "" -#: distutils/apiref.rst:1153 +#: ../../src/Doc/distutils/apiref.rst:1153 msgid "" ":envvar:`PLAT` - description of the current platform, including hardware and " "OS (see :func:`get_platform`)" msgstr "" -#: distutils/apiref.rst:1159 +#: ../../src/Doc/distutils/apiref.rst:1159 msgid "" "Perform shell/Perl-style variable substitution on *s*. Every occurrence of " "``$`` followed by a name is considered a variable, and variable is " @@ -1647,14 +1663,14 @@ msgid "" "either *local_vars* or ``os.environ``." msgstr "" -#: distutils/apiref.rst:1166 +#: ../../src/Doc/distutils/apiref.rst:1166 msgid "" "Note that this is not a fully-fledged string interpolation function. A valid " "``$variable`` can consist only of upper and lower case letters, numbers and " "an underscore. No { } or ( ) style quoting is available." msgstr "" -#: distutils/apiref.rst:1173 +#: ../../src/Doc/distutils/apiref.rst:1173 msgid "" "Split a string up according to Unix shell-like rules for quotes and " "backslashes. In short: words are delimited by spaces, as long as those " @@ -1665,7 +1681,7 @@ msgid "" "any quoted string. Returns a list of words." msgstr "" -#: distutils/apiref.rst:1186 +#: ../../src/Doc/distutils/apiref.rst:1186 msgid "" "Perform some action that affects the outside world (for instance, writing to " "the filesystem). Such actions are special because they are disabled by the " @@ -1675,18 +1691,18 @@ msgid "" "message to print." msgstr "" -#: distutils/apiref.rst:1195 +#: ../../src/Doc/distutils/apiref.rst:1195 msgid "Convert a string representation of truth to true (1) or false (0)." msgstr "" -#: distutils/apiref.rst:1197 +#: ../../src/Doc/distutils/apiref.rst:1197 msgid "" "True values are ``y``, ``yes``, ``t``, ``true``, ``on`` and ``1``; false " "values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. Raises :exc:" "`ValueError` if *val* is anything else." msgstr "" -#: distutils/apiref.rst:1204 +#: ../../src/Doc/distutils/apiref.rst:1204 msgid "" "Byte-compile a collection of Python source files to :file:`.pyc` files in a :" "file:`__pycache__` subdirectory (see :pep:`3147` and :pep:`488`). *py_files* " @@ -1694,23 +1710,23 @@ msgid "" "silently skipped. *optimize* must be one of the following:" msgstr "" -#: distutils/apiref.rst:1209 +#: ../../src/Doc/distutils/apiref.rst:1209 msgid "``0`` - don't optimize" msgstr "" -#: distutils/apiref.rst:1210 +#: ../../src/Doc/distutils/apiref.rst:1210 msgid "``1`` - normal optimization (like ``python -O``)" msgstr "" -#: distutils/apiref.rst:1211 +#: ../../src/Doc/distutils/apiref.rst:1211 msgid "``2`` - extra optimization (like ``python -OO``)" msgstr "" -#: distutils/apiref.rst:1213 +#: ../../src/Doc/distutils/apiref.rst:1213 msgid "If *force* is true, all files are recompiled regardless of timestamps." msgstr "" -#: distutils/apiref.rst:1215 +#: ../../src/Doc/distutils/apiref.rst:1215 msgid "" "The source filename encoded in each :term:`bytecode` file defaults to the " "filenames listed in *py_files*; you can modify these with *prefix* and " @@ -1720,13 +1736,13 @@ msgid "" "*prefix* and *base_dir*, as you wish." msgstr "" -#: distutils/apiref.rst:1222 +#: ../../src/Doc/distutils/apiref.rst:1222 msgid "" "If *dry_run* is true, doesn't actually do anything that would affect the " "filesystem." msgstr "" -#: distutils/apiref.rst:1225 +#: ../../src/Doc/distutils/apiref.rst:1225 msgid "" "Byte-compilation is either done directly in this interpreter process with " "the standard :mod:`py_compile` module, or indirectly by writing a temporary " @@ -1736,53 +1752,53 @@ msgid "" "you know what you're doing, leave it set to ``None``." msgstr "" -#: distutils/apiref.rst:1232 +#: ../../src/Doc/distutils/apiref.rst:1232 msgid "" "Create ``.pyc`` files with an :func:`import magic tag ` in " "their name, in a :file:`__pycache__` subdirectory instead of files without " "tag in the current directory." msgstr "" -#: distutils/apiref.rst:1243 +#: ../../src/Doc/distutils/apiref.rst:1243 msgid "" "Return a version of *header* escaped for inclusion in an :rfc:`822` header, " "by ensuring there are 8 spaces space after each newline. Note that it does " "no other modification of the string." msgstr "" -#: distutils/apiref.rst:1253 +#: ../../src/Doc/distutils/apiref.rst:1253 msgid ":mod:`distutils.dist` --- The Distribution class" msgstr "" -#: distutils/apiref.rst:1260 +#: ../../src/Doc/distutils/apiref.rst:1260 msgid "" "This module provides the :class:`~distutils.core.Distribution` class, which " "represents the module distribution being built/installed/distributed." msgstr "" -#: distutils/apiref.rst:1265 +#: ../../src/Doc/distutils/apiref.rst:1265 msgid ":mod:`distutils.extension` --- The Extension class" msgstr "" -#: distutils/apiref.rst:1272 +#: ../../src/Doc/distutils/apiref.rst:1272 msgid "" "This module provides the :class:`Extension` class, used to describe C/C++ " "extension modules in setup scripts." msgstr "" -#: distutils/apiref.rst:1280 +#: ../../src/Doc/distutils/apiref.rst:1280 msgid ":mod:`distutils.debug` --- Distutils debug mode" msgstr "" -#: distutils/apiref.rst:1286 +#: ../../src/Doc/distutils/apiref.rst:1286 msgid "This module provides the DEBUG flag." msgstr "" -#: distutils/apiref.rst:1290 +#: ../../src/Doc/distutils/apiref.rst:1290 msgid ":mod:`distutils.errors` --- Distutils exceptions" msgstr "" -#: distutils/apiref.rst:1296 +#: ../../src/Doc/distutils/apiref.rst:1296 msgid "" "Provides exceptions used by the Distutils modules. Note that Distutils " "modules may raise standard exceptions; in particular, SystemExit is usually " @@ -1790,45 +1806,45 @@ msgid "" "line arguments)." msgstr "" -#: distutils/apiref.rst:1300 +#: ../../src/Doc/distutils/apiref.rst:1300 msgid "" "This module is safe to use in ``from ... import *`` mode; it only exports " "symbols whose names start with ``Distutils`` and end with ``Error``." msgstr "" -#: distutils/apiref.rst:1305 +#: ../../src/Doc/distutils/apiref.rst:1305 msgid "" ":mod:`distutils.fancy_getopt` --- Wrapper around the standard getopt module" msgstr "" -#: distutils/apiref.rst:1311 +#: ../../src/Doc/distutils/apiref.rst:1311 msgid "" "This module provides a wrapper around the standard :mod:`getopt` module " "that provides the following additional features:" msgstr "" -#: distutils/apiref.rst:1314 +#: ../../src/Doc/distutils/apiref.rst:1314 msgid "short and long options are tied together" msgstr "" -#: distutils/apiref.rst:1316 +#: ../../src/Doc/distutils/apiref.rst:1316 msgid "" "options have help strings, so :func:`fancy_getopt` could potentially create " "a complete usage summary" msgstr "" -#: distutils/apiref.rst:1319 +#: ../../src/Doc/distutils/apiref.rst:1319 msgid "options set attributes of a passed-in object" msgstr "" -#: distutils/apiref.rst:1321 +#: ../../src/Doc/distutils/apiref.rst:1321 msgid "" "boolean options can have \"negative aliases\" --- eg. if :option:`--quiet` " "is the \"negative alias\" of :option:`--verbose`, then :option:`--quiet` on " "the command line sets *verbose* to false." msgstr "" -#: distutils/apiref.rst:1327 +#: ../../src/Doc/distutils/apiref.rst:1327 msgid "" "Wrapper function. *options* is a list of ``(long_option, short_option, " "help_string)`` 3-tuples as described in the constructor for :class:" @@ -1839,17 +1855,17 @@ msgid "" "list. Will use ``sys.argv[1:]`` if you pass ``None`` as *args*." msgstr "" -#: distutils/apiref.rst:1338 +#: ../../src/Doc/distutils/apiref.rst:1338 msgid "Wraps *text* to less than *width* wide." msgstr "" -#: distutils/apiref.rst:1343 +#: ../../src/Doc/distutils/apiref.rst:1343 msgid "" "The option_table is a list of 3-tuples: ``(long_option, short_option, " "help_string)``" msgstr "" -#: distutils/apiref.rst:1346 +#: ../../src/Doc/distutils/apiref.rst:1346 msgid "" "If an option takes an argument, its *long_option* should have ``'='`` " "appended; *short_option* should just be a single character, no ``':'`` in " @@ -1857,15 +1873,15 @@ msgid "" "a corresponding *short_option*. All option tuples must have long options." msgstr "" -#: distutils/apiref.rst:1351 +#: ../../src/Doc/distutils/apiref.rst:1351 msgid "The :class:`FancyGetopt` class provides the following methods:" msgstr "" -#: distutils/apiref.rst:1356 +#: ../../src/Doc/distutils/apiref.rst:1356 msgid "Parse command-line options in args. Store as attributes on *object*." msgstr "" -#: distutils/apiref.rst:1358 +#: ../../src/Doc/distutils/apiref.rst:1358 msgid "" "If *args* is ``None`` or not supplied, uses ``sys.argv[1:]``. If *object* " "is ``None`` or not supplied, creates a new :class:`OptionDummy` instance, " @@ -1875,42 +1891,42 @@ msgid "" "passed-in *args* list, which is left untouched." msgstr "" -#: distutils/apiref.rst:1370 +#: ../../src/Doc/distutils/apiref.rst:1370 msgid "" "Returns the list of ``(option, value)`` tuples processed by the previous run " "of :meth:`getopt` Raises :exc:`RuntimeError` if :meth:`getopt` hasn't been " "called yet." msgstr "" -#: distutils/apiref.rst:1377 +#: ../../src/Doc/distutils/apiref.rst:1377 msgid "" "Generate help text (a list of strings, one per suggested line of output) " "from the option table for this :class:`FancyGetopt` object." msgstr "" -#: distutils/apiref.rst:1380 +#: ../../src/Doc/distutils/apiref.rst:1380 msgid "If supplied, prints the supplied *header* at the top of the help." msgstr "" -#: distutils/apiref.rst:1384 +#: ../../src/Doc/distutils/apiref.rst:1384 msgid ":mod:`distutils.filelist` --- The FileList class" msgstr "" -#: distutils/apiref.rst:1391 +#: ../../src/Doc/distutils/apiref.rst:1391 msgid "" "This module provides the :class:`FileList` class, used for poking about the " "filesystem and building lists of files." msgstr "" -#: distutils/apiref.rst:1396 +#: ../../src/Doc/distutils/apiref.rst:1396 msgid ":mod:`distutils.log` --- Simple PEP 282-style logging" msgstr "" -#: distutils/apiref.rst:1403 +#: ../../src/Doc/distutils/apiref.rst:1403 msgid ":mod:`distutils.spawn` --- Spawn a sub-process" msgstr "" -#: distutils/apiref.rst:1409 +#: ../../src/Doc/distutils/apiref.rst:1409 msgid "" "This module provides the :func:`spawn` function, a front-end to various " "platform-specific functions for launching another program in a sub-process. " @@ -1918,11 +1934,11 @@ msgid "" "executable name." msgstr "" -#: distutils/apiref.rst:1416 +#: ../../src/Doc/distutils/apiref.rst:1416 msgid ":mod:`distutils.sysconfig` --- System configuration information" msgstr "" -#: distutils/apiref.rst:1425 +#: ../../src/Doc/distutils/apiref.rst:1425 msgid "" "The :mod:`distutils.sysconfig` module provides access to Python's low-level " "configuration information. The specific configuration variables available " @@ -1934,27 +1950,27 @@ msgid "" "and :file:`config.h` for earlier versions of Python." msgstr "" -#: distutils/apiref.rst:1434 +#: ../../src/Doc/distutils/apiref.rst:1434 msgid "" "Some additional functions are provided which perform some useful " "manipulations for other parts of the :mod:`distutils` package." msgstr "" -#: distutils/apiref.rst:1440 +#: ../../src/Doc/distutils/apiref.rst:1440 msgid "The result of ``os.path.normpath(sys.prefix)``." msgstr "" -#: distutils/apiref.rst:1445 +#: ../../src/Doc/distutils/apiref.rst:1445 msgid "The result of ``os.path.normpath(sys.exec_prefix)``." msgstr "" -#: distutils/apiref.rst:1450 +#: ../../src/Doc/distutils/apiref.rst:1450 msgid "" "Return the value of a single variable. This is equivalent to " "``get_config_vars().get(name)``." msgstr "" -#: distutils/apiref.rst:1456 +#: ../../src/Doc/distutils/apiref.rst:1456 msgid "" "Return a set of variable definitions. If there are no arguments, this " "returns a dictionary mapping names of configuration variables to values. If " @@ -1963,7 +1979,7 @@ msgid "" "corresponding value, ``None`` will be included for that variable." msgstr "" -#: distutils/apiref.rst:1465 +#: ../../src/Doc/distutils/apiref.rst:1465 msgid "" "Return the full path name of the configuration header. For Unix, this will " "be the header generated by the :program:`configure` script; for other " @@ -1971,7 +1987,7 @@ msgid "" "distribution. The file is a platform-specific text file." msgstr "" -#: distutils/apiref.rst:1473 +#: ../../src/Doc/distutils/apiref.rst:1473 msgid "" "Return the full path name of the :file:`Makefile` used to build Python. For " "Unix, this will be a file generated by the :program:`configure` script; the " @@ -1979,7 +1995,7 @@ msgid "" "file, if it exists. This function is only useful on POSIX platforms." msgstr "" -#: distutils/apiref.rst:1481 +#: ../../src/Doc/distutils/apiref.rst:1481 msgid "" "Return the directory for either the general or platform-dependent C include " "files. If *plat_specific* is true, the platform-dependent include directory " @@ -1989,7 +2005,7 @@ msgid "" "*plat_specific* is true." msgstr "" -#: distutils/apiref.rst:1491 +#: ../../src/Doc/distutils/apiref.rst:1491 msgid "" "Return the directory for either the general or platform-dependent library " "installation. If *plat_specific* is true, the platform-dependent include " @@ -2001,19 +2017,19 @@ msgid "" "the installation of third-party extensions." msgstr "" -#: distutils/apiref.rst:1500 +#: ../../src/Doc/distutils/apiref.rst:1500 msgid "" "The following function is only intended for use within the :mod:`distutils` " "package." msgstr "" -#: distutils/apiref.rst:1506 +#: ../../src/Doc/distutils/apiref.rst:1506 msgid "" "Do any platform-specific customization of a :class:`distutils.ccompiler." "CCompiler` instance." msgstr "" -#: distutils/apiref.rst:1509 +#: ../../src/Doc/distutils/apiref.rst:1509 msgid "" "This function is only needed on Unix at this time, but should be called " "consistently to support forward-compatibility. It inserts the information " @@ -2022,13 +2038,13 @@ msgid "" "options, and the extension used by the linker for shared objects." msgstr "" -#: distutils/apiref.rst:1515 +#: ../../src/Doc/distutils/apiref.rst:1515 msgid "" "This function is even more special-purpose, and should only be used from " "Python's own build procedures." msgstr "" -#: distutils/apiref.rst:1521 +#: ../../src/Doc/distutils/apiref.rst:1521 msgid "" "Inform the :mod:`distutils.sysconfig` module that it is being used as part " "of the build process for Python. This changes a lot of relative locations " @@ -2036,18 +2052,18 @@ msgid "" "installed Python." msgstr "" -#: distutils/apiref.rst:1528 +#: ../../src/Doc/distutils/apiref.rst:1528 msgid ":mod:`distutils.text_file` --- The TextFile class" msgstr "" -#: distutils/apiref.rst:1534 +#: ../../src/Doc/distutils/apiref.rst:1534 msgid "" "This module provides the :class:`TextFile` class, which gives an interface " "to text files that (optionally) takes care of stripping comments, ignoring " "blank lines, and joining lines with backslashes." msgstr "" -#: distutils/apiref.rst:1541 +#: ../../src/Doc/distutils/apiref.rst:1541 msgid "" "This class provides a file-like object that takes care of all the things " "you commonly want to do when processing a text file that has some line-by-" @@ -2057,7 +2073,7 @@ msgid "" "optional and independently controllable." msgstr "" -#: distutils/apiref.rst:1548 +#: ../../src/Doc/distutils/apiref.rst:1548 msgid "" "The class provides a :meth:`warn` method so you can generate warning " "messages that report physical line number, even if the logical line in " @@ -2065,7 +2081,7 @@ msgid "" "for implementing line-at-a-time lookahead." msgstr "" -#: distutils/apiref.rst:1553 +#: ../../src/Doc/distutils/apiref.rst:1553 msgid "" ":class:`TextFile` instances are create with either *filename*, *file*, or " "both. :exc:`RuntimeError` is raised if both are ``None``. *filename* should " @@ -2076,63 +2092,65 @@ msgid "" "using the :func:`open` built-in function." msgstr "" -#: distutils/apiref.rst:1561 +#: ../../src/Doc/distutils/apiref.rst:1561 msgid "" "The options are all boolean, and affect the values returned by :meth:" "`readline`" msgstr "" -#: distutils/apiref.rst:1566 +#: ../../src/Doc/distutils/apiref.rst:1566 msgid "option name" msgstr "" -#: distutils/apiref.rst:1566 +#: ../../src/Doc/distutils/apiref.rst:1566 msgid "default" msgstr "" -#: distutils/apiref.rst:1568 +#: ../../src/Doc/distutils/apiref.rst:1568 msgid "*strip_comments*" msgstr "" -#: distutils/apiref.rst:1568 +#: ../../src/Doc/distutils/apiref.rst:1568 msgid "" "strip from ``'#'`` to end-of- line, as well as any whitespace leading up to " "the ``'#'``\\ ---unless it is escaped by a backslash" msgstr "" -#: distutils/apiref.rst:1568 distutils/apiref.rst:1577 -#: distutils/apiref.rst:1582 +#: ../../src/Doc/distutils/apiref.rst:1568 +#: ../../src/Doc/distutils/apiref.rst:1577 +#: ../../src/Doc/distutils/apiref.rst:1582 msgid "true" msgstr "" -#: distutils/apiref.rst:1574 +#: ../../src/Doc/distutils/apiref.rst:1574 msgid "*lstrip_ws*" msgstr "" -#: distutils/apiref.rst:1574 +#: ../../src/Doc/distutils/apiref.rst:1574 msgid "strip leading whitespace from each line before returning it" msgstr "" -#: distutils/apiref.rst:1574 distutils/apiref.rst:1592 -#: distutils/apiref.rst:1603 +#: ../../src/Doc/distutils/apiref.rst:1574 +#: ../../src/Doc/distutils/apiref.rst:1592 +#: ../../src/Doc/distutils/apiref.rst:1603 msgid "false" msgstr "" -#: distutils/apiref.rst:1577 +#: ../../src/Doc/distutils/apiref.rst:1577 msgid "*rstrip_ws*" msgstr "" -#: distutils/apiref.rst:1577 +#: ../../src/Doc/distutils/apiref.rst:1577 msgid "" "strip trailing whitespace (including line terminator!) from each line before " "returning it." msgstr "" -#: distutils/apiref.rst:1582 +#: ../../src/Doc/distutils/apiref.rst:1582 msgid "*skip_blanks*" msgstr "" -#: distutils/apiref.rst:1582 +#: ../../src/Doc/distutils/apiref.rst:1582 msgid "" "skip lines that are empty \\*after\\* stripping comments and whitespace. " "(If both lstrip_ws and rstrip_ws are false, then some lines may consist of " @@ -2140,11 +2158,11 @@ msgid "" "true.)" msgstr "" -#: distutils/apiref.rst:1592 +#: ../../src/Doc/distutils/apiref.rst:1592 msgid "*join_lines*" msgstr "" -#: distutils/apiref.rst:1592 +#: ../../src/Doc/distutils/apiref.rst:1592 msgid "" "if a backslash is the last non-newline character on a line after stripping " "comments and whitespace, join the following line to it to form one logical " @@ -2152,17 +2170,17 @@ msgid "" "will be joined to form one logical line." msgstr "" -#: distutils/apiref.rst:1603 +#: ../../src/Doc/distutils/apiref.rst:1603 msgid "*collapse_join*" msgstr "" -#: distutils/apiref.rst:1603 +#: ../../src/Doc/distutils/apiref.rst:1603 msgid "" "strip leading whitespace from lines that are joined to their predecessor; " "only matters if ``(join_lines and not lstrip_ws)``" msgstr "" -#: distutils/apiref.rst:1610 +#: ../../src/Doc/distutils/apiref.rst:1610 msgid "" "Note that since *rstrip_ws* can strip the trailing newline, the semantics " "of :meth:`readline` must differ from those of the built-in file object's :" @@ -2171,19 +2189,19 @@ msgid "" "whitespace line), if *rstrip_ws* is true but *skip_blanks* is not." msgstr "" -#: distutils/apiref.rst:1619 +#: ../../src/Doc/distutils/apiref.rst:1619 msgid "" "Open a new file *filename*. This overrides any *file* or *filename* " "constructor arguments." msgstr "" -#: distutils/apiref.rst:1625 +#: ../../src/Doc/distutils/apiref.rst:1625 msgid "" "Close the current file and forget everything we know about it (including the " "filename and the current line number)." msgstr "" -#: distutils/apiref.rst:1631 +#: ../../src/Doc/distutils/apiref.rst:1631 msgid "" "Print (to stderr) a warning message tied to the current logical line in the " "current file. If the current logical line in the file spans multiple " @@ -2193,7 +2211,7 @@ msgid "" "for a single physical line." msgstr "" -#: distutils/apiref.rst:1641 +#: ../../src/Doc/distutils/apiref.rst:1641 msgid "" "Read and return a single logical line from the current file (or from an " "internal buffer if lines have previously been \"unread\" with :meth:" @@ -2205,13 +2223,13 @@ msgid "" "*strip_blanks* is not." msgstr "" -#: distutils/apiref.rst:1652 +#: ../../src/Doc/distutils/apiref.rst:1652 msgid "" "Read and return the list of all logical lines remaining in the current file. " "This updates the current line number to the last line of the file." msgstr "" -#: distutils/apiref.rst:1658 +#: ../../src/Doc/distutils/apiref.rst:1658 msgid "" "Push *line* (a string) onto an internal buffer that will be checked by " "future :meth:`readline` calls. Handy for implementing a parser with line-at-" @@ -2222,19 +2240,19 @@ msgid "" "returned most in most recent first order." msgstr "" -#: distutils/apiref.rst:1667 +#: ../../src/Doc/distutils/apiref.rst:1667 msgid ":mod:`distutils.version` --- Version number classes" msgstr "" -#: distutils/apiref.rst:1682 +#: ../../src/Doc/distutils/apiref.rst:1682 msgid ":mod:`distutils.cmd` --- Abstract base class for Distutils commands" msgstr "" -#: distutils/apiref.rst:1689 +#: ../../src/Doc/distutils/apiref.rst:1689 msgid "This module supplies the abstract base class :class:`Command`." msgstr "" -#: distutils/apiref.rst:1694 +#: ../../src/Doc/distutils/apiref.rst:1694 msgid "" "Abstract base class for defining command classes, the \"worker bees\" of the " "Distutils. A useful analogy for command classes is to think of them as " @@ -2250,22 +2268,22 @@ msgid "" "command class." msgstr "" -#: distutils/apiref.rst:1707 +#: ../../src/Doc/distutils/apiref.rst:1707 #, fuzzy msgid "" "The class constructor takes a single argument *dist*, a :class:`~distutils." "core.Distribution` instance." msgstr "Une sous classe de :class:`distutils.core.Distribution`" -#: distutils/apiref.rst:1712 +#: ../../src/Doc/distutils/apiref.rst:1712 msgid "Creating a new Distutils command" msgstr "" -#: distutils/apiref.rst:1714 +#: ../../src/Doc/distutils/apiref.rst:1714 msgid "This section outlines the steps to create a new Distutils command." msgstr "" -#: distutils/apiref.rst:1716 +#: ../../src/Doc/distutils/apiref.rst:1716 msgid "" "A new command lives in a module in the :mod:`distutils.command` package. " "There is a sample template in that directory called :file:" @@ -2278,11 +2296,11 @@ msgid "" "class:`peel_banana`, a subclass of :class:`distutils.cmd.Command`." msgstr "" -#: distutils/apiref.rst:1726 +#: ../../src/Doc/distutils/apiref.rst:1726 msgid "Subclasses of :class:`Command` must define the following methods." msgstr "" -#: distutils/apiref.rst:1730 +#: ../../src/Doc/distutils/apiref.rst:1730 msgid "" "Set default values for all the options that this command supports. Note " "that these defaults may be overridden by other commands, by the setup " @@ -2292,7 +2310,7 @@ msgid "" "assignments." msgstr "" -#: distutils/apiref.rst:1739 +#: ../../src/Doc/distutils/apiref.rst:1739 msgid "" "Set final values for all the options that this command supports. This is " "always called as late as possible, ie. after any option assignments from " @@ -2302,7 +2320,7 @@ msgid "" "was assigned in :meth:`initialize_options`." msgstr "" -#: distutils/apiref.rst:1749 +#: ../../src/Doc/distutils/apiref.rst:1749 msgid "" "A command's raison d'etre: carry out the action it exists to perform, " "controlled by the options initialized in :meth:`initialize_options`, " @@ -2311,7 +2329,7 @@ msgid "" "filesystem interaction should be done by :meth:`run`." msgstr "" -#: distutils/apiref.rst:1758 +#: ../../src/Doc/distutils/apiref.rst:1758 msgid "" "*sub_commands* formalizes the notion of a \"family\" of commands, e.g. " "``install`` as the parent with sub-commands ``install_lib``, " @@ -2325,41 +2343,41 @@ msgid "" "command is always applicable." msgstr "" -#: distutils/apiref.rst:1769 +#: ../../src/Doc/distutils/apiref.rst:1769 msgid "" "*sub_commands* is usually defined at the *end* of a class, because " "predicates can be methods of the class, so they must already have been " "defined. The canonical example is the :command:`install` command." msgstr "" -#: distutils/apiref.rst:1775 +#: ../../src/Doc/distutils/apiref.rst:1775 msgid ":mod:`distutils.command` --- Individual Distutils commands" msgstr "" -#: distutils/apiref.rst:1786 +#: ../../src/Doc/distutils/apiref.rst:1786 msgid ":mod:`distutils.command.bdist` --- Build a binary installer" msgstr "" -#: distutils/apiref.rst:1796 +#: ../../src/Doc/distutils/apiref.rst:1796 msgid "" ":mod:`distutils.command.bdist_packager` --- Abstract base class for packagers" msgstr "" -#: distutils/apiref.rst:1806 +#: ../../src/Doc/distutils/apiref.rst:1806 msgid ":mod:`distutils.command.bdist_dumb` --- Build a \"dumb\" installer" msgstr "" -#: distutils/apiref.rst:1816 +#: ../../src/Doc/distutils/apiref.rst:1816 msgid "" ":mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary " "package" msgstr "" -#: distutils/apiref.rst:1823 +#: ../../src/Doc/distutils/apiref.rst:1823 msgid "Builds a `Windows Installer`_ (.msi) binary package." msgstr "" -#: distutils/apiref.rst:1827 +#: ../../src/Doc/distutils/apiref.rst:1827 msgid "" "In most cases, the ``bdist_msi`` installer is a better choice than the " "``bdist_wininst`` installer, because it provides better support for Win64 " @@ -2367,40 +2385,40 @@ msgid "" "and allows installation through group policies." msgstr "" -#: distutils/apiref.rst:1834 +#: ../../src/Doc/distutils/apiref.rst:1834 msgid "" ":mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a " "Redhat RPM and SRPM" msgstr "" -#: distutils/apiref.rst:1844 +#: ../../src/Doc/distutils/apiref.rst:1844 msgid ":mod:`distutils.command.bdist_wininst` --- Build a Windows installer" msgstr "" -#: distutils/apiref.rst:1854 +#: ../../src/Doc/distutils/apiref.rst:1854 msgid ":mod:`distutils.command.sdist` --- Build a source distribution" msgstr "" -#: distutils/apiref.rst:1864 +#: ../../src/Doc/distutils/apiref.rst:1864 msgid ":mod:`distutils.command.build` --- Build all files of a package" msgstr "" -#: distutils/apiref.rst:1874 +#: ../../src/Doc/distutils/apiref.rst:1874 msgid "" ":mod:`distutils.command.build_clib` --- Build any C libraries in a package" msgstr "" -#: distutils/apiref.rst:1884 +#: ../../src/Doc/distutils/apiref.rst:1884 msgid "" ":mod:`distutils.command.build_ext` --- Build any extensions in a package" msgstr "" -#: distutils/apiref.rst:1894 +#: ../../src/Doc/distutils/apiref.rst:1894 msgid "" ":mod:`distutils.command.build_py` --- Build the .py/.pyc files of a package" msgstr "" -#: distutils/apiref.rst:1904 +#: ../../src/Doc/distutils/apiref.rst:1904 msgid "" "Alternative implementation of build_py which also runs the 2to3 conversion " "library on each .py file that is going to be installed. To use this in a " @@ -2408,94 +2426,94 @@ msgid "" "x and 3.x, add::" msgstr "" -#: distutils/apiref.rst:1914 +#: ../../src/Doc/distutils/apiref.rst:1914 msgid "to your setup.py, and later::" msgstr "" -#: distutils/apiref.rst:1918 +#: ../../src/Doc/distutils/apiref.rst:1918 msgid "to the invocation of setup()." msgstr "" -#: distutils/apiref.rst:1922 +#: ../../src/Doc/distutils/apiref.rst:1922 msgid "" ":mod:`distutils.command.build_scripts` --- Build the scripts of a package" msgstr "" -#: distutils/apiref.rst:1932 +#: ../../src/Doc/distutils/apiref.rst:1932 msgid ":mod:`distutils.command.clean` --- Clean a package build area" msgstr "" -#: distutils/apiref.rst:1937 +#: ../../src/Doc/distutils/apiref.rst:1937 msgid "" "This command removes the temporary files created by :command:`build` and its " "subcommands, like intermediary compiled object files. With the ``--all`` " "option, the complete build directory will be removed." msgstr "" -#: distutils/apiref.rst:1941 +#: ../../src/Doc/distutils/apiref.rst:1941 msgid "" "Extension modules built :ref:`in place ` will " "not be cleaned, as they are not in the build directory." msgstr "" -#: distutils/apiref.rst:1946 +#: ../../src/Doc/distutils/apiref.rst:1946 msgid ":mod:`distutils.command.config` --- Perform package configuration" msgstr "" -#: distutils/apiref.rst:1956 +#: ../../src/Doc/distutils/apiref.rst:1956 msgid ":mod:`distutils.command.install` --- Install a package" msgstr "" -#: distutils/apiref.rst:1966 +#: ../../src/Doc/distutils/apiref.rst:1966 msgid "" ":mod:`distutils.command.install_data` --- Install data files from a package" msgstr "" -#: distutils/apiref.rst:1976 +#: ../../src/Doc/distutils/apiref.rst:1976 msgid "" ":mod:`distutils.command.install_headers` --- Install C/C++ header files from " "a package" msgstr "" -#: distutils/apiref.rst:1986 +#: ../../src/Doc/distutils/apiref.rst:1986 msgid "" ":mod:`distutils.command.install_lib` --- Install library files from a package" msgstr "" -#: distutils/apiref.rst:1996 +#: ../../src/Doc/distutils/apiref.rst:1996 msgid "" ":mod:`distutils.command.install_scripts` --- Install script files from a " "package" msgstr "" -#: distutils/apiref.rst:2006 +#: ../../src/Doc/distutils/apiref.rst:2006 msgid "" ":mod:`distutils.command.register` --- Register a module with the Python " "Package Index" msgstr "" -#: distutils/apiref.rst:2012 +#: ../../src/Doc/distutils/apiref.rst:2012 msgid "" "The ``register`` command registers the package with the Python Package " "Index. This is described in more detail in :pep:`301`." msgstr "" -#: distutils/apiref.rst:2019 +#: ../../src/Doc/distutils/apiref.rst:2019 msgid ":mod:`distutils.command.check` --- Check the meta-data of a package" msgstr "" -#: distutils/apiref.rst:2025 +#: ../../src/Doc/distutils/apiref.rst:2025 msgid "" "The ``check`` command performs some tests on the meta-data of a package. For " "example, it verifies that all required meta-data are provided as the " "arguments passed to the :func:`setup` function." msgstr "" -#: distutils/builtdist.rst:5 +#: ../../src/Doc/distutils/builtdist.rst:5 msgid "Creating Built Distributions" msgstr "" -#: distutils/builtdist.rst:7 +#: ../../src/Doc/distutils/builtdist.rst:7 msgid "" "A \"built distribution\" is what you're probably used to thinking of either " "as a \"binary package\" or an \"installer\" (depending on your background). " @@ -2505,7 +2523,7 @@ msgid "" "to the world of mainstream desktop systems.)" msgstr "" -#: distutils/builtdist.rst:14 +#: ../../src/Doc/distutils/builtdist.rst:14 msgid "" "A built distribution is how you make life as easy as possible for installers " "of your module distribution: for users of RPM-based Linux systems, it's a " @@ -2519,7 +2537,7 @@ msgid "" "as there are packagers." msgstr "" -#: distutils/builtdist.rst:24 +#: ../../src/Doc/distutils/builtdist.rst:24 msgid "" "Of course, the module developer could be his own packager; or the packager " "could be a volunteer \"out there\" somewhere who has access to a platform " @@ -2530,13 +2548,13 @@ msgid "" "family to generate built distributions." msgstr "" -#: distutils/builtdist.rst:32 +#: ../../src/Doc/distutils/builtdist.rst:32 msgid "" "As a simple example, if I run the following command in the Distutils source " "tree::" msgstr "" -#: distutils/builtdist.rst:37 +#: ../../src/Doc/distutils/builtdist.rst:37 msgid "" "then the Distutils builds my module distribution (the Distutils itself in " "this case), does a \"fake\" installation (also in the :file:`build` " @@ -2547,7 +2565,7 @@ msgid "" "work.)" msgstr "" -#: distutils/builtdist.rst:44 +#: ../../src/Doc/distutils/builtdist.rst:44 msgid "" "Thus, the above command on a Unix system creates :file:`Distutils-1.0.{plat}." "tar.gz`; unpacking this tarball from the right place installs the Distutils " @@ -2558,7 +2576,7 @@ msgid "" "distributions relative to :file:`{prefix}`.)" msgstr "" -#: distutils/builtdist.rst:52 +#: ../../src/Doc/distutils/builtdist.rst:52 msgid "" "Obviously, for pure Python distributions, this isn't any simpler than just " "running ``python setup.py install``\\ ---but for non-pure distributions, " @@ -2569,184 +2587,208 @@ msgid "" "your distribution doesn't include any extensions." msgstr "" -#: distutils/builtdist.rst:60 +#: ../../src/Doc/distutils/builtdist.rst:60 msgid "" "The :command:`bdist` command has a :option:`--formats` option, similar to " "the :command:`sdist` command, which you can use to select the types of built " "distribution to generate: for example, ::" msgstr "" -#: distutils/builtdist.rst:66 +#: ../../src/Doc/distutils/builtdist.rst:66 msgid "" "would, when run on a Unix system, create :file:`Distutils-1.0.{plat}.zip`\\ " "---again, this archive would be unpacked from the root directory to install " "the Distutils." msgstr "" -#: distutils/builtdist.rst:70 +#: ../../src/Doc/distutils/builtdist.rst:70 msgid "The available formats for built distributions are:" msgstr "" -#: distutils/builtdist.rst:73 distutils/sourcedist.rst:25 +#: ../../src/Doc/distutils/builtdist.rst:73 +#: ../../src/Doc/distutils/sourcedist.rst:25 msgid "Format" msgstr "" -#: distutils/builtdist.rst:73 distutils/commandref.rst:61 -#: distutils/setupscript.rst:562 distutils/sourcedist.rst:25 +#: ../../src/Doc/distutils/builtdist.rst:73 +#: ../../src/Doc/distutils/commandref.rst:61 +#: ../../src/Doc/distutils/setupscript.rst:562 +#: ../../src/Doc/distutils/sourcedist.rst:25 msgid "Description" msgstr "" -#: distutils/builtdist.rst:73 distutils/setupscript.rst:562 -#: distutils/sourcedist.rst:25 +#: ../../src/Doc/distutils/builtdist.rst:73 +#: ../../src/Doc/distutils/setupscript.rst:562 +#: ../../src/Doc/distutils/sourcedist.rst:25 msgid "Notes" msgstr "Notes" -#: distutils/builtdist.rst:75 distutils/sourcedist.rst:29 +#: ../../src/Doc/distutils/builtdist.rst:75 +#: ../../src/Doc/distutils/sourcedist.rst:29 msgid "``gztar``" msgstr "" -#: distutils/builtdist.rst:75 +#: ../../src/Doc/distutils/builtdist.rst:75 msgid "gzipped tar file (:file:`.tar.gz`)" msgstr "" -#: distutils/builtdist.rst:75 distutils/setupscript.rst:564 -#: distutils/setupscript.rst:578 +#: ../../src/Doc/distutils/builtdist.rst:75 +#: ../../src/Doc/distutils/setupscript.rst:564 +#: ../../src/Doc/distutils/setupscript.rst:578 msgid "\\(1)" msgstr "\\(1)" -#: distutils/builtdist.rst:78 distutils/sourcedist.rst:32 +#: ../../src/Doc/distutils/builtdist.rst:78 +#: ../../src/Doc/distutils/sourcedist.rst:32 msgid "``bztar``" msgstr "" -#: distutils/builtdist.rst:78 +#: ../../src/Doc/distutils/builtdist.rst:78 msgid "bzipped tar file (:file:`.tar.bz2`)" msgstr "" -#: distutils/builtdist.rst:81 distutils/sourcedist.rst:35 +#: ../../src/Doc/distutils/builtdist.rst:81 +#: ../../src/Doc/distutils/sourcedist.rst:35 msgid "``xztar``" msgstr "" -#: distutils/builtdist.rst:81 +#: ../../src/Doc/distutils/builtdist.rst:81 msgid "xzipped tar file (:file:`.tar.xz`)" msgstr "" -#: distutils/builtdist.rst:84 distutils/sourcedist.rst:38 +#: ../../src/Doc/distutils/builtdist.rst:84 +#: ../../src/Doc/distutils/sourcedist.rst:38 msgid "``ztar``" msgstr "" -#: distutils/builtdist.rst:84 distutils/sourcedist.rst:38 +#: ../../src/Doc/distutils/builtdist.rst:84 +#: ../../src/Doc/distutils/sourcedist.rst:38 msgid "compressed tar file (:file:`.tar.Z`)" msgstr "" -#: distutils/builtdist.rst:84 distutils/setupscript.rst:568 -#: distutils/setupscript.rst:570 distutils/setupscript.rst:573 -#: distutils/setupscript.rst:575 +#: ../../src/Doc/distutils/builtdist.rst:84 +#: ../../src/Doc/distutils/setupscript.rst:568 +#: ../../src/Doc/distutils/setupscript.rst:570 +#: ../../src/Doc/distutils/setupscript.rst:573 +#: ../../src/Doc/distutils/setupscript.rst:575 msgid "\\(3)" msgstr "\\(3)" -#: distutils/builtdist.rst:87 distutils/sourcedist.rst:41 +#: ../../src/Doc/distutils/builtdist.rst:87 +#: ../../src/Doc/distutils/sourcedist.rst:41 msgid "``tar``" msgstr "" -#: distutils/builtdist.rst:87 distutils/sourcedist.rst:41 +#: ../../src/Doc/distutils/builtdist.rst:87 +#: ../../src/Doc/distutils/sourcedist.rst:41 msgid "tar file (:file:`.tar`)" msgstr "" -#: distutils/builtdist.rst:89 distutils/sourcedist.rst:27 +#: ../../src/Doc/distutils/builtdist.rst:89 +#: ../../src/Doc/distutils/sourcedist.rst:27 msgid "``zip``" msgstr "" -#: distutils/builtdist.rst:89 distutils/sourcedist.rst:27 +#: ../../src/Doc/distutils/builtdist.rst:89 +#: ../../src/Doc/distutils/sourcedist.rst:27 msgid "zip file (:file:`.zip`)" msgstr "" -#: distutils/builtdist.rst:89 +#: ../../src/Doc/distutils/builtdist.rst:89 msgid "(2),(4)" msgstr "" -#: distutils/builtdist.rst:91 +#: ../../src/Doc/distutils/builtdist.rst:91 msgid "``rpm``" msgstr "" -#: distutils/builtdist.rst:91 +#: ../../src/Doc/distutils/builtdist.rst:91 msgid "RPM" msgstr "" -#: distutils/builtdist.rst:91 distutils/setupscript.rst:584 +#: ../../src/Doc/distutils/builtdist.rst:91 +#: ../../src/Doc/distutils/setupscript.rst:584 msgid "\\(5)" msgstr "" -#: distutils/builtdist.rst:93 +#: ../../src/Doc/distutils/builtdist.rst:93 msgid "``pkgtool``" msgstr "" -#: distutils/builtdist.rst:93 +#: ../../src/Doc/distutils/builtdist.rst:93 msgid "Solaris :program:`pkgtool`" msgstr "" -#: distutils/builtdist.rst:95 +#: ../../src/Doc/distutils/builtdist.rst:95 msgid "``sdux``" msgstr "" -#: distutils/builtdist.rst:95 +#: ../../src/Doc/distutils/builtdist.rst:95 msgid "HP-UX :program:`swinstall`" msgstr "" -#: distutils/builtdist.rst:97 +#: ../../src/Doc/distutils/builtdist.rst:97 msgid "``wininst``" msgstr "" -#: distutils/builtdist.rst:97 +#: ../../src/Doc/distutils/builtdist.rst:97 msgid "self-extracting ZIP file for Windows" msgstr "" -#: distutils/builtdist.rst:97 distutils/setupscript.rst:587 -#: distutils/setupscript.rst:590 distutils/sourcedist.rst:38 +#: ../../src/Doc/distutils/builtdist.rst:97 +#: ../../src/Doc/distutils/setupscript.rst:587 +#: ../../src/Doc/distutils/setupscript.rst:590 +#: ../../src/Doc/distutils/sourcedist.rst:38 msgid "\\(4)" msgstr "" -#: distutils/builtdist.rst:100 +#: ../../src/Doc/distutils/builtdist.rst:100 msgid "``msi``" msgstr "" -#: distutils/builtdist.rst:100 +#: ../../src/Doc/distutils/builtdist.rst:100 msgid "Microsoft Installer." msgstr "" -#: distutils/builtdist.rst:103 distutils/sourcedist.rst:44 +#: ../../src/Doc/distutils/builtdist.rst:103 +#: ../../src/Doc/distutils/sourcedist.rst:44 msgid "Added support for the ``xztar`` format." msgstr "" -#: distutils/builtdist.rst:107 distutils/setupscript.rst:597 -#: distutils/sourcedist.rst:47 +#: ../../src/Doc/distutils/builtdist.rst:107 +#: ../../src/Doc/distutils/setupscript.rst:597 +#: ../../src/Doc/distutils/sourcedist.rst:47 msgid "Notes:" msgstr "Notes : " -#: distutils/builtdist.rst:110 distutils/sourcedist.rst:53 +#: ../../src/Doc/distutils/builtdist.rst:110 +#: ../../src/Doc/distutils/sourcedist.rst:53 msgid "default on Unix" msgstr "" -#: distutils/builtdist.rst:113 distutils/sourcedist.rst:50 +#: ../../src/Doc/distutils/builtdist.rst:113 +#: ../../src/Doc/distutils/sourcedist.rst:50 msgid "default on Windows" msgstr "" -#: distutils/builtdist.rst:116 +#: ../../src/Doc/distutils/builtdist.rst:116 msgid "requires external :program:`compress` utility." msgstr "" -#: distutils/builtdist.rst:119 distutils/sourcedist.rst:56 +#: ../../src/Doc/distutils/builtdist.rst:119 +#: ../../src/Doc/distutils/sourcedist.rst:56 msgid "" "requires either external :program:`zip` utility or :mod:`zipfile` module " "(part of the standard Python library since Python 1.6)" msgstr "" -#: distutils/builtdist.rst:123 +#: ../../src/Doc/distutils/builtdist.rst:123 msgid "" "requires external :program:`rpm` utility, version 3.0.4 or better (use ``rpm " "--version`` to find out which version you have)" msgstr "" -#: distutils/builtdist.rst:126 +#: ../../src/Doc/distutils/builtdist.rst:126 msgid "" "You don't have to use the :command:`bdist` command with the :option:`--" "formats` option; you can also use the command that directly implements the " @@ -2758,57 +2800,58 @@ msgid "" "commands, and the formats generated by each, are:" msgstr "" -#: distutils/builtdist.rst:136 distutils/commandref.rst:61 +#: ../../src/Doc/distutils/builtdist.rst:136 +#: ../../src/Doc/distutils/commandref.rst:61 msgid "Command" msgstr "" -#: distutils/builtdist.rst:136 +#: ../../src/Doc/distutils/builtdist.rst:136 msgid "Formats" msgstr "" -#: distutils/builtdist.rst:138 +#: ../../src/Doc/distutils/builtdist.rst:138 msgid ":command:`bdist_dumb`" msgstr "" -#: distutils/builtdist.rst:138 +#: ../../src/Doc/distutils/builtdist.rst:138 msgid "tar, gztar, bztar, xztar, ztar, zip" msgstr "" -#: distutils/builtdist.rst:140 +#: ../../src/Doc/distutils/builtdist.rst:140 msgid ":command:`bdist_rpm`" msgstr "" -#: distutils/builtdist.rst:140 +#: ../../src/Doc/distutils/builtdist.rst:140 msgid "rpm, srpm" msgstr "" -#: distutils/builtdist.rst:142 +#: ../../src/Doc/distutils/builtdist.rst:142 msgid ":command:`bdist_wininst`" msgstr "" -#: distutils/builtdist.rst:142 +#: ../../src/Doc/distutils/builtdist.rst:142 msgid "wininst" msgstr "" -#: distutils/builtdist.rst:144 +#: ../../src/Doc/distutils/builtdist.rst:144 msgid ":command:`bdist_msi`" msgstr "" -#: distutils/builtdist.rst:144 +#: ../../src/Doc/distutils/builtdist.rst:144 msgid "msi" msgstr "" -#: distutils/builtdist.rst:147 +#: ../../src/Doc/distutils/builtdist.rst:147 msgid "" "The following sections give details on the individual :command:`bdist_\\*` " "commands." msgstr "" -#: distutils/builtdist.rst:163 +#: ../../src/Doc/distutils/builtdist.rst:163 msgid "Creating RPM packages" msgstr "" -#: distutils/builtdist.rst:165 +#: ../../src/Doc/distutils/builtdist.rst:165 msgid "" "The RPM format is used by many popular Linux distributions, including Red " "Hat, SuSE, and Mandrake. If one of these (or any of the other RPM-based " @@ -2819,17 +2862,17 @@ msgid "" "RPM-based distributions." msgstr "" -#: distutils/builtdist.rst:172 +#: ../../src/Doc/distutils/builtdist.rst:172 msgid "" "The usual way to create an RPM of your module distribution is to run the :" "command:`bdist_rpm` command::" msgstr "" -#: distutils/builtdist.rst:177 +#: ../../src/Doc/distutils/builtdist.rst:177 msgid "or the :command:`bdist` command with the :option:`--format` option::" msgstr "" -#: distutils/builtdist.rst:181 +#: ../../src/Doc/distutils/builtdist.rst:181 msgid "" "The former allows you to specify RPM-specific options; the latter allows " "you to easily specify multiple formats in one run. If you need to do both, " @@ -2837,7 +2880,7 @@ msgid "" "options::" msgstr "" -#: distutils/builtdist.rst:188 +#: ../../src/Doc/distutils/builtdist.rst:188 msgid "" "Creating RPM packages is driven by a :file:`.spec` file, much as using the " "Distutils is driven by the setup script. To make your life easier, the :" @@ -2847,193 +2890,205 @@ msgid "" "file:`.spec` file are derived from options in the setup script as follows:" msgstr "" -#: distutils/builtdist.rst:196 distutils/builtdist.rst:220 +#: ../../src/Doc/distutils/builtdist.rst:196 +#: ../../src/Doc/distutils/builtdist.rst:220 msgid "RPM :file:`.spec` file option or section" msgstr "" -#: distutils/builtdist.rst:196 +#: ../../src/Doc/distutils/builtdist.rst:196 msgid "Distutils setup script option" msgstr "" -#: distutils/builtdist.rst:198 +#: ../../src/Doc/distutils/builtdist.rst:198 msgid "Name" msgstr "Nom" -#: distutils/builtdist.rst:198 distutils/setupscript.rst:564 +#: ../../src/Doc/distutils/builtdist.rst:198 +#: ../../src/Doc/distutils/setupscript.rst:564 msgid "``name``" msgstr "" -#: distutils/builtdist.rst:200 +#: ../../src/Doc/distutils/builtdist.rst:200 msgid "Summary (in preamble)" msgstr "" -#: distutils/builtdist.rst:200 distutils/setupscript.rst:580 +#: ../../src/Doc/distutils/builtdist.rst:200 +#: ../../src/Doc/distutils/setupscript.rst:580 msgid "``description``" msgstr "" -#: distutils/builtdist.rst:202 +#: ../../src/Doc/distutils/builtdist.rst:202 msgid "Version" msgstr "" -#: distutils/builtdist.rst:202 distutils/setupscript.rst:566 +#: ../../src/Doc/distutils/builtdist.rst:202 +#: ../../src/Doc/distutils/setupscript.rst:566 msgid "``version``" msgstr "" -#: distutils/builtdist.rst:204 distutils/builtdist.rst:227 +#: ../../src/Doc/distutils/builtdist.rst:204 +#: ../../src/Doc/distutils/builtdist.rst:227 msgid "Vendor" msgstr "" -#: distutils/builtdist.rst:204 +#: ../../src/Doc/distutils/builtdist.rst:204 msgid "" "``author`` and ``author_email``, or --- & ``maintainer`` and " "``maintainer_email``" msgstr "" -#: distutils/builtdist.rst:208 +#: ../../src/Doc/distutils/builtdist.rst:208 msgid "Copyright" msgstr "Copyright" -#: distutils/builtdist.rst:208 distutils/setupscript.rst:594 +#: ../../src/Doc/distutils/builtdist.rst:208 +#: ../../src/Doc/distutils/setupscript.rst:594 msgid "``license``" msgstr "" -#: distutils/builtdist.rst:210 +#: ../../src/Doc/distutils/builtdist.rst:210 msgid "Url" msgstr "" -#: distutils/builtdist.rst:210 distutils/setupscript.rst:578 +#: ../../src/Doc/distutils/builtdist.rst:210 +#: ../../src/Doc/distutils/setupscript.rst:578 msgid "``url``" msgstr "" -#: distutils/builtdist.rst:212 +#: ../../src/Doc/distutils/builtdist.rst:212 msgid "%description (section)" msgstr "" -#: distutils/builtdist.rst:212 distutils/setupscript.rst:584 +#: ../../src/Doc/distutils/builtdist.rst:212 +#: ../../src/Doc/distutils/setupscript.rst:584 msgid "``long_description``" msgstr "" -#: distutils/builtdist.rst:215 +#: ../../src/Doc/distutils/builtdist.rst:215 msgid "" "Additionally, there are many options in :file:`.spec` files that don't have " "corresponding options in the setup script. Most of these are handled " "through options to the :command:`bdist_rpm` command as follows:" msgstr "" -#: distutils/builtdist.rst:220 +#: ../../src/Doc/distutils/builtdist.rst:220 msgid ":command:`bdist_rpm` option" msgstr "" -#: distutils/builtdist.rst:220 +#: ../../src/Doc/distutils/builtdist.rst:220 msgid "default value" msgstr "" -#: distutils/builtdist.rst:223 +#: ../../src/Doc/distutils/builtdist.rst:223 msgid "Release" msgstr "Publication" -#: distutils/builtdist.rst:223 +#: ../../src/Doc/distutils/builtdist.rst:223 msgid "``release``" msgstr "" -#: distutils/builtdist.rst:223 +#: ../../src/Doc/distutils/builtdist.rst:223 msgid "\"1\"" msgstr "" -#: distutils/builtdist.rst:225 +#: ../../src/Doc/distutils/builtdist.rst:225 msgid "Group" msgstr "" -#: distutils/builtdist.rst:225 +#: ../../src/Doc/distutils/builtdist.rst:225 msgid "``group``" msgstr "" -#: distutils/builtdist.rst:225 +#: ../../src/Doc/distutils/builtdist.rst:225 msgid "\"Development/Libraries\"" msgstr "" -#: distutils/builtdist.rst:227 +#: ../../src/Doc/distutils/builtdist.rst:227 msgid "``vendor``" msgstr "" -#: distutils/builtdist.rst:227 +#: ../../src/Doc/distutils/builtdist.rst:227 msgid "(see above)" msgstr "" -#: distutils/builtdist.rst:229 +#: ../../src/Doc/distutils/builtdist.rst:229 msgid "Packager" msgstr "" -#: distutils/builtdist.rst:229 +#: ../../src/Doc/distutils/builtdist.rst:229 #, fuzzy msgid "``packager``" msgstr "*packages*" -#: distutils/builtdist.rst:229 distutils/builtdist.rst:231 -#: distutils/builtdist.rst:233 distutils/builtdist.rst:235 -#: distutils/builtdist.rst:237 distutils/builtdist.rst:239 -#: distutils/builtdist.rst:241 distutils/builtdist.rst:243 +#: ../../src/Doc/distutils/builtdist.rst:229 +#: ../../src/Doc/distutils/builtdist.rst:231 +#: ../../src/Doc/distutils/builtdist.rst:233 +#: ../../src/Doc/distutils/builtdist.rst:235 +#: ../../src/Doc/distutils/builtdist.rst:237 +#: ../../src/Doc/distutils/builtdist.rst:239 +#: ../../src/Doc/distutils/builtdist.rst:241 +#: ../../src/Doc/distutils/builtdist.rst:243 msgid "(none)" msgstr "" -#: distutils/builtdist.rst:231 +#: ../../src/Doc/distutils/builtdist.rst:231 msgid "Provides" msgstr "" -#: distutils/builtdist.rst:231 +#: ../../src/Doc/distutils/builtdist.rst:231 msgid "``provides``" msgstr "" -#: distutils/builtdist.rst:233 +#: ../../src/Doc/distutils/builtdist.rst:233 msgid "Requires" msgstr "" -#: distutils/builtdist.rst:233 +#: ../../src/Doc/distutils/builtdist.rst:233 msgid "``requires``" msgstr "" -#: distutils/builtdist.rst:235 +#: ../../src/Doc/distutils/builtdist.rst:235 msgid "Conflicts" msgstr "" -#: distutils/builtdist.rst:235 +#: ../../src/Doc/distutils/builtdist.rst:235 msgid "``conflicts``" msgstr "" -#: distutils/builtdist.rst:237 +#: ../../src/Doc/distutils/builtdist.rst:237 msgid "Obsoletes" msgstr "" -#: distutils/builtdist.rst:237 +#: ../../src/Doc/distutils/builtdist.rst:237 msgid "``obsoletes``" msgstr "" -#: distutils/builtdist.rst:239 +#: ../../src/Doc/distutils/builtdist.rst:239 msgid "Distribution" msgstr "" -#: distutils/builtdist.rst:239 +#: ../../src/Doc/distutils/builtdist.rst:239 #, fuzzy msgid "``distribution_name``" msgstr "description" -#: distutils/builtdist.rst:241 +#: ../../src/Doc/distutils/builtdist.rst:241 msgid "BuildRequires" msgstr "" -#: distutils/builtdist.rst:241 +#: ../../src/Doc/distutils/builtdist.rst:241 msgid "``build_requires``" msgstr "" -#: distutils/builtdist.rst:243 +#: ../../src/Doc/distutils/builtdist.rst:243 msgid "Icon" msgstr "" -#: distutils/builtdist.rst:243 +#: ../../src/Doc/distutils/builtdist.rst:243 msgid "``icon``" msgstr "" -#: distutils/builtdist.rst:246 +#: ../../src/Doc/distutils/builtdist.rst:246 msgid "" "Obviously, supplying even a few of these options on the command-line would " "be tedious and error-prone, so it's usually best to put them in the setup " @@ -3045,36 +3100,36 @@ msgid "" "`setup.py`." msgstr "" -#: distutils/builtdist.rst:254 +#: ../../src/Doc/distutils/builtdist.rst:254 msgid "" "There are three steps to building a binary RPM package, all of which are " "handled automatically by the Distutils:" msgstr "" -#: distutils/builtdist.rst:257 +#: ../../src/Doc/distutils/builtdist.rst:257 msgid "" "create a :file:`.spec` file, which describes the package (analogous to the " "Distutils setup script; in fact, much of the information in the setup " "script winds up in the :file:`.spec` file)" msgstr "" -#: distutils/builtdist.rst:261 +#: ../../src/Doc/distutils/builtdist.rst:261 msgid "create the source RPM" msgstr "" -#: distutils/builtdist.rst:263 +#: ../../src/Doc/distutils/builtdist.rst:263 msgid "" "create the \"binary\" RPM (which may or may not contain binary code, " "depending on whether your module distribution contains Python extensions)" msgstr "" -#: distutils/builtdist.rst:266 +#: ../../src/Doc/distutils/builtdist.rst:266 msgid "" "Normally, RPM bundles the last two steps together; when you use the " "Distutils, all three steps are typically bundled together." msgstr "" -#: distutils/builtdist.rst:269 +#: ../../src/Doc/distutils/builtdist.rst:269 msgid "" "If you wish, you can separate these three steps. You can use the :option:`--" "spec-only` option to make :command:`bdist_rpm` just create the :file:`.spec` " @@ -3085,11 +3140,11 @@ msgid "" "`bdist_rpm`.)" msgstr "" -#: distutils/builtdist.rst:297 +#: ../../src/Doc/distutils/builtdist.rst:297 msgid "Creating Windows Installers" msgstr "" -#: distutils/builtdist.rst:299 +#: ../../src/Doc/distutils/builtdist.rst:299 msgid "" "Executable installers are the natural format for binary distributions on " "Windows. They display a nice graphical user interface, display some " @@ -3098,17 +3153,17 @@ msgid "" "or cancel the installation." msgstr "" -#: distutils/builtdist.rst:305 +#: ../../src/Doc/distutils/builtdist.rst:305 msgid "" "Since the metadata is taken from the setup script, creating Windows " "installers is usually as easy as running::" msgstr "" -#: distutils/builtdist.rst:310 +#: ../../src/Doc/distutils/builtdist.rst:310 msgid "or the :command:`bdist` command with the :option:`--formats` option::" msgstr "" -#: distutils/builtdist.rst:314 +#: ../../src/Doc/distutils/builtdist.rst:314 msgid "" "If you have a pure module distribution (only containing pure Python modules " "and packages), the resulting installer will be version independent and have " @@ -3116,7 +3171,7 @@ msgid "" "on Unix platforms or Mac OS X." msgstr "" -#: distutils/builtdist.rst:319 +#: ../../src/Doc/distutils/builtdist.rst:319 msgid "" "If you have a non-pure distribution, the extensions can only be created on a " "Windows platform, and will be Python version dependent. The installer " @@ -3125,7 +3180,7 @@ msgid "" "want to support." msgstr "" -#: distutils/builtdist.rst:325 +#: ../../src/Doc/distutils/builtdist.rst:325 msgid "" "The installer will try to compile pure modules into :term:`bytecode` after " "installation on the target system in normal and optimizing mode. If you " @@ -3134,14 +3189,14 @@ msgid "" "option:`--no-target-optimize` option." msgstr "" -#: distutils/builtdist.rst:331 +#: ../../src/Doc/distutils/builtdist.rst:331 msgid "" "By default the installer will display the cool \"Python Powered\" logo when " "it is run, but you can also supply your own 152x261 bitmap which must be a " "Windows :file:`.bmp` file with the :option:`--bitmap` option." msgstr "" -#: distutils/builtdist.rst:335 +#: ../../src/Doc/distutils/builtdist.rst:335 msgid "" "The installer will also display a large title on the desktop background " "window when it is run, which is constructed from the name of your " @@ -3149,18 +3204,18 @@ msgid "" "using the :option:`--title` option." msgstr "" -#: distutils/builtdist.rst:340 +#: ../../src/Doc/distutils/builtdist.rst:340 msgid "" "The installer file will be written to the \"distribution directory\" --- " "normally :file:`dist/`, but customizable with the :option:`--dist-dir` " "option." msgstr "" -#: distutils/builtdist.rst:346 +#: ../../src/Doc/distutils/builtdist.rst:346 msgid "Cross-compiling on Windows" msgstr "" -#: distutils/builtdist.rst:348 +#: ../../src/Doc/distutils/builtdist.rst:348 msgid "" "Starting with Python 2.6, distutils is capable of cross-compiling between " "Windows platforms. In practice, this means that with the correct tools " @@ -3168,26 +3223,26 @@ msgid "" "and vice-versa." msgstr "" -#: distutils/builtdist.rst:353 +#: ../../src/Doc/distutils/builtdist.rst:353 msgid "" "To build for an alternate platform, specify the :option:`--plat-name` option " "to the build command. Valid values are currently 'win32', 'win-amd64' and " "'win-ia64'. For example, on a 32bit version of Windows, you could execute::" msgstr "" -#: distutils/builtdist.rst:359 +#: ../../src/Doc/distutils/builtdist.rst:359 msgid "" "to build a 64bit version of your extension. The Windows Installers also " "support this option, so the command::" msgstr "" -#: distutils/builtdist.rst:364 +#: ../../src/Doc/distutils/builtdist.rst:364 msgid "" "would create a 64bit installation executable on your 32bit version of " "Windows." msgstr "" -#: distutils/builtdist.rst:366 +#: ../../src/Doc/distutils/builtdist.rst:366 msgid "" "To cross-compile, you must download the Python source code and cross-compile " "Python itself for the platform you are targeting - it is not possible from a " @@ -3199,7 +3254,7 @@ msgid "" "is possible." msgstr "" -#: distutils/builtdist.rst:375 +#: ../../src/Doc/distutils/builtdist.rst:375 msgid "" "Note that by default, Visual Studio 2008 does not install 64bit compilers or " "tools. You may need to reexecute the Visual Studio setup process and select " @@ -3207,11 +3262,11 @@ msgid "" "to check or modify your existing install.)" msgstr "" -#: distutils/builtdist.rst:383 +#: ../../src/Doc/distutils/builtdist.rst:383 msgid "The Postinstallation script" msgstr "" -#: distutils/builtdist.rst:385 +#: ../../src/Doc/distutils/builtdist.rst:385 msgid "" "Starting with Python 2.3, a postinstallation script can be specified with " "the :option:`--install-script` option. The basename of the script must be " @@ -3219,7 +3274,7 @@ msgid "" "argument to the setup function." msgstr "" -#: distutils/builtdist.rst:390 +#: ../../src/Doc/distutils/builtdist.rst:390 msgid "" "This script will be run at installation time on the target system after all " "the files have been copied, with ``argv[1]`` set to :option:`-install`, and " @@ -3227,20 +3282,20 @@ msgid "" "set to :option:`-remove`." msgstr "" -#: distutils/builtdist.rst:395 +#: ../../src/Doc/distutils/builtdist.rst:395 msgid "" "The installation script runs embedded in the windows installer, every output " "(``sys.stdout``, ``sys.stderr``) is redirected into a buffer and will be " "displayed in the GUI after the script has finished." msgstr "" -#: distutils/builtdist.rst:399 +#: ../../src/Doc/distutils/builtdist.rst:399 msgid "" "Some functions especially useful in this context are available as additional " "built-in functions in the installation script." msgstr "" -#: distutils/builtdist.rst:406 +#: ../../src/Doc/distutils/builtdist.rst:406 msgid "" "These functions should be called when a directory or file is created by the " "postinstall script at installation time. It will register *path* with the " @@ -3248,25 +3303,25 @@ msgid "" "uninstalled. To be safe, directories are only removed if they are empty." msgstr "" -#: distutils/builtdist.rst:414 +#: ../../src/Doc/distutils/builtdist.rst:414 msgid "" "This function can be used to retrieve special folder locations on Windows " "like the Start Menu or the Desktop. It returns the full path to the folder. " "*csidl_string* must be one of the following strings::" msgstr "" -#: distutils/builtdist.rst:434 +#: ../../src/Doc/distutils/builtdist.rst:434 msgid "If the folder cannot be retrieved, :exc:`OSError` is raised." msgstr "" -#: distutils/builtdist.rst:436 +#: ../../src/Doc/distutils/builtdist.rst:436 msgid "" "Which folders are available depends on the exact Windows version, and " "probably also the configuration. For details refer to Microsoft's " "documentation of the :c:func:`SHGetSpecialFolderPath` function." msgstr "" -#: distutils/builtdist.rst:443 +#: ../../src/Doc/distutils/builtdist.rst:443 msgid "" "This function creates a shortcut. *target* is the path to the program to be " "started by the shortcut. *description* is the description of the shortcut. " @@ -3278,11 +3333,11 @@ msgid "" "class:`IShellLink` interface." msgstr "" -#: distutils/builtdist.rst:454 +#: ../../src/Doc/distutils/builtdist.rst:454 msgid "Vista User Access Control (UAC)" msgstr "" -#: distutils/builtdist.rst:456 +#: ../../src/Doc/distutils/builtdist.rst:456 msgid "" "Starting with Python 2.6, bdist_wininst supports a :option:`--user-access-" "control` option. The default is 'none' (meaning no UAC handling is done), " @@ -3291,114 +3346,114 @@ msgid "" "elevation)." msgstr "" -#: distutils/commandref.rst:5 +#: ../../src/Doc/distutils/commandref.rst:5 msgid "Command Reference" msgstr "" -#: distutils/commandref.rst:22 +#: ../../src/Doc/distutils/commandref.rst:22 msgid "Installing modules: the :command:`install` command family" msgstr "" -#: distutils/commandref.rst:24 +#: ../../src/Doc/distutils/commandref.rst:24 msgid "" "The install command ensures that the build commands have been run and then " "runs the subcommands :command:`install_lib`, :command:`install_data` and :" "command:`install_scripts`." msgstr "" -#: distutils/commandref.rst:35 +#: ../../src/Doc/distutils/commandref.rst:35 msgid ":command:`install_data`" msgstr "" -#: distutils/commandref.rst:37 +#: ../../src/Doc/distutils/commandref.rst:37 msgid "This command installs all data files provided with the distribution." msgstr "" -#: distutils/commandref.rst:43 +#: ../../src/Doc/distutils/commandref.rst:43 msgid ":command:`install_scripts`" msgstr "" -#: distutils/commandref.rst:45 +#: ../../src/Doc/distutils/commandref.rst:45 msgid "This command installs all (Python) scripts in the distribution." msgstr "" -#: distutils/commandref.rst:54 +#: ../../src/Doc/distutils/commandref.rst:54 msgid "Creating a source distribution: the :command:`sdist` command" msgstr "" -#: distutils/commandref.rst:58 +#: ../../src/Doc/distutils/commandref.rst:58 msgid "The manifest template commands are:" msgstr "" -#: distutils/commandref.rst:63 +#: ../../src/Doc/distutils/commandref.rst:63 msgid ":command:`include pat1 pat2 ...`" msgstr "" -#: distutils/commandref.rst:63 +#: ../../src/Doc/distutils/commandref.rst:63 msgid "include all files matching any of the listed patterns" msgstr "" -#: distutils/commandref.rst:66 +#: ../../src/Doc/distutils/commandref.rst:66 msgid ":command:`exclude pat1 pat2 ...`" msgstr "" -#: distutils/commandref.rst:66 +#: ../../src/Doc/distutils/commandref.rst:66 msgid "exclude all files matching any of the listed patterns" msgstr "" -#: distutils/commandref.rst:69 +#: ../../src/Doc/distutils/commandref.rst:69 msgid ":command:`recursive-include dir pat1 pat2 ...`" msgstr "" -#: distutils/commandref.rst:69 +#: ../../src/Doc/distutils/commandref.rst:69 msgid "include all files under *dir* matching any of the listed patterns" msgstr "" -#: distutils/commandref.rst:72 +#: ../../src/Doc/distutils/commandref.rst:72 msgid ":command:`recursive-exclude dir pat1 pat2 ...`" msgstr "" -#: distutils/commandref.rst:72 +#: ../../src/Doc/distutils/commandref.rst:72 msgid "exclude all files under *dir* matching any of the listed patterns" msgstr "" -#: distutils/commandref.rst:75 +#: ../../src/Doc/distutils/commandref.rst:75 msgid ":command:`global-include pat1 pat2 ...`" msgstr "" -#: distutils/commandref.rst:75 +#: ../../src/Doc/distutils/commandref.rst:75 msgid "" "include all files anywhere in the source tree matching --- & any of the " "listed patterns" msgstr "" -#: distutils/commandref.rst:78 +#: ../../src/Doc/distutils/commandref.rst:78 msgid ":command:`global-exclude pat1 pat2 ...`" msgstr "" -#: distutils/commandref.rst:78 +#: ../../src/Doc/distutils/commandref.rst:78 msgid "" "exclude all files anywhere in the source tree matching --- & any of the " "listed patterns" msgstr "" -#: distutils/commandref.rst:81 +#: ../../src/Doc/distutils/commandref.rst:81 msgid ":command:`prune dir`" msgstr "" -#: distutils/commandref.rst:81 +#: ../../src/Doc/distutils/commandref.rst:81 msgid "exclude all files under *dir*" msgstr "" -#: distutils/commandref.rst:83 +#: ../../src/Doc/distutils/commandref.rst:83 msgid ":command:`graft dir`" msgstr "" -#: distutils/commandref.rst:83 +#: ../../src/Doc/distutils/commandref.rst:83 msgid "include all files under *dir*" msgstr "" -#: distutils/commandref.rst:86 +#: ../../src/Doc/distutils/commandref.rst:86 msgid "" "The patterns here are Unix-style \"glob\" patterns: ``*`` matches any " "sequence of regular filename characters, ``?`` matches any single regular " @@ -3408,11 +3463,11 @@ msgid "" "slash; on Windows anything except backslash or colon." msgstr "" -#: distutils/configfile.rst:5 +#: ../../src/Doc/distutils/configfile.rst:5 msgid "Writing the Setup Configuration File" msgstr "" -#: distutils/configfile.rst:7 +#: ../../src/Doc/distutils/configfile.rst:7 msgid "" "Often, it's not possible to write down everything needed to build a " "distribution *a priori*: you may need to get some information from the user, " @@ -3425,7 +3480,7 @@ msgid "" "by editing the config file." msgstr "" -#: distutils/configfile.rst:16 +#: ../../src/Doc/distutils/configfile.rst:16 msgid "" "The setup configuration file is a useful middle-ground between the setup " "script ---which, ideally, would be opaque to installers [#]_---and the " @@ -3436,29 +3491,29 @@ msgid "" "has several useful consequences:" msgstr "" -#: distutils/configfile.rst:30 +#: ../../src/Doc/distutils/configfile.rst:30 msgid "" "installers can override some of what you put in :file:`setup.py` by editing :" "file:`setup.cfg`" msgstr "" -#: distutils/configfile.rst:33 +#: ../../src/Doc/distutils/configfile.rst:33 msgid "" "you can provide non-standard defaults for options that are not easily set " "in :file:`setup.py`" msgstr "" -#: distutils/configfile.rst:36 +#: ../../src/Doc/distutils/configfile.rst:36 msgid "" "installers can override anything in :file:`setup.cfg` using the command-line " "options to :file:`setup.py`" msgstr "" -#: distutils/configfile.rst:39 +#: ../../src/Doc/distutils/configfile.rst:39 msgid "The basic syntax of the configuration file is simple::" msgstr "" -#: distutils/configfile.rst:45 +#: ../../src/Doc/distutils/configfile.rst:45 msgid "" "where *command* is one of the Distutils commands (e.g. :command:`build_py`, :" "command:`install`), and *option* is one of the options that command " @@ -3469,19 +3524,19 @@ msgid "" "by indenting the continuation lines." msgstr "" -#: distutils/configfile.rst:53 +#: ../../src/Doc/distutils/configfile.rst:53 msgid "" "You can find out the list of options supported by a particular command with " "the universal :option:`--help` option, e.g. ::" msgstr "" -#: distutils/configfile.rst:69 +#: ../../src/Doc/distutils/configfile.rst:69 msgid "" "Note that an option spelled :option:`--foo-bar` on the command-line is " "spelled ``foo_bar`` in configuration files." msgstr "" -#: distutils/configfile.rst:74 +#: ../../src/Doc/distutils/configfile.rst:74 msgid "" "For example, say you want your extensions to be built \"in-place\"---that " "is, you have an extension :mod:`pkg.ext`, and you want the compiled " @@ -3491,7 +3546,7 @@ msgid "" "ensure this::" msgstr "" -#: distutils/configfile.rst:82 +#: ../../src/Doc/distutils/configfile.rst:82 msgid "" "But this requires that you always specify the :command:`build_ext` command " "explicitly, and remember to provide :option:`--inplace`. An easier way is to " @@ -3499,7 +3554,7 @@ msgid "" "configuration file for this distribution::" msgstr "" -#: distutils/configfile.rst:90 +#: ../../src/Doc/distutils/configfile.rst:90 msgid "" "This will affect all builds of this module distribution, whether or not you " "explicitly specify :command:`build_ext`. If you include :file:`setup.cfg` " @@ -3512,7 +3567,7 @@ msgid "" "always a bad idea, though.)" msgstr "" -#: distutils/configfile.rst:99 +#: ../../src/Doc/distutils/configfile.rst:99 msgid "" "Another example: certain commands take a lot of options that don't change " "from run to run; for example, :command:`bdist_rpm` needs to know everything " @@ -3524,77 +3579,77 @@ msgid "" "snippet from the Distutils' own :file:`setup.cfg`::" msgstr "" -#: distutils/configfile.rst:117 +#: ../../src/Doc/distutils/configfile.rst:117 msgid "" "Note that the ``doc_files`` option is simply a whitespace-separated string " "split across multiple lines for readability." msgstr "" -#: distutils/configfile.rst:124 -msgid "inst-config-syntax in \"Installing Python Modules\"" +#: ../../src/Doc/distutils/configfile.rst:124 +msgid ":ref:`inst-config-syntax` in \"Installing Python Modules\"" msgstr "" -#: distutils/configfile.rst:124 +#: ../../src/Doc/distutils/configfile.rst:124 msgid "" "More information on the configuration files is available in the manual for " "system administrators." msgstr "" -#: distutils/configfile.rst:129 +#: ../../src/Doc/distutils/configfile.rst:129 msgid "Footnotes" msgstr "Notes" -#: distutils/configfile.rst:130 +#: ../../src/Doc/distutils/configfile.rst:130 msgid "" "This ideal probably won't be achieved until auto-configuration is fully " "supported by the Distutils." msgstr "" -#: distutils/examples.rst:5 +#: ../../src/Doc/distutils/examples.rst:5 msgid "Examples" msgstr "" -#: distutils/examples.rst:7 +#: ../../src/Doc/distutils/examples.rst:7 msgid "" "This chapter provides a number of basic examples to help get started with " "distutils. Additional information about using distutils can be found in the " "Distutils Cookbook." msgstr "" -#: distutils/examples.rst:14 -msgid "Distutils Cookbook" +#: ../../src/Doc/distutils/examples.rst:14 +msgid "`Distutils Cookbook `_" msgstr "" -#: distutils/examples.rst:15 +#: ../../src/Doc/distutils/examples.rst:15 msgid "" "Collection of recipes showing how to achieve more control over distutils." msgstr "" -#: distutils/examples.rst:21 +#: ../../src/Doc/distutils/examples.rst:21 msgid "Pure Python distribution (by module)" msgstr "" -#: distutils/examples.rst:23 +#: ../../src/Doc/distutils/examples.rst:23 msgid "" "If you're just distributing a couple of modules, especially if they don't " "live in a particular package, you can specify them individually using the " "``py_modules`` option in the setup script." msgstr "" -#: distutils/examples.rst:27 +#: ../../src/Doc/distutils/examples.rst:27 msgid "" "In the simplest case, you'll have two files to worry about: a setup script " "and the single module you're distributing, :file:`foo.py` in this example::" msgstr "" -#: distutils/examples.rst:34 +#: ../../src/Doc/distutils/examples.rst:34 msgid "" "(In all diagrams in this section, ** will refer to the distribution " "root directory.) A minimal setup script to describe this situation would " "be::" msgstr "" -#: distutils/examples.rst:43 +#: ../../src/Doc/distutils/examples.rst:43 msgid "" "Note that the name of the distribution is specified independently with the " "``name`` option, and there's no rule that says it has to be the same as the " @@ -3603,29 +3658,29 @@ msgid "" "filenames, so you should stick to letters, digits, underscores, and hyphens." msgstr "" -#: distutils/examples.rst:49 +#: ../../src/Doc/distutils/examples.rst:49 msgid "" "Since ``py_modules`` is a list, you can of course specify multiple modules, " "eg. if you're distributing modules :mod:`foo` and :mod:`bar`, your setup " "might look like this::" msgstr "" -#: distutils/examples.rst:58 +#: ../../src/Doc/distutils/examples.rst:58 msgid "and the setup script might be ::" msgstr "" -#: distutils/examples.rst:66 +#: ../../src/Doc/distutils/examples.rst:66 msgid "" "You can put module source files into another directory, but if you have " "enough modules to do that, it's probably easier to specify modules by " "package rather than listing them individually." msgstr "" -#: distutils/examples.rst:74 +#: ../../src/Doc/distutils/examples.rst:74 msgid "Pure Python distribution (by package)" msgstr "" -#: distutils/examples.rst:76 +#: ../../src/Doc/distutils/examples.rst:76 msgid "" "If you have more than a couple of modules to distribute, especially if they " "are in multiple packages, it's probably easier to specify whole packages " @@ -3635,27 +3690,27 @@ msgid "" "have to have an :file:`__init__.py` file)." msgstr "" -#: distutils/examples.rst:83 +#: ../../src/Doc/distutils/examples.rst:83 msgid "The setup script from the last example could also be written as ::" msgstr "" -#: distutils/examples.rst:91 +#: ../../src/Doc/distutils/examples.rst:91 msgid "(The empty string stands for the root package.)" msgstr "" -#: distutils/examples.rst:93 +#: ../../src/Doc/distutils/examples.rst:93 msgid "" "If those two files are moved into a subdirectory, but remain in the root " "package, e.g.::" msgstr "" -#: distutils/examples.rst:101 +#: ../../src/Doc/distutils/examples.rst:101 msgid "" "then you would still specify the root package, but you have to tell the " "Distutils where source files in the root package live::" msgstr "" -#: distutils/examples.rst:111 +#: ../../src/Doc/distutils/examples.rst:111 msgid "" "More typically, though, you will want to distribute multiple modules in the " "same package (or in sub-packages). For example, if the :mod:`foo` and :mod:" @@ -3663,38 +3718,38 @@ msgid "" "tree is ::" msgstr "" -#: distutils/examples.rst:123 +#: ../../src/Doc/distutils/examples.rst:123 msgid "" "This is in fact the default layout expected by the Distutils, and the one " "that requires the least work to describe in your setup script::" msgstr "" -#: distutils/examples.rst:132 +#: ../../src/Doc/distutils/examples.rst:132 msgid "" "If you want to put modules in directories not named for their package, then " "you need to use the ``package_dir`` option again. For example, if the :file:" "`src` directory holds modules in the :mod:`foobar` package::" msgstr "" -#: distutils/examples.rst:143 +#: ../../src/Doc/distutils/examples.rst:143 msgid "an appropriate setup script would be ::" msgstr "" -#: distutils/examples.rst:152 +#: ../../src/Doc/distutils/examples.rst:152 msgid "" "Or, you might put modules from your main package right in the distribution " "root::" msgstr "" -#: distutils/examples.rst:161 +#: ../../src/Doc/distutils/examples.rst:161 msgid "in which case your setup script would be ::" msgstr "" -#: distutils/examples.rst:170 +#: ../../src/Doc/distutils/examples.rst:170 msgid "(The empty string also stands for the current directory.)" msgstr "" -#: distutils/examples.rst:172 +#: ../../src/Doc/distutils/examples.rst:172 msgid "" "If you have sub-packages, they must be explicitly listed in ``packages``, " "but any entries in ``package_dir`` automatically extend to sub-packages. (In " @@ -3703,15 +3758,15 @@ msgid "" "file:`__init__.py` files.) Thus, if the default layout grows a sub-package::" msgstr "" -#: distutils/examples.rst:188 +#: ../../src/Doc/distutils/examples.rst:188 msgid "then the corresponding setup script would be ::" msgstr "" -#: distutils/examples.rst:200 +#: ../../src/Doc/distutils/examples.rst:200 msgid "Single extension module" msgstr "" -#: distutils/examples.rst:202 +#: ../../src/Doc/distutils/examples.rst:202 msgid "" "Extension modules are specified using the ``ext_modules`` option. " "``package_dir`` has no effect on where extension source files are found; it " @@ -3719,75 +3774,75 @@ msgid "" "single extension module in a single C source file, is::" msgstr "" -#: distutils/examples.rst:211 +#: ../../src/Doc/distutils/examples.rst:211 msgid "" "If the :mod:`foo` extension belongs in the root package, the setup script " "for this could be ::" msgstr "" -#: distutils/examples.rst:221 +#: ../../src/Doc/distutils/examples.rst:221 msgid "If the extension actually belongs in a package, say :mod:`foopkg`, then" msgstr "" -#: distutils/examples.rst:223 +#: ../../src/Doc/distutils/examples.rst:223 msgid "" "With exactly the same source tree layout, this extension can be put in the :" "mod:`foopkg` package simply by changing the name of the extension::" msgstr "" -#: distutils/examples.rst:234 +#: ../../src/Doc/distutils/examples.rst:234 msgid "Checking a package" msgstr "" -#: distutils/examples.rst:236 +#: ../../src/Doc/distutils/examples.rst:236 msgid "" "The ``check`` command allows you to verify if your package meta-data meet " "the minimum requirements to build a distribution." msgstr "" -#: distutils/examples.rst:239 +#: ../../src/Doc/distutils/examples.rst:239 msgid "" "To run it, just call it using your :file:`setup.py` script. If something is " "missing, ``check`` will display a warning." msgstr "" -#: distutils/examples.rst:242 +#: ../../src/Doc/distutils/examples.rst:242 msgid "Let's take an example with a simple script::" msgstr "" -#: distutils/examples.rst:248 +#: ../../src/Doc/distutils/examples.rst:248 msgid "Running the ``check`` command will display some warnings::" msgstr "" -#: distutils/examples.rst:257 +#: ../../src/Doc/distutils/examples.rst:257 msgid "" "If you use the reStructuredText syntax in the ``long_description`` field and " "`docutils`_ is installed you can check if the syntax is fine with the " "``check`` command, using the ``restructuredtext`` option." msgstr "" -#: distutils/examples.rst:261 +#: ../../src/Doc/distutils/examples.rst:261 msgid "For example, if the :file:`setup.py` script is changed like this::" msgstr "" -#: distutils/examples.rst:276 +#: ../../src/Doc/distutils/examples.rst:276 msgid "" "Where the long description is broken, ``check`` will be able to detect it by " "using the :mod:`docutils` parser::" msgstr "" -#: distutils/examples.rst:285 +#: ../../src/Doc/distutils/examples.rst:285 msgid "Reading the metadata" msgstr "" -#: distutils/examples.rst:287 +#: ../../src/Doc/distutils/examples.rst:287 msgid "" "The :func:`distutils.core.setup` function provides a command-line interface " "that allows you to query the metadata fields of a project through the " "``setup.py`` script of a given project::" msgstr "" -#: distutils/examples.rst:294 +#: ../../src/Doc/distutils/examples.rst:294 msgid "" "This call reads the ``name`` metadata by running the :func:`distutils.core." "setup` function. Although, when a source or binary distribution is created " @@ -3799,23 +3854,23 @@ msgid "" "and ``pyX.X`` the major and minor version of Python like ``2.7`` or ``3.2``." msgstr "" -#: distutils/examples.rst:304 +#: ../../src/Doc/distutils/examples.rst:304 msgid "" "You can read back this static file, by using the :class:`distutils.dist." "DistributionMetadata` class and its :func:`read_pkg_file` method::" msgstr "" -#: distutils/examples.rst:318 +#: ../../src/Doc/distutils/examples.rst:318 msgid "" "Notice that the class can also be instanciated with a metadata file path to " "loads its values::" msgstr "" -#: distutils/extending.rst:5 +#: ../../src/Doc/distutils/extending.rst:5 msgid "Extending Distutils" msgstr "" -#: distutils/extending.rst:7 +#: ../../src/Doc/distutils/extending.rst:7 msgid "" "Distutils can be extended in various ways. Most extensions take the form of " "new commands or replacements for existing commands. New commands may be " @@ -3824,7 +3879,7 @@ msgid "" "how the command operates on a package." msgstr "" -#: distutils/extending.rst:13 +#: ../../src/Doc/distutils/extending.rst:13 msgid "" "Most extensions of the distutils are made within :file:`setup.py` scripts " "that want to modify existing commands; many simply add a few file extensions " @@ -3832,7 +3887,7 @@ msgid "" "convenience." msgstr "" -#: distutils/extending.rst:18 +#: ../../src/Doc/distutils/extending.rst:18 msgid "" "Most distutils command implementations are subclasses of the :class:" "`distutils.cmd.Command` class. New commands may directly inherit from :" @@ -3841,11 +3896,11 @@ msgid "" "are required to derive from :class:`Command`." msgstr "" -#: distutils/extending.rst:33 +#: ../../src/Doc/distutils/extending.rst:33 msgid "Integrating new commands" msgstr "" -#: distutils/extending.rst:35 +#: ../../src/Doc/distutils/extending.rst:35 msgid "" "There are different ways to integrate new command implementations into " "distutils. The most difficult is to lobby for the inclusion of the new " @@ -3853,21 +3908,21 @@ msgid "" "that provides that support. This is really hard for many reasons." msgstr "" -#: distutils/extending.rst:40 +#: ../../src/Doc/distutils/extending.rst:40 msgid "" "The most common, and possibly the most reasonable for most needs, is to " "include the new implementations with your :file:`setup.py` script, and cause " "the :func:`distutils.core.setup` function use them::" msgstr "" -#: distutils/extending.rst:55 +#: ../../src/Doc/distutils/extending.rst:55 msgid "" "This approach is most valuable if the new implementations must be used to " "use a particular package, as everyone interested in the package will need to " "have the new command implementation." msgstr "" -#: distutils/extending.rst:59 +#: ../../src/Doc/distutils/extending.rst:59 msgid "" "Beginning with Python 2.4, a third option is available, intended to allow " "new commands to be added which can support existing :file:`setup.py` scripts " @@ -3885,7 +3940,7 @@ msgid "" "This should never be set in a configuration file provided with a package." msgstr "" -#: distutils/extending.rst:74 +#: ../../src/Doc/distutils/extending.rst:74 msgid "" "This new option can be used to add any number of packages to the list of " "packages searched for command implementations; multiple package names should " @@ -3900,11 +3955,11 @@ msgid "" "bdist_openpkg` or :class:`buildcmds.bdist_openpkg.bdist_openpkg`." msgstr "" -#: distutils/extending.rst:88 +#: ../../src/Doc/distutils/extending.rst:88 msgid "Adding new distribution types" msgstr "" -#: distutils/extending.rst:90 +#: ../../src/Doc/distutils/extending.rst:90 msgid "" "Commands that create distributions (files in the :file:`dist/` directory) " "need to add ``(command, filename)`` pairs to ``self.distribution." @@ -3914,19 +3969,19 @@ msgid "" "would have been created." msgstr "" -#: distutils/index.rst:5 +#: ../../src/Doc/distutils/index.rst:5 msgid "Distributing Python Modules (Legacy version)" msgstr "" -#: distutils/index.rst:7 +#: ../../src/Doc/distutils/index.rst:7 msgid "Greg Ward, Anthony Baxter" msgstr "" -#: distutils/index.rst:8 +#: ../../src/Doc/distutils/index.rst:8 msgid "distutils-sig@python.org" msgstr "distutils-sig@python.org" -#: distutils/index.rst:10 +#: ../../src/Doc/distutils/index.rst:10 msgid "" "This document describes the Python Distribution Utilities (\"Distutils\") " "from the module developer's point of view, describing how to use the " @@ -3934,7 +3989,7 @@ msgid "" "audience with very little overhead for build/release/install mechanics." msgstr "" -#: distutils/index.rst:17 +#: ../../src/Doc/distutils/index.rst:17 msgid "" "This guide only covers the basic tools for building and distributing " "extensions that are provided as part of this version of Python. Third party " @@ -3943,11 +3998,11 @@ msgid "" "in the Python Packaging User Guide for more information." msgstr "" -#: distutils/introduction.rst:5 +#: ../../src/Doc/distutils/introduction.rst:5 msgid "An Introduction to Distutils" msgstr "" -#: distutils/introduction.rst:7 +#: ../../src/Doc/distutils/introduction.rst:7 msgid "" "This document covers using the Distutils to distribute your Python modules, " "concentrating on the role of developer/distributor: if you're looking for " @@ -3955,11 +4010,11 @@ msgid "" "`install-index` chapter." msgstr "" -#: distutils/introduction.rst:16 +#: ../../src/Doc/distutils/introduction.rst:16 msgid "Concepts & Terminology" msgstr "" -#: distutils/introduction.rst:18 +#: ../../src/Doc/distutils/introduction.rst:18 msgid "" "Using the Distutils is quite simple, both for module developers and for " "users/administrators installing third-party modules. As a developer, your " @@ -3967,27 +4022,27 @@ msgid "" "code, of course!) are:" msgstr "" -#: distutils/introduction.rst:23 +#: ../../src/Doc/distutils/introduction.rst:23 msgid "write a setup script (:file:`setup.py` by convention)" msgstr "" -#: distutils/introduction.rst:25 +#: ../../src/Doc/distutils/introduction.rst:25 msgid "(optional) write a setup configuration file" msgstr "" -#: distutils/introduction.rst:27 +#: ../../src/Doc/distutils/introduction.rst:27 msgid "create a source distribution" msgstr "" -#: distutils/introduction.rst:29 +#: ../../src/Doc/distutils/introduction.rst:29 msgid "(optional) create one or more built (binary) distributions" msgstr "" -#: distutils/introduction.rst:31 +#: ../../src/Doc/distutils/introduction.rst:31 msgid "Each of these tasks is covered in this document." msgstr "" -#: distutils/introduction.rst:33 +#: ../../src/Doc/distutils/introduction.rst:33 msgid "" "Not all module developers have access to a multitude of platforms, so it's " "not always feasible to expect them to create a multitude of built " @@ -4000,12 +4055,12 @@ msgid "" "having to run a single setup script or compile a line of code." msgstr "" -#: distutils/introduction.rst:47 +#: ../../src/Doc/distutils/introduction.rst:47 #, fuzzy msgid "A Simple Example" msgstr "Un exemple simple" -#: distutils/introduction.rst:49 +#: ../../src/Doc/distutils/introduction.rst:49 msgid "" "The setup script is usually quite simple, although since it's written in " "Python, there are no arbitrary limits to what you can do with it, though you " @@ -4015,56 +4070,56 @@ msgid "" "your module distribution." msgstr "" -#: distutils/introduction.rst:56 +#: ../../src/Doc/distutils/introduction.rst:56 msgid "" "If all you want to do is distribute a module called :mod:`foo`, contained in " "a file :file:`foo.py`, then your setup script can be as simple as this::" msgstr "" -#: distutils/introduction.rst:65 +#: ../../src/Doc/distutils/introduction.rst:65 msgid "Some observations:" msgstr "" -#: distutils/introduction.rst:67 +#: ../../src/Doc/distutils/introduction.rst:67 msgid "" "most information that you supply to the Distutils is supplied as keyword " "arguments to the :func:`setup` function" msgstr "" -#: distutils/introduction.rst:70 +#: ../../src/Doc/distutils/introduction.rst:70 msgid "" "those keyword arguments fall into two categories: package metadata (name, " "version number) and information about what's in the package (a list of pure " "Python modules, in this case)" msgstr "" -#: distutils/introduction.rst:74 +#: ../../src/Doc/distutils/introduction.rst:74 msgid "" "modules are specified by module name, not filename (the same will hold true " "for packages and extensions)" msgstr "" -#: distutils/introduction.rst:77 +#: ../../src/Doc/distutils/introduction.rst:77 msgid "" "it's recommended that you supply a little more metadata, in particular your " "name, email address and a URL for the project (see section :ref:`setup-" "script` for an example)" msgstr "" -#: distutils/introduction.rst:81 +#: ../../src/Doc/distutils/introduction.rst:81 msgid "" "To create a source distribution for this module, you would create a setup " "script, :file:`setup.py`, containing the above code, and run this command " "from a terminal::" msgstr "" -#: distutils/introduction.rst:87 +#: ../../src/Doc/distutils/introduction.rst:87 msgid "" "For Windows, open a command prompt window (:menuselection:`Start --> " "Accessories`) and change the command to::" msgstr "" -#: distutils/introduction.rst:92 +#: ../../src/Doc/distutils/introduction.rst:92 msgid "" ":command:`sdist` will create an archive file (e.g., tarball on Unix, ZIP " "file on Windows) containing your setup script :file:`setup.py`, and your " @@ -4072,20 +4127,20 @@ msgid "" "(or :file:`.zip`), and will unpack into a directory :file:`foo-1.0`." msgstr "" -#: distutils/introduction.rst:97 +#: ../../src/Doc/distutils/introduction.rst:97 msgid "" "If an end-user wishes to install your :mod:`foo` module, all she has to do " "is download :file:`foo-1.0.tar.gz` (or :file:`.zip`), unpack it, and---from " "the :file:`foo-1.0` directory---run ::" msgstr "" -#: distutils/introduction.rst:103 +#: ../../src/Doc/distutils/introduction.rst:103 msgid "" "which will ultimately copy :file:`foo.py` to the appropriate directory for " "third-party modules in their Python installation." msgstr "" -#: distutils/introduction.rst:106 +#: ../../src/Doc/distutils/introduction.rst:106 msgid "" "This simple example demonstrates some fundamental concepts of the Distutils. " "First, both developers and installers have the same basic user interface, i." @@ -4095,7 +4150,7 @@ msgid "" "developers will want to install their own code occasionally)." msgstr "" -#: distutils/introduction.rst:113 +#: ../../src/Doc/distutils/introduction.rst:113 msgid "" "If you want to make things really easy for your users, you can create one or " "more built distributions for them. For instance, if you are running on a " @@ -4105,13 +4160,13 @@ msgid "" "For example::" msgstr "" -#: distutils/introduction.rst:121 +#: ../../src/Doc/distutils/introduction.rst:121 msgid "" "will create an executable installer, :file:`foo-1.0.win32.exe`, in the " "current directory." msgstr "" -#: distutils/introduction.rst:124 +#: ../../src/Doc/distutils/introduction.rst:124 msgid "" "Other useful built distribution formats are RPM, implemented by the :command:" "`bdist_rpm` command, Solaris :program:`pkgtool` (:command:`bdist_pkgtool`), " @@ -4119,24 +4174,24 @@ msgid "" "following command will create an RPM file called :file:`foo-1.0.noarch.rpm`::" msgstr "" -#: distutils/introduction.rst:132 +#: ../../src/Doc/distutils/introduction.rst:132 msgid "" "(The :command:`bdist_rpm` command uses the :command:`rpm` executable, " "therefore this has to be run on an RPM-based system such as Red Hat Linux, " "SuSE Linux, or Mandrake Linux.)" msgstr "" -#: distutils/introduction.rst:136 +#: ../../src/Doc/distutils/introduction.rst:136 msgid "" "You can find out what distribution formats are available at any time by " "running ::" msgstr "" -#: distutils/introduction.rst:145 +#: ../../src/Doc/distutils/introduction.rst:145 msgid "General Python terminology" msgstr "" -#: distutils/introduction.rst:147 +#: ../../src/Doc/distutils/introduction.rst:147 msgid "" "If you're reading this document, you probably have a good idea of what " "modules, extensions, and so forth are. Nevertheless, just to be sure that " @@ -4144,35 +4199,35 @@ msgid "" "glossary of common Python terms:" msgstr "" -#: distutils/introduction.rst:155 +#: ../../src/Doc/distutils/introduction.rst:155 #, fuzzy msgid "module" msgstr "*py_modules*" -#: distutils/introduction.rst:153 +#: ../../src/Doc/distutils/introduction.rst:153 msgid "" "the basic unit of code reusability in Python: a block of code imported by " "some other code. Three types of modules concern us here: pure Python " "modules, extension modules, and packages." msgstr "" -#: distutils/introduction.rst:160 +#: ../../src/Doc/distutils/introduction.rst:160 msgid "pure Python module" msgstr "" -#: distutils/introduction.rst:158 +#: ../../src/Doc/distutils/introduction.rst:158 msgid "" "a module written in Python and contained in a single :file:`.py` file (and " "possibly associated :file:`.pyc` files). Sometimes referred to as a \"pure " "module.\"" msgstr "" -#: distutils/introduction.rst:168 +#: ../../src/Doc/distutils/introduction.rst:168 #, fuzzy msgid "extension module" msgstr "*ext_modules*" -#: distutils/introduction.rst:163 +#: ../../src/Doc/distutils/introduction.rst:163 msgid "" "a module written in the low-level language of the Python implementation: C/C+" "+ for Python, Java for Jython. Typically contained in a single dynamically " @@ -4183,24 +4238,24 @@ msgid "" "Python.)" msgstr "" -#: distutils/introduction.rst:173 +#: ../../src/Doc/distutils/introduction.rst:173 #, fuzzy msgid "package" msgstr "*packages*" -#: distutils/introduction.rst:171 +#: ../../src/Doc/distutils/introduction.rst:171 msgid "" "a module that contains other modules; typically contained in a directory in " "the filesystem and distinguished from other directories by the presence of a " "file :file:`__init__.py`." msgstr "" -#: distutils/introduction.rst:183 +#: ../../src/Doc/distutils/introduction.rst:183 #, fuzzy msgid "root package" msgstr "*packages*" -#: distutils/introduction.rst:176 +#: ../../src/Doc/distutils/introduction.rst:176 msgid "" "the root of the hierarchy of packages. (This isn't really a package, since " "it doesn't have an :file:`__init__.py` file. But we have to call it " @@ -4211,22 +4266,22 @@ msgid "" "``sys.path`` contributes modules to the root package." msgstr "" -#: distutils/introduction.rst:188 +#: ../../src/Doc/distutils/introduction.rst:188 msgid "Distutils-specific terminology" msgstr "" -#: distutils/introduction.rst:190 +#: ../../src/Doc/distutils/introduction.rst:190 msgid "" "The following terms apply more specifically to the domain of distributing " "Python modules using the Distutils:" msgstr "" -#: distutils/introduction.rst:199 +#: ../../src/Doc/distutils/introduction.rst:199 #, fuzzy msgid "module distribution" msgstr "description" -#: distutils/introduction.rst:194 +#: ../../src/Doc/distutils/introduction.rst:194 msgid "" "a collection of Python modules distributed together as a single downloadable " "resource and meant to be installed *en masse*. Examples of some well-known " @@ -4236,67 +4291,67 @@ msgid "" "one, or many Python packages.)" msgstr "" -#: distutils/introduction.rst:203 +#: ../../src/Doc/distutils/introduction.rst:203 msgid "pure module distribution" msgstr "" -#: distutils/introduction.rst:202 +#: ../../src/Doc/distutils/introduction.rst:202 msgid "" "a module distribution that contains only pure Python modules and packages. " "Sometimes referred to as a \"pure distribution.\"" msgstr "" -#: distutils/introduction.rst:207 +#: ../../src/Doc/distutils/introduction.rst:207 msgid "non-pure module distribution" msgstr "" -#: distutils/introduction.rst:206 +#: ../../src/Doc/distutils/introduction.rst:206 msgid "" "a module distribution that contains at least one extension module. " "Sometimes referred to as a \"non-pure distribution.\"" msgstr "" -#: distutils/introduction.rst:211 +#: ../../src/Doc/distutils/introduction.rst:211 msgid "distribution root" msgstr "" -#: distutils/introduction.rst:210 +#: ../../src/Doc/distutils/introduction.rst:210 msgid "" "the top-level directory of your source tree (or source distribution); the " "directory where :file:`setup.py` exists. Generally :file:`setup.py` will " "be run from this directory." msgstr "" -#: distutils/packageindex.rst:9 +#: ../../src/Doc/distutils/packageindex.rst:9 msgid "The Python Package Index (PyPI)" msgstr "" -#: distutils/packageindex.rst:11 +#: ../../src/Doc/distutils/packageindex.rst:11 msgid "" "The `Python Package Index (PyPI)`_ stores :ref:`meta-data ` " "describing distributions packaged with distutils, as well as package data " "like distribution files if a package author wishes." msgstr "" -#: distutils/packageindex.rst:15 +#: ../../src/Doc/distutils/packageindex.rst:15 msgid "" "Distutils provides the :command:`register` and :command:`upload` commands " "for pushing meta-data and distribution files to PyPI, respectively. See :" "ref:`package-commands` for information on these commands." msgstr "" -#: distutils/packageindex.rst:21 +#: ../../src/Doc/distutils/packageindex.rst:21 msgid "PyPI overview" msgstr "" -#: distutils/packageindex.rst:23 +#: ../../src/Doc/distutils/packageindex.rst:23 msgid "" "PyPI lets you submit any number of versions of your distribution to the " "index. If you alter the meta-data for a particular version, you can submit " "it again and the index will be updated." msgstr "" -#: distutils/packageindex.rst:27 +#: ../../src/Doc/distutils/packageindex.rst:27 msgid "" "PyPI holds a record for each (name, version) combination submitted. The " "first user to submit information for a given name is designated the Owner of " @@ -4306,25 +4361,25 @@ msgid "" "designate new Owners or Maintainers." msgstr "" -#: distutils/packageindex.rst:34 +#: ../../src/Doc/distutils/packageindex.rst:34 msgid "" "By default PyPI displays only the newest version of a given package. The " "web interface lets one change this default behavior and manually select " "which versions to display and hide." msgstr "" -#: distutils/packageindex.rst:38 +#: ../../src/Doc/distutils/packageindex.rst:38 msgid "" "For each version, PyPI displays a home page. The home page is created from " "the ``long_description`` which can be submitted via the :command:`register` " "command. See :ref:`package-display` for more information." msgstr "" -#: distutils/packageindex.rst:46 +#: ../../src/Doc/distutils/packageindex.rst:46 msgid "Distutils commands" msgstr "" -#: distutils/packageindex.rst:48 +#: ../../src/Doc/distutils/packageindex.rst:48 msgid "" "Distutils exposes two commands for submitting package data to PyPI: the :ref:" "`register ` command for submitting meta-data to PyPI and " @@ -4333,28 +4388,28 @@ msgid "" "ref:`.pypirc file `." msgstr "" -#: distutils/packageindex.rst:58 +#: ../../src/Doc/distutils/packageindex.rst:58 msgid "The ``register`` command" msgstr "" -#: distutils/packageindex.rst:60 +#: ../../src/Doc/distutils/packageindex.rst:60 msgid "" "The distutils command :command:`register` is used to submit your " "distribution's meta-data to an index server. It is invoked as follows::" msgstr "" -#: distutils/packageindex.rst:65 +#: ../../src/Doc/distutils/packageindex.rst:65 msgid "Distutils will respond with the following prompt::" msgstr "" -#: distutils/packageindex.rst:75 +#: ../../src/Doc/distutils/packageindex.rst:75 msgid "" "Note: if your username and password are saved locally, you will not see this " "menu. Also, refer to :ref:`pypirc` for how to store your credentials in a :" "file:`.pypirc` file." msgstr "" -#: distutils/packageindex.rst:79 +#: ../../src/Doc/distutils/packageindex.rst:79 msgid "" "If you have not registered with PyPI, then you will need to do so now. You " "should choose option 2, and enter your details as required. Soon after " @@ -4362,35 +4417,35 @@ msgid "" "confirm your registration." msgstr "" -#: distutils/packageindex.rst:84 +#: ../../src/Doc/distutils/packageindex.rst:84 msgid "" "Once you are registered, you may choose option 1 from the menu. You will be " "prompted for your PyPI username and password, and :command:`register` will " "then submit your meta-data to the index." msgstr "" -#: distutils/packageindex.rst:88 +#: ../../src/Doc/distutils/packageindex.rst:88 msgid "" "See :ref:`package-cmdoptions` for options to the :command:`register` command." msgstr "" -#: distutils/packageindex.rst:94 +#: ../../src/Doc/distutils/packageindex.rst:94 msgid "The ``upload`` command" msgstr "" -#: distutils/packageindex.rst:96 +#: ../../src/Doc/distutils/packageindex.rst:96 msgid "" "The distutils command :command:`upload` pushes the distribution files to " "PyPI." msgstr "" -#: distutils/packageindex.rst:98 +#: ../../src/Doc/distutils/packageindex.rst:98 msgid "" "The command is invoked immediately after building one or more distribution " "files. For example, the command ::" msgstr "" -#: distutils/packageindex.rst:103 +#: ../../src/Doc/distutils/packageindex.rst:103 msgid "" "will cause the source distribution and the Windows installer to be uploaded " "to PyPI. Note that these will be uploaded even if they are built using an " @@ -4399,7 +4454,7 @@ msgid "" "are uploaded." msgstr "" -#: distutils/packageindex.rst:108 +#: ../../src/Doc/distutils/packageindex.rst:108 msgid "" "If a :command:`register` command was previously called in the same command, " "and if the password was entered in the prompt, :command:`upload` will reuse " @@ -4407,7 +4462,7 @@ msgid "" "in clear text in a :file:`.pypirc` file." msgstr "" -#: distutils/packageindex.rst:113 +#: ../../src/Doc/distutils/packageindex.rst:113 msgid "" "You can use the ``--sign`` option to tell :command:`upload` to sign each " "uploaded file using GPG (GNU Privacy Guard). The :program:`gpg` program " @@ -4415,50 +4470,50 @@ msgid "" "specify which key to use for signing using the ``--identity=name`` option." msgstr "" -#: distutils/packageindex.rst:118 +#: ../../src/Doc/distutils/packageindex.rst:118 msgid "" "See :ref:`package-cmdoptions` for additional options to the :command:" "`upload` command." msgstr "" -#: distutils/packageindex.rst:125 +#: ../../src/Doc/distutils/packageindex.rst:125 msgid "Additional command options" msgstr "" -#: distutils/packageindex.rst:127 +#: ../../src/Doc/distutils/packageindex.rst:127 msgid "" "This section describes options common to both the :command:`register` and :" "command:`upload` commands." msgstr "" -#: distutils/packageindex.rst:130 +#: ../../src/Doc/distutils/packageindex.rst:130 msgid "" "The ``--repository`` or ``-r`` option lets you specify a PyPI server " "different from the default. For example::" msgstr "" -#: distutils/packageindex.rst:135 +#: ../../src/Doc/distutils/packageindex.rst:135 msgid "" "For convenience, a name can be used in place of the URL when the :file:`." "pypirc` file is configured to do so. For example::" msgstr "" -#: distutils/packageindex.rst:140 +#: ../../src/Doc/distutils/packageindex.rst:140 msgid "See :ref:`pypirc` for more information on defining alternate servers." msgstr "" -#: distutils/packageindex.rst:142 +#: ../../src/Doc/distutils/packageindex.rst:142 msgid "" "The ``--show-response`` option displays the full response text from the PyPI " "server, which is useful when debugging problems with registering and " "uploading." msgstr "" -#: distutils/packageindex.rst:153 +#: ../../src/Doc/distutils/packageindex.rst:153 msgid "The ``.pypirc`` file" msgstr "" -#: distutils/packageindex.rst:155 +#: ../../src/Doc/distutils/packageindex.rst:155 msgid "" "The :command:`register` and :command:`upload` commands both check for the " "existence of a :file:`.pypirc` file at the location :file:`$HOME/.pypirc`. " @@ -4467,93 +4522,93 @@ msgid "" "follows::" msgstr "" -#: distutils/packageindex.rst:170 +#: ../../src/Doc/distutils/packageindex.rst:170 msgid "" "The *distutils* section defines an *index-servers* variable that lists the " "name of all sections describing a repository." msgstr "" -#: distutils/packageindex.rst:173 +#: ../../src/Doc/distutils/packageindex.rst:173 msgid "Each section describing a repository defines three variables:" msgstr "" -#: distutils/packageindex.rst:175 -msgid "repository, that defines the url of the PyPI server. Defaults to" +#: ../../src/Doc/distutils/packageindex.rst:175 +msgid "*repository*, that defines the url of the PyPI server. Defaults to" msgstr "" -#: distutils/packageindex.rst:176 +#: ../../src/Doc/distutils/packageindex.rst:176 msgid "``https://www.python.org/pypi``." msgstr "" -#: distutils/packageindex.rst:177 +#: ../../src/Doc/distutils/packageindex.rst:177 msgid "*username*, which is the registered username on the PyPI server." msgstr "" -#: distutils/packageindex.rst:179 -msgid "password, that will be used to authenticate. If omitted the user" +#: ../../src/Doc/distutils/packageindex.rst:179 +msgid "*password*, that will be used to authenticate. If omitted the user" msgstr "" -#: distutils/packageindex.rst:179 +#: ../../src/Doc/distutils/packageindex.rst:179 msgid "will be prompt to type it when needed." msgstr "" -#: distutils/packageindex.rst:181 +#: ../../src/Doc/distutils/packageindex.rst:181 msgid "" "If you want to define another server a new section can be created and listed " "in the *index-servers* variable::" msgstr "" -#: distutils/packageindex.rst:199 +#: ../../src/Doc/distutils/packageindex.rst:199 msgid "" "This allows the :command:`register` and :command:`upload` commands to be " "called with the ``--repository`` option as described in :ref:`package-" "cmdoptions`." msgstr "" -#: distutils/packageindex.rst:203 +#: ../../src/Doc/distutils/packageindex.rst:203 msgid "" "Specifically, you might want to add the `PyPI Test Repository `_ to your ``.pypirc`` to facilitate testing before " "doing your first upload to ``PyPI`` itself." msgstr "" -#: distutils/packageindex.rst:211 +#: ../../src/Doc/distutils/packageindex.rst:211 msgid "PyPI package display" msgstr "" -#: distutils/packageindex.rst:213 +#: ../../src/Doc/distutils/packageindex.rst:213 msgid "" "The ``long_description`` field plays a special role at PyPI. It is used by " "the server to display a home page for the registered package." msgstr "" -#: distutils/packageindex.rst:216 +#: ../../src/Doc/distutils/packageindex.rst:216 msgid "" "If you use the `reStructuredText `_ syntax for this field, PyPI will parse it and display an HTML output " "for the package home page." msgstr "" -#: distutils/packageindex.rst:220 +#: ../../src/Doc/distutils/packageindex.rst:220 msgid "" "The ``long_description`` field can be attached to a text file located in the " "package::" msgstr "" -#: distutils/packageindex.rst:231 +#: ../../src/Doc/distutils/packageindex.rst:231 msgid "" "In that case, :file:`README.txt` is a regular reStructuredText text file " "located in the root of the package besides :file:`setup.py`." msgstr "" -#: distutils/packageindex.rst:234 +#: ../../src/Doc/distutils/packageindex.rst:234 msgid "" "To prevent registering broken reStructuredText content, you can use the :" "program:`rst2html` program that is provided by the :mod:`docutils` package " "and check the ``long_description`` from the command line::" msgstr "" -#: distutils/packageindex.rst:240 +#: ../../src/Doc/distutils/packageindex.rst:240 msgid "" ":mod:`docutils` will display a warning if there's something wrong with your " "syntax. Because PyPI applies additional checks (e.g. by passing ``--no-" @@ -4562,11 +4617,11 @@ msgid "" "content successfully." msgstr "" -#: distutils/setupscript.rst:5 +#: ../../src/Doc/distutils/setupscript.rst:5 msgid "Writing the Setup Script" msgstr "" -#: distutils/setupscript.rst:7 +#: ../../src/Doc/distutils/setupscript.rst:7 msgid "" "The setup script is the centre of all activity in building, distributing, " "and installing modules using the Distutils. The main purpose of the setup " @@ -4578,7 +4633,7 @@ msgid "" "`setup`." msgstr "" -#: distutils/setupscript.rst:15 +#: ../../src/Doc/distutils/setupscript.rst:15 msgid "" "Here's a slightly more involved example, which we'll follow for the next " "couple of sections: the Distutils' own setup script. (Keep in mind that " @@ -4588,7 +4643,7 @@ msgid "" "here, is used to install the package into Python 1.5.2.) ::" msgstr "" -#: distutils/setupscript.rst:35 +#: ../../src/Doc/distutils/setupscript.rst:35 msgid "" "There are only two differences between this and the trivial one-file " "distribution presented in section :ref:`distutils-simple-example`: more " @@ -4599,7 +4654,7 @@ msgid "" "information on the additional meta-data, see section :ref:`meta-data`." msgstr "" -#: distutils/setupscript.rst:43 +#: ../../src/Doc/distutils/setupscript.rst:43 msgid "" "Note that any pathnames (files or directories) supplied in the setup script " "should be written using the Unix convention, i.e. slash-separated. The " @@ -4610,7 +4665,7 @@ msgid "" "this spirit, all pathnames in this document are slash-separated." msgstr "" -#: distutils/setupscript.rst:51 +#: ../../src/Doc/distutils/setupscript.rst:51 msgid "" "This, of course, only applies to pathnames given to Distutils functions. If " "you, for example, use standard Python functions such as :func:`glob.glob` " @@ -4618,11 +4673,11 @@ msgid "" "portable code instead of hardcoding path separators::" msgstr "" -#: distutils/setupscript.rst:63 +#: ../../src/Doc/distutils/setupscript.rst:63 msgid "Listing whole packages" msgstr "" -#: distutils/setupscript.rst:65 +#: ../../src/Doc/distutils/setupscript.rst:65 msgid "" "The ``packages`` option tells the Distutils to process (build, distribute, " "install, etc.) all pure Python modules found in each package mentioned in " @@ -4638,7 +4693,7 @@ msgid "" "broken package anyway." msgstr "" -#: distutils/setupscript.rst:77 +#: ../../src/Doc/distutils/setupscript.rst:77 msgid "" "If you use a different convention to lay out your source directory, that's " "no problem: you just have to supply the ``package_dir`` option to tell the " @@ -4648,7 +4703,7 @@ msgid "" "are in :file:`lib/foo`, and so forth. Then you would put ::" msgstr "" -#: distutils/setupscript.rst:86 +#: ../../src/Doc/distutils/setupscript.rst:86 msgid "" "in your setup script. The keys to this dictionary are package names, and an " "empty package name stands for the root package. The values are directory " @@ -4657,14 +4712,14 @@ msgid "" "__init__.py` exists." msgstr "" -#: distutils/setupscript.rst:91 +#: ../../src/Doc/distutils/setupscript.rst:91 msgid "" "Another possible convention is to put the :mod:`foo` package right in :file:" "`lib`, the :mod:`foo.bar` package in :file:`lib/bar`, etc. This would be " "written in the setup script as ::" msgstr "" -#: distutils/setupscript.rst:97 +#: ../../src/Doc/distutils/setupscript.rst:97 msgid "" "A ``package: dir`` entry in the ``package_dir`` dictionary implicitly " "applies to all packages below *package*, so the :mod:`foo.bar` case is " @@ -4676,11 +4731,11 @@ msgid "" "directory with an :file:`__init__.py` file.)" msgstr "" -#: distutils/setupscript.rst:110 +#: ../../src/Doc/distutils/setupscript.rst:110 msgid "Listing individual modules" msgstr "" -#: distutils/setupscript.rst:112 +#: ../../src/Doc/distutils/setupscript.rst:112 msgid "" "For a small module distribution, you might prefer to list all modules rather " "than listing packages---especially the case of a single module that goes in " @@ -4689,7 +4744,7 @@ msgid "" "involved example::" msgstr "" -#: distutils/setupscript.rst:119 +#: ../../src/Doc/distutils/setupscript.rst:119 msgid "" "This describes two modules, one of them in the \"root\" package, the other " "in the :mod:`pkg` package. Again, the default package/directory layout " @@ -4699,11 +4754,11 @@ msgid "" "``package_dir`` option." msgstr "" -#: distutils/setupscript.rst:129 +#: ../../src/Doc/distutils/setupscript.rst:129 msgid "Describing extension modules" msgstr "" -#: distutils/setupscript.rst:131 +#: ../../src/Doc/distutils/setupscript.rst:131 msgid "" "Just as writing Python extension modules is a bit more complicated than " "writing pure Python modules, describing them to the Distutils is a bit more " @@ -4713,7 +4768,7 @@ msgid "" "requirements (include directories, libraries to link with, etc.)." msgstr "" -#: distutils/setupscript.rst:140 +#: ../../src/Doc/distutils/setupscript.rst:140 msgid "" "All of this is done through another keyword argument to :func:`setup`, the " "``ext_modules`` option. ``ext_modules`` is just a list of :class:" @@ -4724,14 +4779,14 @@ msgid "" "quite simple::" msgstr "" -#: distutils/setupscript.rst:150 +#: ../../src/Doc/distutils/setupscript.rst:150 msgid "" "The :class:`Extension` class can be imported from :mod:`distutils.core` " "along with :func:`setup`. Thus, the setup script for a module distribution " "that contains only this one extension and nothing else might be::" msgstr "" -#: distutils/setupscript.rst:160 +#: ../../src/Doc/distutils/setupscript.rst:160 msgid "" "The :class:`Extension` class (actually, the underlying extension-building " "machinery implemented by the :command:`build_ext` command) supports a great " @@ -4739,22 +4794,22 @@ msgid "" "the following sections." msgstr "" -#: distutils/setupscript.rst:167 +#: ../../src/Doc/distutils/setupscript.rst:167 msgid "Extension names and packages" msgstr "" -#: distutils/setupscript.rst:169 +#: ../../src/Doc/distutils/setupscript.rst:169 msgid "" "The first argument to the :class:`~distutils.core.Extension` constructor is " "always the name of the extension, including any package names. For " "example, ::" msgstr "" -#: distutils/setupscript.rst:174 +#: ../../src/Doc/distutils/setupscript.rst:174 msgid "describes an extension that lives in the root package, while ::" msgstr "" -#: distutils/setupscript.rst:178 +#: ../../src/Doc/distutils/setupscript.rst:178 msgid "" "describes the same extension in the :mod:`pkg` package. The source files " "and resulting object code are identical in both cases; the only difference " @@ -4762,24 +4817,24 @@ msgid "" "hierarchy) the resulting extension lives." msgstr "" -#: distutils/setupscript.rst:183 +#: ../../src/Doc/distutils/setupscript.rst:183 msgid "" "If you have a number of extensions all in the same package (or all under the " "same base package), use the ``ext_package`` keyword argument to :func:" "`setup`. For example, ::" msgstr "" -#: distutils/setupscript.rst:193 +#: ../../src/Doc/distutils/setupscript.rst:193 msgid "" "will compile :file:`foo.c` to the extension :mod:`pkg.foo`, and :file:`bar." "c` to :mod:`pkg.subpkg.bar`." msgstr "" -#: distutils/setupscript.rst:198 +#: ../../src/Doc/distutils/setupscript.rst:198 msgid "Extension source files" msgstr "" -#: distutils/setupscript.rst:200 +#: ../../src/Doc/distutils/setupscript.rst:200 msgid "" "The second argument to the :class:`~distutils.core.Extension` constructor is " "a list of source files. Since the Distutils currently only support C, C++, " @@ -4789,7 +4844,7 @@ msgid "" "Windows compilers.)" msgstr "" -#: distutils/setupscript.rst:207 +#: ../../src/Doc/distutils/setupscript.rst:207 msgid "" "However, you can also include SWIG interface (:file:`.i`) files in the list; " "the :command:`build_ext` command knows how to deal with SWIG extensions: it " @@ -4797,17 +4852,17 @@ msgid "" "into your extension." msgstr "" -#: distutils/setupscript.rst:214 +#: ../../src/Doc/distutils/setupscript.rst:214 msgid "" "This warning notwithstanding, options to SWIG can be currently passed like " "this::" msgstr "" -#: distutils/setupscript.rst:223 +#: ../../src/Doc/distutils/setupscript.rst:223 msgid "Or on the commandline like this::" msgstr "" -#: distutils/setupscript.rst:227 +#: ../../src/Doc/distutils/setupscript.rst:227 msgid "" "On some platforms, you can include non-source files that are processed by " "the compiler and included in your extension. Currently, this just means " @@ -4816,37 +4871,37 @@ msgid "" "`.res`) files and linked into the executable." msgstr "" -#: distutils/setupscript.rst:235 +#: ../../src/Doc/distutils/setupscript.rst:235 msgid "Preprocessor options" msgstr "" -#: distutils/setupscript.rst:237 +#: ../../src/Doc/distutils/setupscript.rst:237 msgid "" "Three optional arguments to :class:`~distutils.core.Extension` will help if " "you need to specify include directories to search or preprocessor macros to " "define/undefine: ``include_dirs``, ``define_macros``, and ``undef_macros``." msgstr "" -#: distutils/setupscript.rst:241 +#: ../../src/Doc/distutils/setupscript.rst:241 msgid "" "For example, if your extension requires header files in the :file:`include` " "directory under your distribution root, use the ``include_dirs`` option::" msgstr "" -#: distutils/setupscript.rst:246 +#: ../../src/Doc/distutils/setupscript.rst:246 msgid "" "You can specify absolute directories there; if you know that your extension " "will only be built on Unix systems with X11R6 installed to :file:`/usr`, you " "can get away with ::" msgstr "" -#: distutils/setupscript.rst:252 +#: ../../src/Doc/distutils/setupscript.rst:252 msgid "" "You should avoid this sort of non-portable usage if you plan to distribute " "your code: it's probably better to write C code like ::" msgstr "" -#: distutils/setupscript.rst:257 +#: ../../src/Doc/distutils/setupscript.rst:257 msgid "" "If you need to include header files from some other Python extension, you " "can take advantage of the fact that header files are installed in a " @@ -4859,21 +4914,21 @@ msgid "" "extensions, the best approach is to write C code like ::" msgstr "" -#: distutils/setupscript.rst:269 +#: ../../src/Doc/distutils/setupscript.rst:269 msgid "" "If you must put the :file:`Numerical` include directory right into your " "header search path, though, you can find that directory using the Distutils :" "mod:`distutils.sysconfig` module::" msgstr "" -#: distutils/setupscript.rst:279 +#: ../../src/Doc/distutils/setupscript.rst:279 msgid "" "Even though this is quite portable---it will work on any Python " "installation, regardless of platform---it's probably easier to just write " "your C code in the sensible way." msgstr "" -#: distutils/setupscript.rst:283 +#: ../../src/Doc/distutils/setupscript.rst:283 msgid "" "You can define and undefine pre-processor macros with the ``define_macros`` " "and ``undef_macros`` options. ``define_macros`` takes a list of ``(name, " @@ -4884,19 +4939,19 @@ msgid "" "``undef_macros`` is just a list of macros to undefine." msgstr "" -#: distutils/setupscript.rst:291 +#: ../../src/Doc/distutils/setupscript.rst:291 msgid "For example::" msgstr "Par exemple ::" -#: distutils/setupscript.rst:298 +#: ../../src/Doc/distutils/setupscript.rst:298 msgid "is the equivalent of having this at the top of every C source file::" msgstr "" -#: distutils/setupscript.rst:307 +#: ../../src/Doc/distutils/setupscript.rst:307 msgid "Library options" msgstr "" -#: distutils/setupscript.rst:309 +#: ../../src/Doc/distutils/setupscript.rst:309 msgid "" "You can also specify the libraries to link against when building your " "extension, and the directories to search for those libraries. The " @@ -4906,55 +4961,55 @@ msgid "" "shared (dynamically loaded) libraries at run-time." msgstr "" -#: distutils/setupscript.rst:315 +#: ../../src/Doc/distutils/setupscript.rst:315 msgid "" "For example, if you need to link against libraries known to be in the " "standard library search path on target systems ::" msgstr "" -#: distutils/setupscript.rst:321 +#: ../../src/Doc/distutils/setupscript.rst:321 msgid "" "If you need to link with libraries in a non-standard location, you'll have " "to include the location in ``library_dirs``::" msgstr "" -#: distutils/setupscript.rst:328 +#: ../../src/Doc/distutils/setupscript.rst:328 msgid "" "(Again, this sort of non-portable construct should be avoided if you intend " "to distribute your code.)" msgstr "" -#: distutils/setupscript.rst:335 +#: ../../src/Doc/distutils/setupscript.rst:335 msgid "Other options" msgstr "" -#: distutils/setupscript.rst:337 +#: ../../src/Doc/distutils/setupscript.rst:337 msgid "" "There are still some other options which can be used to handle special cases." msgstr "" -#: distutils/setupscript.rst:339 +#: ../../src/Doc/distutils/setupscript.rst:339 msgid "" "The ``optional`` option is a boolean; if it is true, a build failure in the " "extension will not abort the build process, but instead simply not install " "the failing extension." msgstr "" -#: distutils/setupscript.rst:343 +#: ../../src/Doc/distutils/setupscript.rst:343 msgid "" "The ``extra_objects`` option is a list of object files to be passed to the " "linker. These files must not have extensions, as the default extension for " "the compiler is used." msgstr "" -#: distutils/setupscript.rst:347 +#: ../../src/Doc/distutils/setupscript.rst:347 msgid "" "``extra_compile_args`` and ``extra_link_args`` can be used to specify " "additional command line options for the respective compiler and linker " "command lines." msgstr "" -#: distutils/setupscript.rst:351 +#: ../../src/Doc/distutils/setupscript.rst:351 msgid "" "``export_symbols`` is only useful on Windows. It can contain a list of " "symbols (functions or variables) to be exported. This option is not needed " @@ -4962,7 +5017,7 @@ msgid "" "``initmodule`` to the list of exported symbols." msgstr "" -#: distutils/setupscript.rst:356 +#: ../../src/Doc/distutils/setupscript.rst:356 msgid "" "The ``depends`` option is a list of files that the extension depends on (for " "example header files). The build command will call the compiler on the " @@ -4970,33 +5025,33 @@ msgid "" "the previous build." msgstr "" -#: distutils/setupscript.rst:362 +#: ../../src/Doc/distutils/setupscript.rst:362 msgid "Relationships between Distributions and Packages" msgstr "" -#: distutils/setupscript.rst:364 +#: ../../src/Doc/distutils/setupscript.rst:364 msgid "A distribution may relate to packages in three specific ways:" msgstr "" -#: distutils/setupscript.rst:366 +#: ../../src/Doc/distutils/setupscript.rst:366 msgid "It can require packages or modules." msgstr "" -#: distutils/setupscript.rst:368 +#: ../../src/Doc/distutils/setupscript.rst:368 msgid "It can provide packages or modules." msgstr "" -#: distutils/setupscript.rst:370 +#: ../../src/Doc/distutils/setupscript.rst:370 msgid "It can obsolete packages or modules." msgstr "" -#: distutils/setupscript.rst:372 +#: ../../src/Doc/distutils/setupscript.rst:372 msgid "" "These relationships can be specified using keyword arguments to the :func:" "`distutils.core.setup` function." msgstr "" -#: distutils/setupscript.rst:375 +#: ../../src/Doc/distutils/setupscript.rst:375 msgid "" "Dependencies on other Python modules and packages can be specified by " "supplying the *requires* keyword argument to :func:`setup`. The value must " @@ -5004,57 +5059,58 @@ msgid "" "optionally what versions are sufficient." msgstr "" -#: distutils/setupscript.rst:380 +#: ../../src/Doc/distutils/setupscript.rst:380 msgid "" "To specify that any version of a module or package is required, the string " "should consist entirely of the module or package name. Examples include " "``'mymodule'`` and ``'xml.parsers.expat'``." msgstr "" -#: distutils/setupscript.rst:384 +#: ../../src/Doc/distutils/setupscript.rst:384 msgid "" "If specific versions are required, a sequence of qualifiers can be supplied " "in parentheses. Each qualifier may consist of a comparison operator and a " "version number. The accepted comparison operators are::" msgstr "" -#: distutils/setupscript.rst:391 +#: ../../src/Doc/distutils/setupscript.rst:391 msgid "" "These can be combined by using multiple qualifiers separated by commas (and " "optional whitespace). In this case, all of the qualifiers must be matched; " "a logical AND is used to combine the evaluations." msgstr "" -#: distutils/setupscript.rst:395 +#: ../../src/Doc/distutils/setupscript.rst:395 msgid "Let's look at a bunch of examples:" msgstr "" -#: distutils/setupscript.rst:398 +#: ../../src/Doc/distutils/setupscript.rst:398 msgid "Requires Expression" msgstr "" -#: distutils/setupscript.rst:398 distutils/setupscript.rst:416 +#: ../../src/Doc/distutils/setupscript.rst:398 +#: ../../src/Doc/distutils/setupscript.rst:416 msgid "Explanation" msgstr "" -#: distutils/setupscript.rst:400 +#: ../../src/Doc/distutils/setupscript.rst:400 msgid "``==1.0``" msgstr "" -#: distutils/setupscript.rst:400 +#: ../../src/Doc/distutils/setupscript.rst:400 msgid "Only version ``1.0`` is compatible" msgstr "" -#: distutils/setupscript.rst:402 +#: ../../src/Doc/distutils/setupscript.rst:402 msgid "``>1.0, !=1.5.1, <2.0``" msgstr "" -#: distutils/setupscript.rst:402 +#: ../../src/Doc/distutils/setupscript.rst:402 msgid "" "Any version after ``1.0`` and before ``2.0`` is compatible, except ``1.5.1``" msgstr "" -#: distutils/setupscript.rst:406 +#: ../../src/Doc/distutils/setupscript.rst:406 msgid "" "Now that we can specify dependencies, we also need to be able to specify " "what we provide that other distributions can require. This is done using " @@ -5064,32 +5120,32 @@ msgid "" "assumed to match that of the distribution." msgstr "" -#: distutils/setupscript.rst:413 +#: ../../src/Doc/distutils/setupscript.rst:413 #, fuzzy msgid "Some examples:" msgstr "Quelques exemples ::" -#: distutils/setupscript.rst:416 +#: ../../src/Doc/distutils/setupscript.rst:416 msgid "Provides Expression" msgstr "" -#: distutils/setupscript.rst:418 +#: ../../src/Doc/distutils/setupscript.rst:418 msgid "``mypkg``" msgstr "" -#: distutils/setupscript.rst:418 +#: ../../src/Doc/distutils/setupscript.rst:418 msgid "Provide ``mypkg``, using the distribution version" msgstr "" -#: distutils/setupscript.rst:421 +#: ../../src/Doc/distutils/setupscript.rst:421 msgid "``mypkg (1.1)``" msgstr "" -#: distutils/setupscript.rst:421 +#: ../../src/Doc/distutils/setupscript.rst:421 msgid "Provide ``mypkg`` version 1.1, regardless of the distribution version" msgstr "" -#: distutils/setupscript.rst:425 +#: ../../src/Doc/distutils/setupscript.rst:425 msgid "" "A package can declare that it obsoletes other packages using the *obsoletes* " "keyword argument. The value for this is similar to that of the *requires* " @@ -5099,24 +5155,24 @@ msgid "" "the module or package name." msgstr "" -#: distutils/setupscript.rst:432 +#: ../../src/Doc/distutils/setupscript.rst:432 msgid "" "The versions identified by the qualifiers are those that are obsoleted by " "the distribution being described. If no qualifiers are given, all versions " "of the named module or package are understood to be obsoleted." msgstr "" -#: distutils/setupscript.rst:439 +#: ../../src/Doc/distutils/setupscript.rst:439 msgid "Installing Scripts" msgstr "" -#: distutils/setupscript.rst:441 +#: ../../src/Doc/distutils/setupscript.rst:441 msgid "" "So far we have been dealing with pure and non-pure Python modules, which are " "usually not run by themselves but imported by scripts." msgstr "" -#: distutils/setupscript.rst:444 +#: ../../src/Doc/distutils/setupscript.rst:444 msgid "" "Scripts are files containing Python source code, intended to be started from " "the command line. Scripts don't require Distutils to do anything very " @@ -5128,23 +5184,23 @@ msgid "" "be explicitly overridden." msgstr "" -#: distutils/setupscript.rst:452 +#: ../../src/Doc/distutils/setupscript.rst:452 msgid "" "The ``scripts`` option simply is a list of files to be handled in this way. " "From the PyXML setup script::" msgstr "" -#: distutils/setupscript.rst:459 +#: ../../src/Doc/distutils/setupscript.rst:459 msgid "" "All the scripts will also be added to the ``MANIFEST`` file if no template " "is provided. See :ref:`manifest`." msgstr "" -#: distutils/setupscript.rst:467 +#: ../../src/Doc/distutils/setupscript.rst:467 msgid "Installing Package Data" msgstr "" -#: distutils/setupscript.rst:469 +#: ../../src/Doc/distutils/setupscript.rst:469 msgid "" "Often, additional files need to be installed into a package. These files " "are often data that's closely related to the package's implementation, or " @@ -5152,7 +5208,7 @@ msgid "" "using the package. These files are called :dfn:`package data`." msgstr "" -#: distutils/setupscript.rst:474 +#: ../../src/Doc/distutils/setupscript.rst:474 msgid "" "Package data can be added to packages using the ``package_data`` keyword " "argument to the :func:`setup` function. The value must be a mapping from " @@ -5163,52 +5219,52 @@ msgid "" "the source directories. They may contain glob patterns as well." msgstr "" -#: distutils/setupscript.rst:482 +#: ../../src/Doc/distutils/setupscript.rst:482 msgid "" "The path names may contain directory portions; any necessary directories " "will be created in the installation." msgstr "" -#: distutils/setupscript.rst:485 +#: ../../src/Doc/distutils/setupscript.rst:485 msgid "" "For example, if a package should contain a subdirectory with several data " "files, the files can be arranged like this in the source tree::" msgstr "" -#: distutils/setupscript.rst:498 +#: ../../src/Doc/distutils/setupscript.rst:498 msgid "The corresponding call to :func:`setup` might be::" msgstr "" -#: distutils/setupscript.rst:507 +#: ../../src/Doc/distutils/setupscript.rst:507 msgid "" "All the files that match ``package_data`` will be added to the ``MANIFEST`` " "file if no template is provided. See :ref:`manifest`." msgstr "" -#: distutils/setupscript.rst:515 +#: ../../src/Doc/distutils/setupscript.rst:515 msgid "Installing Additional Files" msgstr "" -#: distutils/setupscript.rst:517 +#: ../../src/Doc/distutils/setupscript.rst:517 msgid "" "The ``data_files`` option can be used to specify additional files needed by " "the module distribution: configuration files, message catalogs, data files, " "anything which doesn't fit in the previous categories." msgstr "" -#: distutils/setupscript.rst:521 +#: ../../src/Doc/distutils/setupscript.rst:521 msgid "" "``data_files`` specifies a sequence of (*directory*, *files*) pairs in the " "following way::" msgstr "" -#: distutils/setupscript.rst:530 +#: ../../src/Doc/distutils/setupscript.rst:530 msgid "" "Note that you can specify the directory names where the data files will be " "installed, but you cannot rename the data files themselves." msgstr "" -#: distutils/setupscript.rst:533 +#: ../../src/Doc/distutils/setupscript.rst:533 msgid "" "Each (*directory*, *files*) pair in the sequence specifies the installation " "directory and the files to install there. If *directory* is a relative " @@ -5220,7 +5276,7 @@ msgid "" "the final location of the installed file; only the name of the file is used." msgstr "" -#: distutils/setupscript.rst:542 +#: ../../src/Doc/distutils/setupscript.rst:542 msgid "" "You can specify the ``data_files`` options as a simple sequence of files " "without specifying a target directory, but this is not recommended, and the :" @@ -5229,170 +5285,176 @@ msgid "" "the directory." msgstr "" -#: distutils/setupscript.rst:548 +#: ../../src/Doc/distutils/setupscript.rst:548 msgid "" "All the files that match ``data_files`` will be added to the ``MANIFEST`` " "file if no template is provided. See :ref:`manifest`." msgstr "" -#: distutils/setupscript.rst:556 +#: ../../src/Doc/distutils/setupscript.rst:556 msgid "Additional meta-data" msgstr "" -#: distutils/setupscript.rst:558 +#: ../../src/Doc/distutils/setupscript.rst:558 msgid "" "The setup script may include additional meta-data beyond the name and " "version. This information includes:" msgstr "" -#: distutils/setupscript.rst:562 +#: ../../src/Doc/distutils/setupscript.rst:562 msgid "Meta-Data" msgstr "" -#: distutils/setupscript.rst:562 +#: ../../src/Doc/distutils/setupscript.rst:562 msgid "Value" msgstr "" -#: distutils/setupscript.rst:564 +#: ../../src/Doc/distutils/setupscript.rst:564 msgid "name of the package" msgstr "" -#: distutils/setupscript.rst:564 distutils/setupscript.rst:566 -#: distutils/setupscript.rst:568 distutils/setupscript.rst:573 -#: distutils/setupscript.rst:580 distutils/setupscript.rst:594 +#: ../../src/Doc/distutils/setupscript.rst:564 +#: ../../src/Doc/distutils/setupscript.rst:566 +#: ../../src/Doc/distutils/setupscript.rst:568 +#: ../../src/Doc/distutils/setupscript.rst:573 +#: ../../src/Doc/distutils/setupscript.rst:580 +#: ../../src/Doc/distutils/setupscript.rst:594 msgid "short string" msgstr "" -#: distutils/setupscript.rst:566 +#: ../../src/Doc/distutils/setupscript.rst:566 msgid "version of this release" msgstr "" -#: distutils/setupscript.rst:566 +#: ../../src/Doc/distutils/setupscript.rst:566 msgid "(1)(2)" msgstr "" -#: distutils/setupscript.rst:568 +#: ../../src/Doc/distutils/setupscript.rst:568 msgid "``author``" msgstr "" -#: distutils/setupscript.rst:568 +#: ../../src/Doc/distutils/setupscript.rst:568 msgid "package author's name" msgstr "" -#: distutils/setupscript.rst:570 +#: ../../src/Doc/distutils/setupscript.rst:570 msgid "``author_email``" msgstr "" -#: distutils/setupscript.rst:570 +#: ../../src/Doc/distutils/setupscript.rst:570 msgid "email address of the package author" msgstr "" -#: distutils/setupscript.rst:570 distutils/setupscript.rst:575 +#: ../../src/Doc/distutils/setupscript.rst:570 +#: ../../src/Doc/distutils/setupscript.rst:575 msgid "email address" msgstr "" -#: distutils/setupscript.rst:573 +#: ../../src/Doc/distutils/setupscript.rst:573 msgid "``maintainer``" msgstr "" -#: distutils/setupscript.rst:573 +#: ../../src/Doc/distutils/setupscript.rst:573 msgid "package maintainer's name" msgstr "" -#: distutils/setupscript.rst:575 +#: ../../src/Doc/distutils/setupscript.rst:575 msgid "``maintainer_email``" msgstr "" -#: distutils/setupscript.rst:575 +#: ../../src/Doc/distutils/setupscript.rst:575 msgid "email address of the package maintainer" msgstr "" -#: distutils/setupscript.rst:578 +#: ../../src/Doc/distutils/setupscript.rst:578 msgid "home page for the package" msgstr "" -#: distutils/setupscript.rst:578 distutils/setupscript.rst:587 +#: ../../src/Doc/distutils/setupscript.rst:578 +#: ../../src/Doc/distutils/setupscript.rst:587 msgid "URL" msgstr "" -#: distutils/setupscript.rst:580 +#: ../../src/Doc/distutils/setupscript.rst:580 msgid "short, summary description of the package" msgstr "" -#: distutils/setupscript.rst:584 +#: ../../src/Doc/distutils/setupscript.rst:584 msgid "longer description of the package" msgstr "" -#: distutils/setupscript.rst:584 +#: ../../src/Doc/distutils/setupscript.rst:584 msgid "long string" msgstr "" -#: distutils/setupscript.rst:587 +#: ../../src/Doc/distutils/setupscript.rst:587 msgid "``download_url``" msgstr "" -#: distutils/setupscript.rst:587 +#: ../../src/Doc/distutils/setupscript.rst:587 msgid "location where the package may be downloaded" msgstr "" -#: distutils/setupscript.rst:590 +#: ../../src/Doc/distutils/setupscript.rst:590 msgid "``classifiers``" msgstr "" -#: distutils/setupscript.rst:590 +#: ../../src/Doc/distutils/setupscript.rst:590 msgid "a list of classifiers" msgstr "" -#: distutils/setupscript.rst:590 distutils/setupscript.rst:592 +#: ../../src/Doc/distutils/setupscript.rst:590 +#: ../../src/Doc/distutils/setupscript.rst:592 msgid "list of strings" msgstr "" -#: distutils/setupscript.rst:592 +#: ../../src/Doc/distutils/setupscript.rst:592 msgid "``platforms``" msgstr "" -#: distutils/setupscript.rst:592 +#: ../../src/Doc/distutils/setupscript.rst:592 msgid "a list of platforms" msgstr "" -#: distutils/setupscript.rst:594 +#: ../../src/Doc/distutils/setupscript.rst:594 msgid "license for the package" msgstr "" -#: distutils/setupscript.rst:594 +#: ../../src/Doc/distutils/setupscript.rst:594 msgid "\\(6)" msgstr "" -#: distutils/setupscript.rst:600 +#: ../../src/Doc/distutils/setupscript.rst:600 msgid "These fields are required." msgstr "" -#: distutils/setupscript.rst:603 +#: ../../src/Doc/distutils/setupscript.rst:603 msgid "" "It is recommended that versions take the form *major.minor[.patch[.sub]]*." msgstr "" -#: distutils/setupscript.rst:606 +#: ../../src/Doc/distutils/setupscript.rst:606 msgid "" "Either the author or the maintainer must be identified. If maintainer is " "provided, distutils lists it as the author in :file:`PKG-INFO`." msgstr "" -#: distutils/setupscript.rst:610 +#: ../../src/Doc/distutils/setupscript.rst:610 msgid "" "These fields should not be used if your package is to be compatible with " "Python versions prior to 2.2.3 or 2.3. The list is available from the `PyPI " "website `_." msgstr "" -#: distutils/setupscript.rst:615 +#: ../../src/Doc/distutils/setupscript.rst:615 msgid "" "The ``long_description`` field is used by PyPI when you are :ref:" "`registering ` a package, to :ref:`build its home page " "`." msgstr "" -#: distutils/setupscript.rst:620 +#: ../../src/Doc/distutils/setupscript.rst:620 msgid "" "The ``license`` field is a text indicating the license covering the package " "where the license is not a selection from the \"License\" Trove classifiers. " @@ -5400,36 +5462,36 @@ msgid "" "option which is deprecated but still acts as an alias for ``license``." msgstr "" -#: distutils/setupscript.rst:627 +#: ../../src/Doc/distutils/setupscript.rst:627 #, fuzzy msgid "'short string'" msgstr "une chaîne de caractères" -#: distutils/setupscript.rst:627 +#: ../../src/Doc/distutils/setupscript.rst:627 msgid "A single line of text, not more than 200 characters." msgstr "" -#: distutils/setupscript.rst:631 +#: ../../src/Doc/distutils/setupscript.rst:631 #, fuzzy msgid "'long string'" msgstr "une chaîne de caractères" -#: distutils/setupscript.rst:630 +#: ../../src/Doc/distutils/setupscript.rst:630 msgid "" "Multiple lines of plain text in reStructuredText format (see http://docutils." "sourceforge.net/)." msgstr "" -#: distutils/setupscript.rst:634 +#: ../../src/Doc/distutils/setupscript.rst:634 #, fuzzy msgid "'list of strings'" msgstr "une liste de chaînes" -#: distutils/setupscript.rst:634 +#: ../../src/Doc/distutils/setupscript.rst:634 msgid "See below." msgstr "" -#: distutils/setupscript.rst:636 +#: ../../src/Doc/distutils/setupscript.rst:636 msgid "" "Encoding the version information is an art in itself. Python packages " "generally adhere to the version format *major.minor[.patch][sub]*. The major " @@ -5444,37 +5506,37 @@ msgid "" "testing). Some examples:" msgstr "" -#: distutils/setupscript.rst:648 +#: ../../src/Doc/distutils/setupscript.rst:648 msgid "0.1.0" msgstr "" -#: distutils/setupscript.rst:648 +#: ../../src/Doc/distutils/setupscript.rst:648 msgid "the first, experimental release of a package" msgstr "" -#: distutils/setupscript.rst:651 +#: ../../src/Doc/distutils/setupscript.rst:651 msgid "1.0.1a2" msgstr "" -#: distutils/setupscript.rst:651 +#: ../../src/Doc/distutils/setupscript.rst:651 msgid "the second alpha release of the first patch version of 1.0" msgstr "" -#: distutils/setupscript.rst:653 +#: ../../src/Doc/distutils/setupscript.rst:653 msgid "``classifiers`` are specified in a Python list::" msgstr "" -#: distutils/setupscript.rst:677 +#: ../../src/Doc/distutils/setupscript.rst:677 msgid "Debugging the setup script" msgstr "" -#: distutils/setupscript.rst:679 +#: ../../src/Doc/distutils/setupscript.rst:679 msgid "" "Sometimes things go wrong, and the setup script doesn't do what the " "developer wants." msgstr "" -#: distutils/setupscript.rst:682 +#: ../../src/Doc/distutils/setupscript.rst:682 msgid "" "Distutils catches any exceptions when running the setup script, and print a " "simple error message before the script is terminated. The motivation for " @@ -5485,7 +5547,7 @@ msgid "" "down to the bottom and see that it's a permission problem." msgstr "" -#: distutils/setupscript.rst:690 +#: ../../src/Doc/distutils/setupscript.rst:690 msgid "" "On the other hand, this doesn't help the developer to find the cause of the " "failure. For this purpose, the :envvar:`DISTUTILS_DEBUG` environment " @@ -5495,17 +5557,17 @@ msgid "" "external program (like a C compiler) fails." msgstr "" -#: distutils/sourcedist.rst:5 +#: ../../src/Doc/distutils/sourcedist.rst:5 msgid "Creating a Source Distribution" msgstr "" -#: distutils/sourcedist.rst:7 +#: ../../src/Doc/distutils/sourcedist.rst:7 msgid "" "As shown in section :ref:`distutils-simple-example`, you use the :command:" "`sdist` command to create a source distribution. In the simplest case, ::" msgstr "" -#: distutils/sourcedist.rst:12 +#: ../../src/Doc/distutils/sourcedist.rst:12 msgid "" "(assuming you haven't specified any :command:`sdist` options in the setup " "script or config file), :command:`sdist` creates the archive of the default " @@ -5513,82 +5575,82 @@ msgid "" "file:`.tar.gz`) on Unix, and ZIP file on Windows." msgstr "" -#: distutils/sourcedist.rst:17 +#: ../../src/Doc/distutils/sourcedist.rst:17 msgid "" "You can specify as many formats as you like using the :option:`--formats` " "option, for example::" msgstr "" -#: distutils/sourcedist.rst:22 +#: ../../src/Doc/distutils/sourcedist.rst:22 msgid "to create a gzipped tarball and a zip file. The available formats are:" msgstr "" -#: distutils/sourcedist.rst:27 +#: ../../src/Doc/distutils/sourcedist.rst:27 msgid "(1),(3)" msgstr "" -#: distutils/sourcedist.rst:29 +#: ../../src/Doc/distutils/sourcedist.rst:29 msgid "gzip'ed tar file (:file:`.tar.gz`)" msgstr "" -#: distutils/sourcedist.rst:29 +#: ../../src/Doc/distutils/sourcedist.rst:29 msgid "\\(2)" msgstr "\\(2)" -#: distutils/sourcedist.rst:32 +#: ../../src/Doc/distutils/sourcedist.rst:32 msgid "bzip2'ed tar file (:file:`.tar.bz2`)" msgstr "" -#: distutils/sourcedist.rst:35 +#: ../../src/Doc/distutils/sourcedist.rst:35 msgid "xz'ed tar file (:file:`.tar.xz`)" msgstr "" -#: distutils/sourcedist.rst:60 +#: ../../src/Doc/distutils/sourcedist.rst:60 msgid "" "requires the :program:`compress` program. Notice that this format is now " "pending for deprecation and will be removed in the future versions of Python." msgstr "" -#: distutils/sourcedist.rst:63 +#: ../../src/Doc/distutils/sourcedist.rst:63 msgid "" "When using any ``tar`` format (``gztar``, ``bztar``, ``xztar``, ``ztar`` or " "``tar``), under Unix you can specify the ``owner`` and ``group`` names that " "will be set for each member of the archive." msgstr "" -#: distutils/sourcedist.rst:67 +#: ../../src/Doc/distutils/sourcedist.rst:67 msgid "For example, if you want all files of the archive to be owned by root::" msgstr "" -#: distutils/sourcedist.rst:75 +#: ../../src/Doc/distutils/sourcedist.rst:75 msgid "Specifying the files to distribute" msgstr "" -#: distutils/sourcedist.rst:77 +#: ../../src/Doc/distutils/sourcedist.rst:77 msgid "" "If you don't supply an explicit list of files (or instructions on how to " "generate one), the :command:`sdist` command puts a minimal default set into " "the source distribution:" msgstr "" -#: distutils/sourcedist.rst:81 +#: ../../src/Doc/distutils/sourcedist.rst:81 msgid "" "all Python source files implied by the ``py_modules`` and ``packages`` " "options" msgstr "" -#: distutils/sourcedist.rst:84 +#: ../../src/Doc/distutils/sourcedist.rst:84 msgid "" "all C source files mentioned in the ``ext_modules`` or ``libraries`` options" msgstr "" -#: distutils/sourcedist.rst:90 +#: ../../src/Doc/distutils/sourcedist.rst:90 msgid "" "scripts identified by the ``scripts`` option See :ref:`distutils-installing-" "scripts`." msgstr "" -#: distutils/sourcedist.rst:93 +#: ../../src/Doc/distutils/sourcedist.rst:93 msgid "" "anything that looks like a test script: :file:`test/test\\*.py` (currently, " "the Distutils don't do anything with test scripts except include them in " @@ -5596,25 +5658,25 @@ msgid "" "Python module distributions)" msgstr "" -#: distutils/sourcedist.rst:98 +#: ../../src/Doc/distutils/sourcedist.rst:98 msgid "" ":file:`README.txt` (or :file:`README`), :file:`setup.py` (or whatever you " "called your setup script), and :file:`setup.cfg`" msgstr "" -#: distutils/sourcedist.rst:101 +#: ../../src/Doc/distutils/sourcedist.rst:101 msgid "" "all files that matches the ``package_data`` metadata. See :ref:`distutils-" "installing-package-data`." msgstr "" -#: distutils/sourcedist.rst:104 +#: ../../src/Doc/distutils/sourcedist.rst:104 msgid "" "all files that matches the ``data_files`` metadata. See :ref:`distutils-" "additional-files`." msgstr "" -#: distutils/sourcedist.rst:107 +#: ../../src/Doc/distutils/sourcedist.rst:107 msgid "" "Sometimes this is enough, but usually you will want to specify additional " "files to distribute. The typical way to do this is to write a *manifest " @@ -5626,7 +5688,7 @@ msgid "" "filesystem." msgstr "" -#: distutils/sourcedist.rst:115 +#: ../../src/Doc/distutils/sourcedist.rst:115 msgid "" "If you prefer to roll your own manifest file, the format is simple: one " "filename per line, regular files (or symlinks to them) only. If you do " @@ -5634,33 +5696,33 @@ msgid "" "set of files described above does not apply in this case." msgstr "" -#: distutils/sourcedist.rst:120 +#: ../../src/Doc/distutils/sourcedist.rst:120 msgid "" "An existing generated :file:`MANIFEST` will be regenerated without :command:" "`sdist` comparing its modification time to the one of :file:`MANIFEST.in` " "or :file:`setup.py`." msgstr "" -#: distutils/sourcedist.rst:125 +#: ../../src/Doc/distutils/sourcedist.rst:125 msgid "" ":file:`MANIFEST` files start with a comment indicating they are generated. " "Files without this comment are not overwritten or removed." msgstr "" -#: distutils/sourcedist.rst:129 +#: ../../src/Doc/distutils/sourcedist.rst:129 msgid "" ":command:`sdist` will read a :file:`MANIFEST` file if no :file:`MANIFEST.in` " "exists, like it used to do." msgstr "" -#: distutils/sourcedist.rst:134 +#: ../../src/Doc/distutils/sourcedist.rst:134 msgid "" "The manifest template has one command per line, where each command specifies " "a set of files to include or exclude from the source distribution. For an " "example, again we turn to the Distutils' own manifest template::" msgstr "" -#: distutils/sourcedist.rst:142 +#: ../../src/Doc/distutils/sourcedist.rst:142 msgid "" "The meanings should be fairly clear: include all files in the distribution " "root matching :file:`\\*.txt`, all files anywhere under the :file:`examples` " @@ -5673,7 +5735,7 @@ msgid "" "language; see section :ref:`sdist-cmd`." msgstr "" -#: distutils/sourcedist.rst:152 +#: ../../src/Doc/distutils/sourcedist.rst:152 msgid "" "The order of commands in the manifest template matters: initially, we have " "the list of default files as described above, and each command in the " @@ -5682,37 +5744,37 @@ msgid "" "in the source distribution:" msgstr "" -#: distutils/sourcedist.rst:158 +#: ../../src/Doc/distutils/sourcedist.rst:158 msgid "all files in the Distutils \"build\" tree (default :file:`build/`)" msgstr "" -#: distutils/sourcedist.rst:160 +#: ../../src/Doc/distutils/sourcedist.rst:160 msgid "" "all files in directories named :file:`RCS`, :file:`CVS`, :file:`.svn`, :file:" "`.hg`, :file:`.git`, :file:`.bzr` or :file:`_darcs`" msgstr "" -#: distutils/sourcedist.rst:163 +#: ../../src/Doc/distutils/sourcedist.rst:163 msgid "" "Now we have our complete list of files, which is written to the manifest for " "future reference, and then used to build the source distribution archive(s)." msgstr "" -#: distutils/sourcedist.rst:166 +#: ../../src/Doc/distutils/sourcedist.rst:166 msgid "" "You can disable the default set of included files with the :option:`--no-" "defaults` option, and you can disable the standard exclude set with :option:" "`--no-prune`." msgstr "" -#: distutils/sourcedist.rst:170 +#: ../../src/Doc/distutils/sourcedist.rst:170 msgid "" "Following the Distutils' own manifest template, let's trace how the :command:" "`sdist` command builds the list of files to include in the Distutils source " "distribution:" msgstr "" -#: distutils/sourcedist.rst:174 +#: ../../src/Doc/distutils/sourcedist.rst:174 msgid "" "include all Python source files in the :file:`distutils` and :file:" "`distutils/command` subdirectories (because packages corresponding to those " @@ -5720,29 +5782,29 @@ msgid "" "script---see section :ref:`setup-script`)" msgstr "" -#: distutils/sourcedist.rst:179 +#: ../../src/Doc/distutils/sourcedist.rst:179 msgid "" "include :file:`README.txt`, :file:`setup.py`, and :file:`setup.cfg` " "(standard files)" msgstr "" -#: distutils/sourcedist.rst:182 +#: ../../src/Doc/distutils/sourcedist.rst:182 msgid "include :file:`test/test\\*.py` (standard files)" msgstr "" -#: distutils/sourcedist.rst:184 +#: ../../src/Doc/distutils/sourcedist.rst:184 msgid "" "include :file:`\\*.txt` in the distribution root (this will find :file:" "`README.txt` a second time, but such redundancies are weeded out later)" msgstr "" -#: distutils/sourcedist.rst:187 +#: ../../src/Doc/distutils/sourcedist.rst:187 msgid "" "include anything matching :file:`\\*.txt` or :file:`\\*.py` in the sub-tree " "under :file:`examples`," msgstr "" -#: distutils/sourcedist.rst:190 +#: ../../src/Doc/distutils/sourcedist.rst:190 msgid "" "exclude all files in the sub-trees starting at directories matching :file:" "`examples/sample?/build`\\ ---this may exclude files included by the " @@ -5750,14 +5812,14 @@ msgid "" "manifest template comes after the ``recursive-include`` command" msgstr "" -#: distutils/sourcedist.rst:195 +#: ../../src/Doc/distutils/sourcedist.rst:195 msgid "" "exclude the entire :file:`build` tree, and any :file:`RCS`, :file:`CVS`, :" "file:`.svn`, :file:`.hg`, :file:`.git`, :file:`.bzr` and :file:`_darcs` " "directories" msgstr "" -#: distutils/sourcedist.rst:199 +#: ../../src/Doc/distutils/sourcedist.rst:199 msgid "" "Just like in the setup script, file and directory names in the manifest " "template should always be slash-separated; the Distutils will take care of " @@ -5765,63 +5827,63 @@ msgid "" "the manifest template is portable across operating systems." msgstr "" -#: distutils/sourcedist.rst:208 +#: ../../src/Doc/distutils/sourcedist.rst:208 msgid "Manifest-related options" msgstr "" -#: distutils/sourcedist.rst:210 +#: ../../src/Doc/distutils/sourcedist.rst:210 msgid "" "The normal course of operations for the :command:`sdist` command is as " "follows:" msgstr "" -#: distutils/sourcedist.rst:212 +#: ../../src/Doc/distutils/sourcedist.rst:212 msgid "" "if the manifest file (:file:`MANIFEST` by default) exists and the first line " "does not have a comment indicating it is generated from :file:`MANIFEST.in`, " "then it is used as is, unaltered" msgstr "" -#: distutils/sourcedist.rst:216 +#: ../../src/Doc/distutils/sourcedist.rst:216 msgid "" "if the manifest file doesn't exist or has been previously automatically " "generated, read :file:`MANIFEST.in` and create the manifest" msgstr "" -#: distutils/sourcedist.rst:219 +#: ../../src/Doc/distutils/sourcedist.rst:219 msgid "" "if neither :file:`MANIFEST` nor :file:`MANIFEST.in` exist, create a manifest " "with just the default file set" msgstr "" -#: distutils/sourcedist.rst:222 +#: ../../src/Doc/distutils/sourcedist.rst:222 msgid "" "use the list of files now in :file:`MANIFEST` (either just generated or read " "in) to create the source distribution archive(s)" msgstr "" -#: distutils/sourcedist.rst:225 +#: ../../src/Doc/distutils/sourcedist.rst:225 msgid "" "There are a couple of options that modify this behaviour. First, use the :" "option:`--no-defaults` and :option:`--no-prune` to disable the standard " "\"include\" and \"exclude\" sets." msgstr "" -#: distutils/sourcedist.rst:229 +#: ../../src/Doc/distutils/sourcedist.rst:229 msgid "" "Second, you might just want to (re)generate the manifest, but not create a " "source distribution::" msgstr "" -#: distutils/sourcedist.rst:234 +#: ../../src/Doc/distutils/sourcedist.rst:234 msgid ":option:`-o` is a shortcut for :option:`--manifest-only`." msgstr "" -#: distutils/uploading.rst:5 +#: ../../src/Doc/distutils/uploading.rst:5 msgid "Uploading Packages to the Package Index" msgstr "" -#: distutils/uploading.rst:7 +#: ../../src/Doc/distutils/uploading.rst:7 msgid "" "The contents of this page have moved to the section :ref:`package-index`." msgstr "" diff --git a/extending.po b/extending.po index 7abee8f7..60cca424 100644 --- a/extending.po +++ b/extending.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-13 22:59+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: 2016-01-20 22:17+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: French \n" @@ -17,11 +17,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 1.8.6\n" -#: extending/building.rst:7 +#: ../../src/Doc/extending/building.rst:7 msgid "Building C and C++ Extensions" msgstr "Construire des extensions C et C++" -#: extending/building.rst:9 +#: ../../src/Doc/extending/building.rst:9 msgid "" "A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux, " "``.pyd`` on Windows), which exports an *initialization function*." @@ -29,7 +29,7 @@ msgstr "" "Une extension C pour CPython est une bibliothèque partagée (Un ``.so`` sur " "Linux, un ``.pyd`` sur windows), qui expose une *fonction d'initialisation*." -#: extending/building.rst:12 +#: ../../src/Doc/extending/building.rst:12 msgid "" "To be importable, the shared library must be available on :envvar:" "`PYTHONPATH`, and must be named after the module name, with an appropriate " @@ -41,11 +41,11 @@ msgstr "" "l'extension appropriée. En utilisant distutils, le nom est généré " "automatiquement." -#: extending/building.rst:16 +#: ../../src/Doc/extending/building.rst:16 msgid "The initialization function has the signature:" msgstr "La fonction d'initialisation doit avoir le prototype :" -#: extending/building.rst:20 +#: ../../src/Doc/extending/building.rst:20 msgid "" "It returns either a fully-initialized module, or a :c:type:`PyModuleDef` " "instance. See :ref:`initializing-modules` for details." @@ -54,7 +54,7 @@ msgstr "" "de :ctype:`PyModuleDef`. Voir :ref:`initializing-modules` pour plus de " "détails." -#: extending/building.rst:25 +#: ../../src/Doc/extending/building.rst:25 msgid "" "For modules with ASCII-only names, the function must be named " "``PyInit_``, with ```` replaced by the name of the " @@ -72,7 +72,7 @@ msgstr "" "*punyencode* de Python, dont les tirets sont remplacés par des tirets-bas. " "En Python ça donne ::" -#: extending/building.rst:39 +#: ../../src/Doc/extending/building.rst:39 msgid "" "It is possible to export multiple modules from a single shared library by " "defining multiple initialization functions. However, importing them requires " @@ -87,11 +87,11 @@ msgstr "" "fonction correspondant au nom du fichier est trouvée. Voir la :PEP:" "`489#multiple-modules-in-library`." -#: extending/building.rst:49 +#: ../../src/Doc/extending/building.rst:49 msgid "Building C and C++ Extensions with distutils" msgstr "Construire les extensions C et C++ avec distutils" -#: extending/building.rst:53 +#: ../../src/Doc/extending/building.rst:53 msgid "" "Extension modules can be built using distutils, which is included in " "Python. Since distutils also supports creation of binary packages, users " @@ -102,7 +102,7 @@ msgstr "" "binaires, les utilisateurs n'auront pas nécessairement besoin ni d'un " "compilateur ni de distutils pour installer l'extension." -#: extending/building.rst:57 +#: ../../src/Doc/extending/building.rst:57 msgid "" "A distutils package contains a driver script, :file:`setup.py`. This is a " "plain Python file, which, in the most simple case, could look like this::" @@ -110,11 +110,11 @@ msgstr "" "Un paquet distutils contient un script pilote, :file:`setup.py`. C'est un " "simple fichier Python, qui ressemble typiquement à ::" -#: extending/building.rst:71 +#: ../../src/Doc/extending/building.rst:71 msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::" msgstr "Avec ce :file:`setup.py` et un fichier :file:`demo.c`, lancer ::" -#: extending/building.rst:75 +#: ../../src/Doc/extending/building.rst:75 msgid "" "will compile :file:`demo.c`, and produce an extension module named ``demo`` " "in the :file:`build` directory. Depending on the system, the module file " @@ -126,7 +126,7 @@ msgstr "" "peut se retrouver dans :file:`build/lib.system`, et son nom peut être :file:" "`demo.py` ou :file:`demo.pyd`." -#: extending/building.rst:80 +#: ../../src/Doc/extending/building.rst:80 msgid "" "In the :file:`setup.py`, all execution is performed by calling the ``setup`` " "function. This takes a variable number of keyword arguments, of which the " @@ -147,7 +147,7 @@ msgstr "" "fonctionnalités de distutils. Cette section n'explique que la construction " "de modules d'extension." -#: extending/building.rst:89 +#: ../../src/Doc/extending/building.rst:89 msgid "" "It is common to pre-compute arguments to :func:`setup`, to better structure " "the driver script. In the example above, the ``ext_modules`` argument to :" @@ -163,7 +163,7 @@ msgstr "" "Dans l'exemple, l'instance défini une extension nommée ``demo`` qui est " "construite en compilant un seul fichier source, :file:`demo.c`." -#: extending/building.rst:96 +#: ../../src/Doc/extending/building.rst:96 msgid "" "In many cases, building an extension is more complex, since additional " "preprocessor defines and libraries may be needed. This is demonstrated in " @@ -173,7 +173,7 @@ msgstr "" "des bibliothèque et définitions de préprocesseur dont la compilation " "pourrait dépendre. En voilà un exemple typique ::" -#: extending/building.rst:122 +#: ../../src/Doc/extending/building.rst:122 msgid "" "In this example, :func:`setup` is called with additional meta-information, " "which is recommended when distribution packages have to be built. For the " @@ -190,7 +190,7 @@ msgstr "" "différentes manières, par exemple, sur Linux, on pourrait obtenir cette " "ligne ::" -#: extending/building.rst:133 +#: ../../src/Doc/extending/building.rst:133 msgid "" "These lines are for demonstration purposes only; distutils users should " "trust that distutils gets the invocations right." @@ -198,11 +198,11 @@ msgstr "" "Ces lignes ne sont qu'à titre d'exemple, les utilisateurs de distutils " "doivent avoir confiance en distutils qui fera les appels correctement." -#: extending/building.rst:140 +#: ../../src/Doc/extending/building.rst:140 msgid "Distributing your extension modules" msgstr "Distribuer vos modules d'extension" -#: extending/building.rst:142 +#: ../../src/Doc/extending/building.rst:142 msgid "" "When an extension has been successfully build, there are three ways to use " "it." @@ -210,21 +210,21 @@ msgstr "" "Lorsqu'une extension a été construite avec succès, il existe trois moyens de " "l'utiliser." -#: extending/building.rst:144 +#: ../../src/Doc/extending/building.rst:144 msgid "" "End-users will typically want to install the module, they do so by running ::" msgstr "" "Typiquement, les utilisateurs vont vouloir installer le module, ils le font " "en exécutant ::" -#: extending/building.rst:148 +#: ../../src/Doc/extending/building.rst:148 msgid "" "Module maintainers should produce source packages; to do so, they run ::" msgstr "" "Les mainteneurs de modules voudront produire des paquets source, pour ce " "faire ils exécuteront ::" -#: extending/building.rst:152 +#: ../../src/Doc/extending/building.rst:152 msgid "" "In some cases, additional files need to be included in a source " "distribution; this is done through a :file:`MANIFEST.in` file; see the " @@ -234,7 +234,7 @@ msgstr "" "distribution source, c'est possible grâce à un fichier :file:`MANIFEST.in`. " "Voir la documentation de distutils pour plus de détails." -#: extending/building.rst:156 +#: ../../src/Doc/extending/building.rst:156 msgid "" "If the source distribution has been build successfully, maintainers can also " "create binary distributions. Depending on the platform, one of the following " @@ -244,11 +244,11 @@ msgstr "" "peuvent créer une distribution binaire. En fonction de la plateforme, une " "des commandes suivantes peut être utilisée. ::" -#: extending/embedding.rst:8 +#: ../../src/Doc/extending/embedding.rst:8 msgid "Embedding Python in Another Application" msgstr "Intégrer Python dans une autre Application" -#: extending/embedding.rst:10 +#: ../../src/Doc/extending/embedding.rst:10 msgid "" "The previous chapters discussed how to extend Python, that is, how to extend " "the functionality of Python by attaching a library of C functions to it. It " @@ -270,7 +270,7 @@ msgstr "" "écrivant des scripts Python. Vous pouvez aussi l'utiliser vous même si " "certaines fonctionnalités peuvent être rédigées plus facilement en Python." -#: extending/embedding.rst:20 +#: ../../src/Doc/extending/embedding.rst:20 msgid "" "Embedding Python is similar to extending it, but not quite. The difference " "is that when you extend Python, the main program of the application is still " @@ -284,7 +284,7 @@ msgstr "" "voir avec Python. C'est simplement quelques parties du programme qui " "appellent l'interprète Python pour exécuter un peu de code Python." -#: extending/embedding.rst:26 +#: ../../src/Doc/extending/embedding.rst:26 msgid "" "So if you are embedding Python, you are providing your own main program. " "One of the things this main program has to do is initialize the Python " @@ -299,7 +299,7 @@ msgstr "" "de passer des options à Python. Ensuite vous pourrez appeler l'interpréteur " "depuis n'importe quelle partie de votre programme." -#: extending/embedding.rst:32 +#: ../../src/Doc/extending/embedding.rst:32 msgid "" "There are several different ways to call the interpreter: you can pass a " "string containing Python statements to :c:func:`PyRun_SimpleString`, or you " @@ -315,11 +315,12 @@ msgstr "" "pouvez aussi appeler les API de bas niveau décrites dans les chapitres " "précédents pour construire et utiliser des objets Python." -#: extending/embedding.rst:42 -msgid "c-api-index" +#: ../../src/Doc/extending/embedding.rst:42 +#, fuzzy +msgid ":ref:`c-api-index`" msgstr "c-api-index" -#: extending/embedding.rst:42 +#: ../../src/Doc/extending/embedding.rst:42 msgid "" "The details of Python's C interface are given in this manual. A great deal " "of necessary information can be found here." @@ -327,11 +328,11 @@ msgstr "" "Les détails sur l'interface entre Python et le C sont donnés dans ce manuel. " "Pléthore informations s'y trouvent." -#: extending/embedding.rst:49 +#: ../../src/Doc/extending/embedding.rst:49 msgid "Very High Level Embedding" msgstr "Intégration de Très Haut Niveau" -#: extending/embedding.rst:51 +#: ../../src/Doc/extending/embedding.rst:51 msgid "" "The simplest form of embedding Python is the use of the very high level " "interface. This interface is intended to execute a Python script without " @@ -343,7 +344,7 @@ msgstr "" "sans avoir à interagir avec directement. C'est utile, par exemple, pour " "effectuer une opération sur un fichier. ::" -#: extending/embedding.rst:75 +#: ../../src/Doc/extending/embedding.rst:75 msgid "" "The :c:func:`Py_SetProgramName` function should be called before :c:func:" "`Py_Initialize` to inform the interpreter about paths to Python run-time " @@ -369,11 +370,11 @@ msgstr "" "aisément avec :c:func:`PyRun_SimpleFile`,ce qui vous évite d'avoir à allouer " "la mémoire et d'y charger le contenu du fichier." -#: extending/embedding.rst:90 +#: ../../src/Doc/extending/embedding.rst:90 msgid "Beyond Very High Level Embedding: An overview" msgstr "Au delà de l'Intégration de Haut Niveau: Survol" -#: extending/embedding.rst:92 +#: ../../src/Doc/extending/embedding.rst:92 msgid "" "The high level interface gives you the ability to execute arbitrary pieces " "of Python code from your application, but exchanging data values is quite " @@ -387,7 +388,7 @@ msgstr "" "appels de niveau plus bas. Il vous en coûtera plus de lignes de C à écrire, " "mais vous pourrez presque tout faire." -#: extending/embedding.rst:97 +#: ../../src/Doc/extending/embedding.rst:97 msgid "" "It should be noted that extending Python and embedding Python is quite the " "same activity, despite the different intent. Most topics discussed in the " @@ -399,27 +400,27 @@ msgstr "" "dans les chapitres précédents sont toujours valides. Pour le prouver, " "regardez ce qu'un code d'extension de Python vers C fait réellement :" -#: extending/embedding.rst:102 +#: ../../src/Doc/extending/embedding.rst:102 msgid "Convert data values from Python to C," msgstr "Convertir des valeurs de Python vers le C," -#: extending/embedding.rst:104 +#: ../../src/Doc/extending/embedding.rst:104 msgid "Perform a function call to a C routine using the converted values, and" msgstr "Appeler une fonction C en utilisant les valeurs converties, et" -#: extending/embedding.rst:106 +#: ../../src/Doc/extending/embedding.rst:106 msgid "Convert the data values from the call from C to Python." msgstr "Convertir les résultats de l'appel à la fonction C pour Python." -#: extending/embedding.rst:108 +#: ../../src/Doc/extending/embedding.rst:108 msgid "When embedding Python, the interface code does:" msgstr "Lors de l'intégration de Python, le code de l'interface fait :" -#: extending/embedding.rst:110 +#: ../../src/Doc/extending/embedding.rst:110 msgid "Convert data values from C to Python," msgstr "Convertir les valeurs depuis le C vers Python," -#: extending/embedding.rst:112 +#: ../../src/Doc/extending/embedding.rst:112 msgid "" "Perform a function call to a Python interface routine using the converted " "values, and" @@ -427,11 +428,11 @@ msgstr "" "Effectuer un appel de fonction de l'interface Python en utilisant les " "valeurs converties, et" -#: extending/embedding.rst:115 +#: ../../src/Doc/extending/embedding.rst:115 msgid "Convert the data values from the call from Python to C." msgstr "Convertir les valeurs de l'appel Python pour le C." -#: extending/embedding.rst:117 +#: ../../src/Doc/extending/embedding.rst:117 msgid "" "As you can see, the data conversion steps are simply swapped to accommodate " "the different direction of the cross-language transfer. The only difference " @@ -444,7 +445,7 @@ msgstr "" "données. Lors de l'extension, vous appelez une fonction C, lors de " "l'intégration vous appelez une fonction Python." -#: extending/embedding.rst:122 +#: ../../src/Doc/extending/embedding.rst:122 msgid "" "This chapter will not discuss how to convert data from Python to C and vice " "versa. Also, proper use of references and dealing with errors is assumed to " @@ -457,11 +458,11 @@ msgstr "" "l'extension de l'interpréteur, vous pouvez vous référer aux chapitres " "précédents." -#: extending/embedding.rst:131 +#: ../../src/Doc/extending/embedding.rst:131 msgid "Pure Embedding" msgstr "Intégration Pure" -#: extending/embedding.rst:133 +#: ../../src/Doc/extending/embedding.rst:133 msgid "" "The first program aims to execute a function in a Python script. Like in the " "section about the very high level interface, the Python interpreter does not " @@ -473,11 +474,11 @@ msgstr "" "l'interpréteur n'interagit pas directement avec l'application (mais le fera " "dans la section suivante)." -#: extending/embedding.rst:138 +#: ../../src/Doc/extending/embedding.rst:138 msgid "The code to run a function defined in a Python script is:" msgstr "Le code pour appeler une fonction définie dans un script Python est :" -#: extending/embedding.rst:143 +#: ../../src/Doc/extending/embedding.rst:143 msgid "" "This code loads a Python script using ``argv[1]``, and calls the function " "named in ``argv[2]``. Its integer arguments are the other values of the " @@ -491,11 +492,11 @@ msgstr "" "programme (appelons l'exécutable :program:`call`), et l'appellez pour " "exécuter un script Python, tel que :" -#: extending/embedding.rst:158 +#: ../../src/Doc/extending/embedding.rst:158 msgid "then the result should be::" msgstr "alors le résultat sera ::" -#: extending/embedding.rst:164 +#: ../../src/Doc/extending/embedding.rst:164 msgid "" "Although the program is quite large for its functionality, most of the code " "is for data conversion between Python and C, and for error reporting. The " @@ -506,7 +507,7 @@ msgstr "" "rapporter les erreurs. La partie intéressante, qui concerne l'intégration de " "Python débute par ::" -#: extending/embedding.rst:173 +#: ../../src/Doc/extending/embedding.rst:173 msgid "" "After initializing the interpreter, the script is loaded using :c:func:" "`PyImport_Import`. This routine needs a Python string as its argument, " @@ -518,7 +519,7 @@ msgstr "" "argument, elle même construite en utilisant la fonction de conversion :c:" "func:`PyUnicode_FromString`." -#: extending/embedding.rst:186 +#: ../../src/Doc/extending/embedding.rst:186 msgid "" "Once the script is loaded, the name we're looking for is retrieved using :c:" "func:`PyObject_GetAttrString`. If the name exists, and the object returned " @@ -532,7 +533,7 @@ msgstr "" "programme continue, classiquement, par la construction de l'uplet " "d'arguments. L'appel à la fonction Python est alors effectué avec ::" -#: extending/embedding.rst:194 +#: ../../src/Doc/extending/embedding.rst:194 msgid "" "Upon return of the function, ``pValue`` is either *NULL* or it contains a " "reference to the return value of the function. Be sure to release the " @@ -542,11 +543,11 @@ msgstr "" "référence sur la valeur donnée par la fonction. Assurez-vous de libérer la " "référence après avoir utilisé la valeur." -#: extending/embedding.rst:202 +#: ../../src/Doc/extending/embedding.rst:202 msgid "Extending Embedded Python" msgstr "Étendre un Python Intégré" -#: extending/embedding.rst:204 +#: ../../src/Doc/extending/embedding.rst:204 msgid "" "Until now, the embedded Python interpreter had no access to functionality " "from the application itself. The Python API allows this by extending the " @@ -567,7 +568,7 @@ msgstr "" "à Python, tout comme vous écririez une extension Python normale. Par " "exemple ::" -#: extending/embedding.rst:241 +#: ../../src/Doc/extending/embedding.rst:241 msgid "" "Insert the above code just above the :c:func:`main` function. Also, insert " "the following two statements before the call to :c:func:`Py_Initialize`::" @@ -576,7 +577,7 @@ msgstr "" "aussi les deux instructions suivantes avant l'appel à :c:func:" "`Py_Initialize` ::" -#: extending/embedding.rst:247 +#: ../../src/Doc/extending/embedding.rst:247 msgid "" "These two lines initialize the ``numargs`` variable, and make the :func:`emb." "numargs` function accessible to the embedded Python interpreter. With these " @@ -586,7 +587,7 @@ msgstr "" "func:`emb.numargs` accessible à l'interprète intégré. Avec ces ajouts, le " "script Python petit maintenant faire des choses comme" -#: extending/embedding.rst:256 +#: ../../src/Doc/extending/embedding.rst:256 msgid "" "In a real application, the methods will expose an API of the application to " "Python." @@ -594,11 +595,11 @@ msgstr "" "Dans un cas réel, les méthodes exposeraient une API de l'application a " "Python." -#: extending/embedding.rst:266 +#: ../../src/Doc/extending/embedding.rst:266 msgid "Embedding Python in C++" msgstr "Intégrer Python dans du C++" -#: extending/embedding.rst:268 +#: ../../src/Doc/extending/embedding.rst:268 msgid "" "It is also possible to embed Python in a C++ program; precisely how this is " "done will depend on the details of the C++ system used; in general you will " @@ -612,11 +613,11 @@ msgstr "" "compilateur C++ pour compiler et lier votre programme. Il n'y a pas besoin " "de recompiler Python en utilisant C++." -#: extending/embedding.rst:277 +#: ../../src/Doc/extending/embedding.rst:277 msgid "Compiling and Linking under Unix-like systems" msgstr "Compiler et Lier en environnement Unix ou similaire" -#: extending/embedding.rst:279 +#: ../../src/Doc/extending/embedding.rst:279 msgid "" "It is not necessarily trivial to find the right flags to pass to your " "compiler (and linker) in order to embed the Python interpreter into your " @@ -628,7 +629,7 @@ msgstr "" "Python ayant besoin de charger des extensions sous forme de bibliothèques " "dynamiques en C (des :file:`.so`) pour se lier avec." -#: extending/embedding.rst:285 +#: ../../src/Doc/extending/embedding.rst:285 msgid "" "To find out the required compiler and linker flags, you can execute the :" "file:`python{X.Y}-config` script which is generated as part of the " @@ -641,7 +642,7 @@ msgstr "" "(un script :file:`python3-config` peut aussi être disponible). Ce script a " "quelques options, celles-ci vous seront utiles :" -#: extending/embedding.rst:291 +#: ../../src/Doc/extending/embedding.rst:291 msgid "" "``pythonX.Y-config --cflags`` will give you the recommended flags when " "compiling::" @@ -649,7 +650,7 @@ msgstr "" "``pythonX.Y-config --cflags`` vous donnera les options recommandés pour " "compiler ::" -#: extending/embedding.rst:297 +#: ../../src/Doc/extending/embedding.rst:297 msgid "" "``pythonX.Y-config --ldflags`` will give you the recommended flags when " "linking::" @@ -657,7 +658,7 @@ msgstr "" "``pythonX.Y-config --ldflags`` vous donnera les options recommandées pour " "lier ::" -#: extending/embedding.rst:304 +#: ../../src/Doc/extending/embedding.rst:304 msgid "" "To avoid confusion between several Python installations (and especially " "between the system Python and your own compiled Python), it is recommended " @@ -669,7 +670,7 @@ msgstr "" "recommandé d'utiliser un chemin absolu vers :file:`python{X.Y}-config`, " "comme dans l'exemple précédent." -#: extending/embedding.rst:309 +#: ../../src/Doc/extending/embedding.rst:309 msgid "" "If this procedure doesn't work for you (it is not guaranteed to work for all " "Unix-like platforms; however, we welcome :ref:`bug reports `_" msgstr "" -#: extending/index.rst:36 +#: ../../src/Doc/extending/index.rst:36 msgid "" "The Python Packaging User Guide not only covers several available tools that " "simplify the creation of binary extensions, but also discusses the various " "reasons why creating an extension module may be desirable in the first place." msgstr "" -#: extending/index.rst:43 +#: ../../src/Doc/extending/index.rst:43 msgid "Creating extensions without third party tools" msgstr "" -#: extending/index.rst:45 +#: ../../src/Doc/extending/index.rst:45 msgid "" "This section of the guide covers creating C and C++ extensions without " "assistance from third party tools. It is intended primarily for creators of " @@ -2225,11 +2229,11 @@ msgid "" "extensions." msgstr "" -#: extending/index.rst:60 +#: ../../src/Doc/extending/index.rst:60 msgid "Embedding the CPython runtime in a larger application" msgstr "" -#: extending/index.rst:62 +#: ../../src/Doc/extending/index.rst:62 msgid "" "Sometimes, rather than creating an extension that runs inside the Python " "interpreter as the main application, it is desirable to instead embed the " @@ -2237,29 +2241,29 @@ msgid "" "details involved in doing that successfully." msgstr "" -#: extending/newtypes.rst:8 +#: ../../src/Doc/extending/newtypes.rst:8 msgid "Defining New Types" msgstr "" -#: extending/newtypes.rst:15 +#: ../../src/Doc/extending/newtypes.rst:15 msgid "" "As mentioned in the last chapter, Python allows the writer of an extension " "module to define new types that can be manipulated from Python code, much " "like strings and lists in core Python." msgstr "" -#: extending/newtypes.rst:19 +#: ../../src/Doc/extending/newtypes.rst:19 msgid "" "This is not hard; the code for all extension types follows a pattern, but " "there are some details that you need to understand before you can get " "started." msgstr "" -#: extending/newtypes.rst:26 +#: ../../src/Doc/extending/newtypes.rst:26 msgid "The Basics" msgstr "" -#: extending/newtypes.rst:28 +#: ../../src/Doc/extending/newtypes.rst:28 msgid "" "The Python runtime sees all Python objects as variables of type :c:type:" "`PyObject\\*`, which serves as a \"base type\" for all Python objects. :c:" @@ -2270,29 +2274,29 @@ msgid "" "functions are called \"type methods\"." msgstr "" -#: extending/newtypes.rst:36 +#: ../../src/Doc/extending/newtypes.rst:36 msgid "" "So, if you want to define a new object type, you need to create a new type " "object." msgstr "" -#: extending/newtypes.rst:39 +#: ../../src/Doc/extending/newtypes.rst:39 msgid "" "This sort of thing can only be explained by example, so here's a minimal, " "but complete, module that defines a new type:" msgstr "" -#: extending/newtypes.rst:45 +#: ../../src/Doc/extending/newtypes.rst:45 msgid "" "Now that's quite a bit to take in at once, but hopefully bits will seem " "familiar from the last chapter." msgstr "" -#: extending/newtypes.rst:48 +#: ../../src/Doc/extending/newtypes.rst:48 msgid "The first bit that will be new is::" msgstr "" -#: extending/newtypes.rst:54 +#: ../../src/Doc/extending/newtypes.rst:54 msgid "" "This is what a Noddy object will contain---in this case, nothing more than " "what every Python object contains---a refcount and a pointer to a type " @@ -2305,17 +2309,17 @@ msgid "" "known to call this an error and refuse to compile the code.)" msgstr "" -#: extending/newtypes.rst:64 +#: ../../src/Doc/extending/newtypes.rst:64 msgid "" "For contrast, let's take a look at the corresponding definition for standard " "Python floats::" msgstr "" -#: extending/newtypes.rst:72 +#: ../../src/Doc/extending/newtypes.rst:72 msgid "Moving on, we come to the crunch --- the type object. ::" msgstr "" -#: extending/newtypes.rst:98 +#: ../../src/Doc/extending/newtypes.rst:98 msgid "" "Now if you go and look up the definition of :c:type:`PyTypeObject` in :file:" "`object.h` you'll see that it has many more fields that the definition " @@ -2323,30 +2327,30 @@ msgid "" "and it's common practice to not specify them explicitly unless you need them." msgstr "" -#: extending/newtypes.rst:103 +#: ../../src/Doc/extending/newtypes.rst:103 msgid "" "This is so important that we're going to pick the top of it apart still " "further::" msgstr "" -#: extending/newtypes.rst:108 +#: ../../src/Doc/extending/newtypes.rst:108 msgid "This line is a bit of a wart; what we'd like to write is::" msgstr "" -#: extending/newtypes.rst:112 +#: ../../src/Doc/extending/newtypes.rst:112 msgid "" "as the type of a type object is \"type\", but this isn't strictly conforming " "C and some compilers complain. Fortunately, this member will be filled in " "for us by :c:func:`PyType_Ready`. ::" msgstr "" -#: extending/newtypes.rst:118 +#: ../../src/Doc/extending/newtypes.rst:118 msgid "" "The name of our type. This will appear in the default textual " "representation of our objects and in some error messages, for example::" msgstr "" -#: extending/newtypes.rst:126 +#: ../../src/Doc/extending/newtypes.rst:126 msgid "" "Note that the name is a dotted name that includes both the module name and " "the name of the type within the module. The module in this case is :mod:" @@ -2354,13 +2358,13 @@ msgid "" "`noddy.Noddy`. ::" msgstr "" -#: extending/newtypes.rst:132 +#: ../../src/Doc/extending/newtypes.rst:132 msgid "" "This is so that Python knows how much memory to allocate when you call :c:" "func:`PyObject_New`." msgstr "" -#: extending/newtypes.rst:137 +#: ../../src/Doc/extending/newtypes.rst:137 msgid "" "If you want your type to be subclassable from Python, and your type has the " "same :c:member:`~PyTypeObject.tp_basicsize` as its base type, you may have " @@ -2374,31 +2378,31 @@ msgid "" "your base type, and therefore increasing its size." msgstr "" -#: extending/newtypes.rst:151 +#: ../../src/Doc/extending/newtypes.rst:151 msgid "" "This has to do with variable length objects like lists and strings. Ignore " "this for now." msgstr "" -#: extending/newtypes.rst:154 +#: ../../src/Doc/extending/newtypes.rst:154 msgid "" "Skipping a number of type methods that we don't provide, we set the class " "flags to :const:`Py_TPFLAGS_DEFAULT`. ::" msgstr "" -#: extending/newtypes.rst:159 +#: ../../src/Doc/extending/newtypes.rst:159 msgid "" "All types should include this constant in their flags. It enables all of " "the members defined until at least Python 3.3. If you need further members, " "you will need to OR the corresponding flags." msgstr "" -#: extending/newtypes.rst:163 +#: ../../src/Doc/extending/newtypes.rst:163 msgid "" "We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::" msgstr "" -#: extending/newtypes.rst:167 +#: ../../src/Doc/extending/newtypes.rst:167 msgid "" "Now we get into the type methods, the things that make your objects " "different from the others. We aren't going to implement any of these in " @@ -2406,7 +2410,7 @@ msgid "" "interesting behavior." msgstr "" -#: extending/newtypes.rst:171 +#: ../../src/Doc/extending/newtypes.rst:171 msgid "" "For now, all we want to be able to do is to create new :class:`Noddy` " "objects. To enable object creation, we have to provide a :c:member:" @@ -2420,110 +2424,110 @@ msgid "" "just before calling :c:func:`PyType_Ready`::" msgstr "" -#: extending/newtypes.rst:185 +#: ../../src/Doc/extending/newtypes.rst:185 msgid "" "All the other type methods are *NULL*, so we'll go over them later --- " "that's for a later section!" msgstr "" -#: extending/newtypes.rst:188 +#: ../../src/Doc/extending/newtypes.rst:188 msgid "" "Everything else in the file should be familiar, except for some code in :c:" "func:`PyInit_noddy`::" msgstr "" -#: extending/newtypes.rst:194 +#: ../../src/Doc/extending/newtypes.rst:194 msgid "" "This initializes the :class:`Noddy` type, filing in a number of members, " "including :attr:`ob_type` that we initially set to *NULL*. ::" msgstr "" -#: extending/newtypes.rst:199 +#: ../../src/Doc/extending/newtypes.rst:199 msgid "" "This adds the type to the module dictionary. This allows us to create :" "class:`Noddy` instances by calling the :class:`Noddy` class::" msgstr "" -#: extending/newtypes.rst:205 +#: ../../src/Doc/extending/newtypes.rst:205 msgid "" "That's it! All that remains is to build it; put the above code in a file " "called :file:`noddy.c` and ::" msgstr "" -#: extending/newtypes.rst:212 +#: ../../src/Doc/extending/newtypes.rst:212 msgid "in a file called :file:`setup.py`; then typing ::" msgstr "" -#: extending/newtypes.rst:216 +#: ../../src/Doc/extending/newtypes.rst:216 msgid "" "at a shell should produce a file :file:`noddy.so` in a subdirectory; move to " "that directory and fire up Python --- you should be able to ``import noddy`` " "and play around with Noddy objects." msgstr "" -#: extending/newtypes.rst:220 +#: ../../src/Doc/extending/newtypes.rst:220 msgid "That wasn't so hard, was it?" msgstr "" -#: extending/newtypes.rst:222 +#: ../../src/Doc/extending/newtypes.rst:222 msgid "" "Of course, the current Noddy type is pretty uninteresting. It has no data " "and doesn't do anything. It can't even be subclassed." msgstr "" -#: extending/newtypes.rst:227 +#: ../../src/Doc/extending/newtypes.rst:227 msgid "Adding data and methods to the Basic example" msgstr "" -#: extending/newtypes.rst:229 +#: ../../src/Doc/extending/newtypes.rst:229 msgid "" "Let's extend the basic example to add some data and methods. Let's also " "make the type usable as a base class. We'll create a new module, :mod:" "`noddy2` that adds these capabilities:" msgstr "" -#: extending/newtypes.rst:236 +#: ../../src/Doc/extending/newtypes.rst:236 msgid "This version of the module has a number of changes." msgstr "" -#: extending/newtypes.rst:238 +#: ../../src/Doc/extending/newtypes.rst:238 msgid "We've added an extra include::" msgstr "" -#: extending/newtypes.rst:242 +#: ../../src/Doc/extending/newtypes.rst:242 msgid "" "This include provides declarations that we use to handle attributes, as " "described a bit later." msgstr "" -#: extending/newtypes.rst:245 +#: ../../src/Doc/extending/newtypes.rst:245 msgid "" "The name of the :class:`Noddy` object structure has been shortened to :class:" "`Noddy`. The type object name has been shortened to :class:`NoddyType`." msgstr "" -#: extending/newtypes.rst:248 +#: ../../src/Doc/extending/newtypes.rst:248 msgid "" "The :class:`Noddy` type now has three data attributes, *first*, *last*, and " "*number*. The *first* and *last* variables are Python strings containing " "first and last names. The *number* attribute is an integer." msgstr "" -#: extending/newtypes.rst:252 +#: ../../src/Doc/extending/newtypes.rst:252 msgid "The object structure is updated accordingly::" msgstr "" -#: extending/newtypes.rst:261 +#: ../../src/Doc/extending/newtypes.rst:261 msgid "" "Because we now have data to manage, we have to be more careful about object " "allocation and deallocation. At a minimum, we need a deallocation method::" msgstr "" -#: extending/newtypes.rst:272 +#: ../../src/Doc/extending/newtypes.rst:272 msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::" msgstr "" -#: extending/newtypes.rst:276 +#: ../../src/Doc/extending/newtypes.rst:276 msgid "" "This method decrements the reference counts of the two Python attributes. We " "use :c:func:`Py_XDECREF` here because the :attr:`first` and :attr:`last` " @@ -2533,17 +2537,17 @@ msgid "" "an instance of a subclass." msgstr "" -#: extending/newtypes.rst:282 +#: ../../src/Doc/extending/newtypes.rst:282 msgid "" "We want to make sure that the first and last names are initialized to empty " "strings, so we provide a new method::" msgstr "" -#: extending/newtypes.rst:310 +#: ../../src/Doc/extending/newtypes.rst:310 msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::" msgstr "" -#: extending/newtypes.rst:314 +#: ../../src/Doc/extending/newtypes.rst:314 msgid "" "The new member is responsible for creating (as opposed to initializing) " "objects of the type. It is exposed in Python as the :meth:`__new__` " @@ -2558,7 +2562,7 @@ msgid "" "*NULL*." msgstr "" -#: extending/newtypes.rst:325 +#: ../../src/Doc/extending/newtypes.rst:325 msgid "" "The new method is a static method that is passed the type being instantiated " "and any arguments passed when the type was called, and that returns the new " @@ -2572,7 +2576,7 @@ msgid "" "is :class:`object` by default. Most types use the default allocation." msgstr "" -#: extending/newtypes.rst:337 +#: ../../src/Doc/extending/newtypes.rst:337 msgid "" "If you are creating a co-operative :c:member:`~PyTypeObject.tp_new` (one " "that calls a base type's :c:member:`~PyTypeObject.tp_new` or :meth:" @@ -2585,15 +2589,15 @@ msgid "" "subclasses without getting a :exc:`TypeError`.)" msgstr "" -#: extending/newtypes.rst:346 +#: ../../src/Doc/extending/newtypes.rst:346 msgid "We provide an initialization function::" msgstr "" -#: extending/newtypes.rst:377 +#: ../../src/Doc/extending/newtypes.rst:377 msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::" msgstr "" -#: extending/newtypes.rst:381 +#: ../../src/Doc/extending/newtypes.rst:381 msgid "" "The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as the :meth:" "`__init__` method. It is used to initialize an object after it's created. " @@ -2604,7 +2608,7 @@ msgid "" "Initializers should return either 0 on success or -1 on error." msgstr "" -#: extending/newtypes.rst:389 +#: ../../src/Doc/extending/newtypes.rst:389 msgid "" "Initializers can be called multiple times. Anyone can call the :meth:" "`__init__` method on our objects. For this reason, we have to be extra " @@ -2612,7 +2616,7 @@ msgid "" "assign the :attr:`first` member like this::" msgstr "" -#: extending/newtypes.rst:400 +#: ../../src/Doc/extending/newtypes.rst:400 msgid "" "But this would be risky. Our type doesn't restrict the type of the :attr:" "`first` member, so it could be any kind of object. It could have a " @@ -2622,41 +2626,41 @@ msgid "" "reference counts. When don't we have to do this?" msgstr "" -#: extending/newtypes.rst:407 +#: ../../src/Doc/extending/newtypes.rst:407 msgid "when we absolutely know that the reference count is greater than 1" msgstr "" -#: extending/newtypes.rst:409 +#: ../../src/Doc/extending/newtypes.rst:409 msgid "" "when we know that deallocation of the object [#]_ will not cause any calls " "back into our type's code" msgstr "" -#: extending/newtypes.rst:412 +#: ../../src/Doc/extending/newtypes.rst:412 msgid "" "when decrementing a reference count in a :c:member:`~PyTypeObject." "tp_dealloc` handler when garbage-collections is not supported [#]_" msgstr "" -#: extending/newtypes.rst:415 +#: ../../src/Doc/extending/newtypes.rst:415 msgid "" "We want to expose our instance variables as attributes. There are a number " "of ways to do that. The simplest way is to define member definitions::" msgstr "" -#: extending/newtypes.rst:428 +#: ../../src/Doc/extending/newtypes.rst:428 msgid "" "and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::" msgstr "" -#: extending/newtypes.rst:432 +#: ../../src/Doc/extending/newtypes.rst:432 msgid "" "Each member definition has a member name, type, offset, access flags and " "documentation string. See the :ref:`Generic-Attribute-Management` section " "below for details." msgstr "" -#: extending/newtypes.rst:436 +#: ../../src/Doc/extending/newtypes.rst:436 msgid "" "A disadvantage of this approach is that it doesn't provide a way to restrict " "the types of objects that can be assigned to the Python attributes. We " @@ -2667,13 +2671,13 @@ msgid "" "deleted." msgstr "" -#: extending/newtypes.rst:443 +#: ../../src/Doc/extending/newtypes.rst:443 msgid "" "We define a single method, :meth:`name`, that outputs the objects name as " "the concatenation of the first and last names. ::" msgstr "" -#: extending/newtypes.rst:462 +#: ../../src/Doc/extending/newtypes.rst:462 msgid "" "The method is implemented as a C function that takes a :class:`Noddy` (or :" "class:`Noddy` subclass) instance as the first argument. Methods always take " @@ -2683,7 +2687,7 @@ msgid "" "method is equivalent to the Python method::" msgstr "" -#: extending/newtypes.rst:472 +#: ../../src/Doc/extending/newtypes.rst:472 msgid "" "Note that we have to check for the possibility that our :attr:`first` and :" "attr:`last` members are *NULL*. This is because they can be deleted, in " @@ -2692,23 +2696,23 @@ msgid "" "We'll see how to do that in the next section." msgstr "" -#: extending/newtypes.rst:478 +#: ../../src/Doc/extending/newtypes.rst:478 msgid "" "Now that we've defined the method, we need to create an array of method " "definitions::" msgstr "" -#: extending/newtypes.rst:488 +#: ../../src/Doc/extending/newtypes.rst:488 msgid "and assign them to the :c:member:`~PyTypeObject.tp_methods` slot::" msgstr "" -#: extending/newtypes.rst:492 +#: ../../src/Doc/extending/newtypes.rst:492 msgid "" "Note that we used the :const:`METH_NOARGS` flag to indicate that the method " "is passed no arguments." msgstr "" -#: extending/newtypes.rst:495 +#: ../../src/Doc/extending/newtypes.rst:495 msgid "" "Finally, we'll make our type usable as a base class. We've written our " "methods carefully so far so that they don't make any assumptions about the " @@ -2716,21 +2720,21 @@ msgid "" "the :const:`Py_TPFLAGS_BASETYPE` to our class flag definition::" msgstr "" -#: extending/newtypes.rst:502 +#: ../../src/Doc/extending/newtypes.rst:502 msgid "" "We rename :c:func:`PyInit_noddy` to :c:func:`PyInit_noddy2` and update the " "module name in the :c:type:`PyModuleDef` struct." msgstr "" -#: extending/newtypes.rst:505 +#: ../../src/Doc/extending/newtypes.rst:505 msgid "Finally, we update our :file:`setup.py` file to build the new module::" msgstr "" -#: extending/newtypes.rst:516 +#: ../../src/Doc/extending/newtypes.rst:516 msgid "Providing finer control over data attributes" msgstr "" -#: extending/newtypes.rst:518 +#: ../../src/Doc/extending/newtypes.rst:518 msgid "" "In this section, we'll provide finer control over how the :attr:`first` and :" "attr:`last` attributes are set in the :class:`Noddy` example. In the " @@ -2739,14 +2743,14 @@ msgid "" "make sure that these attributes always contain strings." msgstr "" -#: extending/newtypes.rst:527 +#: ../../src/Doc/extending/newtypes.rst:527 msgid "" "To provide greater control, over the :attr:`first` and :attr:`last` " "attributes, we'll use custom getter and setter functions. Here are the " "functions for getting and setting the :attr:`first` attribute::" msgstr "" -#: extending/newtypes.rst:558 +#: ../../src/Doc/extending/newtypes.rst:558 msgid "" "The getter function is passed a :class:`Noddy` object and a \"closure\", " "which is void pointer. In this case, the closure is ignored. (The closure " @@ -2756,7 +2760,7 @@ msgid "" "in the closure.)" msgstr "" -#: extending/newtypes.rst:564 +#: ../../src/Doc/extending/newtypes.rst:564 msgid "" "The setter function is passed the :class:`Noddy` object, the new value, and " "the closure. The new value may be *NULL*, in which case the attribute is " @@ -2764,35 +2768,35 @@ msgid "" "or if the attribute value is not a string." msgstr "" -#: extending/newtypes.rst:569 +#: ../../src/Doc/extending/newtypes.rst:569 msgid "We create an array of :c:type:`PyGetSetDef` structures::" msgstr "" -#: extending/newtypes.rst:583 +#: ../../src/Doc/extending/newtypes.rst:583 msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::" msgstr "" -#: extending/newtypes.rst:587 +#: ../../src/Doc/extending/newtypes.rst:587 msgid "to register our attribute getters and setters." msgstr "" -#: extending/newtypes.rst:589 +#: ../../src/Doc/extending/newtypes.rst:589 msgid "" "The last item in a :c:type:`PyGetSetDef` structure is the closure mentioned " "above. In this case, we aren't using the closure, so we just pass *NULL*." msgstr "" -#: extending/newtypes.rst:592 +#: ../../src/Doc/extending/newtypes.rst:592 msgid "We also remove the member definitions for these attributes::" msgstr "" -#: extending/newtypes.rst:600 +#: ../../src/Doc/extending/newtypes.rst:600 msgid "" "We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only " "allow strings [#]_ to be passed::" msgstr "" -#: extending/newtypes.rst:632 +#: ../../src/Doc/extending/newtypes.rst:632 msgid "" "With these changes, we can assure that the :attr:`first` and :attr:`last` " "members are never *NULL* so we can remove checks for *NULL* values in almost " @@ -2802,25 +2806,25 @@ msgid "" "initialization of these members failed in the constructor." msgstr "" -#: extending/newtypes.rst:639 +#: ../../src/Doc/extending/newtypes.rst:639 msgid "" "We also rename the module initialization function and module name in the " "initialization function, as we did before, and we add an extra definition to " "the :file:`setup.py` file." msgstr "" -#: extending/newtypes.rst:645 +#: ../../src/Doc/extending/newtypes.rst:645 msgid "Supporting cyclic garbage collection" msgstr "" -#: extending/newtypes.rst:647 +#: ../../src/Doc/extending/newtypes.rst:647 msgid "" "Python has a cyclic-garbage collector that can identify unneeded objects " "even when their reference counts are not zero. This can happen when objects " "are involved in cycles. For example, consider::" msgstr "" -#: extending/newtypes.rst:655 +#: ../../src/Doc/extending/newtypes.rst:655 msgid "" "In this example, we create a list that contains itself. When we delete it, " "it still has a reference from itself. Its reference count doesn't drop to " @@ -2828,14 +2832,14 @@ msgid "" "out that the list is garbage and free it." msgstr "" -#: extending/newtypes.rst:660 +#: ../../src/Doc/extending/newtypes.rst:660 msgid "" "In the second version of the :class:`Noddy` example, we allowed any kind of " "object to be stored in the :attr:`first` or :attr:`last` attributes. [#]_ " "This means that :class:`Noddy` objects can participate in cycles::" msgstr "" -#: extending/newtypes.rst:669 +#: ../../src/Doc/extending/newtypes.rst:669 msgid "" "This is pretty silly, but it gives us an excuse to add support for the " "cyclic-garbage collector to the :class:`Noddy` example. To support cyclic " @@ -2843,13 +2847,13 @@ msgid "" "enables these slots:" msgstr "" -#: extending/newtypes.rst:677 +#: ../../src/Doc/extending/newtypes.rst:677 msgid "" "The traversal method provides access to subobjects that could participate in " "cycles::" msgstr "" -#: extending/newtypes.rst:699 +#: ../../src/Doc/extending/newtypes.rst:699 msgid "" "For each subobject that can participate in cycles, we need to call the :c:" "func:`visit` function, which is passed to the traversal method. The :c:func:" @@ -2858,28 +2862,28 @@ msgid "" "be returned if it is non-zero." msgstr "" -#: extending/newtypes.rst:705 +#: ../../src/Doc/extending/newtypes.rst:705 msgid "" "Python provides a :c:func:`Py_VISIT` macro that automates calling visit " "functions. With :c:func:`Py_VISIT`, :c:func:`Noddy_traverse` can be " "simplified::" msgstr "" -#: extending/newtypes.rst:718 +#: ../../src/Doc/extending/newtypes.rst:718 msgid "" "Note that the :c:member:`~PyTypeObject.tp_traverse` implementation must name " "its arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`. " "This is to encourage uniformity across these boring implementations." msgstr "" -#: extending/newtypes.rst:722 +#: ../../src/Doc/extending/newtypes.rst:722 msgid "" "We also need to provide a method for clearing any subobjects that can " "participate in cycles. We implement the method and reimplement the " "deallocator to use it::" msgstr "" -#: extending/newtypes.rst:749 +#: ../../src/Doc/extending/newtypes.rst:749 msgid "" "Notice the use of a temporary variable in :c:func:`Noddy_clear`. We use the " "temporary variable so that we can set each member to *NULL* before " @@ -2893,19 +2897,19 @@ msgid "" "has dropped to zero and its value hasn't been set to *NULL*." msgstr "" -#: extending/newtypes.rst:759 +#: ../../src/Doc/extending/newtypes.rst:759 msgid "" "Python provides a :c:func:`Py_CLEAR` that automates the careful decrementing " "of reference counts. With :c:func:`Py_CLEAR`, the :c:func:`Noddy_clear` " "function can be simplified::" msgstr "" -#: extending/newtypes.rst:771 +#: ../../src/Doc/extending/newtypes.rst:771 msgid "" "Finally, we add the :const:`Py_TPFLAGS_HAVE_GC` flag to the class flags::" msgstr "" -#: extending/newtypes.rst:775 +#: ../../src/Doc/extending/newtypes.rst:775 msgid "" "That's pretty much it. If we had written custom :c:member:`~PyTypeObject." "tp_alloc` or :c:member:`~PyTypeObject.tp_free` slots, we'd need to modify " @@ -2913,11 +2917,11 @@ msgid "" "automatically provided." msgstr "" -#: extending/newtypes.rst:781 +#: ../../src/Doc/extending/newtypes.rst:781 msgid "Subclassing other types" msgstr "" -#: extending/newtypes.rst:783 +#: ../../src/Doc/extending/newtypes.rst:783 msgid "" "It is possible to create new extension types that are derived from existing " "types. It is easiest to inherit from the built in types, since an extension " @@ -2925,7 +2929,7 @@ msgid "" "share these :class:`PyTypeObject` structures between extension modules." msgstr "" -#: extending/newtypes.rst:788 +#: ../../src/Doc/extending/newtypes.rst:788 msgid "" "In this example we will create a :class:`Shoddy` type that inherits from the " "built-in :class:`list` type. The new type will be completely compatible with " @@ -2933,33 +2937,33 @@ msgid "" "increases an internal counter. ::" msgstr "" -#: extending/newtypes.rst:806 +#: ../../src/Doc/extending/newtypes.rst:806 msgid "" "As you can see, the source code closely resembles the :class:`Noddy` " "examples in previous sections. We will break down the main differences " "between them. ::" msgstr "" -#: extending/newtypes.rst:814 +#: ../../src/Doc/extending/newtypes.rst:814 msgid "" "The primary difference for derived type objects is that the base type's " "object structure must be the first value. The base type will already include " "the :c:func:`PyObject_HEAD` at the beginning of its structure." msgstr "" -#: extending/newtypes.rst:818 +#: ../../src/Doc/extending/newtypes.rst:818 msgid "" "When a Python object is a :class:`Shoddy` instance, its *PyObject\\** " "pointer can be safely cast to both *PyListObject\\** and *Shoddy\\**. ::" msgstr "" -#: extending/newtypes.rst:830 +#: ../../src/Doc/extending/newtypes.rst:830 msgid "" "In the :attr:`__init__` method for our type, we can see how to call through " "to the :attr:`__init__` method of the base type." msgstr "" -#: extending/newtypes.rst:833 +#: ../../src/Doc/extending/newtypes.rst:833 msgid "" "This pattern is important when writing a type with custom :attr:`new` and :" "attr:`dealloc` methods. The :attr:`new` method should not actually create " @@ -2968,7 +2972,7 @@ msgid "" "tp_new`." msgstr "" -#: extending/newtypes.rst:838 +#: ../../src/Doc/extending/newtypes.rst:838 msgid "" "When filling out the :c:func:`PyTypeObject` for the :class:`Shoddy` type, " "you see a slot for :c:func:`tp_base`. Due to cross platform compiler issues, " @@ -2976,7 +2980,7 @@ msgid "" "done later in the module's :c:func:`init` function. ::" msgstr "" -#: extending/newtypes.rst:861 +#: ../../src/Doc/extending/newtypes.rst:861 msgid "" "Before calling :c:func:`PyType_Ready`, the type structure must have the :c:" "member:`~PyTypeObject.tp_base` slot filled in. When we are deriving a new " @@ -2985,36 +2989,36 @@ msgid "" "type will be inherited." msgstr "" -#: extending/newtypes.rst:866 +#: ../../src/Doc/extending/newtypes.rst:866 msgid "" "After that, calling :c:func:`PyType_Ready` and adding the type object to the " "module is the same as with the basic :class:`Noddy` examples." msgstr "" -#: extending/newtypes.rst:873 +#: ../../src/Doc/extending/newtypes.rst:873 msgid "Type Methods" msgstr "" -#: extending/newtypes.rst:875 +#: ../../src/Doc/extending/newtypes.rst:875 msgid "" "This section aims to give a quick fly-by on the various type methods you can " "implement and what they do." msgstr "" -#: extending/newtypes.rst:878 +#: ../../src/Doc/extending/newtypes.rst:878 msgid "" "Here is the definition of :c:type:`PyTypeObject`, with some fields only used " "in debug builds omitted:" msgstr "" -#: extending/newtypes.rst:884 +#: ../../src/Doc/extending/newtypes.rst:884 msgid "" "Now that's a *lot* of methods. Don't worry too much though - if you have a " "type you want to define, the chances are very good that you will only " "implement a handful of these." msgstr "" -#: extending/newtypes.rst:888 +#: ../../src/Doc/extending/newtypes.rst:888 msgid "" "As you probably expect by now, we're going to go over this and give more " "information about the various handlers. We won't go in the order they are " @@ -3025,14 +3029,14 @@ msgid "" "then change the values to suit your new type. ::" msgstr "" -#: extending/newtypes.rst:898 +#: ../../src/Doc/extending/newtypes.rst:898 msgid "" "The name of the type - as mentioned in the last section, this will appear in " "various places, almost entirely for diagnostic purposes. Try to choose " "something that will be helpful in such a situation! ::" msgstr "" -#: extending/newtypes.rst:904 +#: ../../src/Doc/extending/newtypes.rst:904 msgid "" "These fields tell the runtime how much memory to allocate when new objects " "of this type are created. Python has some built-in support for variable " @@ -3041,23 +3045,23 @@ msgid "" "later. ::" msgstr "" -#: extending/newtypes.rst:911 +#: ../../src/Doc/extending/newtypes.rst:911 msgid "" "Here you can put a string (or its address) that you want returned when the " "Python script references ``obj.__doc__`` to retrieve the doc string." msgstr "" -#: extending/newtypes.rst:914 +#: ../../src/Doc/extending/newtypes.rst:914 msgid "" "Now we come to the basic type methods---the ones most extension types will " "implement." msgstr "" -#: extending/newtypes.rst:919 +#: ../../src/Doc/extending/newtypes.rst:919 msgid "Finalization and De-allocation" msgstr "" -#: extending/newtypes.rst:931 +#: ../../src/Doc/extending/newtypes.rst:931 msgid "" "This function is called when the reference count of the instance of your " "type is reduced to zero and the Python interpreter wants to reclaim it. If " @@ -3066,7 +3070,7 @@ msgid "" "of this function::" msgstr "" -#: extending/newtypes.rst:948 +#: ../../src/Doc/extending/newtypes.rst:948 msgid "" "One important requirement of the deallocator function is that it leaves any " "pending exceptions alone. This is important since deallocators are " @@ -3081,7 +3085,7 @@ msgid "" "c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" msgstr "" -#: extending/newtypes.rst:987 +#: ../../src/Doc/extending/newtypes.rst:987 msgid "" "There are limitations to what you can safely do in a deallocator function. " "First, if your type supports garbage collection (using :c:member:" @@ -3094,43 +3098,43 @@ msgid "" "tp_dealloc` again, causing a double free and a crash." msgstr "" -#: extending/newtypes.rst:996 +#: ../../src/Doc/extending/newtypes.rst:996 msgid "" "Starting with Python 3.4, it is recommended not to put any complex " "finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use " "the new :c:member:`~PyTypeObject.tp_finalize` type method." msgstr "" -#: extending/newtypes.rst:1001 +#: ../../src/Doc/extending/newtypes.rst:1001 msgid ":pep:`442` explains the new finalization scheme." msgstr "" -#: extending/newtypes.rst:1008 +#: ../../src/Doc/extending/newtypes.rst:1008 msgid "Object Presentation" msgstr "" -#: extending/newtypes.rst:1010 +#: ../../src/Doc/extending/newtypes.rst:1010 msgid "" "In Python, there are two ways to generate a textual representation of an " "object: the :func:`repr` function, and the :func:`str` function. (The :func:" "`print` function just calls :func:`str`.) These handlers are both optional." msgstr "" -#: extending/newtypes.rst:1019 +#: ../../src/Doc/extending/newtypes.rst:1019 msgid "" "The :c:member:`~PyTypeObject.tp_repr` handler should return a string object " "containing a representation of the instance for which it is called. Here is " "a simple example::" msgstr "" -#: extending/newtypes.rst:1030 +#: ../../src/Doc/extending/newtypes.rst:1030 msgid "" "If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the " "interpreter will supply a representation that uses the type's :c:member:" "`~PyTypeObject.tp_name` and a uniquely-identifying value for the object." msgstr "" -#: extending/newtypes.rst:1034 +#: ../../src/Doc/extending/newtypes.rst:1034 msgid "" "The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what the :c:" "member:`~PyTypeObject.tp_repr` handler described above is to :func:`repr`; " @@ -3141,15 +3145,15 @@ msgid "" "the :c:member:`~PyTypeObject.tp_repr` handler is used instead." msgstr "" -#: extending/newtypes.rst:1041 +#: ../../src/Doc/extending/newtypes.rst:1041 msgid "Here is a simple example::" msgstr "" -#: extending/newtypes.rst:1053 +#: ../../src/Doc/extending/newtypes.rst:1053 msgid "Attribute Management" msgstr "" -#: extending/newtypes.rst:1055 +#: ../../src/Doc/extending/newtypes.rst:1055 msgid "" "For every object which can support attributes, the corresponding type must " "provide the functions that control how the attributes are resolved. There " @@ -3159,7 +3163,7 @@ msgid "" "handler is *NULL*." msgstr "" -#: extending/newtypes.rst:1061 +#: ../../src/Doc/extending/newtypes.rst:1061 msgid "" "Python supports two pairs of attribute handlers; a type that supports " "attributes only needs to implement the functions for one pair. The " @@ -3168,7 +3172,7 @@ msgid "" "use whichever pair makes more sense for the implementation's convenience. ::" msgstr "" -#: extending/newtypes.rst:1073 +#: ../../src/Doc/extending/newtypes.rst:1073 msgid "" "If accessing attributes of an object is always a simple operation (this will " "be explained shortly), there are generic implementations which can be used " @@ -3179,35 +3183,35 @@ msgid "" "mechanism that is available." msgstr "" -#: extending/newtypes.rst:1084 +#: ../../src/Doc/extending/newtypes.rst:1084 msgid "Generic Attribute Management" msgstr "" -#: extending/newtypes.rst:1086 +#: ../../src/Doc/extending/newtypes.rst:1086 msgid "" "Most extension types only use *simple* attributes. So, what makes the " "attributes simple? There are only a couple of conditions that must be met:" msgstr "" -#: extending/newtypes.rst:1089 +#: ../../src/Doc/extending/newtypes.rst:1089 msgid "" "The name of the attributes must be known when :c:func:`PyType_Ready` is " "called." msgstr "" -#: extending/newtypes.rst:1092 +#: ../../src/Doc/extending/newtypes.rst:1092 msgid "" "No special processing is needed to record that an attribute was looked up or " "set, nor do actions need to be taken based on the value." msgstr "" -#: extending/newtypes.rst:1095 +#: ../../src/Doc/extending/newtypes.rst:1095 msgid "" "Note that this list does not place any restrictions on the values of the " "attributes, when the values are computed, or how relevant data is stored." msgstr "" -#: extending/newtypes.rst:1098 +#: ../../src/Doc/extending/newtypes.rst:1098 msgid "" "When :c:func:`PyType_Ready` is called, it uses three tables referenced by " "the type object to create :term:`descriptor`\\s which are placed in the " @@ -3219,18 +3223,18 @@ msgid "" "*NULL* as well, allowing the base type to handle attributes." msgstr "" -#: extending/newtypes.rst:1106 +#: ../../src/Doc/extending/newtypes.rst:1106 msgid "The tables are declared as three fields of the type object::" msgstr "" -#: extending/newtypes.rst:1112 +#: ../../src/Doc/extending/newtypes.rst:1112 msgid "" "If :c:member:`~PyTypeObject.tp_methods` is not *NULL*, it must refer to an " "array of :c:type:`PyMethodDef` structures. Each entry in the table is an " "instance of this structure::" msgstr "" -#: extending/newtypes.rst:1123 +#: ../../src/Doc/extending/newtypes.rst:1123 msgid "" "One entry should be defined for each method provided by the type; no entries " "are needed for methods inherited from a base type. One additional entry is " @@ -3238,7 +3242,7 @@ msgid "" "attr:`ml_name` field of the sentinel must be *NULL*." msgstr "" -#: extending/newtypes.rst:1128 +#: ../../src/Doc/extending/newtypes.rst:1128 msgid "" "The second table is used to define attributes which map directly to data " "stored in the instance. A variety of primitive C types are supported, and " @@ -3246,7 +3250,7 @@ msgid "" "defined as::" msgstr "" -#: extending/newtypes.rst:1140 +#: ../../src/Doc/extending/newtypes.rst:1140 msgid "" "For each entry in the table, a :term:`descriptor` will be constructed and " "added to the type which will be able to extract a value from the instance " @@ -3257,53 +3261,53 @@ msgid "" "accessed." msgstr "" -#: extending/newtypes.rst:1147 +#: ../../src/Doc/extending/newtypes.rst:1147 msgid "" "The following flag constants are defined in :file:`structmember.h`; they may " "be combined using bitwise-OR." msgstr "" -#: extending/newtypes.rst:1151 +#: ../../src/Doc/extending/newtypes.rst:1151 msgid "Constant" msgstr "" -#: extending/newtypes.rst:1151 +#: ../../src/Doc/extending/newtypes.rst:1151 msgid "Meaning" msgstr "Signification" -#: extending/newtypes.rst:1153 +#: ../../src/Doc/extending/newtypes.rst:1153 msgid ":const:`READONLY`" msgstr "" -#: extending/newtypes.rst:1153 +#: ../../src/Doc/extending/newtypes.rst:1153 msgid "Never writable." msgstr "" -#: extending/newtypes.rst:1155 +#: ../../src/Doc/extending/newtypes.rst:1155 msgid ":const:`READ_RESTRICTED`" msgstr "" -#: extending/newtypes.rst:1155 +#: ../../src/Doc/extending/newtypes.rst:1155 msgid "Not readable in restricted mode." msgstr "" -#: extending/newtypes.rst:1157 +#: ../../src/Doc/extending/newtypes.rst:1157 msgid ":const:`WRITE_RESTRICTED`" msgstr "" -#: extending/newtypes.rst:1157 +#: ../../src/Doc/extending/newtypes.rst:1157 msgid "Not writable in restricted mode." msgstr "" -#: extending/newtypes.rst:1159 +#: ../../src/Doc/extending/newtypes.rst:1159 msgid ":const:`RESTRICTED`" msgstr "" -#: extending/newtypes.rst:1159 +#: ../../src/Doc/extending/newtypes.rst:1159 msgid "Not readable or writable in restricted mode." msgstr "" -#: extending/newtypes.rst:1168 +#: ../../src/Doc/extending/newtypes.rst:1168 msgid "" "An interesting advantage of using the :c:member:`~PyTypeObject.tp_members` " "table to build descriptors that are used at runtime is that any attribute " @@ -3313,17 +3317,17 @@ msgid "" "`__doc__` attribute." msgstr "" -#: extending/newtypes.rst:1174 +#: ../../src/Doc/extending/newtypes.rst:1174 msgid "" "As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry " "with a :attr:`name` value of *NULL* is required." msgstr "" -#: extending/newtypes.rst:1188 +#: ../../src/Doc/extending/newtypes.rst:1188 msgid "Type-specific Attribute Management" msgstr "" -#: extending/newtypes.rst:1190 +#: ../../src/Doc/extending/newtypes.rst:1190 msgid "" "For simplicity, only the :c:type:`char\\*` version will be demonstrated " "here; the type of the name parameter is the only difference between the :c:" @@ -3334,18 +3338,18 @@ msgid "" "functionality, you'll understand what needs to be done." msgstr "" -#: extending/newtypes.rst:1198 +#: ../../src/Doc/extending/newtypes.rst:1198 msgid "" "The :c:member:`~PyTypeObject.tp_getattr` handler is called when the object " "requires an attribute look-up. It is called in the same situations where " "the :meth:`__getattr__` method of a class would be called." msgstr "" -#: extending/newtypes.rst:1202 +#: ../../src/Doc/extending/newtypes.rst:1202 msgid "Here is an example::" msgstr "" -#: extending/newtypes.rst:1218 +#: ../../src/Doc/extending/newtypes.rst:1218 msgid "" "The :c:member:`~PyTypeObject.tp_setattr` handler is called when the :meth:" "`__setattr__` or :meth:`__delattr__` method of a class instance would be " @@ -3355,11 +3359,11 @@ msgid "" "should be set to *NULL*. ::" msgstr "" -#: extending/newtypes.rst:1232 +#: ../../src/Doc/extending/newtypes.rst:1232 msgid "Object Comparison" msgstr "" -#: extending/newtypes.rst:1238 +#: ../../src/Doc/extending/newtypes.rst:1238 msgid "" "The :c:member:`~PyTypeObject.tp_richcompare` handler is called when " "comparisons are needed. It is analogous to the :ref:`rich comparison " @@ -3367,7 +3371,7 @@ msgid "" "`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." msgstr "" -#: extending/newtypes.rst:1243 +#: ../../src/Doc/extending/newtypes.rst:1243 msgid "" "This function is called with two Python objects and the operator as " "arguments, where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, " @@ -3378,23 +3382,23 @@ msgid "" "should be tried, or *NULL* if an exception was set." msgstr "" -#: extending/newtypes.rst:1251 +#: ../../src/Doc/extending/newtypes.rst:1251 msgid "" "Here is a sample implementation, for a datatype that is considered equal if " "the size of an internal pointer is equal::" msgstr "" -#: extending/newtypes.rst:1281 +#: ../../src/Doc/extending/newtypes.rst:1281 msgid "Abstract Protocol Support" msgstr "" -#: extending/newtypes.rst:1283 +#: ../../src/Doc/extending/newtypes.rst:1283 msgid "" "Python supports a variety of *abstract* 'protocols;' the specific interfaces " "provided to use these interfaces are documented in :ref:`abstract`." msgstr "" -#: extending/newtypes.rst:1287 +#: ../../src/Doc/extending/newtypes.rst:1287 msgid "" "A number of these abstract interfaces were defined early in the development " "of the Python implementation. In particular, the number, mapping, and " @@ -3409,7 +3413,7 @@ msgid "" "slot, but a slot may still be unfilled.) ::" msgstr "" -#: extending/newtypes.rst:1302 +#: ../../src/Doc/extending/newtypes.rst:1302 msgid "" "If you wish your object to be able to act like a number, a sequence, or a " "mapping object, then you place the address of a structure that implements " @@ -3420,13 +3424,13 @@ msgid "" "distribution. ::" msgstr "" -#: extending/newtypes.rst:1311 +#: ../../src/Doc/extending/newtypes.rst:1311 msgid "" "This function, if you choose to provide it, should return a hash number for " "an instance of your data type. Here is a moderately pointless example::" msgstr "" -#: extending/newtypes.rst:1327 +#: ../../src/Doc/extending/newtypes.rst:1327 msgid "" "This function is called when an instance of your data type is \"called\", " "for example, if ``obj1`` is an instance of your data type and the Python " @@ -3434,23 +3438,23 @@ msgid "" "handler is invoked." msgstr "" -#: extending/newtypes.rst:1331 +#: ../../src/Doc/extending/newtypes.rst:1331 msgid "This function takes three arguments:" msgstr "" -#: extending/newtypes.rst:1333 +#: ../../src/Doc/extending/newtypes.rst:1333 msgid "" "*arg1* is the instance of the data type which is the subject of the call. If " "the call is ``obj1('hello')``, then *arg1* is ``obj1``." msgstr "" -#: extending/newtypes.rst:1336 +#: ../../src/Doc/extending/newtypes.rst:1336 msgid "" "*arg2* is a tuple containing the arguments to the call. You can use :c:func:" "`PyArg_ParseTuple` to extract the arguments." msgstr "" -#: extending/newtypes.rst:1339 +#: ../../src/Doc/extending/newtypes.rst:1339 msgid "" "*arg3* is a dictionary of keyword arguments that were passed. If this is non-" "*NULL* and you support keyword arguments, use :c:func:" @@ -3459,12 +3463,12 @@ msgid "" "`TypeError` with a message saying that keyword arguments are not supported." msgstr "" -#: extending/newtypes.rst:1345 +#: ../../src/Doc/extending/newtypes.rst:1345 msgid "" "Here is a desultory example of the implementation of the call function. ::" msgstr "" -#: extending/newtypes.rst:1376 +#: ../../src/Doc/extending/newtypes.rst:1376 msgid "" "These functions provide support for the iterator protocol. Any object which " "wishes to support iteration over its contents (which may be generated during " @@ -3475,7 +3479,7 @@ msgid "" "the case of an error, they should set an exception and return *NULL*." msgstr "" -#: extending/newtypes.rst:1384 +#: ../../src/Doc/extending/newtypes.rst:1384 msgid "" "For an object which represents an iterable collection, the ``tp_iter`` " "handler must return an iterator object. The iterator object is responsible " @@ -3488,7 +3492,7 @@ msgid "" "objects are an example of such an iterator." msgstr "" -#: extending/newtypes.rst:1394 +#: ../../src/Doc/extending/newtypes.rst:1394 msgid "" "Iterator objects should implement both handlers. The ``tp_iter`` handler " "should return a new reference to the iterator (this is the same as the " @@ -3501,11 +3505,11 @@ msgid "" "return *NULL*." msgstr "" -#: extending/newtypes.rst:1407 +#: ../../src/Doc/extending/newtypes.rst:1407 msgid "Weak Reference Support" msgstr "" -#: extending/newtypes.rst:1409 +#: ../../src/Doc/extending/newtypes.rst:1409 msgid "" "One of the goals of Python's weak-reference implementation is to allow any " "type to participate in the weak reference mechanism without incurring the " @@ -3513,7 +3517,7 @@ msgid "" "numbers)." msgstr "" -#: extending/newtypes.rst:1413 +#: ../../src/Doc/extending/newtypes.rst:1413 msgid "" "For an object to be weakly referencable, the extension must include a :c:" "type:`PyObject\\*` field in the instance structure for the use of the weak " @@ -3524,28 +3528,28 @@ msgid "" "structure::" msgstr "" -#: extending/newtypes.rst:1427 +#: ../../src/Doc/extending/newtypes.rst:1427 msgid "The statically-declared type object for instances is defined this way::" msgstr "" -#: extending/newtypes.rst:1444 +#: ../../src/Doc/extending/newtypes.rst:1444 msgid "" "The type constructor is responsible for initializing the weak reference list " "to *NULL*::" msgstr "" -#: extending/newtypes.rst:1456 +#: ../../src/Doc/extending/newtypes.rst:1456 msgid "" "The only further addition is that the destructor needs to call the weak " "reference manager to clear any weak references. This is only required if " "the weak reference list is non-*NULL*::" msgstr "" -#: extending/newtypes.rst:1475 +#: ../../src/Doc/extending/newtypes.rst:1475 msgid "More Suggestions" msgstr "" -#: extending/newtypes.rst:1477 +#: ../../src/Doc/extending/newtypes.rst:1477 msgid "" "Remember that you can omit most of these functions, in which case you " "provide ``0`` as a value. There are type definitions for each of the " @@ -3553,7 +3557,7 @@ msgid "" "include directory that comes with the source distribution of Python." msgstr "" -#: extending/newtypes.rst:1482 +#: ../../src/Doc/extending/newtypes.rst:1482 msgid "" "In order to learn how to implement any specific method for your new data " "type, do the following: Download and unpack the Python source distribution. " @@ -3562,20 +3566,20 @@ msgid "" "will find examples of the function you want to implement." msgstr "" -#: extending/newtypes.rst:1488 +#: ../../src/Doc/extending/newtypes.rst:1488 msgid "" "When you need to verify that an object is an instance of the type you are " "implementing, use the :c:func:`PyObject_TypeCheck` function. A sample of its " "use might be something like the following::" msgstr "" -#: extending/newtypes.rst:1499 +#: ../../src/Doc/extending/newtypes.rst:1499 msgid "" "This is true when we know that the object is a basic type, like a string or " "a float." msgstr "" -#: extending/newtypes.rst:1502 +#: ../../src/Doc/extending/newtypes.rst:1502 msgid "" "We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in " "this example, because our type doesn't support garbage collection. Even if a " @@ -3584,7 +3588,7 @@ msgid "" "advanced and not covered here." msgstr "" -#: extending/newtypes.rst:1507 +#: ../../src/Doc/extending/newtypes.rst:1507 msgid "" "We now know that the first and last members are strings, so perhaps we could " "be less careful about decrementing their reference counts, however, we " @@ -3594,18 +3598,18 @@ msgid "" "objects." msgstr "" -#: extending/newtypes.rst:1513 +#: ../../src/Doc/extending/newtypes.rst:1513 msgid "" "Even in the third version, we aren't guaranteed to avoid cycles. Instances " "of string subclasses are allowed and string subclasses could allow cycles " "even if normal strings don't." msgstr "" -#: extending/windows.rst:8 +#: ../../src/Doc/extending/windows.rst:8 msgid "Building C and C++ Extensions on Windows" msgstr "" -#: extending/windows.rst:10 +#: ../../src/Doc/extending/windows.rst:10 msgid "" "This chapter briefly explains how to create a Windows extension module for " "Python using Microsoft Visual C++, and follows with more detailed background " @@ -3615,7 +3619,7 @@ msgid "" "on both Unix and Windows." msgstr "" -#: extending/windows.rst:17 +#: ../../src/Doc/extending/windows.rst:17 msgid "" "Module authors are encouraged to use the distutils approach for building " "extension modules, instead of the one described in this section. You will " @@ -3623,7 +3627,7 @@ msgid "" "Visual C++." msgstr "" -#: extending/windows.rst:24 +#: ../../src/Doc/extending/windows.rst:24 msgid "" "This chapter mentions a number of filenames that include an encoded Python " "version number. These filenames are represented with the version number " @@ -3633,11 +3637,11 @@ msgid "" "actually be ``22``." msgstr "" -#: extending/windows.rst:34 +#: ../../src/Doc/extending/windows.rst:34 msgid "A Cookbook Approach" msgstr "" -#: extending/windows.rst:36 +#: ../../src/Doc/extending/windows.rst:36 msgid "" "There are two approaches to building extension modules on Windows, just as " "there are on Unix: use the :mod:`distutils` package to control the build " @@ -3649,18 +3653,18 @@ msgid "" "library module." msgstr "" -#: extending/windows.rst:48 +#: ../../src/Doc/extending/windows.rst:48 msgid "Differences Between Unix and Windows" msgstr "" -#: extending/windows.rst:53 +#: ../../src/Doc/extending/windows.rst:53 msgid "" "Unix and Windows use completely different paradigms for run-time loading of " "code. Before you try to build a module that can be dynamically loaded, be " "aware of how your system works." msgstr "" -#: extending/windows.rst:57 +#: ../../src/Doc/extending/windows.rst:57 msgid "" "In Unix, a shared object (:file:`.so`) file contains code to be used by the " "program, and also the names of functions and data that it expects to find in " @@ -3670,7 +3674,7 @@ msgid "" "memory. This is basically a link operation." msgstr "" -#: extending/windows.rst:64 +#: ../../src/Doc/extending/windows.rst:64 msgid "" "In Windows, a dynamic-link library (:file:`.dll`) file has no dangling " "references. Instead, an access to functions or data goes through a lookup " @@ -3680,7 +3684,7 @@ msgid "" "data." msgstr "" -#: extending/windows.rst:70 +#: ../../src/Doc/extending/windows.rst:70 msgid "" "In Unix, there is only one type of library file (:file:`.a`) which contains " "code from several object files (:file:`.o`). During the link step to create " @@ -3690,7 +3694,7 @@ msgid "" "that object file." msgstr "" -#: extending/windows.rst:76 +#: ../../src/Doc/extending/windows.rst:76 msgid "" "In Windows, there are two types of library, a static library and an import " "library (both called :file:`.lib`). A static library is like a Unix :file:`." @@ -3704,7 +3708,7 @@ msgid "" "application or DLL." msgstr "" -#: extending/windows.rst:86 +#: ../../src/Doc/extending/windows.rst:86 msgid "" "Suppose you are building two dynamic-load modules, B and C, which should " "share another block of code A. On Unix, you would *not* pass :file:`A.a` to " @@ -3715,7 +3719,7 @@ msgid "" "just contains information which will be used at runtime to access A's code." msgstr "" -#: extending/windows.rst:94 +#: ../../src/Doc/extending/windows.rst:94 msgid "" "In Windows, using an import library is sort of like using ``import spam``; " "it gives you access to spam's names, but does not create a separate copy. " @@ -3723,25 +3727,25 @@ msgid "" "create a separate copy." msgstr "" -#: extending/windows.rst:103 +#: ../../src/Doc/extending/windows.rst:103 msgid "Using DLLs in Practice" msgstr "" -#: extending/windows.rst:108 +#: ../../src/Doc/extending/windows.rst:108 msgid "" "Windows Python is built in Microsoft Visual C++; using other compilers may " "or may not work (though Borland seems to). The rest of this section is MSVC+" "+ specific." msgstr "" -#: extending/windows.rst:112 +#: ../../src/Doc/extending/windows.rst:112 msgid "" "When creating DLLs in Windows, you must pass :file:`pythonXY.lib` to the " "linker. To build two DLLs, spam and ni (which uses C functions found in " "spam), you could use these commands::" msgstr "" -#: extending/windows.rst:119 +#: ../../src/Doc/extending/windows.rst:119 msgid "" "The first command created three files: :file:`spam.obj`, :file:`spam.dll` " "and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python " @@ -3749,14 +3753,14 @@ msgid "" "the Python code thanks to :file:`pythonXY.lib`." msgstr "" -#: extending/windows.rst:124 +#: ../../src/Doc/extending/windows.rst:124 msgid "" "The second command created :file:`ni.dll` (and :file:`.obj` and :file:`." "lib`), which knows how to find the necessary functions from spam, and also " "from the Python executable." msgstr "" -#: extending/windows.rst:128 +#: ../../src/Doc/extending/windows.rst:128 msgid "" "Not every identifier is exported to the lookup table. If you want any other " "modules (including Python) to be able to see your identifiers, you have to " @@ -3764,7 +3768,7 @@ msgid "" "initspam(void)`` or ``PyObject _declspec(dllexport) *NiGetSpamData(void)``." msgstr "" -#: extending/windows.rst:133 +#: ../../src/Doc/extending/windows.rst:133 msgid "" "Developer Studio will throw in a lot of import libraries that you do not " "really need, adding about 100K to your executable. To get rid of them, use " diff --git a/faq.po b/faq.po index 38e1dd2f..221e3f8a 100644 --- a/faq.po +++ b/faq.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-01-13 22:59+0100\n" +"POT-Creation-Date: 2016-01-24 23:26+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: faq/design.rst:3 +#: ../../src/Doc/faq/design.rst:3 msgid "Design and History FAQ" msgstr "FAQ Histoire et Design" -#: faq/design.rst:6 +#: ../../src/Doc/faq/design.rst:6 msgid "Why does Python use indentation for grouping of statements?" msgstr "Pourquoi Python utilise l'indentation pour grouper les instructions ?" -#: faq/design.rst:8 +#: ../../src/Doc/faq/design.rst:8 msgid "" "Guido van Rossum believes that using indentation for grouping is extremely " "elegant and contributes a lot to the clarity of the average Python program. " @@ -36,7 +36,7 @@ msgstr "" "programme Python. La plupart des gens finissent par aimer cette " "particularité au bout d'un moment." -#: faq/design.rst:12 +#: ../../src/Doc/faq/design.rst:12 msgid "" "Since there are no begin/end brackets there cannot be a disagreement between " "grouping perceived by the parser and the human reader. Occasionally C " @@ -47,7 +47,7 @@ msgstr "" "humain. Parfois les programmeurs C pourront trouver un morceau de code comme " "celui-ci::" -#: faq/design.rst:21 +#: ../../src/Doc/faq/design.rst:21 msgid "" "Only the ``x++`` statement is executed if the condition is true, but the " "indentation leads you to believe otherwise. Even experienced C programmers " @@ -59,7 +59,7 @@ msgstr "" "développeurs C expérimentés resteront pendant un moment à se demander " "pourquoi ``y`` est décrémenté même si ``x > y``." -#: faq/design.rst:26 +#: ../../src/Doc/faq/design.rst:26 msgid "" "Because there are no begin/end brackets, Python is much less prone to coding-" "style conflicts. In C there are many different ways to place the braces. If " @@ -73,7 +73,7 @@ msgstr "" "vous pourriez vous sentir perturbé en lisant (ou en devant écrire) avec un " "autre style." -#: faq/design.rst:31 +#: ../../src/Doc/faq/design.rst:31 msgid "" "Many coding styles place begin/end brackets on a line by themselves. This " "makes programs considerably longer and wastes valuable screen space, making " @@ -93,25 +93,25 @@ msgstr "" "sont également responsables -- mais la syntaxe basée sur l'indentation y est " "pour beaucoup." -#: faq/design.rst:41 +#: ../../src/Doc/faq/design.rst:41 msgid "Why am I getting strange results with simple arithmetic operations?" msgstr "" "Pourquoi ai-je d'étranges résultats suite à de simples opérations " "arithmétiques ?" -#: faq/design.rst:43 +#: ../../src/Doc/faq/design.rst:43 msgid "See the next question." msgstr "Voir la question suivante." -#: faq/design.rst:47 +#: ../../src/Doc/faq/design.rst:47 msgid "Why are floating-point calculations so inaccurate?" msgstr "Pourquoi les calculs à virgules flottantes sont si imprécis ?" -#: faq/design.rst:49 +#: ../../src/Doc/faq/design.rst:49 msgid "Users are often surprised by results like this::" msgstr "Les gens sont très souvent surpris par des résultats comme celui-ci ::" -#: faq/design.rst:54 +#: ../../src/Doc/faq/design.rst:54 msgid "" "and think it is a bug in Python. It's not. This has little to do with " "Python, and much more to do with how the underlying platform handles " @@ -121,7 +121,7 @@ msgstr "" "d'ailleurs que peu à voir avec Python, mais avec la manière dont la " "plateforme sous-jacente gère les nombres à virgule flottante." -#: faq/design.rst:58 +#: ../../src/Doc/faq/design.rst:58 msgid "" "The :class:`float` type in CPython uses a C ``double`` for storage. A :" "class:`float` object's value is stored in binary floating-point with a fixed " @@ -139,7 +139,7 @@ msgstr "" "opérations sur les nombres à virgule flottante, Python se comporte comme " "beaucoup de langages populaires dont C et Java." -#: faq/design.rst:65 +#: ../../src/Doc/faq/design.rst:65 msgid "" "Many numbers that can be written easily in decimal notation cannot be " "expressed exactly in binary floating-point. For example, after::" @@ -148,7 +148,7 @@ msgstr "" "peuvent pas s'exprimer de manière exacte en binaire à virgule flottante. Par " "exemple, après ::" -#: faq/design.rst:70 +#: ../../src/Doc/faq/design.rst:70 msgid "" "the value stored for ``x`` is a (very good) approximation to the decimal " "value ``1.2``, but is not exactly equal to it. On a typical machine, the " @@ -158,11 +158,11 @@ msgstr "" "décimale ``1.2``, mais cette valeur n'est pas exacte. Sur une machine " "typique, la valeur stockée est en fait ::" -#: faq/design.rst:76 +#: ../../src/Doc/faq/design.rst:76 msgid "which is exactly::" msgstr "qui est, exactement ::" -#: faq/design.rst:80 +#: ../../src/Doc/faq/design.rst:80 msgid "" "The typical precision of 53 bits provides Python floats with 15-16 decimal " "digits of accuracy." @@ -170,7 +170,7 @@ msgstr "" "La précision typique, de 53 bits, permet une précision de 15-16 décimales " "sur les :class:`float`." -#: faq/design.rst:83 +#: ../../src/Doc/faq/design.rst:83 msgid "" "For a fuller explanation, please see the :ref:`floating point arithmetic " "` chapter in the Python tutorial." @@ -178,15 +178,15 @@ msgstr "" "Veuillez vous référer au chapitre sur :ref:`floating point arithmetic ` du tutoriel python pour de plus amples informations." -#: faq/design.rst:88 +#: ../../src/Doc/faq/design.rst:88 msgid "Why are Python strings immutable?" msgstr "Pourquoi les chaînes de caractères Python sont-elles immuable ?" -#: faq/design.rst:90 +#: ../../src/Doc/faq/design.rst:90 msgid "There are several advantages." msgstr "Il y a plusieurs avantages." -#: faq/design.rst:92 +#: ../../src/Doc/faq/design.rst:92 msgid "" "One is performance: knowing that a string is immutable means we can allocate " "space for it at creation time, and the storage requirements are fixed and " @@ -198,7 +198,7 @@ msgstr "" "cette chaîne est fixe et figé. C'est aussi l'une des raisons pour lesquelles " "on fait la distinction entre les tuples et les listes." -#: faq/design.rst:97 +#: ../../src/Doc/faq/design.rst:97 msgid "" "Another advantage is that strings in Python are considered as \"elemental\" " "as numbers. No amount of activity will change the value 8 to anything else, " @@ -210,13 +210,13 @@ msgstr "" "nombre 8 en autre chose, et en Python, aucun processus changera la chaîne de " "caractère \"huit\" en autre chose." -#: faq/design.rst:105 +#: ../../src/Doc/faq/design.rst:105 msgid "Why must 'self' be used explicitly in method definitions and calls?" msgstr "" "Pourquoi \"self\" doit-il être explicitement utilisé dans les définitions et " "les appels de méthode ?" -#: faq/design.rst:107 +#: ../../src/Doc/faq/design.rst:107 msgid "" "The idea was borrowed from Modula-3. It turns out to be very useful, for a " "variety of reasons." @@ -224,7 +224,7 @@ msgstr "" "L'idée a été empruntée à Modula-3. Il s'avère être très utile, pour diverses " "raisons." -#: faq/design.rst:110 +#: ../../src/Doc/faq/design.rst:110 msgid "" "First, it's more obvious that you are using a method or instance attribute " "instead of a local variable. Reading ``self.x`` or ``self.meth()`` makes it " @@ -248,7 +248,7 @@ msgstr "" "codages C++ et Java préfixent les attributs d'instance par ``m_``. Cette " "syntaxe explicite est ainsi utile également pour ces langages." -#: faq/design.rst:120 +#: ../../src/Doc/faq/design.rst:120 msgid "" "Second, it means that no special syntax is necessary if you want to " "explicitly reference or call the method from a particular class. In C++, if " @@ -269,7 +269,7 @@ msgstr "" "étendre la méthode du même nom de la classe de base, devant ainsi appeler la " "méthode de la classe de base d'une certaine manière." -#: faq/design.rst:129 +#: ../../src/Doc/faq/design.rst:129 msgid "" "Finally, for instance variables it solves a syntactic problem with " "assignment: since local variables in Python are (by definition!) those " @@ -302,22 +302,22 @@ msgstr "" "locales et les variables d'instance vivent dans deux différents espaces de " "noms, et vous devez dire à Python quel espace de noms utiliser." -#: faq/design.rst:145 +#: ../../src/Doc/faq/design.rst:145 msgid "Why can't I use an assignment in an expression?" msgstr "Pourquoi ne puis-je pas utiliser d'assignation dans une expression ?" -#: faq/design.rst:147 +#: ../../src/Doc/faq/design.rst:147 msgid "" "Many people used to C or Perl complain that they want to use this C idiom:" msgstr "" "De nombreuses personnes habituées à C ou Perl se plaignent de vouloir " "utiliser cet idiome C :" -#: faq/design.rst:155 +#: ../../src/Doc/faq/design.rst:155 msgid "where in Python you're forced to write this::" msgstr "où en Python vous êtes forcé à écrire ceci ::" -#: faq/design.rst:163 +#: ../../src/Doc/faq/design.rst:163 msgid "" "The reason for not allowing assignment in Python expressions is a common, " "hard-to-find bug in those other languages, caused by this construct:" @@ -326,7 +326,7 @@ msgstr "" "est un bug fréquent, et difficile à trouver dans ces autres langages, causé " "par cette construction :" -#: faq/design.rst:175 +#: ../../src/Doc/faq/design.rst:175 msgid "" "The error is a simple typo: ``x = 0``, which assigns 0 to the variable " "``x``, was written while the comparison ``x == 0`` is certainly what was " @@ -336,7 +336,7 @@ msgstr "" "variable ``x``, a été écrit alors que la comparaison ``x == 0`` est " "certainement ce qui était souhaité." -#: faq/design.rst:178 +#: ../../src/Doc/faq/design.rst:178 msgid "" "Many alternatives have been proposed. Most are hacks that save some typing " "but use arbitrary or cryptic syntax or keywords, and fail the simple " @@ -350,7 +350,7 @@ msgstr "" "changement du langage : ça doit intuitivement suggérer la bonne " "signification au lecteur qui n'a pas encore été introduit à la construction." -#: faq/design.rst:183 +#: ../../src/Doc/faq/design.rst:183 msgid "" "An interesting phenomenon is that most experienced Python programmers " "recognize the ``while True`` idiom and don't seem to be missing the " @@ -362,7 +362,7 @@ msgstr "" "manquer l'assignation dans la construction de l'expression; seuls les " "nouveaux-venus expriment un fort désir d'ajouter ceci au langage." -#: faq/design.rst:188 +#: ../../src/Doc/faq/design.rst:188 msgid "" "There's an alternative way of spelling this that seems attractive but is " "generally less robust than the \"while True\" solution::" @@ -370,7 +370,7 @@ msgstr "" "Il y a une manière alternative de faire ça qui semble attrayante mais elle " "est généralement moins robuste que la solution ``while True`` ::" -#: faq/design.rst:196 +#: ../../src/Doc/faq/design.rst:196 msgid "" "The problem with this is that if you change your mind about exactly how you " "get the next line (e.g. you want to change it into ``sys.stdin.readline()``) " @@ -383,7 +383,7 @@ msgstr "" "dans votre programme -- la deuxième occurrence est cachée en bas de la " "boucle." -#: faq/design.rst:201 +#: ../../src/Doc/faq/design.rst:201 msgid "" "The best approach is to use iterators, making it possible to loop through " "objects using the ``for`` statement. For example, :term:`file objects ` gèrent le protocole d'itération, donc " "vous pouvez simplement écrire ::" -#: faq/design.rst:211 +#: ../../src/Doc/faq/design.rst:211 msgid "" "Why does Python use methods for some functionality (e.g. list.index()) but " "functions for other (e.g. len(list))?" @@ -402,7 +402,7 @@ msgstr "" "Pourquoi Python utilise des méthodes pour certaines fonctionnalités (ex : " "list.index()) mais des fonctions pour d'autres (ex : len(list)) ?" -#: faq/design.rst:213 +#: ../../src/Doc/faq/design.rst:213 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 " @@ -418,7 +418,7 @@ msgstr "" "bien à une collection amorphe d'objets lorsque vous utiliser les outils " "fonctionnels de Python (``map()``, ``zip()`` et autres)." -#: faq/design.rst:219 +#: ../../src/Doc/faq/design.rst:219 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 " @@ -433,7 +433,7 @@ msgstr "" "fondamentaux maintenant. Ces fonctions doivent rester pour éviter la casse " "massive de code." -#: faq/design.rst:229 +#: ../../src/Doc/faq/design.rst:229 msgid "" "For string operations, Python has moved from external functions (the " "``string`` module) to methods. However, ``len()`` is still a function." @@ -442,13 +442,13 @@ msgstr "" "module ``string``) vers des méthodes. Cependant, ``len()`` est toujours une " "fonction." -#: faq/design.rst:234 +#: ../../src/Doc/faq/design.rst:234 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 ?" -#: faq/design.rst:236 +#: ../../src/Doc/faq/design.rst:236 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 " @@ -463,15 +463,15 @@ msgstr "" "largement acceptées, mais celle qui semble rendre certains programmeurs " "inconfortables est ::" -#: faq/design.rst:244 +#: ../../src/Doc/faq/design.rst:244 msgid "which gives the result::" msgstr "qui donne le résultat ::" -#: faq/design.rst:248 +#: ../../src/Doc/faq/design.rst:248 msgid "There are two common arguments against this usage." msgstr "Il y a deux arguments fréquents contre cet usage." -#: faq/design.rst:250 +#: ../../src/Doc/faq/design.rst:250 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, " @@ -485,7 +485,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." -#: faq/design.rst:256 +#: ../../src/Doc/faq/design.rst:256 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. " @@ -498,7 +498,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 ::" -#: faq/design.rst:263 +#: ../../src/Doc/faq/design.rst:263 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)." @@ -507,7 +507,7 @@ msgstr "" "délimitées par le séparateur fournit (ou, par défaut, les espaces, ou " "groupes d'espaces)." -#: faq/design.rst:266 +#: ../../src/Doc/faq/design.rst:266 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 " @@ -522,11 +522,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." -#: faq/design.rst:274 +#: ../../src/Doc/faq/design.rst:274 msgid "How fast are exceptions?" msgstr "À quel point les exceptions sont-elles rapides ?" -#: faq/design.rst:276 +#: ../../src/Doc/faq/design.rst:276 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 " @@ -537,7 +537,7 @@ msgstr "" "versions de précédant Python 2.0, il était courant d'utiliser cette " "pratique::" -#: faq/design.rst:286 +#: ../../src/Doc/faq/design.rst:286 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::" @@ -546,7 +546,7 @@ msgstr "" "clé presque tout le temps. Si ce n'était pas le cas, vous l'auriez codé " "comme suit ::" -#: faq/design.rst:294 +#: ../../src/Doc/faq/design.rst:294 msgid "" "For this specific case, you could also use ``value = dict.setdefault(key, " "getvalue(key))``, but only if the ``getvalue()`` call is cheap enough " @@ -556,13 +556,13 @@ msgstr "" "getvalue(key))``, mais seulement si l'appel à ``getvalue()`` est " "suffisamment peu coûteux car il est évalué dans tous les cas." -#: faq/design.rst:300 +#: ../../src/Doc/faq/design.rst:300 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 ?" -#: faq/design.rst:302 +#: ../../src/Doc/faq/design.rst:302 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 " @@ -574,7 +574,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." -#: faq/design.rst:307 +#: ../../src/Doc/faq/design.rst:307 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 " @@ -584,7 +584,7 @@ msgstr "" "possibilités, vous pouvez créer un dictionnaire faisant correspondre des " "valeurs à des fonctions à appeler. Par exemple ::" -#: faq/design.rst:321 +#: ../../src/Doc/faq/design.rst:321 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::" @@ -593,7 +593,7 @@ msgstr "" "en utilisant la fonction native :func:`getattr` pour récupérer les méthodes " "avec un nom donné ::" -#: faq/design.rst:333 +#: ../../src/Doc/faq/design.rst:333 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 " @@ -605,7 +605,7 @@ msgstr "" "proviennent d'une source non fiable, un attaquant serait en mesure d'appeler " "n'importe quelle méthode sur votre objet." -#: faq/design.rst:339 +#: ../../src/Doc/faq/design.rst:339 msgid "" "Can't you emulate threads in the interpreter instead of relying on an OS-" "specific thread implementation?" @@ -613,7 +613,7 @@ msgstr "" "Est-il possible d'émuler des *threads* dans l'interpréteur plutôt que se " "baser sur les implémentations spécifique aux OS ?" -#: faq/design.rst:341 +#: ../../src/Doc/faq/design.rst:341 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 " @@ -626,7 +626,7 @@ msgstr "" "conséquent, une implémentation complète des *thread* nécessiterai un support " "complet en C." -#: faq/design.rst:346 +#: ../../src/Doc/faq/design.rst:346 msgid "" "Answer 2: Fortunately, there is `Stackless Python `_, which has a completely redesigned interpreter loop that avoids the C " @@ -636,12 +636,12 @@ msgstr "" "com>`_, qui à complètement ré-architecturé la boucle principale de " "l'interpréteur afin de ne pas utiliser la pile C." -#: faq/design.rst:351 +#: ../../src/Doc/faq/design.rst:351 msgid "Why can't lambda expressions contain statements?" msgstr "" "Pourquoi les expressions lambda ne peuvent pas contenir d'instructions ?" -#: faq/design.rst:353 +#: ../../src/Doc/faq/design.rst:353 msgid "" "Python lambda expressions cannot contain statements because Python's " "syntactic framework can't handle statements nested inside expressions. " @@ -657,7 +657,7 @@ msgstr "" "Python sont seulement une notation concise si vous êtes trop paresseux pour " "définir une fonction." -#: faq/design.rst:359 +#: ../../src/Doc/faq/design.rst:359 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 " @@ -673,16 +673,16 @@ msgstr "" "variable locale à laquelle est affecté l'objet fonction (qui est exactement " "le même type d'objet qui donne une expression lambda) !" -#: faq/design.rst:367 +#: ../../src/Doc/faq/design.rst:367 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 ?" -#: faq/design.rst:369 +#: ../../src/Doc/faq/design.rst:369 msgid "Practical answer:" msgstr "Réponse concrète :" -#: faq/design.rst:371 +#: ../../src/Doc/faq/design.rst:371 msgid "" "`Cython `_ and `Pyrex `_ compile a modified version of Python with " @@ -701,11 +701,11 @@ msgstr "" "Python en C++ plein d'avenir, dont le but est de gérer l'ensemble du langage " "Python." -#: faq/design.rst:378 +#: ../../src/Doc/faq/design.rst:378 msgid "Theoretical answer:" msgstr "Réponse théorique :" -#: faq/design.rst:382 +#: ../../src/Doc/faq/design.rst:382 msgid "" "Not trivially. Python's high level data types, dynamic typing of objects " "and run-time invocation of the interpreter (using :func:`eval` or :func:" @@ -719,7 +719,7 @@ msgstr "" "consisterait probablement principalement à faire des appels au système " "d'exécution de Python, même pour des opérations simples comme ``x + 1``." -#: faq/design.rst:388 +#: ../../src/Doc/faq/design.rst:388 msgid "" "Several projects described in the Python newsgroup or at past `Python " "conferences `_ have shown that " @@ -740,11 +740,11 @@ msgstr "" "compte rendu de la `Conférence de Python 1997 `_ pour plus d'informations.)" -#: faq/design.rst:399 +#: ../../src/Doc/faq/design.rst:399 msgid "How does Python manage memory?" msgstr "Comment Python gère la mémoire ?" -#: faq/design.rst:401 +#: ../../src/Doc/faq/design.rst:401 msgid "" "The details of Python memory management depend on the implementation. The " "standard implementation of Python, :term:`CPython`, uses reference counting " @@ -763,7 +763,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." -#: faq/design.rst:409 +#: ../../src/Doc/faq/design.rst:409 msgid "" "Other implementations (such as `Jython `_ or `PyPy " "`_), however, can rely on a different mechanism such as " @@ -777,7 +777,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." -#: faq/design.rst:415 +#: ../../src/Doc/faq/design.rst:415 msgid "" "In some Python implementations, the following code (which is fine in " "CPython) will probably run out of file descriptors::" @@ -786,7 +786,7 @@ msgstr "" "parfaitement avec *CPython*) aurait probablement manqué de descripteurs de " "fichiers::" -#: faq/design.rst:422 +#: ../../src/Doc/faq/design.rst:422 msgid "" "Indeed, using CPython's reference counting and destructor scheme, each new " "assignment to *f* closes the previous file. With a traditional GC, however, " @@ -799,7 +799,7 @@ msgstr "" "(et fermés) à intervalles variables et possiblement avec de longs " "intervalles." -#: faq/design.rst:427 +#: ../../src/Doc/faq/design.rst:427 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 " @@ -810,12 +810,12 @@ msgstr "" "utiliser l'instruction :keyword:`with` ; ceci fonctionnera indépendamment du " "système de gestion de la mémoire::" -#: faq/design.rst:437 +#: ../../src/Doc/faq/design.rst:437 msgid "Why doesn't CPython use a more traditional garbage collection scheme?" msgstr "" "Pourquoi CPython n'utilise-il pas un ramasse-miette plus traditionnel ?" -#: faq/design.rst:439 +#: ../../src/Doc/faq/design.rst:439 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 " @@ -830,7 +830,7 @@ msgstr "" "transparent, c'est loin d'être le cas, des correctifs sont nécessaires afin " "que Python fonctionne correctement avec.)" -#: faq/design.rst:445 +#: ../../src/Doc/faq/design.rst:445 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 " @@ -847,12 +847,12 @@ msgstr "" "pas vouloir celles de Python. À l'heure actuelle, CPython fonctionne avec " "n'importe quelle implémentation correcte de malloc() et free()." -#: faq/design.rst:454 +#: ../../src/Doc/faq/design.rst:454 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 ?" -#: faq/design.rst:456 +#: ../../src/Doc/faq/design.rst:456 msgid "" "Objects referenced from the global namespaces of Python modules are not " "always deallocated when Python exits. This may happen if there are circular " @@ -869,7 +869,7 @@ msgstr "" "cependant, agressif sur le nettoyage de la mémoire en quittant et cherche à " "détruire chaque objet." -#: faq/design.rst:463 +#: ../../src/Doc/faq/design.rst:463 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." @@ -878,12 +878,12 @@ msgstr "" "utilisez le module :mod:`texit` pour exécuter une fonction qui va forcer ces " "destructions." -#: faq/design.rst:468 +#: ../../src/Doc/faq/design.rst:468 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 ?" -#: faq/design.rst:470 +#: ../../src/Doc/faq/design.rst:470 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 " @@ -900,7 +900,7 @@ msgstr "" "un repère cartésien est correctement représenté comme un *tuple* de deux ou " "trois nombres." -#: faq/design.rst:477 +#: ../../src/Doc/faq/design.rst:477 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 " @@ -917,7 +917,7 @@ msgstr "" "problème que vous ajoutiez un ou deux fichiers supplémentaire dans le " "dossier." -#: faq/design.rst:484 +#: ../../src/Doc/faq/design.rst:484 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 " @@ -932,11 +932,11 @@ msgstr "" "utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul " "des *tuples* peuvent être utilisés comme clés." -#: faq/design.rst:491 +#: ../../src/Doc/faq/design.rst:491 msgid "How are lists implemented?" msgstr "" -#: faq/design.rst:493 +#: ../../src/Doc/faq/design.rst:493 msgid "" "Python's lists are really variable-length arrays, not Lisp-style linked " "lists. The implementation uses a contiguous array of references to other " @@ -944,13 +944,13 @@ msgid "" "head structure." msgstr "" -#: faq/design.rst:497 +#: ../../src/Doc/faq/design.rst:497 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." msgstr "" -#: faq/design.rst:500 +#: ../../src/Doc/faq/design.rst:500 msgid "" "When items are appended or inserted, the array of references is resized. " "Some cleverness is applied to improve the performance of appending items " @@ -958,18 +958,18 @@ msgid "" "the next few times don't require an actual resize." msgstr "" -#: faq/design.rst:507 +#: ../../src/Doc/faq/design.rst:507 msgid "How are dictionaries implemented?" msgstr "" -#: faq/design.rst:509 +#: ../../src/Doc/faq/design.rst:509 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." msgstr "" -#: faq/design.rst:513 +#: ../../src/Doc/faq/design.rst:513 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 " @@ -985,11 +985,11 @@ msgid "" "can change with every invocation of a program." msgstr "" -#: faq/design.rst:528 +#: ../../src/Doc/faq/design.rst:528 msgid "Why must dictionary keys be immutable?" msgstr "" -#: faq/design.rst:530 +#: ../../src/Doc/faq/design.rst:530 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 " @@ -1002,7 +1002,7 @@ msgid "" "would be different." msgstr "" -#: faq/design.rst:539 +#: ../../src/Doc/faq/design.rst:539 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 " @@ -1010,31 +1010,31 @@ msgid "" "dictionary keys." msgstr "" -#: faq/design.rst:543 +#: ../../src/Doc/faq/design.rst:543 msgid "Some unacceptable solutions that have been proposed:" msgstr "" -#: faq/design.rst:545 +#: ../../src/Doc/faq/design.rst:545 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.::" msgstr "" -#: faq/design.rst:551 +#: ../../src/Doc/faq/design.rst:551 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, " "dictionary keys should be compared using ``==``, not using :keyword:`is`." msgstr "" -#: faq/design.rst:555 +#: ../../src/Doc/faq/design.rst:555 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 " "copying code would run into an infinite loop." msgstr "" -#: faq/design.rst:559 +#: ../../src/Doc/faq/design.rst:559 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 " @@ -1042,7 +1042,7 @@ msgid "" "every value in ``d.keys()`` is usable as a key of the dictionary." msgstr "" -#: faq/design.rst:564 +#: ../../src/Doc/faq/design.rst:564 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 " @@ -1052,7 +1052,7 @@ msgid "" "loop." msgstr "" -#: faq/design.rst:570 +#: ../../src/Doc/faq/design.rst:570 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 " @@ -1062,14 +1062,14 @@ msgid "" "in the dictionary (or other structure). ::" msgstr "" -#: faq/design.rst:592 +#: ../../src/Doc/faq/design.rst:592 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 "" -#: faq/design.rst:596 +#: ../../src/Doc/faq/design.rst:596 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__() == " @@ -1078,7 +1078,7 @@ msgid "" "based structures will misbehave." msgstr "" -#: faq/design.rst:601 +#: ../../src/Doc/faq/design.rst:601 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 " @@ -1086,11 +1086,11 @@ msgid "" "of not meeting them correctly. Consider yourself warned." msgstr "" -#: faq/design.rst:608 +#: ../../src/Doc/faq/design.rst:608 msgid "Why doesn't list.sort() return the sorted list?" msgstr "" -#: faq/design.rst:610 +#: ../../src/Doc/faq/design.rst:610 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 " @@ -1100,7 +1100,7 @@ msgid "" "around." msgstr "" -#: faq/design.rst:616 +#: ../../src/Doc/faq/design.rst:616 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 " @@ -1108,11 +1108,11 @@ msgid "" "dictionary in sorted order::" msgstr "" -#: faq/design.rst:626 +#: ../../src/Doc/faq/design.rst:626 msgid "How do you specify and enforce an interface spec in Python?" msgstr "" -#: faq/design.rst:628 +#: ../../src/Doc/faq/design.rst:628 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 " @@ -1120,7 +1120,7 @@ msgid "" "helps in the construction of large programs." msgstr "" -#: faq/design.rst:633 +#: ../../src/Doc/faq/design.rst:633 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` " @@ -1130,14 +1130,14 @@ msgid "" "`~collections.abc.MutableMapping`." msgstr "" -#: faq/design.rst:640 +#: ../../src/Doc/faq/design.rst:640 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 "" -#: faq/design.rst:644 +#: ../../src/Doc/faq/design.rst:644 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 " @@ -1149,7 +1149,7 @@ msgid "" "in a module." msgstr "" -#: faq/design.rst:652 +#: ../../src/Doc/faq/design.rst:652 msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " @@ -1160,7 +1160,7 @@ msgid "" "correctly, but it's trivial to check this property in a test suite." msgstr "" -#: faq/design.rst:660 +#: ../../src/Doc/faq/design.rst:660 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, " @@ -1169,11 +1169,11 @@ msgid "" "sloppy and not write test cases at all." msgstr "" -#: faq/design.rst:668 +#: ../../src/Doc/faq/design.rst:668 msgid "Why is there no goto?" msgstr "" -#: faq/design.rst:670 +#: ../../src/Doc/faq/design.rst:670 msgid "" "You can use exceptions to provide a \"structured goto\" that even works " "across function calls. Many feel that exceptions can conveniently emulate " @@ -1181,24 +1181,24 @@ msgid "" "other languages. For example::" msgstr "" -#: faq/design.rst:685 +#: ../../src/Doc/faq/design.rst:685 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." msgstr "" -#: faq/design.rst:690 +#: ../../src/Doc/faq/design.rst:690 msgid "Why can't raw strings (r-strings) end with a backslash?" msgstr "" -#: faq/design.rst:692 +#: ../../src/Doc/faq/design.rst:692 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 "" -#: faq/design.rst:696 +#: ../../src/Doc/faq/design.rst:696 msgid "" "Raw strings were designed to ease creating input for processors (chiefly " "regular expression engines) that want to do their own backslash escape " @@ -1208,33 +1208,33 @@ msgid "" "rules work well when r-strings are used for their intended purpose." msgstr "" -#: faq/design.rst:703 +#: ../../src/Doc/faq/design.rst:703 msgid "" "If you're trying to build Windows pathnames, note that all Windows system " "calls accept forward slashes too::" msgstr "" -#: faq/design.rst:708 +#: ../../src/Doc/faq/design.rst:708 msgid "" "If you're trying to build a pathname for a DOS command, try e.g. one of ::" msgstr "" -#: faq/design.rst:716 +#: ../../src/Doc/faq/design.rst:716 msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" msgstr "" -#: faq/design.rst:718 +#: ../../src/Doc/faq/design.rst:718 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 " "construct that looks like this::" msgstr "" -#: faq/design.rst:726 +#: ../../src/Doc/faq/design.rst:726 msgid "In Python, such a construct would be ambiguous." msgstr "" -#: faq/design.rst:728 +#: ../../src/Doc/faq/design.rst:728 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 " @@ -1242,7 +1242,7 @@ msgid "" "*always* knows the scope of every variable at compile time." msgstr "" -#: faq/design.rst:733 +#: ../../src/Doc/faq/design.rst:733 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 " @@ -1251,11 +1251,11 @@ msgid "" "one, or a member attribute?" msgstr "" -#: faq/design.rst:739 +#: ../../src/Doc/faq/design.rst:739 msgid "For instance, take the following incomplete snippet::" msgstr "" -#: faq/design.rst:745 +#: ../../src/Doc/faq/design.rst:745 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 " @@ -1264,46 +1264,46 @@ msgid "" "the dynamic nature of Python makes such choices much harder." msgstr "" -#: faq/design.rst:751 +#: ../../src/Doc/faq/design.rst:751 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 "" -#: faq/design.rst:758 +#: ../../src/Doc/faq/design.rst:758 msgid "write this::" msgstr "" -#: faq/design.rst:765 +#: ../../src/Doc/faq/design.rst:765 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 "" -#: faq/design.rst:771 +#: ../../src/Doc/faq/design.rst:771 msgid "Why are colons required for the if/while/def/class statements?" msgstr "" -#: faq/design.rst:773 +#: ../../src/Doc/faq/design.rst:773 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" msgstr "" -#: faq/design.rst:779 +#: ../../src/Doc/faq/design.rst:779 msgid "versus ::" msgstr "" -#: faq/design.rst:784 +#: ../../src/Doc/faq/design.rst:784 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 "" -#: faq/design.rst:787 +#: ../../src/Doc/faq/design.rst:787 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 " @@ -1311,21 +1311,21 @@ msgid "" "the program text." msgstr "" -#: faq/design.rst:793 +#: ../../src/Doc/faq/design.rst:793 msgid "Why does Python allow commas at the end of lists and tuples?" msgstr "" -#: faq/design.rst:795 +#: ../../src/Doc/faq/design.rst:795 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" msgstr "" -#: faq/design.rst:806 +#: ../../src/Doc/faq/design.rst:806 msgid "There are several reasons to allow this." msgstr "" -#: faq/design.rst:808 +#: ../../src/Doc/faq/design.rst:808 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 " @@ -1333,49 +1333,49 @@ msgid "" "reordered without creating a syntax error." msgstr "" -#: faq/design.rst:813 +#: ../../src/Doc/faq/design.rst:813 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" msgstr "" -#: faq/design.rst:823 +#: ../../src/Doc/faq/design.rst:823 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 "" -#: faq/design.rst:826 +#: ../../src/Doc/faq/design.rst:826 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." msgstr "" -#: faq/extending.rst:3 +#: ../../src/Doc/faq/extending.rst:3 msgid "Extending/Embedding FAQ" msgstr "" -#: faq/extending.rst:16 +#: ../../src/Doc/faq/extending.rst:16 msgid "Can I create my own functions in C?" msgstr "" -#: faq/extending.rst:18 +#: ../../src/Doc/faq/extending.rst:18 msgid "" "Yes, you can create built-in modules containing functions, variables, " "exceptions and even new types in C. This is explained in the document :ref:" "`extending-index`." msgstr "" -#: faq/extending.rst:22 +#: ../../src/Doc/faq/extending.rst:22 msgid "Most intermediate or advanced Python books will also cover this topic." msgstr "" -#: faq/extending.rst:26 +#: ../../src/Doc/faq/extending.rst:26 msgid "Can I create my own functions in C++?" msgstr "" -#: faq/extending.rst:28 +#: ../../src/Doc/faq/extending.rst:28 msgid "" "Yes, using the C compatibility features found in C++. Place ``extern \"C" "\" { ... }`` around the Python include files and put ``extern \"C\"`` before " @@ -1383,17 +1383,17 @@ msgid "" "or static C++ objects with constructors are probably not a good idea." msgstr "" -#: faq/extending.rst:37 +#: ../../src/Doc/faq/extending.rst:37 msgid "Writing C is hard; are there any alternatives?" msgstr "" -#: faq/extending.rst:39 +#: ../../src/Doc/faq/extending.rst:39 msgid "" "There are a number of alternatives to writing your own C extensions, " "depending on what you're trying to do." msgstr "" -#: faq/extending.rst:44 +#: ../../src/Doc/faq/extending.rst:44 msgid "" "`Cython `_ and its relative `Pyrex `_ are compilers that accept a " @@ -1402,7 +1402,7 @@ msgid "" "learn Python's C API." msgstr "" -#: faq/extending.rst:50 +#: ../../src/Doc/faq/extending.rst:50 msgid "" "If you need to interface to some C or C++ library for which no Python " "extension currently exists, you can try wrapping the library's data types " @@ -1413,11 +1413,11 @@ msgid "" "weave.html>`_ are also alternatives for wrapping C++ libraries." msgstr "" -#: faq/extending.rst:61 +#: ../../src/Doc/faq/extending.rst:61 msgid "How can I execute arbitrary Python statements from C?" msgstr "" -#: faq/extending.rst:63 +#: ../../src/Doc/faq/extending.rst:63 msgid "" "The highest-level function to do this is :c:func:`PyRun_SimpleString` which " "takes a single string argument to be executed in the context of the module " @@ -1427,22 +1427,22 @@ msgid "" "pythonrun.c``." msgstr "" -#: faq/extending.rst:72 +#: ../../src/Doc/faq/extending.rst:72 msgid "How can I evaluate an arbitrary Python expression from C?" msgstr "" -#: faq/extending.rst:74 +#: ../../src/Doc/faq/extending.rst:74 msgid "" "Call the function :c:func:`PyRun_String` from the previous question with the " "start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it " "and returns its value." msgstr "" -#: faq/extending.rst:80 +#: ../../src/Doc/faq/extending.rst:80 msgid "How do I extract C values from a Python object?" msgstr "" -#: faq/extending.rst:82 +#: ../../src/Doc/faq/extending.rst:82 msgid "" "That depends on the object's type. If it's a tuple, :c:func:`PyTuple_Size` " "returns its length and :c:func:`PyTuple_GetItem` returns the item at a " @@ -1450,7 +1450,7 @@ msgid "" "func:`PyList_GetItem`." msgstr "" -#: faq/extending.rst:87 +#: ../../src/Doc/faq/extending.rst:87 msgid "" "For bytes, :c:func:`PyBytes_Size` returns its length and :c:func:" "`PyBytes_AsStringAndSize` provides a pointer to its value and its length. " @@ -1458,14 +1458,14 @@ msgid "" "`strlen` should not be used." msgstr "" -#: faq/extending.rst:92 +#: ../../src/Doc/faq/extending.rst:92 msgid "" "To test the type of an object, first make sure it isn't *NULL*, and then " "use :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:func:" "`PyList_Check`, etc." msgstr "" -#: faq/extending.rst:95 +#: ../../src/Doc/faq/extending.rst:95 msgid "" "There is also a high-level API to Python objects which is provided by the so-" "called 'abstract' interface -- read ``Include/abstract.h`` for further " @@ -1475,19 +1475,19 @@ msgid "" "al.) and mappings in the PyMapping APIs." msgstr "" -#: faq/extending.rst:104 +#: ../../src/Doc/faq/extending.rst:104 msgid "How do I use Py_BuildValue() to create a tuple of arbitrary length?" msgstr "" -#: faq/extending.rst:106 +#: ../../src/Doc/faq/extending.rst:106 msgid "You can't. Use :c:func:`PyTuple_Pack` instead." msgstr "" -#: faq/extending.rst:110 +#: ../../src/Doc/faq/extending.rst:110 msgid "How do I call an object's method from C?" msgstr "" -#: faq/extending.rst:112 +#: ../../src/Doc/faq/extending.rst:112 msgid "" "The :c:func:`PyObject_CallMethod` function can be used to call an arbitrary " "method of an object. The parameters are the object, the name of the method " @@ -1495,20 +1495,20 @@ msgid "" "the argument values::" msgstr "" -#: faq/extending.rst:121 +#: ../../src/Doc/faq/extending.rst:121 msgid "" "This works for any object that has methods -- whether built-in or user-" "defined. You are responsible for eventually :c:func:`Py_DECREF`\\ 'ing the " "return value." msgstr "" -#: faq/extending.rst:124 +#: ../../src/Doc/faq/extending.rst:124 msgid "" "To call, e.g., a file object's \"seek\" method with arguments 10, 0 " "(assuming the file object pointer is \"f\")::" msgstr "" -#: faq/extending.rst:135 +#: ../../src/Doc/faq/extending.rst:135 msgid "" "Note that since :c:func:`PyObject_CallObject` *always* wants a tuple for the " "argument list, to call a function without arguments, pass \"()\" for the " @@ -1516,13 +1516,13 @@ msgid "" "parentheses, e.g. \"(i)\"." msgstr "" -#: faq/extending.rst:142 +#: ../../src/Doc/faq/extending.rst:142 msgid "" "How do I catch the output from PyErr_Print() (or anything that prints to " "stdout/stderr)?" msgstr "" -#: faq/extending.rst:144 +#: ../../src/Doc/faq/extending.rst:144 msgid "" "In Python code, define an object that supports the ``write()`` method. " "Assign this object to :data:`sys.stdout` and :data:`sys.stderr`. Call " @@ -1530,23 +1530,23 @@ msgid "" "the output will go wherever your ``write()`` method sends it." msgstr "" -#: faq/extending.rst:149 +#: ../../src/Doc/faq/extending.rst:149 msgid "The easiest way to do this is to use the :class:`io.StringIO` class::" msgstr "" -#: faq/extending.rst:159 +#: ../../src/Doc/faq/extending.rst:159 msgid "A custom object to do the same would look like this::" msgstr "" -#: faq/extending.rst:178 +#: ../../src/Doc/faq/extending.rst:178 msgid "How do I access a module written in Python from C?" msgstr "" -#: faq/extending.rst:180 +#: ../../src/Doc/faq/extending.rst:180 msgid "You can get a pointer to the module object as follows::" msgstr "" -#: faq/extending.rst:184 +#: ../../src/Doc/faq/extending.rst:184 msgid "" "If the module hasn't been imported yet (i.e. it is not yet present in :data:" "`sys.modules`), this initializes the module; otherwise it simply returns the " @@ -1555,23 +1555,23 @@ msgid "" "stored in :data:`sys.modules`." msgstr "" -#: faq/extending.rst:190 +#: ../../src/Doc/faq/extending.rst:190 msgid "" "You can then access the module's attributes (i.e. any name defined in the " "module) as follows::" msgstr "" -#: faq/extending.rst:195 +#: ../../src/Doc/faq/extending.rst:195 msgid "" "Calling :c:func:`PyObject_SetAttrString` to assign to variables in the " "module also works." msgstr "" -#: faq/extending.rst:200 +#: ../../src/Doc/faq/extending.rst:200 msgid "How do I interface to C++ objects from Python?" msgstr "" -#: faq/extending.rst:202 +#: ../../src/Doc/faq/extending.rst:202 msgid "" "Depending on your requirements, there are many approaches. To do this " "manually, begin by reading :ref:`the \"Extending and Embedding\" document " @@ -1581,65 +1581,65 @@ msgid "" "work for C++ objects." msgstr "" -#: faq/extending.rst:208 +#: ../../src/Doc/faq/extending.rst:208 msgid "For C++ libraries, see :ref:`c-wrapper-software`." msgstr "" -#: faq/extending.rst:212 +#: ../../src/Doc/faq/extending.rst:212 msgid "I added a module using the Setup file and the make fails; why?" msgstr "" -#: faq/extending.rst:214 +#: ../../src/Doc/faq/extending.rst:214 msgid "" "Setup must end in a newline, if there is no newline there, the build process " "fails. (Fixing this requires some ugly shell script hackery, and this bug " "is so minor that it doesn't seem worth the effort.)" msgstr "" -#: faq/extending.rst:220 +#: ../../src/Doc/faq/extending.rst:220 msgid "How do I debug an extension?" msgstr "" -#: faq/extending.rst:222 +#: ../../src/Doc/faq/extending.rst:222 msgid "" "When using GDB with dynamically loaded extensions, you can't set a " "breakpoint in your extension until your extension is loaded." msgstr "" -#: faq/extending.rst:225 +#: ../../src/Doc/faq/extending.rst:225 msgid "In your ``.gdbinit`` file (or interactively), add the command::" msgstr "" -#: faq/extending.rst:229 +#: ../../src/Doc/faq/extending.rst:229 msgid "Then, when you run GDB::" msgstr "" -#: faq/extending.rst:239 +#: ../../src/Doc/faq/extending.rst:239 msgid "" "I want to compile a Python module on my Linux system, but some files are " "missing. Why?" msgstr "" -#: faq/extending.rst:241 +#: ../../src/Doc/faq/extending.rst:241 msgid "" "Most packaged versions of Python don't include the :file:`/usr/lib/python2." "{x}/config/` directory, which contains various files required for compiling " "Python extensions." msgstr "" -#: faq/extending.rst:245 +#: ../../src/Doc/faq/extending.rst:245 msgid "For Red Hat, install the python-devel RPM to get the necessary files." msgstr "" -#: faq/extending.rst:247 +#: ../../src/Doc/faq/extending.rst:247 msgid "For Debian, run ``apt-get install python-dev``." msgstr "" -#: faq/extending.rst:251 +#: ../../src/Doc/faq/extending.rst:251 msgid "How do I tell \"incomplete input\" from \"invalid input\"?" msgstr "" -#: faq/extending.rst:253 +#: ../../src/Doc/faq/extending.rst:253 msgid "" "Sometimes you want to emulate the Python interactive interpreter's behavior, " "where it gives you a continuation prompt when the input is incomplete (e.g. " @@ -1648,13 +1648,13 @@ msgid "" "message immediately when the input is invalid." msgstr "" -#: faq/extending.rst:259 +#: ../../src/Doc/faq/extending.rst:259 msgid "" "In Python you can use the :mod:`codeop` module, which approximates the " "parser's behavior sufficiently. IDLE uses this, for example." msgstr "" -#: faq/extending.rst:262 +#: ../../src/Doc/faq/extending.rst:262 msgid "" "The easiest way to do it in C is to call :c:func:`PyRun_InteractiveLoop` " "(perhaps in a separate thread) and let the Python interpreter handle the " @@ -1663,7 +1663,7 @@ msgid "" "``Parser/myreadline.c`` for more hints." msgstr "" -#: faq/extending.rst:268 +#: ../../src/Doc/faq/extending.rst:268 msgid "" "However sometimes you have to run the embedded Python interpreter in the " "same thread as your rest application and you can't allow the :c:func:" @@ -1673,7 +1673,7 @@ msgid "" "sample code fragment, untested, inspired by code from Alex Farber::" msgstr "" -#: faq/extending.rst:301 +#: ../../src/Doc/faq/extending.rst:301 msgid "" "Another solution is trying to compile the received string with :c:func:" "`Py_CompileString`. If it compiles without errors, try to execute the " @@ -1685,49 +1685,49 @@ msgid "" "to ignore **SIGINT** while calling readline())::" msgstr "" -#: faq/extending.rst:422 +#: ../../src/Doc/faq/extending.rst:422 msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?" msgstr "" -#: faq/extending.rst:424 +#: ../../src/Doc/faq/extending.rst:424 msgid "" "To dynamically load g++ extension modules, you must recompile Python, relink " "it using g++ (change LINKCC in the Python Modules Makefile), and link your " "extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``)." msgstr "" -#: faq/extending.rst:430 +#: ../../src/Doc/faq/extending.rst:430 msgid "" "Can I create an object class with some methods implemented in C and others " "in Python (e.g. through inheritance)?" msgstr "" -#: faq/extending.rst:432 +#: ../../src/Doc/faq/extending.rst:432 msgid "" "Yes, you can inherit from built-in classes such as :class:`int`, :class:" "`list`, :class:`dict`, etc." msgstr "" -#: faq/extending.rst:435 +#: ../../src/Doc/faq/extending.rst:435 msgid "" "The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index." "html) provides a way of doing this from C++ (i.e. you can inherit from an " "extension class written in C++ using the BPL)." msgstr "" -#: faq/general.rst:5 +#: ../../src/Doc/faq/general.rst:5 msgid "General Python FAQ" msgstr "" -#: faq/general.rst:13 +#: ../../src/Doc/faq/general.rst:13 msgid "General Information" msgstr "" -#: faq/general.rst:16 faq/installed.rst:6 +#: ../../src/Doc/faq/general.rst:16 ../../src/Doc/faq/installed.rst:6 msgid "What is Python?" msgstr "" -#: faq/general.rst:18 +#: ../../src/Doc/faq/general.rst:18 msgid "" "Python is an interpreted, interactive, object-oriented programming " "language. It incorporates modules, exceptions, dynamic typing, very high " @@ -1739,18 +1739,18 @@ msgid "" "variants, on the Mac, and on Windows 2000 and later." msgstr "" -#: faq/general.rst:27 +#: ../../src/Doc/faq/general.rst:27 msgid "" "To find out more, start with :ref:`tutorial-index`. The `Beginner's Guide " "to Python `_ links to other " "introductory tutorials and resources for learning Python." msgstr "" -#: faq/general.rst:33 +#: ../../src/Doc/faq/general.rst:33 msgid "What is the Python Software Foundation?" msgstr "" -#: faq/general.rst:35 +#: ../../src/Doc/faq/general.rst:35 msgid "" "The Python Software Foundation is an independent non-profit organization " "that holds the copyright on Python versions 2.1 and newer. The PSF's " @@ -1759,18 +1759,18 @@ msgid "" "page is at https://www.python.org/psf/." msgstr "" -#: faq/general.rst:41 +#: ../../src/Doc/faq/general.rst:41 msgid "" "Donations to the PSF are tax-exempt in the US. If you use Python and find " "it helpful, please contribute via `the PSF donation page `_." msgstr "" -#: faq/general.rst:47 +#: ../../src/Doc/faq/general.rst:47 msgid "Are there copyright restrictions on the use of Python?" msgstr "" -#: faq/general.rst:49 +#: ../../src/Doc/faq/general.rst:49 msgid "" "You can do anything you want with the source, as long as you leave the " "copyrights in and display those copyrights in any documentation about Python " @@ -1781,30 +1781,30 @@ msgid "" "of course." msgstr "" -#: faq/general.rst:56 +#: ../../src/Doc/faq/general.rst:56 msgid "" "See `the PSF license page `_ to find " "further explanations and a link to the full text of the license." msgstr "" -#: faq/general.rst:59 +#: ../../src/Doc/faq/general.rst:59 msgid "" "The Python logo is trademarked, and in certain cases permission is required " "to use it. Consult `the Trademark Usage Policy `__ for more information." msgstr "" -#: faq/general.rst:65 +#: ../../src/Doc/faq/general.rst:65 msgid "Why was Python created in the first place?" msgstr "" -#: faq/general.rst:67 +#: ../../src/Doc/faq/general.rst:67 msgid "" "Here's a *very* brief summary of what started it all, written by Guido van " "Rossum:" msgstr "" -#: faq/general.rst:70 +#: ../../src/Doc/faq/general.rst:70 msgid "" "I had extensive experience with implementing an interpreted language in the " "ABC group at CWI, and from working with this group I had learned a lot about " @@ -1813,7 +1813,7 @@ msgid "" "level data types (although the details are all different in Python)." msgstr "" -#: faq/general.rst:77 +#: ../../src/Doc/faq/general.rst:77 msgid "" "I had a number of gripes about the ABC language, but also liked many of its " "features. It was impossible to extend the ABC language (or its " @@ -1824,7 +1824,7 @@ msgid "" "some other Python features." msgstr "" -#: faq/general.rst:85 +#: ../../src/Doc/faq/general.rst:85 msgid "" "I was working in the Amoeba distributed operating system group at CWI. We " "needed a better way to do system administration than by writing either C " @@ -1834,7 +1834,7 @@ msgid "" "importance of exceptions as a programming language feature." msgstr "" -#: faq/general.rst:92 +#: ../../src/Doc/faq/general.rst:92 msgid "" "It occurred to me that a scripting language with a syntax like ABC but with " "access to the Amoeba system calls would fill the need. I realized that it " @@ -1842,7 +1842,7 @@ msgid "" "needed a language that was generally extensible." msgstr "" -#: faq/general.rst:97 +#: ../../src/Doc/faq/general.rst:97 msgid "" "During the 1989 Christmas holidays, I had a lot of time on my hand, so I " "decided to give it a try. During the next year, while still mostly working " @@ -1851,23 +1851,23 @@ msgid "" "improvements." msgstr "" -#: faq/general.rst:103 +#: ../../src/Doc/faq/general.rst:103 msgid "" "In February 1991, after just over a year of development, I decided to post " "to USENET. The rest is in the ``Misc/HISTORY`` file." msgstr "" -#: faq/general.rst:108 +#: ../../src/Doc/faq/general.rst:108 msgid "What is Python good for?" msgstr "" -#: faq/general.rst:110 +#: ../../src/Doc/faq/general.rst:110 msgid "" "Python is a high-level general-purpose programming language that can be " "applied to many different classes of problems." msgstr "" -#: faq/general.rst:113 +#: ../../src/Doc/faq/general.rst:113 msgid "" "The language comes with a large standard library that covers areas such as " "string processing (regular expressions, Unicode, calculating differences " @@ -1880,11 +1880,11 @@ msgid "" "`_ to find packages of interest to you." msgstr "" -#: faq/general.rst:125 +#: ../../src/Doc/faq/general.rst:125 msgid "How does the Python version numbering scheme work?" msgstr "" -#: faq/general.rst:127 +#: ../../src/Doc/faq/general.rst:127 msgid "" "Python versions are numbered A.B.C or A.B. A is the major version number -- " "it is only incremented for really major changes in the language. B is the " @@ -1893,7 +1893,7 @@ msgid "" "for more information about bugfix releases." msgstr "" -#: faq/general.rst:133 +#: ../../src/Doc/faq/general.rst:133 msgid "" "Not all releases are bugfix releases. In the run-up to a new major release, " "a series of development releases are made, denoted as alpha, beta, or " @@ -1904,7 +1904,7 @@ msgid "" "except as needed to fix critical bugs." msgstr "" -#: faq/general.rst:141 +#: ../../src/Doc/faq/general.rst:141 msgid "" "Alpha, beta and release candidate versions have an additional suffix. The " "suffix for an alpha version is \"aN\" for some small number N, the suffix " @@ -1914,7 +1914,7 @@ msgid "" "precede versions labeled 2.0cN, and *those* precede 2.0." msgstr "" -#: faq/general.rst:148 +#: ../../src/Doc/faq/general.rst:148 msgid "" "You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These " "are unreleased versions, built directly from the Subversion trunk. In " @@ -1923,24 +1923,24 @@ msgid "" "g. \"2.4a0\"." msgstr "" -#: faq/general.rst:154 +#: ../../src/Doc/faq/general.rst:154 msgid "" "See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, " "and :data:`sys.version_info`." msgstr "" -#: faq/general.rst:159 +#: ../../src/Doc/faq/general.rst:159 msgid "How do I obtain a copy of the Python source?" msgstr "" -#: faq/general.rst:161 +#: ../../src/Doc/faq/general.rst:161 msgid "" "The latest Python source distribution is always available from python.org, " "at https://www.python.org/download/. The latest development sources can be " "obtained via anonymous Mercurial access at https://hg.python.org/cpython." msgstr "" -#: faq/general.rst:165 +#: ../../src/Doc/faq/general.rst:165 msgid "" "The source distribution is a gzipped tar file containing the complete C " "source, Sphinx-formatted documentation, Python library modules, example " @@ -1948,53 +1948,53 @@ msgid "" "source will compile and run out of the box on most UNIX platforms." msgstr "" -#: faq/general.rst:170 +#: ../../src/Doc/faq/general.rst:170 msgid "" "Consult the `Getting Started section of the Python Developer's Guide " "`__ for more information on " "getting the source code and compiling it." msgstr "" -#: faq/general.rst:176 +#: ../../src/Doc/faq/general.rst:176 msgid "How do I get documentation on Python?" msgstr "" -#: faq/general.rst:180 +#: ../../src/Doc/faq/general.rst:180 msgid "" "The standard documentation for the current stable version of Python is " "available at https://docs.python.org/3/. PDF, plain text, and downloadable " "HTML versions are also available at https://docs.python.org/3/download.html." msgstr "" -#: faq/general.rst:184 +#: ../../src/Doc/faq/general.rst:184 msgid "" "The documentation is written in reStructuredText and processed by `the " "Sphinx documentation tool `__. The reStructuredText " "source for the documentation is part of the Python source distribution." msgstr "" -#: faq/general.rst:190 +#: ../../src/Doc/faq/general.rst:190 msgid "I've never programmed before. Is there a Python tutorial?" msgstr "" -#: faq/general.rst:192 +#: ../../src/Doc/faq/general.rst:192 msgid "" "There are numerous tutorials and books available. The standard " "documentation includes :ref:`tutorial-index`." msgstr "" -#: faq/general.rst:195 +#: ../../src/Doc/faq/general.rst:195 msgid "" "Consult `the Beginner's Guide `_ to find information for beginning Python programmers, " "including lists of tutorials." msgstr "" -#: faq/general.rst:200 +#: ../../src/Doc/faq/general.rst:200 msgid "Is there a newsgroup or mailing list devoted to Python?" msgstr "" -#: faq/general.rst:202 +#: ../../src/Doc/faq/general.rst:202 msgid "" "There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " "`python-list `_. The " @@ -2004,7 +2004,7 @@ msgid "" "Usenet readers are often more able to cope with this volume." msgstr "" -#: faq/general.rst:209 +#: ../../src/Doc/faq/general.rst:209 msgid "" "Announcements of new software releases and events can be found in comp.lang." "python.announce, a low-traffic moderated list that receives about five " @@ -2012,17 +2012,17 @@ msgid "" "`_." msgstr "" -#: faq/general.rst:214 +#: ../../src/Doc/faq/general.rst:214 msgid "" "More info about other mailing lists and newsgroups can be found at https://" "www.python.org/community/lists/." msgstr "" -#: faq/general.rst:219 +#: ../../src/Doc/faq/general.rst:219 msgid "How do I get a beta test version of Python?" msgstr "" -#: faq/general.rst:221 +#: ../../src/Doc/faq/general.rst:221 msgid "" "Alpha and beta releases are available from https://www.python.org/" "download/. All releases are announced on the comp.lang.python and comp.lang." @@ -2030,23 +2030,23 @@ msgid "" "org/; an RSS feed of news is available." msgstr "" -#: faq/general.rst:226 +#: ../../src/Doc/faq/general.rst:226 msgid "" "You can also access the development version of Python through Mercurial. " "See https://docs.python.org/devguide/faq.html for details." msgstr "" -#: faq/general.rst:231 +#: ../../src/Doc/faq/general.rst:231 msgid "How do I submit bug reports and patches for Python?" msgstr "" -#: faq/general.rst:233 +#: ../../src/Doc/faq/general.rst:233 msgid "" "To report a bug or submit a patch, please use the Roundup installation at " "https://bugs.python.org/." msgstr "" -#: faq/general.rst:236 +#: ../../src/Doc/faq/general.rst:236 msgid "" "You must have a Roundup account to report bugs; this makes it possible for " "us to contact you if we have follow-up questions. It will also enable " @@ -2056,54 +2056,54 @@ msgid "" "org/user?@template=forgotten>`_." msgstr "" -#: faq/general.rst:242 +#: ../../src/Doc/faq/general.rst:242 msgid "" "For more information on how Python is developed, consult `the Python " "Developer's Guide `_." msgstr "" -#: faq/general.rst:247 +#: ../../src/Doc/faq/general.rst:247 msgid "Are there any published articles about Python that I can reference?" msgstr "" -#: faq/general.rst:249 +#: ../../src/Doc/faq/general.rst:249 msgid "It's probably best to cite your favorite book about Python." msgstr "" -#: faq/general.rst:251 +#: ../../src/Doc/faq/general.rst:251 msgid "" "The very first article about Python was written in 1991 and is now quite " "outdated." msgstr "" -#: faq/general.rst:254 +#: ../../src/Doc/faq/general.rst:254 msgid "" "Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " "Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " "(December 1991), Amsterdam, pp 283-303." msgstr "" -#: faq/general.rst:260 +#: ../../src/Doc/faq/general.rst:260 msgid "Are there any books on Python?" msgstr "" -#: faq/general.rst:262 +#: ../../src/Doc/faq/general.rst:262 msgid "" "Yes, there are many, and more are being published. See the python.org wiki " "at https://wiki.python.org/moin/PythonBooks for a list." msgstr "" -#: faq/general.rst:265 +#: ../../src/Doc/faq/general.rst:265 msgid "" "You can also search online bookstores for \"Python\" and filter out the " "Monty Python references; or perhaps search for \"Python\" and \"language\"." msgstr "" -#: faq/general.rst:270 +#: ../../src/Doc/faq/general.rst:270 msgid "Where in the world is www.python.org located?" msgstr "" -#: faq/general.rst:272 +#: ../../src/Doc/faq/general.rst:272 msgid "" "The Python project's infrastructure is located all over the world. `www." "python.org `_ is graciously hosted by `Rackspace " @@ -2114,11 +2114,11 @@ msgid "" "State University Open Source Lab `_." msgstr "" -#: faq/general.rst:283 +#: ../../src/Doc/faq/general.rst:283 msgid "Why is it called Python?" msgstr "" -#: faq/general.rst:285 +#: ../../src/Doc/faq/general.rst:285 msgid "" "When he began implementing Python, Guido van Rossum was also reading the " "published scripts from `\"Monty Python's Flying Circus\" `_. There are two recommended production-" @@ -2171,34 +2171,34 @@ msgid "" "in Python 3." msgstr "" -#: faq/general.rst:324 +#: ../../src/Doc/faq/general.rst:324 msgid "How many people are using Python?" msgstr "" -#: faq/general.rst:326 +#: ../../src/Doc/faq/general.rst:326 msgid "" "There are probably tens of thousands of users, though it's difficult to " "obtain an exact count." msgstr "" -#: faq/general.rst:329 +#: ../../src/Doc/faq/general.rst:329 msgid "" "Python is available for free download, so there are no sales figures, and " "it's available from many different sites and packaged with many Linux " "distributions, so download statistics don't tell the whole story either." msgstr "" -#: faq/general.rst:333 +#: ../../src/Doc/faq/general.rst:333 msgid "" "The comp.lang.python newsgroup is very active, but not all Python users post " "to the group or even read it." msgstr "" -#: faq/general.rst:338 +#: ../../src/Doc/faq/general.rst:338 msgid "Have any significant projects been done in Python?" msgstr "" -#: faq/general.rst:340 +#: ../../src/Doc/faq/general.rst:340 msgid "" "See https://www.python.org/about/success for a list of projects that use " "Python. Consulting the proceedings for `past Python conferences `_ and `the Zope application server `_." msgstr "" -#: faq/general.rst:367 +#: ../../src/Doc/faq/general.rst:367 msgid "Is it reasonable to propose incompatible changes to Python?" msgstr "" -#: faq/general.rst:369 +#: ../../src/Doc/faq/general.rst:369 msgid "" "In general, no. There are already millions of lines of Python code around " "the world, so any change in the language that invalidates more than a very " @@ -2249,23 +2249,23 @@ msgid "" "to invalidate them all at a single stroke." msgstr "" -#: faq/general.rst:376 +#: ../../src/Doc/faq/general.rst:376 msgid "" "Providing a gradual upgrade path is necessary if a feature has to be " "changed. :pep:`5` describes the procedure followed for introducing backward-" "incompatible changes while minimizing disruption for users." msgstr "" -#: faq/general.rst:382 +#: ../../src/Doc/faq/general.rst:382 msgid "Is Python a good language for beginning programmers?" msgstr "" -#: faq/general.rst:384 faq/library.rst:787 faq/programming.rst:17 -#: faq/programming.rst:60 +#: ../../src/Doc/faq/general.rst:384 ../../src/Doc/faq/library.rst:787 +#: ../../src/Doc/faq/programming.rst:17 ../../src/Doc/faq/programming.rst:60 msgid "Yes." msgstr "" -#: faq/general.rst:386 +#: ../../src/Doc/faq/general.rst:386 msgid "" "It is still common to start students with a procedural and statically typed " "language such as Pascal, C, or a subset of C++ or Java. Students may be " @@ -2278,7 +2278,7 @@ msgid "" "with user-defined objects in their very first course." msgstr "" -#: faq/general.rst:396 +#: ../../src/Doc/faq/general.rst:396 msgid "" "For a student who has never programmed before, using a statically typed " "language seems unnatural. It presents additional complexity that the " @@ -2290,7 +2290,7 @@ msgid "" "course." msgstr "" -#: faq/general.rst:404 +#: ../../src/Doc/faq/general.rst:404 msgid "" "Many other aspects of Python make it a good first language. Like Java, " "Python has a large standard library so that students can be assigned " @@ -2303,7 +2303,7 @@ msgid "" "helpful in extending the students' reach." msgstr "" -#: faq/general.rst:413 +#: ../../src/Doc/faq/general.rst:413 msgid "" "Python's interactive interpreter enables students to test language features " "while they're programming. They can keep a window with the interpreter " @@ -2311,13 +2311,13 @@ msgid "" "can't remember the methods for a list, they can do something like this::" msgstr "" -#: faq/general.rst:442 +#: ../../src/Doc/faq/general.rst:442 msgid "" "With the interpreter, documentation is never far from the student as he's " "programming." msgstr "" -#: faq/general.rst:445 +#: ../../src/Doc/faq/general.rst:445 msgid "" "There are also good IDEs for Python. IDLE is a cross-platform IDE for " "Python that is written in Python using Tkinter. PythonWin is a Windows-" @@ -2328,37 +2328,37 @@ msgid "" "PythonEditors>`_ for a full list of Python editing environments." msgstr "" -#: faq/general.rst:453 +#: ../../src/Doc/faq/general.rst:453 msgid "" "If you want to discuss Python's use in education, you may be interested in " "joining `the edu-sig mailing list `_." msgstr "" -#: faq/gui.rst:5 +#: ../../src/Doc/faq/gui.rst:5 msgid "Graphic User Interface FAQ" msgstr "" -#: faq/gui.rst:15 +#: ../../src/Doc/faq/gui.rst:15 msgid "General GUI Questions" msgstr "" -#: faq/gui.rst:18 +#: ../../src/Doc/faq/gui.rst:18 msgid "What platform-independent GUI toolkits exist for Python?" msgstr "" -#: faq/gui.rst:20 +#: ../../src/Doc/faq/gui.rst:20 msgid "" "Depending on what platform(s) you are aiming at, there are several. Some of " "them haven't been ported to Python 3 yet. At least `Tkinter`_ and `Qt`_ are " "known to be Python 3-compatible." msgstr "" -#: faq/gui.rst:27 +#: ../../src/Doc/faq/gui.rst:27 msgid "Tkinter" msgstr "" -#: faq/gui.rst:29 +#: ../../src/Doc/faq/gui.rst:29 msgid "" "Standard builds of Python include an object-oriented interface to the Tcl/Tk " "widget set, called :ref:`tkinter `. This is probably the easiest " @@ -2369,11 +2369,11 @@ msgid "" "platforms." msgstr "" -#: faq/gui.rst:38 +#: ../../src/Doc/faq/gui.rst:38 msgid "wxWidgets" msgstr "" -#: faq/gui.rst:40 +#: ../../src/Doc/faq/gui.rst:40 msgid "" "wxWidgets (http://www.wxwidgets.org) is a free, portable GUI class library " "written in C++ that provides a native look and feel on a number of " @@ -2382,7 +2382,7 @@ msgid "" "including Python, Perl, Ruby, etc." msgstr "" -#: faq/gui.rst:46 +#: ../../src/Doc/faq/gui.rst:46 msgid "" "wxPython (http://www.wxpython.org) is the Python binding for wxwidgets. " "While it often lags slightly behind the official wxWidgets releases, it also " @@ -2391,18 +2391,18 @@ msgid "" "developer community." msgstr "" -#: faq/gui.rst:52 +#: ../../src/Doc/faq/gui.rst:52 msgid "" "Both wxWidgets and wxPython are free, open source, software with permissive " "licences that allow their use in commercial products as well as in freeware " "or shareware." msgstr "" -#: faq/gui.rst:58 +#: ../../src/Doc/faq/gui.rst:58 msgid "Qt" msgstr "" -#: faq/gui.rst:60 +#: ../../src/Doc/faq/gui.rst:60 msgid "" "There are bindings available for the Qt toolkit (using either `PyQt `_ or `PySide `_." msgstr "" -#: faq/gui.rst:71 +#: ../../src/Doc/faq/gui.rst:71 msgid "Gtk+" msgstr "" -#: faq/gui.rst:73 +#: ../../src/Doc/faq/gui.rst:73 msgid "" "The `GObject introspection bindings `_ for " "Python allow you to write GTK+ 3 applications. There is also a `Python GTK+ " "3 Tutorial `_." msgstr "" -#: faq/gui.rst:77 +#: ../../src/Doc/faq/gui.rst:77 msgid "" "The older PyGtk bindings for the `Gtk+ 2 toolkit `_ have " "been implemented by James Henstridge; see ." msgstr "" -#: faq/gui.rst:81 +#: ../../src/Doc/faq/gui.rst:81 msgid "FLTK" msgstr "" -#: faq/gui.rst:83 +#: ../../src/Doc/faq/gui.rst:83 msgid "" "Python bindings for `the FLTK toolkit `_, a simple yet " "powerful and mature cross-platform windowing system, are available from `the " "PyFLTK project `_." msgstr "" -#: faq/gui.rst:89 +#: ../../src/Doc/faq/gui.rst:89 msgid "FOX" msgstr "" -#: faq/gui.rst:91 +#: ../../src/Doc/faq/gui.rst:91 msgid "" "A wrapper for `the FOX toolkit `_ called `FXpy " "`_ is available. FOX supports both Unix " "variants and Windows." msgstr "" -#: faq/gui.rst:97 +#: ../../src/Doc/faq/gui.rst:97 msgid "OpenGL" msgstr "" -#: faq/gui.rst:99 +#: ../../src/Doc/faq/gui.rst:99 msgid "For OpenGL bindings, see `PyOpenGL `_." msgstr "" -#: faq/gui.rst:103 +#: ../../src/Doc/faq/gui.rst:103 msgid "What platform-specific GUI toolkits exist for Python?" msgstr "" -#: faq/gui.rst:105 +#: ../../src/Doc/faq/gui.rst:105 msgid "" "By installing the `PyObjc Objective-C bridge `_, Python programs can use Mac OS X's Cocoa libraries." msgstr "" -#: faq/gui.rst:109 +#: ../../src/Doc/faq/gui.rst:109 msgid "" ":ref:`Pythonwin ` by Mark Hammond includes an interface to the " "Microsoft Foundation Classes and a Python programming environment that's " "written mostly in Python using the MFC classes." msgstr "" -#: faq/gui.rst:115 +#: ../../src/Doc/faq/gui.rst:115 msgid "Tkinter questions" msgstr "" -#: faq/gui.rst:118 +#: ../../src/Doc/faq/gui.rst:118 msgid "How do I freeze Tkinter applications?" msgstr "" -#: faq/gui.rst:120 +#: ../../src/Doc/faq/gui.rst:120 msgid "" "Freeze is a tool to create stand-alone applications. When freezing Tkinter " "applications, the applications will not be truly stand-alone, as the " "application will still need the Tcl and Tk libraries." msgstr "" -#: faq/gui.rst:124 +#: ../../src/Doc/faq/gui.rst:124 msgid "" "One solution is to ship the application with the Tcl and Tk libraries, and " "point to them at run-time using the :envvar:`TCL_LIBRARY` and :envvar:" "`TK_LIBRARY` environment variables." msgstr "" -#: faq/gui.rst:128 +#: ../../src/Doc/faq/gui.rst:128 msgid "" "To get truly stand-alone applications, the Tcl scripts that form the library " "have to be integrated into the application as well. One tool supporting that " @@ -2513,18 +2513,18 @@ msgid "" "tix.sourceforge.net/)." msgstr "" -#: faq/gui.rst:133 +#: ../../src/Doc/faq/gui.rst:133 msgid "" "Build Tix with SAM enabled, perform the appropriate call to :c:func:" "`Tclsam_init`, etc. inside Python's :file:`Modules/tkappinit.c`, and link " "with libtclsam and libtksam (you might include the Tix libraries as well)." msgstr "" -#: faq/gui.rst:140 +#: ../../src/Doc/faq/gui.rst:140 msgid "Can I have Tk events handled while waiting for I/O?" msgstr "" -#: faq/gui.rst:142 +#: ../../src/Doc/faq/gui.rst:142 msgid "" "On platforms other than Windows, yes, and you don't even need threads! But " "you'll have to restructure your I/O code a bit. Tk has the equivalent of " @@ -2533,18 +2533,18 @@ msgid "" "file descriptor. See :ref:`tkinter-file-handlers`." msgstr "" -#: faq/gui.rst:150 +#: ../../src/Doc/faq/gui.rst:150 msgid "I can't get key bindings to work in Tkinter: why?" msgstr "" -#: faq/gui.rst:152 +#: ../../src/Doc/faq/gui.rst:152 msgid "" "An often-heard complaint is that event handlers bound to events with the :" "meth:`bind` method don't get handled even when the appropriate key is " "pressed." msgstr "" -#: faq/gui.rst:155 +#: ../../src/Doc/faq/gui.rst:155 msgid "" "The most common cause is that the widget to which the binding applies " "doesn't have \"keyboard focus\". Check out the Tk documentation for the " @@ -2552,15 +2552,15 @@ msgid "" "it (but not for labels; see the takefocus option)." msgstr "" -#: faq/index.rst:5 +#: ../../src/Doc/faq/index.rst:5 msgid "Python Frequently Asked Questions" msgstr "" -#: faq/installed.rst:3 +#: ../../src/Doc/faq/installed.rst:3 msgid "\"Why is Python Installed on my Computer?\" FAQ" msgstr "" -#: faq/installed.rst:8 +#: ../../src/Doc/faq/installed.rst:8 msgid "" "Python is a programming language. It's used for many different " "applications. It's used in some high schools and colleges as an introductory " @@ -2569,30 +2569,30 @@ msgid "" "Lucasfilm Ltd." msgstr "" -#: faq/installed.rst:13 +#: ../../src/Doc/faq/installed.rst:13 msgid "" "If you wish to learn more about Python, start with the `Beginner's Guide to " "Python `_." msgstr "" -#: faq/installed.rst:18 +#: ../../src/Doc/faq/installed.rst:18 msgid "Why is Python installed on my machine?" msgstr "" -#: faq/installed.rst:20 +#: ../../src/Doc/faq/installed.rst:20 msgid "" "If you find Python installed on your system but don't remember installing " "it, there are several possible ways it could have gotten there." msgstr "" -#: faq/installed.rst:23 +#: ../../src/Doc/faq/installed.rst:23 msgid "" "Perhaps another user on the computer wanted to learn programming and " "installed it; you'll have to figure out who's been using the machine and " "might have installed it." msgstr "" -#: faq/installed.rst:26 +#: ../../src/Doc/faq/installed.rst:26 msgid "" "A third-party application installed on the machine might have been written " "in Python and included a Python installation. There are many such " @@ -2600,42 +2600,42 @@ msgid "" "scripts." msgstr "" -#: faq/installed.rst:29 +#: ../../src/Doc/faq/installed.rst:29 msgid "" "Some Windows machines also have Python installed. At this writing we're " "aware of computers from Hewlett-Packard and Compaq that include Python. " "Apparently some of HP/Compaq's administrative tools are written in Python." msgstr "" -#: faq/installed.rst:32 +#: ../../src/Doc/faq/installed.rst:32 msgid "" "Many Unix-compatible operating systems, such as Mac OS X and some Linux " "distributions, have Python installed by default; it's included in the base " "installation." msgstr "" -#: faq/installed.rst:38 +#: ../../src/Doc/faq/installed.rst:38 msgid "Can I delete Python?" msgstr "" -#: faq/installed.rst:40 +#: ../../src/Doc/faq/installed.rst:40 msgid "That depends on where Python came from." msgstr "" -#: faq/installed.rst:42 +#: ../../src/Doc/faq/installed.rst:42 msgid "" "If someone installed it deliberately, you can remove it without hurting " "anything. On Windows, use the Add/Remove Programs icon in the Control Panel." msgstr "" -#: faq/installed.rst:45 +#: ../../src/Doc/faq/installed.rst:45 msgid "" "If Python was installed by a third-party application, you can also remove " "it, but that application will no longer work. You should use that " "application's uninstaller rather than removing Python directly." msgstr "" -#: faq/installed.rst:49 +#: ../../src/Doc/faq/installed.rst:49 msgid "" "If Python came with your operating system, removing it is not recommended. " "If you remove it, whatever tools were written in Python will no longer run, " @@ -2643,26 +2643,26 @@ msgid "" "would then be required to fix things again." msgstr "" -#: faq/library.rst:5 +#: ../../src/Doc/faq/library.rst:5 msgid "Library and Extension FAQ" msgstr "" -#: faq/library.rst:12 +#: ../../src/Doc/faq/library.rst:12 msgid "General Library Questions" msgstr "" -#: faq/library.rst:15 +#: ../../src/Doc/faq/library.rst:15 msgid "How do I find a module or application to perform task X?" msgstr "" -#: faq/library.rst:17 +#: ../../src/Doc/faq/library.rst:17 msgid "" "Check :ref:`the Library Reference ` to see if there's a " "relevant standard library module. (Eventually you'll learn what's in the " "standard library and will be able to skip this step.)" msgstr "" -#: faq/library.rst:21 +#: ../../src/Doc/faq/library.rst:21 msgid "" "For third-party packages, search the `Python Package Index `_ or try `Google `_ or another Web " @@ -2670,11 +2670,11 @@ msgid "" "topic of interest will usually find something helpful." msgstr "" -#: faq/library.rst:28 +#: ../../src/Doc/faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" msgstr "" -#: faq/library.rst:30 +#: ../../src/Doc/faq/library.rst:30 msgid "" "If you can't find a source file for a module it may be a built-in or " "dynamically loaded module implemented in C, C++ or other compiled language. " @@ -2683,55 +2683,55 @@ msgid "" "Path)." msgstr "" -#: faq/library.rst:35 +#: ../../src/Doc/faq/library.rst:35 msgid "There are (at least) three kinds of modules in Python:" msgstr "" -#: faq/library.rst:37 +#: ../../src/Doc/faq/library.rst:37 msgid "modules written in Python (.py);" msgstr "" -#: faq/library.rst:38 +#: ../../src/Doc/faq/library.rst:38 msgid "" "modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" msgstr "" -#: faq/library.rst:39 +#: ../../src/Doc/faq/library.rst:39 msgid "" "modules written in C and linked with the interpreter; to get a list of " "these, type::" msgstr "" -#: faq/library.rst:47 +#: ../../src/Doc/faq/library.rst:47 msgid "How do I make a Python script executable on Unix?" msgstr "" -#: faq/library.rst:49 +#: ../../src/Doc/faq/library.rst:49 msgid "" "You need to do two things: the script file's mode must be executable and the " "first line must begin with ``#!`` followed by the path of the Python " "interpreter." msgstr "" -#: faq/library.rst:53 +#: ../../src/Doc/faq/library.rst:53 msgid "" "The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " "755 scriptfile``." msgstr "" -#: faq/library.rst:56 +#: ../../src/Doc/faq/library.rst:56 msgid "" "The second can be done in a number of ways. The most straightforward way is " "to write ::" msgstr "" -#: faq/library.rst:61 +#: ../../src/Doc/faq/library.rst:61 msgid "" "as the very first line of your file, using the pathname for where the Python " "interpreter is installed on your platform." msgstr "" -#: faq/library.rst:64 +#: ../../src/Doc/faq/library.rst:64 msgid "" "If you would like the script to be independent of where the Python " "interpreter lives, you can use the :program:`env` program. Almost all Unix " @@ -2739,31 +2739,31 @@ msgid "" "directory on the user's :envvar:`PATH`::" msgstr "" -#: faq/library.rst:71 +#: ../../src/Doc/faq/library.rst:71 msgid "" "*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI " "scripts is often very minimal, so you need to use the actual absolute " "pathname of the interpreter." msgstr "" -#: faq/library.rst:75 +#: ../../src/Doc/faq/library.rst:75 msgid "" "Occasionally, a user's environment is so full that the :program:`/usr/bin/" "env` program fails; or there's no env program at all. In that case, you can " "try the following hack (due to Alex Rezinsky)::" msgstr "" -#: faq/library.rst:84 +#: ../../src/Doc/faq/library.rst:84 msgid "" "The minor disadvantage is that this defines the script's __doc__ string. " "However, you can fix that by adding ::" msgstr "" -#: faq/library.rst:92 +#: ../../src/Doc/faq/library.rst:92 msgid "Is there a curses/termcap package for Python?" msgstr "" -#: faq/library.rst:96 +#: ../../src/Doc/faq/library.rst:96 msgid "" "For Unix variants: The standard Python source distribution comes with a " "curses module in the :source:`Modules` subdirectory, though it's not " @@ -2771,7 +2771,7 @@ msgid "" "distribution -- there is no curses module for Windows.)" msgstr "" -#: faq/library.rst:101 +#: ../../src/Doc/faq/library.rst:101 msgid "" "The :mod:`curses` module supports basic curses features as well as many " "additional functions from ncurses and SYSV curses such as colour, " @@ -2781,58 +2781,58 @@ msgid "" "category." msgstr "" -#: faq/library.rst:107 +#: ../../src/Doc/faq/library.rst:107 msgid "" "For Windows: use `the consolelib module `_." msgstr "" -#: faq/library.rst:112 +#: ../../src/Doc/faq/library.rst:112 msgid "Is there an equivalent to C's onexit() in Python?" msgstr "" -#: faq/library.rst:114 +#: ../../src/Doc/faq/library.rst:114 msgid "" "The :mod:`atexit` module provides a register function that is similar to " "C's :c:func:`onexit`." msgstr "" -#: faq/library.rst:119 +#: ../../src/Doc/faq/library.rst:119 msgid "Why don't my signal handlers work?" msgstr "" -#: faq/library.rst:121 +#: ../../src/Doc/faq/library.rst:121 msgid "" "The most common problem is that the signal handler is declared with the " "wrong argument list. It is called as ::" msgstr "" -#: faq/library.rst:126 +#: ../../src/Doc/faq/library.rst:126 msgid "so it should be declared with two arguments::" msgstr "" -#: faq/library.rst:133 +#: ../../src/Doc/faq/library.rst:133 msgid "Common tasks" msgstr "" -#: faq/library.rst:136 +#: ../../src/Doc/faq/library.rst:136 msgid "How do I test a Python program or component?" msgstr "" -#: faq/library.rst:138 +#: ../../src/Doc/faq/library.rst:138 msgid "" "Python comes with two testing frameworks. The :mod:`doctest` module finds " "examples in the docstrings for a module and runs them, comparing the output " "with the expected output given in the docstring." msgstr "" -#: faq/library.rst:142 +#: ../../src/Doc/faq/library.rst:142 msgid "" "The :mod:`unittest` module is a fancier testing framework modelled on Java " "and Smalltalk testing frameworks." msgstr "" -#: faq/library.rst:145 +#: ../../src/Doc/faq/library.rst:145 msgid "" "To make testing easier, you should use good modular design in your program. " "Your program should have almost all functionality encapsulated in either " @@ -2843,15 +2843,15 @@ msgid "" "more difficult to do." msgstr "" -#: faq/library.rst:153 +#: ../../src/Doc/faq/library.rst:153 msgid "The \"global main logic\" of your program may be as simple as ::" msgstr "" -#: faq/library.rst:158 +#: ../../src/Doc/faq/library.rst:158 msgid "at the bottom of the main module of your program." msgstr "" -#: faq/library.rst:160 +#: ../../src/Doc/faq/library.rst:160 msgid "" "Once your program is organized as a tractable collection of functions and " "class behaviours you should write test functions that exercise the " @@ -2863,24 +2863,24 @@ msgid "" "design flaws earlier." msgstr "" -#: faq/library.rst:168 +#: ../../src/Doc/faq/library.rst:168 msgid "" "\"Support modules\" that are not intended to be the main module of a program " "may include a self-test of the module. ::" msgstr "" -#: faq/library.rst:174 +#: ../../src/Doc/faq/library.rst:174 msgid "" "Even programs that interact with complex external interfaces may be tested " "when the external interfaces are unavailable by using \"fake\" interfaces " "implemented in Python." msgstr "" -#: faq/library.rst:180 +#: ../../src/Doc/faq/library.rst:180 msgid "How do I create documentation from doc strings?" msgstr "" -#: faq/library.rst:182 +#: ../../src/Doc/faq/library.rst:182 msgid "" "The :mod:`pydoc` module can create HTML from the doc strings in your Python " "source code. An alternative for creating API documentation purely from " @@ -2888,65 +2888,65 @@ msgid "" "sphinx-doc.org>`_ can also include docstring content." msgstr "" -#: faq/library.rst:189 +#: ../../src/Doc/faq/library.rst:189 msgid "How do I get a single keypress at a time?" msgstr "" -#: faq/library.rst:191 +#: ../../src/Doc/faq/library.rst:191 msgid "" "For Unix variants there are several solutions. It's straightforward to do " "this using curses, but curses is a fairly large module to learn." msgstr "" -#: faq/library.rst:235 +#: ../../src/Doc/faq/library.rst:235 msgid "Threads" msgstr "" -#: faq/library.rst:238 +#: ../../src/Doc/faq/library.rst:238 msgid "How do I program using threads?" msgstr "" -#: faq/library.rst:240 +#: ../../src/Doc/faq/library.rst:240 msgid "" "Be sure to use the :mod:`threading` module and not the :mod:`_thread` " "module. The :mod:`threading` module builds convenient abstractions on top of " "the low-level primitives provided by the :mod:`_thread` module." msgstr "" -#: faq/library.rst:244 +#: ../../src/Doc/faq/library.rst:244 msgid "" "Aahz has a set of slides from his threading tutorial that are helpful; see " "http://www.pythoncraft.com/OSCON2001/." msgstr "" -#: faq/library.rst:249 +#: ../../src/Doc/faq/library.rst:249 msgid "None of my threads seem to run: why?" msgstr "" -#: faq/library.rst:251 +#: ../../src/Doc/faq/library.rst:251 msgid "" "As soon as the main thread exits, all threads are killed. Your main thread " "is running too quickly, giving the threads no time to do any work." msgstr "" -#: faq/library.rst:254 +#: ../../src/Doc/faq/library.rst:254 msgid "" "A simple fix is to add a sleep to the end of the program that's long enough " "for all the threads to finish::" msgstr "" -#: faq/library.rst:268 +#: ../../src/Doc/faq/library.rst:268 msgid "" "But now (on many platforms) the threads don't run in parallel, but appear to " "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" -#: faq/library.rst:272 +#: ../../src/Doc/faq/library.rst:272 msgid "A simple fix is to add a tiny sleep to the start of the run function::" msgstr "" -#: faq/library.rst:284 +#: ../../src/Doc/faq/library.rst:284 msgid "" "Instead of trying to guess a good delay value for :func:`time.sleep`, it's " "better to use some kind of semaphore mechanism. One idea is to use the :mod:" @@ -2955,17 +2955,17 @@ msgid "" "the queue as there are threads." msgstr "" -#: faq/library.rst:292 +#: ../../src/Doc/faq/library.rst:292 msgid "How do I parcel out work among a bunch of worker threads?" msgstr "" -#: faq/library.rst:294 +#: ../../src/Doc/faq/library.rst:294 msgid "" "The easiest way is to use the new :mod:`concurrent.futures` module, " "especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" -#: faq/library.rst:297 +#: ../../src/Doc/faq/library.rst:297 msgid "" "Or, if you want fine control over the dispatching algorithm, you can write " "your own logic manually. Use the :mod:`queue` module to create a queue " @@ -2975,25 +2975,25 @@ msgid "" "necessary to ensure that each job is handed out exactly once." msgstr "" -#: faq/library.rst:304 +#: ../../src/Doc/faq/library.rst:304 msgid "Here's a trivial example::" msgstr "" -#: faq/library.rst:342 +#: ../../src/Doc/faq/library.rst:342 msgid "When run, this will produce the following output:" msgstr "" -#: faq/library.rst:360 +#: ../../src/Doc/faq/library.rst:360 msgid "" "Consult the module's documentation for more details; the :class:`~queue." "Queue` class provides a featureful interface." msgstr "" -#: faq/library.rst:365 +#: ../../src/Doc/faq/library.rst:365 msgid "What kinds of global value mutation are thread-safe?" msgstr "" -#: faq/library.rst:367 +#: ../../src/Doc/faq/library.rst:367 msgid "" "A :term:`global interpreter lock` (GIL) is used internally to ensure that " "only one thread runs in the Python VM at a time. In general, Python offers " @@ -3003,7 +3003,7 @@ msgid "" "instruction is therefore atomic from the point of view of a Python program." msgstr "" -#: faq/library.rst:374 +#: ../../src/Doc/faq/library.rst:374 msgid "" "In theory, this means an exact accounting requires an exact understanding of " "the PVM bytecode implementation. In practice, it means that operations on " @@ -3011,17 +3011,17 @@ msgid "" "\"look atomic\" really are." msgstr "" -#: faq/library.rst:379 +#: ../../src/Doc/faq/library.rst:379 msgid "" "For example, the following operations are all atomic (L, L1, L2 are lists, " "D, D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" -#: faq/library.rst:394 +#: ../../src/Doc/faq/library.rst:394 msgid "These aren't::" msgstr "" -#: faq/library.rst:401 +#: ../../src/Doc/faq/library.rst:401 msgid "" "Operations that replace other objects may invoke those other objects' :meth:" "`__del__` method when their reference count reaches zero, and that can " @@ -3029,11 +3029,11 @@ msgid "" "and lists. When in doubt, use a mutex!" msgstr "" -#: faq/library.rst:408 +#: ../../src/Doc/faq/library.rst:408 msgid "Can't we get rid of the Global Interpreter Lock?" msgstr "" -#: faq/library.rst:412 +#: ../../src/Doc/faq/library.rst:412 msgid "" "The :term:`global interpreter lock` (GIL) is often seen as a hindrance to " "Python's deployment on high-end multiprocessor server machines, because a " @@ -3041,7 +3041,7 @@ msgid "" "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" -#: faq/library.rst:417 +#: ../../src/Doc/faq/library.rst:417 msgid "" "Back in the days of Python 1.5, Greg Stein actually implemented a " "comprehensive patch set (the \"free threading\" patches) that removed the " @@ -3053,7 +3053,7 @@ msgid "" "the GIL." msgstr "" -#: faq/library.rst:425 +#: ../../src/Doc/faq/library.rst:425 msgid "" "This doesn't mean that you can't make good use of Python on multi-CPU " "machines! You just have to be creative with dividing the work up between " @@ -3064,7 +3064,7 @@ msgid "" "dispatching of tasks." msgstr "" -#: faq/library.rst:433 +#: ../../src/Doc/faq/library.rst:433 msgid "" "Judicious use of C extensions will also help; if you use a C extension to " "perform a time-consuming task, the extension can release the GIL while the " @@ -3073,7 +3073,7 @@ msgid "" "`hashlib` already do this." msgstr "" -#: faq/library.rst:439 +#: ../../src/Doc/faq/library.rst:439 msgid "" "It has been suggested that the GIL should be a per-interpreter-state lock " "rather than truly global; interpreters then wouldn't be able to share " @@ -3085,7 +3085,7 @@ msgid "" "the interpreter state. And so on." msgstr "" -#: faq/library.rst:448 +#: ../../src/Doc/faq/library.rst:448 msgid "" "And I doubt that it can even be done in finite time, because the same " "problem exists for 3rd party extensions. It is likely that 3rd party " @@ -3093,28 +3093,28 @@ msgid "" "store all their global state in the interpreter state." msgstr "" -#: faq/library.rst:453 +#: ../../src/Doc/faq/library.rst:453 msgid "" "And finally, once you have multiple interpreters not sharing any state, what " "have you gained over running each interpreter in a separate process?" msgstr "" -#: faq/library.rst:458 +#: ../../src/Doc/faq/library.rst:458 msgid "Input and Output" msgstr "Entrées et Sorties" -#: faq/library.rst:461 +#: ../../src/Doc/faq/library.rst:461 msgid "How do I delete a file? (And other file questions...)" msgstr "" -#: faq/library.rst:463 +#: ../../src/Doc/faq/library.rst:463 msgid "" "Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, " "see the :mod:`os` module. The two functions are identical; :func:`~os." "unlink` is simply the name of the Unix system call for this function." msgstr "" -#: faq/library.rst:467 +#: ../../src/Doc/faq/library.rst:467 msgid "" "To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create " "one. ``os.makedirs(path)`` will create any intermediate directories in " @@ -3123,11 +3123,11 @@ msgid "" "directory tree and its contents, use :func:`shutil.rmtree`." msgstr "" -#: faq/library.rst:473 +#: ../../src/Doc/faq/library.rst:473 msgid "To rename a file, use ``os.rename(old_path, new_path)``." msgstr "" -#: faq/library.rst:475 +#: ../../src/Doc/faq/library.rst:475 msgid "" "To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use " "``f.truncate(offset)``; offset defaults to the current seek position. " @@ -3135,54 +3135,54 @@ msgid "" "open`, where *fd* is the file descriptor (a small integer)." msgstr "" -#: faq/library.rst:480 +#: ../../src/Doc/faq/library.rst:480 msgid "" "The :mod:`shutil` module also contains a number of functions to work on " "files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" "func:`~shutil.rmtree`." msgstr "" -#: faq/library.rst:486 +#: ../../src/Doc/faq/library.rst:486 msgid "How do I copy a file?" msgstr "" -#: faq/library.rst:488 +#: ../../src/Doc/faq/library.rst:488 msgid "" "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " "that on MacOS 9 it doesn't copy the resource fork and Finder info." msgstr "" -#: faq/library.rst:493 +#: ../../src/Doc/faq/library.rst:493 msgid "How do I read (or write) binary data?" msgstr "" -#: faq/library.rst:495 +#: ../../src/Doc/faq/library.rst:495 msgid "" "To read or write complex binary data formats, it's best to use the :mod:" "`struct` module. It allows you to take a string containing binary data " "(usually numbers) and convert it to Python objects; and vice versa." msgstr "" -#: faq/library.rst:499 +#: ../../src/Doc/faq/library.rst:499 msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" -#: faq/library.rst:508 +#: ../../src/Doc/faq/library.rst:508 msgid "" "The '>' in the format string forces big-endian data; the letter 'h' reads " "one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " "bytes) from the string." msgstr "" -#: faq/library.rst:512 +#: ../../src/Doc/faq/library.rst:512 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), " "you can also use the :mod:`array` module." msgstr "" -#: faq/library.rst:517 +#: ../../src/Doc/faq/library.rst:517 msgid "" "To read and write binary data, it is mandatory to open the file in binary " "mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` " @@ -3190,11 +3190,11 @@ msgid "" "will return :class:`str` objects rather than :class:`bytes` objects." msgstr "" -#: faq/library.rst:525 +#: ../../src/Doc/faq/library.rst:525 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" -#: faq/library.rst:527 +#: ../../src/Doc/faq/library.rst:527 msgid "" ":func:`os.read` is a low-level function which takes a file descriptor, a " "small integer representing the opened file. :func:`os.popen` creates a high-" @@ -3203,37 +3203,37 @@ msgid "" "popen`, you need to use ``p.read(n)``." msgstr "" -#: faq/library.rst:614 +#: ../../src/Doc/faq/library.rst:614 msgid "How do I access the serial (RS232) port?" msgstr "" -#: faq/library.rst:616 +#: ../../src/Doc/faq/library.rst:616 msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:" msgstr "" -#: faq/library.rst:618 +#: ../../src/Doc/faq/library.rst:618 msgid "http://pyserial.sourceforge.net" msgstr "" -#: faq/library.rst:620 +#: ../../src/Doc/faq/library.rst:620 msgid "For Unix, see a Usenet post by Mitch Chapman:" msgstr "" -#: faq/library.rst:622 +#: ../../src/Doc/faq/library.rst:622 msgid "http://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" msgstr "" -#: faq/library.rst:626 +#: ../../src/Doc/faq/library.rst:626 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" msgstr "" -#: faq/library.rst:628 +#: ../../src/Doc/faq/library.rst:628 msgid "" "Python :term:`file objects ` are a high-level layer of " "abstraction on low-level C file descriptors." msgstr "" -#: faq/library.rst:631 +#: ../../src/Doc/faq/library.rst:631 msgid "" "For most file objects you create in Python via the built-in :func:`open` " "function, ``f.close()`` marks the Python file object as being closed from " @@ -3242,7 +3242,7 @@ msgid "" "``f`` becomes garbage." msgstr "" -#: faq/library.rst:637 +#: ../../src/Doc/faq/library.rst:637 msgid "" "But stdin, stdout and stderr are treated specially by Python, because of the " "special status also given to them by C. Running ``sys.stdout.close()`` " @@ -3250,94 +3250,94 @@ msgid "" "associated C file descriptor." msgstr "" -#: faq/library.rst:642 +#: ../../src/Doc/faq/library.rst:642 msgid "" "To close the underlying C file descriptor for one of these three, you should " "first be sure that's what you really want to do (e.g., you may confuse " "extension modules trying to do I/O). If it is, use :func:`os.close`::" msgstr "" -#: faq/library.rst:650 +#: ../../src/Doc/faq/library.rst:650 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." msgstr "" -#: faq/library.rst:654 +#: ../../src/Doc/faq/library.rst:654 msgid "Network/Internet Programming" msgstr "" -#: faq/library.rst:657 +#: ../../src/Doc/faq/library.rst:657 msgid "What WWW tools are there for Python?" msgstr "" -#: faq/library.rst:659 +#: ../../src/Doc/faq/library.rst:659 msgid "" "See the chapters titled :ref:`internet` and :ref:`netdata` in the Library " "Reference Manual. Python has many modules that will help you build server-" "side and client-side web systems." msgstr "" -#: faq/library.rst:665 +#: ../../src/Doc/faq/library.rst:665 msgid "" "A summary of available frameworks is maintained by Paul Boddie at https://" "wiki.python.org/moin/WebProgramming\\ ." msgstr "" -#: faq/library.rst:668 +#: ../../src/Doc/faq/library.rst:668 msgid "" "Cameron Laird maintains a useful set of pages about Python web technologies " "at http://phaseit.net/claird/comp.lang.python/web_python." msgstr "" -#: faq/library.rst:673 +#: ../../src/Doc/faq/library.rst:673 msgid "How can I mimic CGI form submission (METHOD=POST)?" msgstr "" -#: faq/library.rst:675 +#: ../../src/Doc/faq/library.rst:675 msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" msgstr "" -#: faq/library.rst:678 +#: ../../src/Doc/faq/library.rst:678 msgid "Yes. Here's a simple example that uses urllib.request::" msgstr "" -#: faq/library.rst:693 +#: ../../src/Doc/faq/library.rst:693 msgid "" "Note that in general for percent-encoded POST operations, query strings must " "be quoted using :func:`urllib.parse.urlencode`. For example, to send " "``name=Guy Steele, Jr.``::" msgstr "" -#: faq/library.rst:701 +#: ../../src/Doc/faq/library.rst:701 msgid ":ref:`urllib-howto` for extensive examples." msgstr "" -#: faq/library.rst:705 +#: ../../src/Doc/faq/library.rst:705 msgid "What module should I use to help with generating HTML?" msgstr "" -#: faq/library.rst:709 +#: ../../src/Doc/faq/library.rst:709 msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." msgstr "" -#: faq/library.rst:714 +#: ../../src/Doc/faq/library.rst:714 msgid "How do I send mail from a Python script?" msgstr "" -#: faq/library.rst:716 +#: ../../src/Doc/faq/library.rst:716 msgid "Use the standard library module :mod:`smtplib`." msgstr "" -#: faq/library.rst:718 +#: ../../src/Doc/faq/library.rst:718 msgid "" "Here's a very simple interactive mail sender that uses it. This method will " "work on any host that supports an SMTP listener. ::" msgstr "" -#: faq/library.rst:738 +#: ../../src/Doc/faq/library.rst:738 msgid "" "A Unix-only alternative uses sendmail. The location of the sendmail program " "varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/" @@ -3345,17 +3345,17 @@ msgid "" "some sample code::" msgstr "" -#: faq/library.rst:757 +#: ../../src/Doc/faq/library.rst:757 msgid "How do I avoid blocking in the connect() method of a socket?" msgstr "" -#: faq/library.rst:759 +#: ../../src/Doc/faq/library.rst:759 msgid "" "The :mod:`select` module is commonly used to help with asynchronous I/O on " "sockets." msgstr "" -#: faq/library.rst:762 +#: ../../src/Doc/faq/library.rst:762 msgid "" "To prevent the TCP connect from blocking, you can set the socket to non-" "blocking mode. Then when you do the ``connect()``, you will either connect " @@ -3365,7 +3365,7 @@ msgid "" "values, so you're going to have to check what's returned on your system." msgstr "" -#: faq/library.rst:769 +#: ../../src/Doc/faq/library.rst:769 msgid "" "You can use the ``connect_ex()`` method to avoid creating an exception. It " "will just return the errno value. To poll, you can call ``connect_ex()`` " @@ -3373,22 +3373,22 @@ msgid "" "or you can pass this socket to select to check if it's writable." msgstr "" -#: faq/library.rst:775 +#: ../../src/Doc/faq/library.rst:775 msgid "" "The :mod:`asyncore` module presents a framework-like approach to the problem " "of writing non-blocking networking code. The third-party `Twisted `_ library is a popular and feature-rich alternative." msgstr "" -#: faq/library.rst:782 +#: ../../src/Doc/faq/library.rst:782 msgid "Databases" msgstr "" -#: faq/library.rst:785 +#: ../../src/Doc/faq/library.rst:785 msgid "Are there any interfaces to database packages in Python?" msgstr "" -#: faq/library.rst:789 +#: ../../src/Doc/faq/library.rst:789 msgid "" "Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " "` are also included with standard Python. There is also the :mod:" @@ -3396,18 +3396,18 @@ msgid "" "database." msgstr "" -#: faq/library.rst:794 +#: ../../src/Doc/faq/library.rst:794 msgid "" "Support for most relational databases is available. See the " "`DatabaseProgramming wiki page `_ for details." msgstr "" -#: faq/library.rst:800 +#: ../../src/Doc/faq/library.rst:800 msgid "How do you implement persistent objects in Python?" msgstr "" -#: faq/library.rst:802 +#: ../../src/Doc/faq/library.rst:802 msgid "" "The :mod:`pickle` library module solves this in a very general way (though " "you still can't store things like open files, sockets or windows), and the :" @@ -3415,75 +3415,75 @@ msgid "" "mappings containing arbitrary Python objects." msgstr "" -#: faq/library.rst:809 +#: ../../src/Doc/faq/library.rst:809 msgid "Mathematics and Numerics" msgstr "" -#: faq/library.rst:812 +#: ../../src/Doc/faq/library.rst:812 msgid "How do I generate random numbers in Python?" msgstr "" -#: faq/library.rst:814 +#: ../../src/Doc/faq/library.rst:814 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" msgstr "" -#: faq/library.rst:820 +#: ../../src/Doc/faq/library.rst:820 msgid "This returns a random floating point number in the range [0, 1)." msgstr "" -#: faq/library.rst:822 +#: ../../src/Doc/faq/library.rst:822 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "" -#: faq/library.rst:824 +#: ../../src/Doc/faq/library.rst:824 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." msgstr "" -#: faq/library.rst:825 +#: ../../src/Doc/faq/library.rst:825 msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "" -#: faq/library.rst:826 +#: ../../src/Doc/faq/library.rst:826 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" -#: faq/library.rst:828 +#: ../../src/Doc/faq/library.rst:828 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" -#: faq/library.rst:830 +#: ../../src/Doc/faq/library.rst:830 msgid "``choice(S)`` chooses random element from a given sequence" msgstr "" -#: faq/library.rst:831 +#: ../../src/Doc/faq/library.rst:831 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly" msgstr "" -#: faq/library.rst:833 +#: ../../src/Doc/faq/library.rst:833 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." msgstr "" -#: faq/programming.rst:5 +#: ../../src/Doc/faq/programming.rst:5 msgid "Programming FAQ" msgstr "" -#: faq/programming.rst:12 +#: ../../src/Doc/faq/programming.rst:12 msgid "General Questions" msgstr "" -#: faq/programming.rst:15 +#: ../../src/Doc/faq/programming.rst:15 msgid "" "Is there a source code level debugger with breakpoints, single-stepping, " "etc.?" msgstr "" -#: faq/programming.rst:19 +#: ../../src/Doc/faq/programming.rst:19 msgid "" "The pdb module is a simple but adequate console-mode debugger for Python. It " "is part of the standard Python library, and is :mod:`documented in the " @@ -3491,14 +3491,14 @@ msgid "" "using the code for pdb as an example." msgstr "" -#: faq/programming.rst:24 +#: ../../src/Doc/faq/programming.rst:24 msgid "" "The IDLE interactive development environment, which is part of the standard " "Python distribution (normally available as Tools/scripts/idle), includes a " "graphical debugger." msgstr "" -#: faq/programming.rst:28 +#: ../../src/Doc/faq/programming.rst:28 msgid "" "PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " "Pythonwin debugger colors breakpoints and has quite a few cool features such " @@ -3508,7 +3508,7 @@ msgid "" "activestate.com/activepython\\ )." msgstr "" -#: faq/programming.rst:35 +#: ../../src/Doc/faq/programming.rst:35 msgid "" "`Boa Constructor `_ is an IDE and " "GUI builder that uses wxWidgets. It offers visual frame creation and " @@ -3517,13 +3517,13 @@ msgid "" "an advanced debugger, integrated help, and Zope support." msgstr "" -#: faq/programming.rst:41 +#: ../../src/Doc/faq/programming.rst:41 msgid "" "`Eric `_ is an IDE built on PyQt and " "the Scintilla editing component." msgstr "" -#: faq/programming.rst:44 +#: ../../src/Doc/faq/programming.rst:44 msgid "" "Pydb is a version of the standard Python debugger pdb, modified for use with " "DDD (Data Display Debugger), a popular graphical debugger front end. Pydb " @@ -3531,36 +3531,36 @@ msgid "" "http://www.gnu.org/software/ddd." msgstr "" -#: faq/programming.rst:49 +#: ../../src/Doc/faq/programming.rst:49 msgid "" "There are a number of commercial Python IDEs that include graphical " "debuggers. They include:" msgstr "" -#: faq/programming.rst:52 +#: ../../src/Doc/faq/programming.rst:52 msgid "Wing IDE (http://wingware.com/)" msgstr "" -#: faq/programming.rst:53 +#: ../../src/Doc/faq/programming.rst:53 msgid "Komodo IDE (http://komodoide.com/)" msgstr "" -#: faq/programming.rst:54 +#: ../../src/Doc/faq/programming.rst:54 msgid "PyCharm (https://www.jetbrains.com/pycharm/)" msgstr "" -#: faq/programming.rst:58 +#: ../../src/Doc/faq/programming.rst:58 msgid "Is there a tool to help find bugs or perform static analysis?" msgstr "" -#: faq/programming.rst:62 +#: ../../src/Doc/faq/programming.rst:62 msgid "" "PyChecker is a static analysis tool that finds bugs in Python source code " "and warns about code complexity and style. You can get PyChecker from " "http://pychecker.sourceforge.net/." msgstr "" -#: faq/programming.rst:66 +#: ../../src/Doc/faq/programming.rst:66 msgid "" "`Pylint `_ is another tool that " "checks if a module satisfies a coding standard, and also makes it possible " @@ -3571,11 +3571,11 @@ msgid "" "more. http://docs.pylint.org/ provides a full list of Pylint's features." msgstr "" -#: faq/programming.rst:76 +#: ../../src/Doc/faq/programming.rst:76 msgid "How can I create a stand-alone binary from a Python script?" msgstr "" -#: faq/programming.rst:78 +#: ../../src/Doc/faq/programming.rst:78 msgid "" "You don't need the ability to compile Python to C code if all you want is a " "stand-alone program that users can download and run without having to " @@ -3584,7 +3584,7 @@ msgid "" "together with a Python binary to produce a single executable." msgstr "" -#: faq/programming.rst:84 +#: ../../src/Doc/faq/programming.rst:84 msgid "" "One is to use the freeze tool, which is included in the Python source tree " "as ``Tools/freeze``. It converts Python byte code to C arrays; a C compiler " @@ -3592,7 +3592,7 @@ msgid "" "the standard Python modules." msgstr "" -#: faq/programming.rst:89 +#: ../../src/Doc/faq/programming.rst:89 msgid "" "It works by scanning your source recursively for import statements (in both " "forms) and looking for the modules in the standard Python path as well as in " @@ -3605,60 +3605,60 @@ msgid "" "exactly like your script." msgstr "" -#: faq/programming.rst:98 +#: ../../src/Doc/faq/programming.rst:98 msgid "" "Obviously, freeze requires a C compiler. There are several other utilities " "which don't. One is Thomas Heller's py2exe (Windows only) at" msgstr "" -#: faq/programming.rst:101 +#: ../../src/Doc/faq/programming.rst:101 msgid "http://www.py2exe.org/" msgstr "" -#: faq/programming.rst:103 +#: ../../src/Doc/faq/programming.rst:103 msgid "" "Another tool is Anthony Tuininga's `cx_Freeze `_." msgstr "" -#: faq/programming.rst:107 +#: ../../src/Doc/faq/programming.rst:107 msgid "Are there coding standards or a style guide for Python programs?" msgstr "" -#: faq/programming.rst:109 +#: ../../src/Doc/faq/programming.rst:109 msgid "" "Yes. The coding style required for standard library modules is documented " "as :pep:`8`." msgstr "" -#: faq/programming.rst:114 +#: ../../src/Doc/faq/programming.rst:114 msgid "Core Language" msgstr "" -#: faq/programming.rst:117 +#: ../../src/Doc/faq/programming.rst:117 msgid "Why am I getting an UnboundLocalError when the variable has a value?" msgstr "" -#: faq/programming.rst:119 +#: ../../src/Doc/faq/programming.rst:119 msgid "" "It can be a surprise to get the UnboundLocalError in previously working code " "when it is modified by adding an assignment statement somewhere in the body " "of a function." msgstr "" -#: faq/programming.rst:123 +#: ../../src/Doc/faq/programming.rst:123 msgid "This code:" msgstr "" -#: faq/programming.rst:131 +#: ../../src/Doc/faq/programming.rst:131 msgid "works, but this code:" msgstr "" -#: faq/programming.rst:138 +#: ../../src/Doc/faq/programming.rst:138 msgid "results in an UnboundLocalError:" msgstr "" -#: faq/programming.rst:145 +#: ../../src/Doc/faq/programming.rst:145 msgid "" "This is because when you make an assignment to a variable in a scope, that " "variable becomes local to that scope and shadows any similarly named " @@ -3668,30 +3668,30 @@ msgid "" "uninitialized local variable and an error results." msgstr "" -#: faq/programming.rst:152 +#: ../../src/Doc/faq/programming.rst:152 msgid "" "In the example above you can access the outer scope variable by declaring it " "global:" msgstr "" -#: faq/programming.rst:163 +#: ../../src/Doc/faq/programming.rst:163 msgid "" "This explicit declaration is required in order to remind you that (unlike " "the superficially analogous situation with class and instance variables) you " "are actually modifying the value of the variable in the outer scope:" msgstr "" -#: faq/programming.rst:170 +#: ../../src/Doc/faq/programming.rst:170 msgid "" "You can do a similar thing in a nested scope using the :keyword:`nonlocal` " "keyword:" msgstr "" -#: faq/programming.rst:187 +#: ../../src/Doc/faq/programming.rst:187 msgid "What are the rules for local and global variables in Python?" msgstr "" -#: faq/programming.rst:189 +#: ../../src/Doc/faq/programming.rst:189 msgid "" "In Python, variables that are only referenced inside a function are " "implicitly global. If a variable is assigned a value anywhere within the " @@ -3699,7 +3699,7 @@ msgid "" "global." msgstr "" -#: faq/programming.rst:193 +#: ../../src/Doc/faq/programming.rst:193 msgid "" "Though a bit surprising at first, a moment's consideration explains this. " "On one hand, requiring :keyword:`global` for assigned variables provides a " @@ -3710,19 +3710,19 @@ msgid "" "of the ``global`` declaration for identifying side-effects." msgstr "" -#: faq/programming.rst:203 +#: ../../src/Doc/faq/programming.rst:203 msgid "" "Why do lambdas defined in a loop with different values all return the same " "result?" msgstr "" -#: faq/programming.rst:205 +#: ../../src/Doc/faq/programming.rst:205 msgid "" "Assume you use a for loop to define a few different lambdas (or even plain " "functions), e.g.::" msgstr "" -#: faq/programming.rst:212 +#: ../../src/Doc/faq/programming.rst:212 msgid "" "This gives you a list that contains 5 lambdas that calculate ``x**2``. You " "might expect that, when called, they would return, respectively, ``0``, " @@ -3730,7 +3730,7 @@ msgid "" "see that they all return ``16``::" msgstr "" -#: faq/programming.rst:222 +#: ../../src/Doc/faq/programming.rst:222 msgid "" "This happens because ``x`` is not local to the lambdas, but is defined in " "the outer scope, and it is accessed when the lambda is called --- not when " @@ -3739,13 +3739,13 @@ msgid "" "changing the value of ``x`` and see how the results of the lambdas change::" msgstr "" -#: faq/programming.rst:232 +#: ../../src/Doc/faq/programming.rst:232 msgid "" "In order to avoid this, you need to save the values in variables local to " "the lambdas, so that they don't rely on the value of the global ``x``::" msgstr "" -#: faq/programming.rst:239 +#: ../../src/Doc/faq/programming.rst:239 msgid "" "Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed " "when the lambda is defined so that it has the same value that ``x`` had at " @@ -3754,17 +3754,17 @@ msgid "" "Therefore each lambda will now return the correct result::" msgstr "" -#: faq/programming.rst:250 +#: ../../src/Doc/faq/programming.rst:250 msgid "" "Note that this behaviour is not peculiar to lambdas, but applies to regular " "functions too." msgstr "" -#: faq/programming.rst:255 +#: ../../src/Doc/faq/programming.rst:255 msgid "How do I share global variables across modules?" msgstr "" -#: faq/programming.rst:257 +#: ../../src/Doc/faq/programming.rst:257 msgid "" "The canonical way to share information across modules within a single " "program is to create a special module (often called config or cfg). Just " @@ -3774,36 +3774,36 @@ msgid "" "everywhere. For example:" msgstr "" -#: faq/programming.rst:263 +#: ../../src/Doc/faq/programming.rst:263 msgid "config.py::" msgstr "" -#: faq/programming.rst:267 +#: ../../src/Doc/faq/programming.rst:267 msgid "mod.py::" msgstr "" -#: faq/programming.rst:272 +#: ../../src/Doc/faq/programming.rst:272 msgid "main.py::" msgstr "" -#: faq/programming.rst:278 +#: ../../src/Doc/faq/programming.rst:278 msgid "" "Note that using a module is also the basis for implementing the Singleton " "design pattern, for the same reason." msgstr "" -#: faq/programming.rst:283 +#: ../../src/Doc/faq/programming.rst:283 msgid "What are the \"best practices\" for using import in a module?" msgstr "" -#: faq/programming.rst:285 +#: ../../src/Doc/faq/programming.rst:285 msgid "" "In general, don't use ``from modulename import *``. Doing so clutters the " "importer's namespace, and makes it much harder for linters to detect " "undefined names." msgstr "" -#: faq/programming.rst:289 +#: ../../src/Doc/faq/programming.rst:289 msgid "" "Import modules at the top of a file. Doing so makes it clear what other " "modules your code requires and avoids questions of whether the module name " @@ -3811,31 +3811,31 @@ msgid "" "module imports, but using multiple imports per line uses less screen space." msgstr "" -#: faq/programming.rst:294 +#: ../../src/Doc/faq/programming.rst:294 msgid "It's good practice if you import modules in the following order:" msgstr "" -#: faq/programming.rst:296 +#: ../../src/Doc/faq/programming.rst:296 msgid "standard library modules -- e.g. ``sys``, ``os``, ``getopt``, ``re``" msgstr "" -#: faq/programming.rst:297 +#: ../../src/Doc/faq/programming.rst:297 msgid "" "third-party library modules (anything installed in Python's site-packages " "directory) -- e.g. mx.DateTime, ZODB, PIL.Image, etc." msgstr "" -#: faq/programming.rst:299 +#: ../../src/Doc/faq/programming.rst:299 msgid "locally-developed modules" msgstr "" -#: faq/programming.rst:301 +#: ../../src/Doc/faq/programming.rst:301 msgid "" "It is sometimes necessary to move imports to a function or class to avoid " "problems with circular imports. Gordon McMillan says:" msgstr "" -#: faq/programming.rst:304 +#: ../../src/Doc/faq/programming.rst:304 msgid "" "Circular imports are fine where both modules use the \"import \" " "form of import. They fail when the 2nd module wants to grab a name out of " @@ -3844,7 +3844,7 @@ msgid "" "module is busy importing the 2nd." msgstr "" -#: faq/programming.rst:310 +#: ../../src/Doc/faq/programming.rst:310 msgid "" "In this case, if the second module is only used in one function, then the " "import can easily be moved into that function. By the time the import is " @@ -3852,7 +3852,7 @@ msgid "" "module can do its import." msgstr "" -#: faq/programming.rst:315 +#: ../../src/Doc/faq/programming.rst:315 msgid "" "It may also be necessary to move imports out of the top level of code if " "some of the modules are platform-specific. In that case, it may not even be " @@ -3861,7 +3861,7 @@ msgid "" "a good option." msgstr "" -#: faq/programming.rst:320 +#: ../../src/Doc/faq/programming.rst:320 msgid "" "Only move imports into a local scope, such as inside a function definition, " "if it's necessary to solve a problem such as avoiding a circular import or " @@ -3875,24 +3875,24 @@ msgid "" "of scope, the module is probably available in :data:`sys.modules`." msgstr "" -#: faq/programming.rst:333 +#: ../../src/Doc/faq/programming.rst:333 msgid "Why are default values shared between objects?" msgstr "" -#: faq/programming.rst:335 +#: ../../src/Doc/faq/programming.rst:335 msgid "" "This type of bug commonly bites neophyte programmers. Consider this " "function::" msgstr "" -#: faq/programming.rst:342 +#: ../../src/Doc/faq/programming.rst:342 msgid "" "The first time you call this function, ``mydict`` contains a single item. " "The second time, ``mydict`` contains two items because when ``foo()`` begins " "executing, ``mydict`` starts out with an item already in it." msgstr "" -#: faq/programming.rst:346 +#: ../../src/Doc/faq/programming.rst:346 msgid "" "It is often expected that a function call creates new objects for default " "values. This is not what happens. Default values are created exactly once, " @@ -3901,14 +3901,14 @@ msgid "" "this changed object." msgstr "" -#: faq/programming.rst:351 +#: ../../src/Doc/faq/programming.rst:351 msgid "" "By definition, immutable objects such as numbers, strings, tuples, and " "``None``, are safe from change. Changes to mutable objects such as " "dictionaries, lists, and class instances can lead to confusion." msgstr "" -#: faq/programming.rst:355 +#: ../../src/Doc/faq/programming.rst:355 msgid "" "Because of this feature, it is good programming practice to not use mutable " "objects as default values. Instead, use ``None`` as the default value and " @@ -3916,11 +3916,11 @@ msgid "" "list/dictionary/whatever if it is. For example, don't write::" msgstr "" -#: faq/programming.rst:363 +#: ../../src/Doc/faq/programming.rst:363 msgid "but::" msgstr "" -#: faq/programming.rst:369 +#: ../../src/Doc/faq/programming.rst:369 msgid "" "This feature can be useful. When you have a function that's time-consuming " "to compute, a common technique is to cache the parameters and the resulting " @@ -3929,18 +3929,18 @@ msgid "" "implemented like this::" msgstr "" -#: faq/programming.rst:384 +#: ../../src/Doc/faq/programming.rst:384 msgid "" "You could use a global variable containing a dictionary instead of the " "default value; it's a matter of taste." msgstr "" -#: faq/programming.rst:389 +#: ../../src/Doc/faq/programming.rst:389 msgid "" "How can I pass optional or keyword parameters from one function to another?" msgstr "" -#: faq/programming.rst:391 +#: ../../src/Doc/faq/programming.rst:391 msgid "" "Collect the arguments using the ``*`` and ``**`` specifiers in the " "function's parameter list; this gives you the positional arguments as a " @@ -3948,11 +3948,11 @@ msgid "" "arguments when calling another function by using ``*`` and ``**``::" msgstr "" -#: faq/programming.rst:410 +#: ../../src/Doc/faq/programming.rst:410 msgid "What is the difference between arguments and parameters?" msgstr "" -#: faq/programming.rst:412 +#: ../../src/Doc/faq/programming.rst:412 msgid "" ":term:`Parameters ` are defined by the names that appear in a " "function definition, whereas :term:`arguments ` are the values " @@ -3961,34 +3961,34 @@ msgid "" "definition::" msgstr "" -#: faq/programming.rst:420 +#: ../../src/Doc/faq/programming.rst:420 msgid "" "*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling " "``func``, for example::" msgstr "" -#: faq/programming.rst:425 +#: ../../src/Doc/faq/programming.rst:425 msgid "the values ``42``, ``314``, and ``somevar`` are arguments." msgstr "" -#: faq/programming.rst:429 +#: ../../src/Doc/faq/programming.rst:429 msgid "Why did changing list 'y' also change list 'x'?" msgstr "" -#: faq/programming.rst:431 +#: ../../src/Doc/faq/programming.rst:431 msgid "If you wrote code like::" msgstr "Si vous avez écrit du code comme ::" -#: faq/programming.rst:441 +#: ../../src/Doc/faq/programming.rst:441 msgid "" "you might be wondering why appending an element to ``y`` changed ``x`` too." msgstr "" -#: faq/programming.rst:443 +#: ../../src/Doc/faq/programming.rst:443 msgid "There are two factors that produce this result:" msgstr "" -#: faq/programming.rst:445 +#: ../../src/Doc/faq/programming.rst:445 msgid "" "Variables are simply names that refer to objects. Doing ``y = x`` doesn't " "create a copy of the list -- it creates a new variable ``y`` that refers to " @@ -3996,23 +3996,23 @@ msgid "" "(the list), and both ``x`` and ``y`` refer to it." msgstr "" -#: faq/programming.rst:449 +#: ../../src/Doc/faq/programming.rst:449 msgid "" "Lists are :term:`mutable`, which means that you can change their content." msgstr "" -#: faq/programming.rst:451 +#: ../../src/Doc/faq/programming.rst:451 msgid "" "After the call to :meth:`~list.append`, the content of the mutable object " "has changed from ``[]`` to ``[10]``. Since both the variables refer to the " "same object, using either name accesses the modified value ``[10]``." msgstr "" -#: faq/programming.rst:455 +#: ../../src/Doc/faq/programming.rst:455 msgid "If we instead assign an immutable object to ``x``::" msgstr "" -#: faq/programming.rst:465 +#: ../../src/Doc/faq/programming.rst:465 msgid "" "we can see that in this case ``x`` and ``y`` are not equal anymore. This is " "because integers are :term:`immutable`, and when we do ``x = x + 1`` we are " @@ -4023,7 +4023,7 @@ msgid "" "(``x`` now refers to ``6`` but ``y`` still refers to ``5``)." msgstr "" -#: faq/programming.rst:473 +#: ../../src/Doc/faq/programming.rst:473 msgid "" "Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " "object, whereas superficially similar operations (for example ``y = y + " @@ -4035,7 +4035,7 @@ msgid "" "your program to generate an easily diagnosed error." msgstr "" -#: faq/programming.rst:482 +#: ../../src/Doc/faq/programming.rst:482 msgid "" "However, there is one class of operations where the same operation sometimes " "has different behaviors with different types: the augmented assignment " @@ -4045,18 +4045,18 @@ msgid "" "1`` create new objects)." msgstr "" -#: faq/programming.rst:489 +#: ../../src/Doc/faq/programming.rst:489 msgid "In other words:" msgstr "" -#: faq/programming.rst:491 +#: ../../src/Doc/faq/programming.rst:491 msgid "" "If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " "etc.), we can use some specific operations to mutate it and all the " "variables that refer to it will see the change." msgstr "" -#: faq/programming.rst:494 +#: ../../src/Doc/faq/programming.rst:494 msgid "" "If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " "etc.), all the variables that refer to it will always see the same value, " @@ -4064,17 +4064,17 @@ msgid "" "new object." msgstr "" -#: faq/programming.rst:499 +#: ../../src/Doc/faq/programming.rst:499 msgid "" "If you want to know if two variables refer to the same object or not, you " "can use the :keyword:`is` operator, or the built-in function :func:`id`." msgstr "" -#: faq/programming.rst:504 +#: ../../src/Doc/faq/programming.rst:504 msgid "How do I write a function with output parameters (call by reference)?" msgstr "" -#: faq/programming.rst:506 +#: ../../src/Doc/faq/programming.rst:506 msgid "" "Remember that arguments are passed by assignment in Python. Since " "assignment just creates references to objects, there's no alias between an " @@ -4082,50 +4082,50 @@ msgid "" "You can achieve the desired effect in a number of ways." msgstr "" -#: faq/programming.rst:511 +#: ../../src/Doc/faq/programming.rst:511 msgid "By returning a tuple of the results::" msgstr "" -#: faq/programming.rst:522 +#: ../../src/Doc/faq/programming.rst:522 msgid "This is almost always the clearest solution." msgstr "" -#: faq/programming.rst:524 +#: ../../src/Doc/faq/programming.rst:524 msgid "" "By using global variables. This isn't thread-safe, and is not recommended." msgstr "" "En utilisant des variables globales. Ce qui n'est pas thread-safe, et n'est " "donc pas recommandé." -#: faq/programming.rst:526 +#: ../../src/Doc/faq/programming.rst:526 msgid "By passing a mutable (changeable in-place) object::" msgstr "En passant un objet variable (modifiable sur place) ::" -#: faq/programming.rst:536 +#: ../../src/Doc/faq/programming.rst:536 msgid "By passing in a dictionary that gets mutated::" msgstr "En passant un dictionnaire, qui sera modifié ::" -#: faq/programming.rst:546 +#: ../../src/Doc/faq/programming.rst:546 msgid "Or bundle up values in a class instance::" msgstr "Ou regrouper les valeurs dans une instance de classe::" -#: faq/programming.rst:562 +#: ../../src/Doc/faq/programming.rst:562 msgid "There's almost never a good reason to get this complicated." msgstr "" "Il n'y a pratiquement jamais de bonne raison de faire quelque chose d'aussi " "compliqué." -#: faq/programming.rst:564 +#: ../../src/Doc/faq/programming.rst:564 msgid "Your best choice is to return a tuple containing the multiple results." msgstr "" "Votre meilleure option est de renvoyer un *tuple* contenant les multiples " "résultats." -#: faq/programming.rst:568 +#: ../../src/Doc/faq/programming.rst:568 msgid "How do you make a higher order function in Python?" msgstr "Comment construire une fonction d'ordre supérieur en Python ?" -#: faq/programming.rst:570 +#: ../../src/Doc/faq/programming.rst:570 msgid "" "You have two choices: you can use nested scopes or you can use callable " "objects. For example, suppose you wanted to define ``linear(a,b)`` which " @@ -4137,19 +4137,19 @@ msgstr "" "vouliez définir ``linear(a, b)`` qui retourne une fonction ``f(x)`` qui " "calcule la valeur `a * x + b``. En utilisant les portées imbriquées ::" -#: faq/programming.rst:579 +#: ../../src/Doc/faq/programming.rst:579 msgid "Or using a callable object::" msgstr "Ou en utilisant un objet appelable ::" -#: faq/programming.rst:589 +#: ../../src/Doc/faq/programming.rst:589 msgid "In both cases, ::" msgstr "dans les deux cas, ::" -#: faq/programming.rst:593 +#: ../../src/Doc/faq/programming.rst:593 msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." msgstr "donne un objet appelable où ``taxes(10e6) == 0.3 * 10e6 + 2``." -#: faq/programming.rst:595 +#: ../../src/Doc/faq/programming.rst:595 msgid "" "The callable object approach has the disadvantage that it is a bit slower " "and results in slightly longer code. However, note that a collection of " @@ -4160,11 +4160,11 @@ msgstr "" "collection d'objet appelables peuvent partager leur signatures par " "héritage ::" -#: faq/programming.rst:604 +#: ../../src/Doc/faq/programming.rst:604 msgid "Object can encapsulate state for several methods::" msgstr "Les objets peuvent encapsuler un état pour plusieurs méthodes::" -#: faq/programming.rst:622 +#: ../../src/Doc/faq/programming.rst:622 msgid "" "Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the " "same counting variable." @@ -4172,11 +4172,11 @@ msgstr "" "Ici ``inc()``, ``dec()`` et ``reset()`` agissent comme des fonctions " "partageant une même variable compteur." -#: faq/programming.rst:627 +#: ../../src/Doc/faq/programming.rst:627 msgid "How do I copy an object in Python?" msgstr "Comment copier un objet en Python?" -#: faq/programming.rst:629 +#: ../../src/Doc/faq/programming.rst:629 msgid "" "In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " "case. Not all objects can be copied, but most can." @@ -4185,7 +4185,7 @@ msgstr "" "général. Tout les objets ne peuvent pas être copiés, mais la plupart le " "peuvent." -#: faq/programming.rst:632 +#: ../../src/Doc/faq/programming.rst:632 msgid "" "Some objects can be copied more easily. Dictionaries have a :meth:`~dict." "copy` method::" @@ -4193,15 +4193,15 @@ msgstr "" "Certains objects peuvent être copiés plus facilement. Les Dictionnaires ont " "une méthode :meth:`~dict.copy` ::" -#: faq/programming.rst:637 +#: ../../src/Doc/faq/programming.rst:637 msgid "Sequences can be copied by slicing::" msgstr "Les séquences peuvent être copiées via la syntaxe des tranches::" -#: faq/programming.rst:643 +#: ../../src/Doc/faq/programming.rst:643 msgid "How can I find the methods or attributes of an object?" msgstr "Comment puis-je trouver les méthodes ou les attribues d'un objet?" -#: faq/programming.rst:645 +#: ../../src/Doc/faq/programming.rst:645 msgid "" "For an instance x of a user-defined class, ``dir(x)`` returns an " "alphabetized list of the names containing the instance attributes and " @@ -4211,11 +4211,11 @@ msgstr "" "renvoie une liste alphabétique des noms contenants les attributs de " "l'instance, et les attributs et méthodes définies par sa classe." -#: faq/programming.rst:651 +#: ../../src/Doc/faq/programming.rst:651 msgid "How can my code discover the name of an object?" msgstr "Comment mon code peut il découvrir le nom d'un objet?" -#: faq/programming.rst:653 +#: ../../src/Doc/faq/programming.rst:653 msgid "" "Generally speaking, it can't, because objects don't really have names. " "Essentially, assignment always binds a name to a value; The same is true of " @@ -4228,7 +4228,7 @@ msgstr "" "différence que dans ce cas la valeur est appelable. Par exemple, dans le " "code suivant ::" -#: faq/programming.rst:670 +#: ../../src/Doc/faq/programming.rst:670 msgid "" "Arguably the class has a name: even though it is bound to two names and " "invoked through the name B the created instance is still reported as an " @@ -4241,7 +4241,7 @@ msgstr "" "dire si le nom de l'instance est a ou b, les deux noms sont attachés à la " "même valeur." -#: faq/programming.rst:675 +#: ../../src/Doc/faq/programming.rst:675 msgid "" "Generally speaking it should not be necessary for your code to \"know the " "names\" of particular values. Unless you are deliberately writing " @@ -4253,7 +4253,7 @@ msgstr "" "délibérément en train d'écrire un programme introspectif, c'est souvent une " "indication qu'un changement d'approche pourrait être bénéfique." -#: faq/programming.rst:680 +#: ../../src/Doc/faq/programming.rst:680 msgid "" "In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " "to this question:" @@ -4261,7 +4261,7 @@ msgstr "" "Sur comp.lang.python, Fredrik Lundh a donné un jour une excellente analogie " "pour répondre à cette question:" -#: faq/programming.rst:683 +#: ../../src/Doc/faq/programming.rst:683 msgid "" "The same way as you get the name of that cat you found on your porch: the " "cat (object) itself cannot tell you its name, and it doesn't really care -- " @@ -4273,7 +4273,7 @@ msgstr "" "-- alors le meilleur moyen de savoir comment il s'appelle est de demander à " "tous vos voisins (namespaces) si c'est leur chat (objet)…" -#: faq/programming.rst:688 +#: ../../src/Doc/faq/programming.rst:688 msgid "" "....and don't be surprised if you'll find that it's known by many names, or " "no name at all!" @@ -4281,16 +4281,16 @@ msgstr "" "…et ne soyez pas surpris si vous découvrez qu'il est connus sous plusieurs " "noms différents, ou pas de nom du tout!" -#: faq/programming.rst:693 +#: ../../src/Doc/faq/programming.rst:693 msgid "What's up with the comma operator's precedence?" msgstr "Qu'en est-il de la précédence de l'opérateur virgule ?" -#: faq/programming.rst:695 +#: ../../src/Doc/faq/programming.rst:695 msgid "Comma is not an operator in Python. Consider this session::" msgstr "" "La virgule n'est pas un opérateur en Python. Observez la session suivante::" -#: faq/programming.rst:700 +#: ../../src/Doc/faq/programming.rst:700 msgid "" "Since the comma is not an operator, but a separator between expressions the " "above is evaluated as if you had entered::" @@ -4299,11 +4299,11 @@ msgstr "" "expression, l'expression ci dessus, est évaluée de la même façon que si vous " "aviez écrit::" -#: faq/programming.rst:705 +#: ../../src/Doc/faq/programming.rst:705 msgid "not::" msgstr "et non::" -#: faq/programming.rst:709 +#: ../../src/Doc/faq/programming.rst:709 msgid "" "The same is true of the various assignment operators (``=``, ``+=`` etc). " "They are not truly operators but syntactic delimiters in assignment " @@ -4313,34 +4313,34 @@ msgstr "" "Ce ne sont pas vraiment des opérateurs mais des délimiteurs syntaxiques dans " "les instructions d'assignation." -#: faq/programming.rst:714 +#: ../../src/Doc/faq/programming.rst:714 msgid "Is there an equivalent of C's \"?:\" ternary operator?" msgstr "Existe-t-il un équivalent à l'opérateur ternaire \"?:\" du C ?" -#: faq/programming.rst:716 +#: ../../src/Doc/faq/programming.rst:716 msgid "Yes, there is. The syntax is as follows::" msgstr "Oui, il y en a un. Sa syntaxe est la suivante ::" -#: faq/programming.rst:723 +#: ../../src/Doc/faq/programming.rst:723 msgid "" "Before this syntax was introduced in Python 2.5, a common idiom was to use " "logical operators::" msgstr "" -#: faq/programming.rst:728 +#: ../../src/Doc/faq/programming.rst:728 msgid "" "However, this idiom is unsafe, as it can give wrong results when *on_true* " "has a false boolean value. Therefore, it is always better to use the ``... " "if ... else ...`` form." msgstr "" -#: faq/programming.rst:734 +#: ../../src/Doc/faq/programming.rst:734 msgid "Is it possible to write obfuscated one-liners in Python?" msgstr "" "Est-il possible d'écrire des programmes obscurcis (*obfuscated*) d'une ligne " "en Python ?" -#: faq/programming.rst:736 +#: ../../src/Doc/faq/programming.rst:736 msgid "" "Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:" "`lambda`. See the following three examples, due to Ulf Bartelt::" @@ -4349,19 +4349,19 @@ msgstr "" "uns dans les autres. Observez les trois exemples suivants, contribués par " "Ulf Bartelt::" -#: faq/programming.rst:763 +#: ../../src/Doc/faq/programming.rst:763 msgid "Don't try this at home, kids!" msgstr "Les enfants, ne faîtes pas ça chez vous !" -#: faq/programming.rst:767 +#: ../../src/Doc/faq/programming.rst:767 msgid "Numbers and strings" msgstr "Nombres et chaînes de caractères" -#: faq/programming.rst:770 +#: ../../src/Doc/faq/programming.rst:770 msgid "How do I specify hexadecimal and octal integers?" msgstr "Comment puis-je écrire des entiers hexadécimaux ou octaux ?" -#: faq/programming.rst:772 +#: ../../src/Doc/faq/programming.rst:772 msgid "" "To specify an octal digit, precede the octal value with a zero, and then a " "lower or uppercase \"o\". For example, to set the variable \"a\" to the " @@ -4371,7 +4371,7 @@ msgstr "" "puis un \"o\" majuscule ou minuscule. Par exemple assigner la valeur octale " "\"10\" (8 en décimal) à la variable \"a\", tapez::" -#: faq/programming.rst:780 +#: ../../src/Doc/faq/programming.rst:780 msgid "" "Hexadecimal is just as easy. Simply precede the hexadecimal number with a " "zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " @@ -4382,11 +4382,11 @@ msgstr "" "peuvent être écrit en majuscules ou en minuscules. Par exemple, dans " "l'interpréteur Python::" -#: faq/programming.rst:793 +#: ../../src/Doc/faq/programming.rst:793 msgid "Why does -22 // 10 return -3?" msgstr "Pourquoi -22 // 10 donne-t-il -3 ?" -#: faq/programming.rst:795 +#: ../../src/Doc/faq/programming.rst:795 msgid "" "It's primarily driven by the desire that ``i % j`` have the same sign as " "``j``. If you want that, and also want::" @@ -4394,7 +4394,7 @@ msgstr "" "Cela est principalement due à la volonté que ``i % j`` ait le même signe que " "j. Si vous voulez cela, vous voulez aussi ::" -#: faq/programming.rst:800 +#: ../../src/Doc/faq/programming.rst:800 msgid "" "then integer division has to return the floor. C also requires that " "identity to hold, and then compilers that truncate ``i // j`` need to make " @@ -4404,7 +4404,7 @@ msgstr "" "aussi à ce que cette égalité soit vérifiée, et donc les compilateur qui " "tronquent ``i // j`` ont besoin que ``i % j`` ait le même signe que ``i``." -#: faq/programming.rst:804 +#: ../../src/Doc/faq/programming.rst:804 msgid "" "There are few real use cases for ``i % j`` when ``j`` is negative. When " "``j`` is positive, there are many, and in virtually all of them it's more " @@ -4418,11 +4418,11 @@ msgstr "" "que disait-elle il y a 200 heures? ``-190%12 == 2`` est utile; ``-192 % 12 " "== -10`` est un bug qui attends pour mordre." -#: faq/programming.rst:812 +#: ../../src/Doc/faq/programming.rst:812 msgid "How do I convert a string to a number?" msgstr "Comment puis-je convertir une chaine de caractère en nombre?" -#: faq/programming.rst:814 +#: ../../src/Doc/faq/programming.rst:814 msgid "" "For integers, use the built-in :func:`int` type constructor, e.g. " "``int('144') == 144``. Similarly, :func:`float` converts to floating-point, " @@ -4433,7 +4433,7 @@ msgstr "" "`float` convertit en valeur flottante, par exemple ``float('144')`` == " "144.0``." -#: faq/programming.rst:818 +#: ../../src/Doc/faq/programming.rst:818 #, fuzzy msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " @@ -4450,7 +4450,7 @@ msgstr "" "324``. Si la base donnée est 0, le nombre est interprété selon les règles " "Python: un '0' en tête indique octal, et '0x' indique un hexadécimal." -#: faq/programming.rst:824 +#: ../../src/Doc/faq/programming.rst:824 msgid "" "Do not use the built-in function :func:`eval` if all you need is to convert " "strings to numbers. :func:`eval` will be significantly slower and it " @@ -4467,7 +4467,7 @@ msgstr "" "system(\"rm -rf $HOME\")`` ce qui aurait pour effet d'effacer votre " "répertoire personnel." -#: faq/programming.rst:831 +#: ../../src/Doc/faq/programming.rst:831 #, fuzzy msgid "" ":func:`eval` also has the effect of interpreting numbers as Python " @@ -4479,11 +4479,11 @@ msgstr "" "que Python ne permet pas les '0' en tête d'un nombre décimal (à l'exception " "du nombre '0')." -#: faq/programming.rst:837 +#: ../../src/Doc/faq/programming.rst:837 msgid "How do I convert a number to a string?" msgstr "Comment convertir un nombre en chaine de caractère?" -#: faq/programming.rst:839 +#: ../../src/Doc/faq/programming.rst:839 msgid "" "To convert, e.g., the number 144 to the string '144', use the built-in type " "constructor :func:`str`. If you want a hexadecimal or octal representation, " @@ -4499,11 +4499,11 @@ msgstr "" "`string-formatting`, par exemple, ``\"{:04d) \".format (144)`` renvoit " "``'0144'`` et ``\"{:.3f)\".format (1 / 3) donne ``'0,333' ``." -#: faq/programming.rst:847 +#: ../../src/Doc/faq/programming.rst:847 msgid "How do I modify a string in place?" msgstr "Comment modifier une chaine de caractère \"en place\"?" -#: faq/programming.rst:849 +#: ../../src/Doc/faq/programming.rst:849 msgid "" "You can't, because strings are immutable. In most situations, you should " "simply construct a new string from the various parts you want to assemble it " @@ -4512,17 +4512,17 @@ msgid "" "module::" msgstr "" -#: faq/programming.rst:879 +#: ../../src/Doc/faq/programming.rst:879 msgid "How do I use strings to call functions/methods?" msgstr "" "Comment utiliser des chaines de caractères pour appeler des fonctions/" "méthodes?" -#: faq/programming.rst:881 +#: ../../src/Doc/faq/programming.rst:881 msgid "There are various techniques." msgstr "Il y a différentes techniques." -#: faq/programming.rst:883 +#: ../../src/Doc/faq/programming.rst:883 msgid "" "The best is to use a dictionary that maps strings to functions. The primary " "advantage of this technique is that the strings do not need to match the " @@ -4535,11 +4535,11 @@ msgstr "" "fonctions. C'est aussi la principale façon d'imiter la construction \"case" "\"::" -#: faq/programming.rst:898 +#: ../../src/Doc/faq/programming.rst:898 msgid "Use the built-in function :func:`getattr`::" msgstr "Utiliser la fonction :func:`getattr`::" -#: faq/programming.rst:903 +#: ../../src/Doc/faq/programming.rst:903 msgid "" "Note that :func:`getattr` works on any object, including classes, class " "instances, modules, and so on." @@ -4547,18 +4547,18 @@ msgstr "" "Notez que :func:`getattr` marche sur n'importe quel objet, ceci inclue les " "classes, les instances de classes, les modules et ainsi de suite." -#: faq/programming.rst:906 +#: ../../src/Doc/faq/programming.rst:906 msgid "This is used in several places in the standard library, like this::" msgstr "" "Ceci est utilisé dans plusieurs endroit de la bibliothèque standard, de " "cette façon::" -#: faq/programming.rst:919 +#: ../../src/Doc/faq/programming.rst:919 msgid "Use :func:`locals` or :func:`eval` to resolve the function name::" msgstr "" "Utilisez :func:`locals` ou :func:`eval` pour résoudre le nom de fonction::" -#: faq/programming.rst:932 +#: ../../src/Doc/faq/programming.rst:932 msgid "" "Note: Using :func:`eval` is slow and dangerous. If you don't have absolute " "control over the contents of the string, someone could pass a string that " @@ -4569,7 +4569,7 @@ msgstr "" "passer une chaine de caractère pouvant résulter en l'exécution de code " "arbitraire." -#: faq/programming.rst:937 +#: ../../src/Doc/faq/programming.rst:937 msgid "" "Is there an equivalent to Perl's chomp() for removing trailing newlines from " "strings?" @@ -4577,7 +4577,7 @@ msgstr "" "Existe-t'il un équivalent à la fonction chomp() de Perl, pour retirer les " "caractères de fin de ligne d'une chaine de caractère?" -#: faq/programming.rst:939 +#: ../../src/Doc/faq/programming.rst:939 #, fuzzy msgid "" "You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " @@ -4592,7 +4592,7 @@ msgstr "" "Si la chaine ``S`` représente plus d'une ligne, avec plusieurs lignes vides, " "les terminateurs de lignes de toutes les lignes vides seront retirés::" -#: faq/programming.rst:951 +#: ../../src/Doc/faq/programming.rst:951 msgid "" "Since this is typically only desired when reading text one line at a time, " "using ``S.rstrip()`` this way works well." @@ -4600,15 +4600,15 @@ msgstr "" "Du fait que ce soit principalement utile en lisant un texte ligne à ligne, " "utiliser ``S.rstrip()`` devrait marcher correctement." -#: faq/programming.rst:956 +#: ../../src/Doc/faq/programming.rst:956 msgid "Is there a scanf() or sscanf() equivalent?" msgstr "Existe-t'il un équivalent à scanf() ou sscanf()?" -#: faq/programming.rst:958 +#: ../../src/Doc/faq/programming.rst:958 msgid "Not as such." msgstr "Pas exactement." -#: faq/programming.rst:960 +#: ../../src/Doc/faq/programming.rst:960 msgid "" "For simple input parsing, the easiest approach is usually to split the line " "into whitespace-delimited words using the :meth:`~str.split` method of " @@ -4625,7 +4625,7 @@ msgstr "" "paramètre optionnel \"sep\" qui est utile si la ligne utilise autre chose " "que des espaces comme séparateur." -#: faq/programming.rst:966 +#: ../../src/Doc/faq/programming.rst:966 #, fuzzy msgid "" "For more complicated input parsing, regular expressions are more powerful " @@ -4634,83 +4634,83 @@ msgstr "" "Pour les analyses plus compliquées, les expressions rationnelles sont plus " "puissantes que la fonction `sscanf` de C et mieux adaptées à la tâche." -#: faq/programming.rst:971 +#: ../../src/Doc/faq/programming.rst:971 #, fuzzy msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" msgstr "" "Que signifient les erreurs 'UnicodeDecodeError' ou 'UnicodeEncodeError'?" -#: faq/programming.rst:973 +#: ../../src/Doc/faq/programming.rst:973 #, fuzzy msgid "See the :ref:`unicode-howto`." msgstr "Regardez le :ref:`unicode-howto`." -#: faq/programming.rst:977 +#: ../../src/Doc/faq/programming.rst:977 msgid "Performance" msgstr "" -#: faq/programming.rst:980 +#: ../../src/Doc/faq/programming.rst:980 msgid "My program is too slow. How do I speed it up?" msgstr "" -#: faq/programming.rst:982 +#: ../../src/Doc/faq/programming.rst:982 msgid "" "That's a tough one, in general. First, here are a list of things to " "remember before diving further:" msgstr "" -#: faq/programming.rst:985 +#: ../../src/Doc/faq/programming.rst:985 msgid "" "Performance characteristics vary across Python implementations. This FAQ " "focusses on :term:`CPython`." msgstr "" -#: faq/programming.rst:987 +#: ../../src/Doc/faq/programming.rst:987 msgid "" "Behaviour can vary across operating systems, especially when talking about I/" "O or multi-threading." msgstr "" -#: faq/programming.rst:989 +#: ../../src/Doc/faq/programming.rst:989 msgid "" "You should always find the hot spots in your program *before* attempting to " "optimize any code (see the :mod:`profile` module)." msgstr "" -#: faq/programming.rst:991 +#: ../../src/Doc/faq/programming.rst:991 msgid "" "Writing benchmark scripts will allow you to iterate quickly when searching " "for improvements (see the :mod:`timeit` module)." msgstr "" -#: faq/programming.rst:993 +#: ../../src/Doc/faq/programming.rst:993 msgid "" "It is highly recommended to have good code coverage (through unit testing or " "any other technique) before potentially introducing regressions hidden in " "sophisticated optimizations." msgstr "" -#: faq/programming.rst:997 +#: ../../src/Doc/faq/programming.rst:997 msgid "" "That being said, there are many tricks to speed up Python code. Here are " "some general principles which go a long way towards reaching acceptable " "performance levels:" msgstr "" -#: faq/programming.rst:1001 +#: ../../src/Doc/faq/programming.rst:1001 msgid "" "Making your algorithms faster (or changing to faster ones) can yield much " "larger benefits than trying to sprinkle micro-optimization tricks all over " "your code." msgstr "" -#: faq/programming.rst:1005 +#: ../../src/Doc/faq/programming.rst:1005 msgid "" "Use the right data structures. Study documentation for the :ref:`bltin-" "types` and the :mod:`collections` module." msgstr "" -#: faq/programming.rst:1008 +#: ../../src/Doc/faq/programming.rst:1008 msgid "" "When the standard library provides a primitive for doing something, it is " "likely (although not guaranteed) to be faster than any alternative you may " @@ -4721,7 +4721,7 @@ msgid "" "advanced usage)." msgstr "" -#: faq/programming.rst:1016 +#: ../../src/Doc/faq/programming.rst:1016 msgid "" "Abstractions tend to create indirections and force the interpreter to work " "more. If the levels of indirection outweigh the amount of useful work done, " @@ -4730,7 +4730,7 @@ msgid "" "detrimental to readability)." msgstr "" -#: faq/programming.rst:1022 +#: ../../src/Doc/faq/programming.rst:1022 msgid "" "If you have reached the limit of what pure Python can allow, there are tools " "to take you further away. For example, `Cython `_ can " @@ -4742,17 +4742,17 @@ msgid "" "yourself." msgstr "" -#: faq/programming.rst:1032 +#: ../../src/Doc/faq/programming.rst:1032 msgid "" "The wiki page devoted to `performance tips `_." msgstr "" -#: faq/programming.rst:1038 +#: ../../src/Doc/faq/programming.rst:1038 msgid "What is the most efficient way to concatenate many strings together?" msgstr "" -#: faq/programming.rst:1040 +#: ../../src/Doc/faq/programming.rst:1040 msgid "" ":class:`str` and :class:`bytes` objects are immutable, therefore " "concatenating many strings together is inefficient as each concatenation " @@ -4760,32 +4760,32 @@ msgid "" "quadratic in the total string length." msgstr "" -#: faq/programming.rst:1045 +#: ../../src/Doc/faq/programming.rst:1045 msgid "" "To accumulate many :class:`str` objects, the recommended idiom is to place " "them into a list and call :meth:`str.join` at the end::" msgstr "" -#: faq/programming.rst:1053 +#: ../../src/Doc/faq/programming.rst:1053 msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" msgstr "" -#: faq/programming.rst:1055 +#: ../../src/Doc/faq/programming.rst:1055 msgid "" "To accumulate many :class:`bytes` objects, the recommended idiom is to " "extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " "operator)::" msgstr "" -#: faq/programming.rst:1064 +#: ../../src/Doc/faq/programming.rst:1064 msgid "Sequences (Tuples/Lists)" msgstr "Sequences (Tuples/Lists)" -#: faq/programming.rst:1067 +#: ../../src/Doc/faq/programming.rst:1067 msgid "How do I convert between tuples and lists?" msgstr "Comment convertir les listes en tuples et inversement?" -#: faq/programming.rst:1069 +#: ../../src/Doc/faq/programming.rst:1069 msgid "" "The type constructor ``tuple(seq)`` converts any sequence (actually, any " "iterable) into a tuple with the same items in the same order." @@ -4793,7 +4793,7 @@ msgstr "" "Le constructeur de type ``tuple(seq)`` convertit toute séquence (en fait " "tout itérable) en un tuple avec les mêmes éléments dans le même ordre…" -#: faq/programming.rst:1072 +#: ../../src/Doc/faq/programming.rst:1072 msgid "" "For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " "yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " @@ -4805,7 +4805,7 @@ msgstr "" "copie, mais renvoi le même objet, ce qui en fait un fonction économique à " "appeler quand vous ne savez pas si votre objet est déjà un tulpe." -#: faq/programming.rst:1077 +#: ../../src/Doc/faq/programming.rst:1077 msgid "" "The type constructor ``list(seq)`` converts any sequence or iterable into a " "list with the same items in the same order. For example, ``list((1, 2, " @@ -4818,11 +4818,11 @@ msgstr "" "``['a','b','c']``. Si l'argument est une liste, il retourne une copie, de la " "même façon que ``seq[:]``." -#: faq/programming.rst:1084 +#: ../../src/Doc/faq/programming.rst:1084 msgid "What's a negative index?" msgstr "Qu'est-ce qu'un indexe négatif?" -#: faq/programming.rst:1086 +#: ../../src/Doc/faq/programming.rst:1086 msgid "" "Python sequences are indexed with positive numbers and negative numbers. " "For positive numbers 0 is the first index 1 is the second index and so " @@ -4836,7 +4836,7 @@ msgstr "" "index, -2 est le pénultième (avant dernier), et ainsi de suite. On peut " "aussi dire que ``seq[-n]`` est équivalent à ``seq[len(seq)-n]``." -#: faq/programming.rst:1091 +#: ../../src/Doc/faq/programming.rst:1091 msgid "" "Using negative indices can be very convenient. For example ``S[:-1]`` is " "all of the string except for its last character, which is useful for " @@ -4847,18 +4847,18 @@ msgstr "" "qui est pratique pour retirer un caractère de fin de ligne en fin d'une " "chaine." -#: faq/programming.rst:1097 +#: ../../src/Doc/faq/programming.rst:1097 msgid "How do I iterate over a sequence in reverse order?" msgstr "Comment itérer à rebours sur une séquence?" -#: faq/programming.rst:1099 +#: ../../src/Doc/faq/programming.rst:1099 msgid "" "Use the :func:`reversed` built-in function, which is new in Python 2.4::" msgstr "" "Utilisez la fonction embarquée :func:`reversed`, qui est apparue en Python " "2.4::" -#: faq/programming.rst:1104 +#: ../../src/Doc/faq/programming.rst:1104 msgid "" "This won't touch your original sequence, but build a new copy with reversed " "order to iterate over." @@ -4866,26 +4866,26 @@ msgstr "" "Cela ne modifiera pas votre séquence initiale, mais construira à la place " "une copie en ordre inverse pour itérer dessus." -#: faq/programming.rst:1107 +#: ../../src/Doc/faq/programming.rst:1107 msgid "With Python 2.3, you can use an extended slice syntax::" msgstr "Avec Python 2.3 vous pouvez utiliser la syntaxe étendue de tranches::" -#: faq/programming.rst:1114 +#: ../../src/Doc/faq/programming.rst:1114 msgid "How do you remove duplicates from a list?" msgstr "Comment retirer les doublons d'une liste?" -#: faq/programming.rst:1116 +#: ../../src/Doc/faq/programming.rst:1116 msgid "See the Python Cookbook for a long discussion of many ways to do this:" msgstr "" "Lisez le Python Cookbook pour trouver une longue discussion sur les " "nombreuses façons de faire cela:" -#: faq/programming.rst:1118 +#: ../../src/Doc/faq/programming.rst:1118 #, fuzzy msgid "http://code.activestate.com/recipes/52560/" msgstr "http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560" -#: faq/programming.rst:1120 +#: ../../src/Doc/faq/programming.rst:1120 msgid "" "If you don't mind reordering the list, sort it and then scan from the end of " "the list, deleting duplicates as you go::" @@ -4894,7 +4894,7 @@ msgstr "" "celle ci, puis parcourez la d'un bout à l'autre, en supprimant les doublons " "trouvés en chemin::" -#: faq/programming.rst:1132 +#: ../../src/Doc/faq/programming.rst:1132 #, fuzzy msgid "" "If all elements of the list may be used as set keys (i.e. they are all :term:" @@ -4904,7 +4904,7 @@ msgstr "" "dictionnaire (cad, elles sont toutes hashables) ceci est souvent plus " "rapide::" -#: faq/programming.rst:1137 +#: ../../src/Doc/faq/programming.rst:1137 msgid "" "This converts the list into a set, thereby removing duplicates, and then " "back into a list." @@ -4912,15 +4912,15 @@ msgstr "" "Ceci convertis la liste en un ensemble, ce qui supprime automatiquement les " "doublons, puis la transforme à nouveau en liste." -#: faq/programming.rst:1142 +#: ../../src/Doc/faq/programming.rst:1142 msgid "How do you make an array in Python?" msgstr "Comment construire un tableau en Python?" -#: faq/programming.rst:1144 +#: ../../src/Doc/faq/programming.rst:1144 msgid "Use a list::" msgstr "Utilisez une liste::" -#: faq/programming.rst:1148 +#: ../../src/Doc/faq/programming.rst:1148 msgid "" "Lists are equivalent to C or Pascal arrays in their time complexity; the " "primary difference is that a Python list can contain objects of many " @@ -4930,7 +4930,7 @@ msgstr "" "principale différence est qu'une liste Python peut contenir des objets de " "différents types." -#: faq/programming.rst:1151 +#: ../../src/Doc/faq/programming.rst:1151 msgid "" "The ``array`` module also provides methods for creating arrays of fixed " "types with compact representations, but they are slower to index than " @@ -4943,14 +4943,14 @@ msgstr "" "fournissent différentes structures de types tableaux, avec des " "caractéristiques différentes." -#: faq/programming.rst:1156 +#: ../../src/Doc/faq/programming.rst:1156 msgid "" "To get Lisp-style linked lists, you can emulate cons cells using tuples::" msgstr "" "Pour obtenir des listes chainées de type Lisp, vous pouvez émuler les \"cons " "cells\" en utilisant des tuples::" -#: faq/programming.rst:1160 +#: ../../src/Doc/faq/programming.rst:1160 msgid "" "If mutability is desired, you could use lists instead of tuples. Here the " "analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is " @@ -4963,26 +4963,26 @@ msgstr "" "ceci que si vous êtes réellement sûr d'en avoir besoin, cette méthode est en " "générale bien plus lente que les listes Python." -#: faq/programming.rst:1169 +#: ../../src/Doc/faq/programming.rst:1169 msgid "How do I create a multidimensional list?" msgstr "Comment puis-je créer une liste à plusieurs dimensions?" -#: faq/programming.rst:1171 +#: ../../src/Doc/faq/programming.rst:1171 msgid "You probably tried to make a multidimensional array like this::" msgstr "" "Vous avez probablement essayé de créer une liste à plusieurs dimensions de " "cette façon::" -#: faq/programming.rst:1175 +#: ../../src/Doc/faq/programming.rst:1175 msgid "This looks correct if you print it::" msgstr "Cela semble correct quand vous essayer de l'afficher::" -#: faq/programming.rst:1180 +#: ../../src/Doc/faq/programming.rst:1180 msgid "But when you assign a value, it shows up in multiple places:" msgstr "" "Mais quand vous assignez une valeur, elle apparait en de multiples endroits::" -#: faq/programming.rst:1186 +#: ../../src/Doc/faq/programming.rst:1186 msgid "" "The reason is that replicating a list with ``*`` doesn't create copies, it " "only creates references to the existing objects. The ``*3`` creates a list " @@ -4995,7 +4995,7 @@ msgstr "" "Un changement dans une colonne apparaîtra donc dans toutes les colonnes. Ce " "qui n'est de façon quasi certaine, pas ce que vous souhaitez." -#: faq/programming.rst:1191 +#: ../../src/Doc/faq/programming.rst:1191 msgid "" "The suggested approach is to create a list of the desired length first and " "then fill in each element with a newly created list::" @@ -5003,7 +5003,7 @@ msgstr "" "L'approche suggérée est de créer une liste de la longueur désiré d'abords, " "puis de remplir tous les éléments avec une chaîne nouvellement créée." -#: faq/programming.rst:1198 +#: ../../src/Doc/faq/programming.rst:1198 msgid "" "This generates a list containing 3 different lists of length two. You can " "also use a list comprehension::" @@ -5011,7 +5011,7 @@ msgstr "" "Cette liste générée contient trois listes différentes de longueur deux. Vous " "pouvez aussi utilisez la notation de compréhension de listes." -#: faq/programming.rst:1204 +#: ../../src/Doc/faq/programming.rst:1204 #, fuzzy msgid "" "Or, you can use an extension that provides a matrix datatype; `Numeric " @@ -5020,39 +5020,39 @@ msgstr "" "Ou, vous pouvez utiliser une extension qui fournis un type de donnée de type " "matrice; `Numeric Python `_ étant le plus connu." -#: faq/programming.rst:1209 +#: ../../src/Doc/faq/programming.rst:1209 msgid "How do I apply a method to a sequence of objects?" msgstr "Comment appliquer une méthode à une séquence d'objets?" -#: faq/programming.rst:1211 +#: ../../src/Doc/faq/programming.rst:1211 msgid "Use a list comprehension::" msgstr "Utilisez une compréhension de liste::" -#: faq/programming.rst:1218 +#: ../../src/Doc/faq/programming.rst:1218 msgid "" "Why does a_tuple[i] += ['item'] raise an exception when the addition works?" msgstr "" -#: faq/programming.rst:1220 +#: ../../src/Doc/faq/programming.rst:1220 msgid "" "This is because of a combination of the fact that augmented assignment " "operators are *assignment* operators, and the difference between mutable and " "immutable objects in Python." msgstr "" -#: faq/programming.rst:1224 +#: ../../src/Doc/faq/programming.rst:1224 msgid "" "This discussion applies in general when augmented assignment operators are " "applied to elements of a tuple that point to mutable objects, but we'll use " "a ``list`` and ``+=`` as our exemplar." msgstr "" -#: faq/programming.rst:1228 +#: ../../src/Doc/faq/programming.rst:1228 #, fuzzy msgid "If you wrote::" msgstr "In C++ you'd write" -#: faq/programming.rst:1236 +#: ../../src/Doc/faq/programming.rst:1236 msgid "" "The reason for the exception should be immediately clear: ``1`` is added to " "the object ``a_tuple[0]`` points to (``1``), producing the result object, " @@ -5061,29 +5061,29 @@ msgid "" "an element of a tuple points to." msgstr "" -#: faq/programming.rst:1242 +#: ../../src/Doc/faq/programming.rst:1242 msgid "" "Under the covers, what this augmented assignment statement is doing is " "approximately this::" msgstr "" -#: faq/programming.rst:1251 +#: ../../src/Doc/faq/programming.rst:1251 msgid "" "It is the assignment part of the operation that produces the error, since a " "tuple is immutable." msgstr "" -#: faq/programming.rst:1254 +#: ../../src/Doc/faq/programming.rst:1254 msgid "When you write something like::" msgstr "" -#: faq/programming.rst:1262 +#: ../../src/Doc/faq/programming.rst:1262 msgid "" "The exception is a bit more surprising, and even more surprising is the fact " "that even though there was an error, the append worked::" msgstr "" -#: faq/programming.rst:1268 +#: ../../src/Doc/faq/programming.rst:1268 msgid "" "To see why this happens, you need to know that (a) if an object implements " "an ``__iadd__`` magic method, it gets called when the ``+=`` augmented " @@ -5093,11 +5093,11 @@ msgid "" "that for lists, ``+=`` is a \"shorthand\" for ``list.extend``::" msgstr "" -#: faq/programming.rst:1280 +#: ../../src/Doc/faq/programming.rst:1280 msgid "This is equivalent to::" msgstr "" -#: faq/programming.rst:1285 +#: ../../src/Doc/faq/programming.rst:1285 msgid "" "The object pointed to by a_list has been mutated, and the pointer to the " "mutated object is assigned back to ``a_list``. The end result of the " @@ -5105,11 +5105,11 @@ msgid "" "``a_list`` was previously pointing to, but the assignment still happens." msgstr "" -#: faq/programming.rst:1290 +#: ../../src/Doc/faq/programming.rst:1290 msgid "Thus, in our tuple example what is happening is equivalent to::" msgstr "" -#: faq/programming.rst:1298 +#: ../../src/Doc/faq/programming.rst:1298 msgid "" "The ``__iadd__`` succeeds, and thus the list is extended, but even though " "``result`` points to the same object that ``a_tuple[0]`` already points to, " @@ -5117,11 +5117,11 @@ msgid "" "immutable." msgstr "" -#: faq/programming.rst:1304 +#: ../../src/Doc/faq/programming.rst:1304 msgid "Dictionaries" msgstr "Dictionnaires" -#: faq/programming.rst:1307 +#: ../../src/Doc/faq/programming.rst:1307 #, fuzzy msgid "" "How can I get a dictionary to store and display its keys in a consistent " @@ -5130,11 +5130,11 @@ msgstr "" "Comment puis-je faire afficher les éléments d'un dictionnaire dans un ordre " "consistant?" -#: faq/programming.rst:1309 +#: ../../src/Doc/faq/programming.rst:1309 msgid "Use :class:`collections.OrderedDict`." msgstr "" -#: faq/programming.rst:1312 +#: ../../src/Doc/faq/programming.rst:1312 msgid "" "I want to do a complicated sort: can you do a Schwartzian Transform in " "Python?" @@ -5142,7 +5142,7 @@ msgstr "" "Je souhaite faire un tri compliqué: peut on faire une transformation de " "Schwartz en Python?" -#: faq/programming.rst:1314 +#: ../../src/Doc/faq/programming.rst:1314 msgid "" "The technique, attributed to Randal Schwartz of the Perl community, sorts " "the elements of a list by a metric which maps each element to its \"sort " @@ -5153,7 +5153,7 @@ msgstr "" "une \"valeur de tri\". En Python, utilisez simplement l'argument ``key`` de " "la méthode ``sort``::" -#: faq/programming.rst:1321 +#: ../../src/Doc/faq/programming.rst:1321 msgid "" "The ``key`` argument is new in Python 2.4, for older versions this kind of " "sorting is quite simple to do with list comprehensions. To sort a list of " @@ -5164,7 +5164,7 @@ msgstr "" "compréhensions de liste. Pour trier une liste de chaines par leur valeur en " "majuscule on peut faire::" -#: faq/programming.rst:1329 +#: ../../src/Doc/faq/programming.rst:1329 msgid "" "To sort by the integer value of a subfield extending from positions 10-15 in " "each string::" @@ -5172,13 +5172,13 @@ msgstr "" "Pour trier par la valeur d'un sous-champ allant des index 10 à 15 dans " "chaque chaine chaine::" -#: faq/programming.rst:1336 +#: ../../src/Doc/faq/programming.rst:1336 #, fuzzy msgid "For versions prior to 3.0, Isorted may also be computed by ::" msgstr "" "Pour les versions antérieures à 3.0, Isorted peut également être calculé par:" -#: faq/programming.rst:1347 +#: ../../src/Doc/faq/programming.rst:1347 msgid "" "but since this method calls ``intfield()`` many times for each element of L, " "it is slower than the Schwartzian Transform." @@ -5186,12 +5186,12 @@ msgstr "" "mais du fait que cette méthode appelle `` intfield () `` plusieurs fois pour " "chaque élément de L, elle est plus lente que la transformée de Schwartz." -#: faq/programming.rst:1352 +#: ../../src/Doc/faq/programming.rst:1352 msgid "How can I sort one list by values from another list?" msgstr "" "Comment puis-je trier une liste en fonction des valeurs d'une autre liste?" -#: faq/programming.rst:1354 +#: ../../src/Doc/faq/programming.rst:1354 #, fuzzy msgid "" "Merge them into an iterator of tuples, sort the resulting list, and then " @@ -5200,12 +5200,12 @@ msgstr "" "Fusionnez les dans un itérateur de tuples, trier la liste obtenue, puis " "choisissez l'élément que vous voulez. ::" -#: faq/programming.rst:1368 +#: ../../src/Doc/faq/programming.rst:1368 #, fuzzy msgid "An alternative for the last step is::" msgstr "Une alternative pour la dernière étape est la suivante::" -#: faq/programming.rst:1373 +#: ../../src/Doc/faq/programming.rst:1373 msgid "" "If you find this more legible, you might prefer to use this instead of the " "final list comprehension. However, it is almost twice as slow for long " @@ -5224,15 +5224,15 @@ msgstr "" "exige une recherche d'attribut supplémentaire, et enfin, tous ces appels de " "fonction impactent la vitesse d'exécution." -#: faq/programming.rst:1383 +#: ../../src/Doc/faq/programming.rst:1383 msgid "Objects" msgstr "Objets" -#: faq/programming.rst:1386 +#: ../../src/Doc/faq/programming.rst:1386 msgid "What is a class?" msgstr "Qu'est-ce qu'une classe?" -#: faq/programming.rst:1388 +#: ../../src/Doc/faq/programming.rst:1388 msgid "" "A class is the particular object type created by executing a class " "statement. Class objects are used as templates to create instance objects, " @@ -5244,7 +5244,7 @@ msgstr "" "créer des objets, qui incarnent à la fois les données (attributs) et le code " "(méthodes) spécifiques à un type de données." -#: faq/programming.rst:1392 +#: ../../src/Doc/faq/programming.rst:1392 msgid "" "A class can be based on one or more other classes, called its base " "class(es). It then inherits the attributes and methods of its base classes. " @@ -5261,11 +5261,11 @@ msgstr "" "classes telles que ``MboxMailbox``, ``MaildirMailbox``, ``OutlookMailbox`` " "qui gèrent les différents formats de boîtes aux lettres spécifiques." -#: faq/programming.rst:1401 +#: ../../src/Doc/faq/programming.rst:1401 msgid "What is a method?" msgstr "Qu'est-ce qu'une méthode?" -#: faq/programming.rst:1403 +#: ../../src/Doc/faq/programming.rst:1403 msgid "" "A method is a function on some object ``x`` that you normally call as ``x." "name(arguments...)``. Methods are defined as functions inside the class " @@ -5275,11 +5275,11 @@ msgstr "" "``x.name(arguments…)``. Les méthodes sont définies comme des fonctions à " "l'intérieur de la définition de classe::" -#: faq/programming.rst:1413 +#: ../../src/Doc/faq/programming.rst:1413 msgid "What is self?" msgstr "Qu'est-ce que self?" -#: faq/programming.rst:1415 +#: ../../src/Doc/faq/programming.rst:1415 msgid "" "Self is merely a conventional name for the first argument of a method. A " "method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b, " @@ -5292,11 +5292,11 @@ msgstr "" "laquelle elle est définie, la méthode appelée considérera qu'elle est " "appelée ``meth(x, a, b, c)``." -#: faq/programming.rst:1420 +#: ../../src/Doc/faq/programming.rst:1420 msgid "See also :ref:`why-self`." msgstr "Voir aussi: ref:`why-self`." -#: faq/programming.rst:1424 +#: ../../src/Doc/faq/programming.rst:1424 msgid "" "How do I check if an object is an instance of a given class or of a subclass " "of it?" @@ -5304,7 +5304,7 @@ msgstr "" "Comment puis-je vérifier si un objet est une instance d'une classe donnée ou " "d'une sous-classe de celui-ci?" -#: faq/programming.rst:1426 +#: ../../src/Doc/faq/programming.rst:1426 #, fuzzy msgid "" "Use the built-in function ``isinstance(obj, cls)``. You can check if an " @@ -5320,7 +5320,7 @@ msgstr "" "un objet est l'un des types intégrés à Python, par exemple, ``IsInstance " "(obj, str) isInstance`` ou ``(obj, (int, float, complexes ))``." -#: faq/programming.rst:1432 +#: ../../src/Doc/faq/programming.rst:1432 msgid "" "Note that most programs do not use :func:`isinstance` on user-defined " "classes very often. If you are developing the classes yourself, a more " @@ -5337,7 +5337,7 @@ msgstr "" "chose de différent en fonction de sa classe. Par exemple, si vous avez une " "fonction qui fait quelque chose::" -#: faq/programming.rst:1446 +#: ../../src/Doc/faq/programming.rst:1446 msgid "" "A better approach is to define a ``search()`` method on all the classes and " "just call it::" @@ -5345,11 +5345,11 @@ msgstr "" "Une meilleure approche est de définir une méthode ``search()`` sur toutes " "les classes et qu'il suffit d'appeler::" -#: faq/programming.rst:1461 +#: ../../src/Doc/faq/programming.rst:1461 msgid "What is delegation?" msgstr "Qu'est-ce que la délégation?" -#: faq/programming.rst:1463 +#: ../../src/Doc/faq/programming.rst:1463 msgid "" "Delegation is an object oriented technique (also called a design pattern). " "Let's say you have an object ``x`` and want to change the behaviour of just " @@ -5364,7 +5364,7 @@ msgstr "" "vous intéresse dans l'évolution et les délégués de toutes les autres " "méthodes la méthode correspondante de ``x``." -#: faq/programming.rst:1469 +#: ../../src/Doc/faq/programming.rst:1469 msgid "" "Python programmers can easily implement delegation. For example, the " "following class implements a class that behaves like a file but converts all " @@ -5374,7 +5374,7 @@ msgstr "" "Par exemple, la classe suivante implémente une classe qui se comporte comme " "un fichier, mais convertit toutes les données écrites en majuscules:" -#: faq/programming.rst:1484 +#: ../../src/Doc/faq/programming.rst:1484 msgid "" "Here the ``UpperOut`` class redefines the ``write()`` method to convert the " "argument string to uppercase before calling the underlying ``self.__outfile." @@ -5390,7 +5390,7 @@ msgstr "" "``__getattr__``, consulter: ref:`the language reference ` " "pour plus d'informations sur le contrôle d'accès d'attribut." -#: faq/programming.rst:1491 +#: ../../src/Doc/faq/programming.rst:1491 msgid "" "Note that for more general cases delegation can get trickier. When " "attributes must be set as well as retrieved, the class must define a :meth:" @@ -5404,7 +5404,7 @@ msgstr "" "aussi, et il doit le faire avec soin. La mise en œuvre basique de la " "méthode :meth:``__setattr__`` est à peu près équivalent à ce qui suit:" -#: faq/programming.rst:1502 +#: ../../src/Doc/faq/programming.rst:1502 msgid "" "Most :meth:`__setattr__` implementations must modify ``self.__dict__`` to " "store local state for self without causing an infinite recursion." @@ -5413,7 +5413,7 @@ msgstr "" "``self.__dict__`` pour stocker l'état locale de self sans provoquer une " "récursion infinie." -#: faq/programming.rst:1507 +#: ../../src/Doc/faq/programming.rst:1507 msgid "" "How do I call a method defined in a base class from a derived class that " "overrides it?" @@ -5421,12 +5421,12 @@ msgstr "" "Comment appeler une méthode définie dans une classe de base depuis une " "classe dérivée qui la surcharge?" -#: faq/programming.rst:1509 +#: ../../src/Doc/faq/programming.rst:1509 #, fuzzy msgid "Use the built-in :func:`super` function::" msgstr "Utiliser la fonction :func:`getattr`::" -#: faq/programming.rst:1515 +#: ../../src/Doc/faq/programming.rst:1515 #, fuzzy msgid "" "For version prior to 3.0, you may be using classic classes: For a class " @@ -5442,13 +5442,13 @@ msgstr "" "Ici, ``Base.meth`` est une méthode non liée, vous devez donc fournir " "l'argument ``self``." -#: faq/programming.rst:1523 +#: ../../src/Doc/faq/programming.rst:1523 msgid "How can I organize my code to make it easier to change the base class?" msgstr "" "Comment puis-je organiser mon code pour permettre de changer la classe de " "base plus facilement?" -#: faq/programming.rst:1525 +#: ../../src/Doc/faq/programming.rst:1525 msgid "" "You could define an alias for the base class, assign the real base class to " "it before your class definition, and use the alias throughout your class. " @@ -5464,13 +5464,13 @@ msgstr "" "voulez décider dynamiquement (par exemple en fonction de la disponibilité " "des ressources) la classe de base à utiliser. Exemple::" -#: faq/programming.rst:1540 +#: ../../src/Doc/faq/programming.rst:1540 msgid "How do I create static class data and static class methods?" msgstr "" "Comment puis-je créer des données statiques de classe et des méthodes " "statiques de classe?" -#: faq/programming.rst:1542 +#: ../../src/Doc/faq/programming.rst:1542 msgid "" "Both static data and static methods (in the sense of C++ or Java) are " "supported in Python." @@ -5478,7 +5478,7 @@ msgstr "" "Tant les données statiques que les méthodes statiques (dans le sens de C + + " "ou Java) sont pris en charge en Python." -#: faq/programming.rst:1545 +#: ../../src/Doc/faq/programming.rst:1545 msgid "" "For static data, simply define a class attribute. To assign a new value to " "the attribute, you have to explicitly use the class name in the assignment::" @@ -5487,7 +5487,7 @@ msgstr "" "attribuer une nouvelle valeur à l'attribut, vous devez explicitement " "utiliser le nom de classe dans l'affectation:" -#: faq/programming.rst:1557 +#: ../../src/Doc/faq/programming.rst:1557 msgid "" "``c.count`` also refers to ``C.count`` for any ``c`` such that " "``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " @@ -5498,7 +5498,7 @@ msgstr "" "une classe sur le chemin de recherche de classe de base de ``c.__class__`` " "jusqu'à ``C``." -#: faq/programming.rst:1561 +#: ../../src/Doc/faq/programming.rst:1561 msgid "" "Caution: within a method of C, an assignment like ``self.count = 42`` " "creates a new and unrelated instance named \"count\" in ``self``'s own " @@ -5511,12 +5511,12 @@ msgstr "" "statique de classe doit toujours spécifier la classe que l'on soit à " "l'intérieur d'une méthode ou non:" -#: faq/programming.rst:1568 +#: ../../src/Doc/faq/programming.rst:1568 #, fuzzy msgid "Static methods are possible::" msgstr "Les méthodes statiques sont possibles depuis Python 2.2::" -#: faq/programming.rst:1576 +#: ../../src/Doc/faq/programming.rst:1576 msgid "" "However, a far more straightforward way to get the effect of a static method " "is via a simple module-level function::" @@ -5524,7 +5524,7 @@ msgstr "" "Cependant, d'une manière beaucoup plus simple pour obtenir l'effet d'une " "méthode statique se fait par une simple fonction au niveau du module::" -#: faq/programming.rst:1582 +#: ../../src/Doc/faq/programming.rst:1582 msgid "" "If your code is structured so as to define one class (or tightly related " "class hierarchy) per module, this supplies the desired encapsulation." @@ -5533,11 +5533,11 @@ msgstr "" "hiérarchie des classes connexes) par module, ceci fournira l'encapsulation " "souhaitée." -#: faq/programming.rst:1587 +#: ../../src/Doc/faq/programming.rst:1587 msgid "How can I overload constructors (or methods) in Python?" msgstr "Comment puis-je surcharger les constructeurs (ou méthodes) en Python?" -#: faq/programming.rst:1589 +#: ../../src/Doc/faq/programming.rst:1589 msgid "" "This answer actually applies to all methods, but the question usually comes " "up first in the context of constructors." @@ -5545,11 +5545,11 @@ msgstr "" "Cette réponse s'applique en fait à toutes les méthodes, mais la question " "vient généralement en premier dans le contexte des constructeurs." -#: faq/programming.rst:1592 +#: ../../src/Doc/faq/programming.rst:1592 msgid "In C++ you'd write" msgstr "In C++ you'd write" -#: faq/programming.rst:1601 +#: ../../src/Doc/faq/programming.rst:1601 msgid "" "In Python you have to write a single constructor that catches all cases " "using default arguments. For example::" @@ -5557,29 +5557,29 @@ msgstr "" "En Python, vous devez écrire un constructeur unique qui considère tous les " "cas en utilisant des arguments par défaut. Par exemple::" -#: faq/programming.rst:1611 +#: ../../src/Doc/faq/programming.rst:1611 msgid "This is not entirely equivalent, but close enough in practice." msgstr "" "Ce n'est pas tout à fait équivalent, mais suffisamment proche dans la " "pratique." -#: faq/programming.rst:1613 +#: ../../src/Doc/faq/programming.rst:1613 msgid "You could also try a variable-length argument list, e.g. ::" msgstr "" "Vous pouvez aussi utiliser une liste d'arguments de longueur variable, par " "exemple ::" -#: faq/programming.rst:1618 +#: ../../src/Doc/faq/programming.rst:1618 msgid "The same approach works for all method definitions." msgstr "La même approche fonctionne pour toutes les définitions de méthode." -#: faq/programming.rst:1622 +#: ../../src/Doc/faq/programming.rst:1622 msgid "I try to use __spam and I get an error about _SomeClassName__spam." msgstr "" "J'essaie d'utiliser __spam et j'obtiens une erreur à propos de " "_SomeClassName__spam." -#: faq/programming.rst:1624 +#: ../../src/Doc/faq/programming.rst:1624 msgid "" "Variable names with double leading underscores are \"mangled\" to provide a " "simple but effective way to define class private variables. Any identifier " @@ -5595,7 +5595,7 @@ msgstr "" "remplacé par ``_classname__spam``, où ``classname`` est le nom de la classe " "en cours avec les traits de soulignement dépouillés." -#: faq/programming.rst:1630 +#: ../../src/Doc/faq/programming.rst:1630 msgid "" "This doesn't guarantee privacy: an outside user can still deliberately " "access the \"_classname__spam\" attribute, and private values are visible in " @@ -5608,17 +5608,17 @@ msgstr "" "programmeurs Python ne prennent jamais la peine d'utiliser des noms de " "variable privée." -#: faq/programming.rst:1637 +#: ../../src/Doc/faq/programming.rst:1637 msgid "My class defines __del__ but it is not called when I delete the object." msgstr "" "Ma classe définit __del__ mais il n'est pas appelé lorsque je supprime " "l'objet." -#: faq/programming.rst:1639 +#: ../../src/Doc/faq/programming.rst:1639 msgid "There are several possible reasons for this." msgstr "Il y a plusieurs raisons possibles pour cela." -#: faq/programming.rst:1641 +#: ../../src/Doc/faq/programming.rst:1641 msgid "" "The del statement does not necessarily call :meth:`__del__` -- it simply " "decrements the object's reference count, and if this reaches zero :meth:" @@ -5628,7 +5628,7 @@ msgstr "" "simplement le compteur de références de l'objet, et si celui ci arrive à " "zéro: meth: `__del__` est appelée." -#: faq/programming.rst:1645 +#: ../../src/Doc/faq/programming.rst:1645 msgid "" "If your data structures contain circular links (e.g. a tree where each child " "has a parent reference and each parent has a list of children) the reference " @@ -5642,7 +5642,7 @@ msgid "" "cases where objects will never be collected." msgstr "" -#: faq/programming.rst:1656 +#: ../../src/Doc/faq/programming.rst:1656 msgid "" "Despite the cycle collector, it's still a good idea to define an explicit " "``close()`` method on objects to be called whenever you're done with them. " @@ -5652,7 +5652,7 @@ msgid "" "once for the same object." msgstr "" -#: faq/programming.rst:1663 +#: ../../src/Doc/faq/programming.rst:1663 msgid "" "Another way to avoid cyclical references is to use the :mod:`weakref` " "module, which allows you to point to objects without incrementing their " @@ -5660,28 +5660,28 @@ msgid "" "references for their parent and sibling references (if they need them!)." msgstr "" -#: faq/programming.rst:1676 +#: ../../src/Doc/faq/programming.rst:1676 msgid "" "Finally, if your :meth:`__del__` method raises an exception, a warning " "message is printed to :data:`sys.stderr`." msgstr "" -#: faq/programming.rst:1681 +#: ../../src/Doc/faq/programming.rst:1681 msgid "How do I get a list of all instances of a given class?" msgstr "" -#: faq/programming.rst:1683 +#: ../../src/Doc/faq/programming.rst:1683 msgid "" "Python does not keep track of all instances of a class (or of a built-in " "type). You can program the class's constructor to keep track of all " "instances by keeping a list of weak references to each instance." msgstr "" -#: faq/programming.rst:1689 +#: ../../src/Doc/faq/programming.rst:1689 msgid "Why does the result of ``id()`` appear to be not unique?" msgstr "" -#: faq/programming.rst:1691 +#: ../../src/Doc/faq/programming.rst:1691 msgid "" "The :func:`id` builtin returns an integer that is guaranteed to be unique " "during the lifetime of the object. Since in CPython, this is the object's " @@ -5690,7 +5690,7 @@ msgid "" "memory. This is illustrated by this example:" msgstr "" -#: faq/programming.rst:1702 +#: ../../src/Doc/faq/programming.rst:1702 msgid "" "The two ids belong to different integer objects that are created before, and " "deleted immediately after execution of the ``id()`` call. To be sure that " @@ -5698,15 +5698,15 @@ msgid "" "reference to the object:" msgstr "" -#: faq/programming.rst:1715 +#: ../../src/Doc/faq/programming.rst:1715 msgid "Modules" msgstr "Modules" -#: faq/programming.rst:1718 +#: ../../src/Doc/faq/programming.rst:1718 msgid "How do I create a .pyc file?" msgstr "" -#: faq/programming.rst:1720 +#: ../../src/Doc/faq/programming.rst:1720 msgid "" "When a module is imported for the first time (or when the source file has " "changed since the current compiled file was created) a ``.pyc`` file " @@ -5717,7 +5717,7 @@ msgid "" "particular ``python`` binary that created it. (See :pep:`3147` for details.)" msgstr "" -#: faq/programming.rst:1728 +#: ../../src/Doc/faq/programming.rst:1728 msgid "" "One reason that a ``.pyc`` file may not be created is a permissions problem " "with the directory containing the source file, meaning that the " @@ -5726,7 +5726,7 @@ msgid "" "testing with a web server." msgstr "" -#: faq/programming.rst:1733 +#: ../../src/Doc/faq/programming.rst:1733 msgid "" "Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " "creation of a .pyc file is automatic if you're importing a module and Python " @@ -5735,7 +5735,7 @@ msgid "" "subdirectory." msgstr "" -#: faq/programming.rst:1738 +#: ../../src/Doc/faq/programming.rst:1738 msgid "" "Running Python on a top level script is not considered an import and no ``." "pyc`` will be created. For example, if you have a top-level module ``foo." @@ -5745,27 +5745,27 @@ msgid "" "for ``foo`` since ``foo.py`` isn't being imported." msgstr "" -#: faq/programming.rst:1745 +#: ../../src/Doc/faq/programming.rst:1745 msgid "" "If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a ``." "pyc`` file for a module that is not imported -- you can, using the :mod:" "`py_compile` and :mod:`compileall` modules." msgstr "" -#: faq/programming.rst:1749 +#: ../../src/Doc/faq/programming.rst:1749 msgid "" "The :mod:`py_compile` module can manually compile any module. One way is to " "use the ``compile()`` function in that module interactively::" msgstr "" -#: faq/programming.rst:1755 +#: ../../src/Doc/faq/programming.rst:1755 msgid "" "This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " "location as ``foo.py`` (or you can override that with the optional parameter " "``cfile``)." msgstr "" -#: faq/programming.rst:1759 +#: ../../src/Doc/faq/programming.rst:1759 msgid "" "You can also automatically compile all files in a directory or directories " "using the :mod:`compileall` module. You can do it from the shell prompt by " @@ -5773,11 +5773,11 @@ msgid "" "Python files to compile::" msgstr "" -#: faq/programming.rst:1768 +#: ../../src/Doc/faq/programming.rst:1768 msgid "How do I find the current module name?" msgstr "" -#: faq/programming.rst:1770 +#: ../../src/Doc/faq/programming.rst:1770 msgid "" "A module can find out its own module name by looking at the predefined " "global variable ``__name__``. If this has the value ``'__main__'``, the " @@ -5786,76 +5786,76 @@ msgid "" "only execute this code after checking ``__name__``::" msgstr "" -#: faq/programming.rst:1785 +#: ../../src/Doc/faq/programming.rst:1785 msgid "How can I have modules that mutually import each other?" msgstr "" -#: faq/programming.rst:1787 +#: ../../src/Doc/faq/programming.rst:1787 msgid "Suppose you have the following modules:" msgstr "" -#: faq/programming.rst:1789 +#: ../../src/Doc/faq/programming.rst:1789 msgid "foo.py::" msgstr "" -#: faq/programming.rst:1794 +#: ../../src/Doc/faq/programming.rst:1794 msgid "bar.py::" msgstr "" -#: faq/programming.rst:1799 +#: ../../src/Doc/faq/programming.rst:1799 msgid "The problem is that the interpreter will perform the following steps:" msgstr "" -#: faq/programming.rst:1801 +#: ../../src/Doc/faq/programming.rst:1801 msgid "main imports foo" msgstr "" -#: faq/programming.rst:1802 +#: ../../src/Doc/faq/programming.rst:1802 msgid "Empty globals for foo are created" msgstr "" -#: faq/programming.rst:1803 +#: ../../src/Doc/faq/programming.rst:1803 msgid "foo is compiled and starts executing" msgstr "" -#: faq/programming.rst:1804 +#: ../../src/Doc/faq/programming.rst:1804 msgid "foo imports bar" msgstr "" -#: faq/programming.rst:1805 +#: ../../src/Doc/faq/programming.rst:1805 msgid "Empty globals for bar are created" msgstr "" -#: faq/programming.rst:1806 +#: ../../src/Doc/faq/programming.rst:1806 msgid "bar is compiled and starts executing" msgstr "" -#: faq/programming.rst:1807 +#: ../../src/Doc/faq/programming.rst:1807 msgid "" "bar imports foo (which is a no-op since there already is a module named foo)" msgstr "" -#: faq/programming.rst:1808 +#: ../../src/Doc/faq/programming.rst:1808 msgid "bar.foo_var = foo.foo_var" msgstr "" -#: faq/programming.rst:1810 +#: ../../src/Doc/faq/programming.rst:1810 msgid "" "The last step fails, because Python isn't done with interpreting ``foo`` yet " "and the global symbol dictionary for ``foo`` is still empty." msgstr "" -#: faq/programming.rst:1813 +#: ../../src/Doc/faq/programming.rst:1813 msgid "" "The same thing happens when you use ``import foo``, and then try to access " "``foo.foo_var`` in global code." msgstr "" -#: faq/programming.rst:1816 +#: ../../src/Doc/faq/programming.rst:1816 msgid "There are (at least) three possible workarounds for this problem." msgstr "" -#: faq/programming.rst:1818 +#: ../../src/Doc/faq/programming.rst:1818 msgid "" "Guido van Rossum recommends avoiding all uses of ``from import ..." "``, and placing all code inside functions. Initializations of global " @@ -5864,59 +5864,59 @@ msgid "" "``.``." msgstr "" -#: faq/programming.rst:1823 +#: ../../src/Doc/faq/programming.rst:1823 msgid "" "Jim Roskind suggests performing steps in the following order in each module:" msgstr "" -#: faq/programming.rst:1825 +#: ../../src/Doc/faq/programming.rst:1825 msgid "" "exports (globals, functions, and classes that don't need imported base " "classes)" msgstr "" -#: faq/programming.rst:1827 +#: ../../src/Doc/faq/programming.rst:1827 msgid "``import`` statements" msgstr "" -#: faq/programming.rst:1828 +#: ../../src/Doc/faq/programming.rst:1828 msgid "" "active code (including globals that are initialized from imported values)." msgstr "" -#: faq/programming.rst:1830 +#: ../../src/Doc/faq/programming.rst:1830 msgid "" "van Rossum doesn't like this approach much because the imports appear in a " "strange place, but it does work." msgstr "" -#: faq/programming.rst:1833 +#: ../../src/Doc/faq/programming.rst:1833 msgid "" "Matthias Urlichs recommends restructuring your code so that the recursive " "import is not necessary in the first place." msgstr "" -#: faq/programming.rst:1836 +#: ../../src/Doc/faq/programming.rst:1836 msgid "These solutions are not mutually exclusive." msgstr "" -#: faq/programming.rst:1840 +#: ../../src/Doc/faq/programming.rst:1840 msgid "__import__('x.y.z') returns ; how do I get z?" msgstr "" -#: faq/programming.rst:1842 +#: ../../src/Doc/faq/programming.rst:1842 msgid "" "Consider using the convenience function :func:`~importlib.import_module` " "from :mod:`importlib` instead::" msgstr "" -#: faq/programming.rst:1849 +#: ../../src/Doc/faq/programming.rst:1849 msgid "" "When I edit an imported module and reimport it, the changes don't show up. " "Why does this happen?" msgstr "" -#: faq/programming.rst:1851 +#: ../../src/Doc/faq/programming.rst:1851 msgid "" "For reasons of efficiency as well as consistency, Python only reads the " "module file on the first time a module is imported. If it didn't, in a " @@ -5925,13 +5925,13 @@ msgid "" "re-reading of a changed module, do this::" msgstr "" -#: faq/programming.rst:1861 +#: ../../src/Doc/faq/programming.rst:1861 msgid "" "Warning: this technique is not 100% fool-proof. In particular, modules " "containing statements like ::" msgstr "" -#: faq/programming.rst:1866 +#: ../../src/Doc/faq/programming.rst:1866 msgid "" "will continue to work with the old version of the imported objects. If the " "module contains class definitions, existing class instances will *not* be " @@ -5939,32 +5939,32 @@ msgid "" "paradoxical behaviour:" msgstr "" -#: faq/programming.rst:1879 +#: ../../src/Doc/faq/programming.rst:1879 msgid "" "The nature of the problem is made clear if you print out the \"identity\" of " "the class objects:" msgstr "" -#: faq/windows.rst:7 +#: ../../src/Doc/faq/windows.rst:7 msgid "Python on Windows FAQ" msgstr "" -#: faq/windows.rst:18 +#: ../../src/Doc/faq/windows.rst:18 msgid "How do I run a Python program under Windows?" msgstr "" -#: faq/windows.rst:20 +#: ../../src/Doc/faq/windows.rst:20 msgid "" "This is not necessarily a straightforward question. If you are already " "familiar with running programs from the Windows command line then everything " "will seem obvious; otherwise, you might need a little more guidance." msgstr "" -#: faq/windows.rst:0 +#: ../../src/Doc/faq/windows.rst:0 msgid "|Python Development on XP|_" msgstr "" -#: faq/windows.rst:27 +#: ../../src/Doc/faq/windows.rst:27 msgid "" "This series of screencasts aims to get you up and running with Python on " "Windows XP. The knowledge is distilled into 1.5 hours and will get you up " @@ -5972,7 +5972,7 @@ msgid "" "IDE, and debugging and writing solid code with unit-tests." msgstr "" -#: faq/windows.rst:36 +#: ../../src/Doc/faq/windows.rst:36 msgid "" "Unless you use some sort of integrated development environment, you will end " "up *typing* Windows commands into what is variously referred to as a \"DOS " @@ -5983,20 +5983,20 @@ msgid "" "Windows \"command prompt\", which usually looks like this::" msgstr "" -#: faq/windows.rst:46 +#: ../../src/Doc/faq/windows.rst:46 msgid "" "The letter may be different, and there might be other things after it, so " "you might just as easily see something like::" msgstr "" -#: faq/windows.rst:51 +#: ../../src/Doc/faq/windows.rst:51 msgid "" "depending on how your computer has been set up and what else you have " "recently done with it. Once you have started such a window, you are well on " "the way to running Python programs." msgstr "" -#: faq/windows.rst:55 +#: ../../src/Doc/faq/windows.rst:55 msgid "" "You need to realize that your Python scripts have to be processed by another " "program called the Python *interpreter*. The interpreter reads your script, " @@ -6004,7 +6004,7 @@ msgid "" "program. So, how do you arrange for the interpreter to handle your Python?" msgstr "" -#: faq/windows.rst:60 +#: ../../src/Doc/faq/windows.rst:60 msgid "" "First, you need to make sure that your command window recognises the word " "\"python\" as an instruction to start the interpreter. If you have opened a " @@ -6012,11 +6012,11 @@ msgid "" "return.::" msgstr "" -#: faq/windows.rst:67 +#: ../../src/Doc/faq/windows.rst:67 msgid "You should then see something like::" msgstr "" -#: faq/windows.rst:73 +#: ../../src/Doc/faq/windows.rst:73 msgid "" "You have started the interpreter in \"interactive mode\". That means you can " "enter Python statements or expressions interactively and have them executed " @@ -6025,7 +6025,7 @@ msgid "" "results::" msgstr "" -#: faq/windows.rst:83 +#: ../../src/Doc/faq/windows.rst:83 msgid "" "Many people use the interactive mode as a convenient yet highly programmable " "calculator. When you want to end your interactive Python session, hold the :" @@ -6033,7 +6033,7 @@ msgid "" "\" key to get back to your Windows command prompt." msgstr "" -#: faq/windows.rst:88 +#: ../../src/Doc/faq/windows.rst:88 msgid "" "You may also find that you have a Start-menu entry such as :menuselection:" "`Start --> Programs --> Python 3.3 --> Python (command line)` that results " @@ -6043,42 +6043,42 @@ msgid "" "the interpreter." msgstr "" -#: faq/windows.rst:94 +#: ../../src/Doc/faq/windows.rst:94 msgid "" "If the ``python`` command, instead of displaying the interpreter prompt " "``>>>``, gives you a message like::" msgstr "" -#: faq/windows.rst:0 +#: ../../src/Doc/faq/windows.rst:0 msgid "|Adding Python to DOS Path|_" msgstr "" -#: faq/windows.rst:102 +#: ../../src/Doc/faq/windows.rst:102 msgid "" "Python is not added to the DOS path by default. This screencast will walk " "you through the steps to add the correct entry to the `System Path`, " "allowing Python to be executed from the command-line by all users." msgstr "" -#: faq/windows.rst:111 +#: ../../src/Doc/faq/windows.rst:111 msgid "or::" msgstr "" -#: faq/windows.rst:115 +#: ../../src/Doc/faq/windows.rst:115 msgid "" "then you need to make sure that your computer knows where to find the Python " "interpreter. To do this you will have to modify a setting called PATH, " "which is a list of directories where Windows will look for programs." msgstr "" -#: faq/windows.rst:119 +#: ../../src/Doc/faq/windows.rst:119 msgid "" "You should arrange for Python's installation directory to be added to the " "PATH of every command window as it starts. If you installed Python fairly " "recently then the command ::" msgstr "" -#: faq/windows.rst:125 +#: ../../src/Doc/faq/windows.rst:125 msgid "" "will probably tell you where it is installed; the usual location is " "something like ``C:\\Python33``. Otherwise you will be reduced to a search " @@ -6089,7 +6089,7 @@ msgid "" "command ::" msgstr "" -#: faq/windows.rst:134 +#: ../../src/Doc/faq/windows.rst:134 msgid "" "starts up the interpreter as above (and don't forget you'll need a \":kbd:" "`Ctrl-Z`\" and an \":kbd:`Enter`\" to get out of it). Once you have verified " @@ -6098,17 +6098,17 @@ msgid "" "in the installer as of CPython 3.3." msgstr "" -#: faq/windows.rst:140 +#: ../../src/Doc/faq/windows.rst:140 msgid "" "More information about environment variables can be found on the :ref:`Using " "Python on Windows ` page." msgstr "" -#: faq/windows.rst:144 +#: ../../src/Doc/faq/windows.rst:144 msgid "How do I make Python scripts executable?" msgstr "" -#: faq/windows.rst:146 +#: ../../src/Doc/faq/windows.rst:146 msgid "" "On Windows, the standard Python installer already associates the .py " "extension with a file type (Python.File) and gives that file type an open " @@ -6119,11 +6119,11 @@ msgid "" "environment variable." msgstr "" -#: faq/windows.rst:154 +#: ../../src/Doc/faq/windows.rst:154 msgid "Why does Python sometimes take so long to start?" msgstr "" -#: faq/windows.rst:156 +#: ../../src/Doc/faq/windows.rst:156 msgid "" "Usually Python starts very quickly on Windows, but occasionally there are " "bug reports that Python suddenly begins to take a long time to start up. " @@ -6131,7 +6131,7 @@ msgid "" "Windows systems which appear to be configured identically." msgstr "" -#: faq/windows.rst:161 +#: ../../src/Doc/faq/windows.rst:161 msgid "" "The problem may be caused by a misconfiguration of virus checking software " "on the problem machine. Some virus scanners have been known to introduce " @@ -6142,12 +6142,12 @@ msgid "" "activity, is a particular offender." msgstr "" -#: faq/windows.rst:171 +#: ../../src/Doc/faq/windows.rst:171 #, fuzzy msgid "How do I make an executable from a Python script?" msgstr "Comment construire un tableau en Python?" -#: faq/windows.rst:173 +#: ../../src/Doc/faq/windows.rst:173 msgid "" "See http://cx-freeze.sourceforge.net/ for a distutils extension that allows " "you to create console and GUI executables from Python code. `py2exe