Merge remote-tracking branch 'upstream/3.11' into ref_36
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
This commit is contained in:
commit
10908f05df
|
@ -1,13 +1,37 @@
|
|||
---
|
||||
|
||||
pipeline:
|
||||
# `make verifs` only checks changed files, so it make sense only on
|
||||
# pull requests.
|
||||
|
||||
# Also we're using `branch: "$CI_COMMIT_SOURCE_BRANCH"` because the
|
||||
# default branch name is the target branch, conflicting with the fact
|
||||
# the Makefile tries to compare the current branch to the target
|
||||
# branch...
|
||||
|
||||
when:
|
||||
event: pull_request
|
||||
|
||||
clone:
|
||||
git:
|
||||
image: woodpeckerci/plugin-git
|
||||
pull: true
|
||||
settings:
|
||||
branch: ${CI_COMMIT_SOURCE_BRANCH}
|
||||
|
||||
steps:
|
||||
fetch target branch:
|
||||
image: python
|
||||
commands:
|
||||
- BRANCH="$(make print-BRANCH)"
|
||||
- git fetch origin --no-tags +refs/heads/$BRANCH
|
||||
- git branch $BRANCH origin/$BRANCH
|
||||
- git branch -va
|
||||
|
||||
test:
|
||||
image: python
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install -y hunspell hunspell-fr-comprehensive
|
||||
- python3 -m pip install -r requirements.txt
|
||||
- BRANCH="$(grep ^BRANCH Makefile | awk '{print $3}')"
|
||||
- git fetch origin --no-tags +refs/heads/$BRANCH
|
||||
- 'git branch $BRANCH origin/$BRANCH ||:'
|
||||
- make diff
|
||||
- make verifs
|
||||
|
|
|
@ -264,7 +264,8 @@ Troisième étape: Traduction
|
|||
===========================
|
||||
|
||||
Avec Poedit
|
||||
---------------
|
||||
-----------
|
||||
|
||||
Ici, remplacez « library/sys.po » par le fichier que vous avez choisi précédemment.
|
||||
|
||||
.. code-block:: bash
|
||||
|
@ -272,7 +273,12 @@ Ici, remplacez « library/sys.po » par le fichier que vous avez choisi préc
|
|||
poedit library/sys.po
|
||||
|
||||
|
||||
Ou lancez simplement Poedit puis « Fichier » → « Ouvrir ».
|
||||
Ou lancez simplement Poedit puis « Fichier » → « Ouvrir ».
|
||||
|
||||
Il n'est pas obligatoire de terminer un fichier, ni de le travailler
|
||||
de haut en bas, chacun traduit ce qu'il souhaite. Cependant évitons de
|
||||
changer plus de 200 lignes par *pull request* (pour le confort des
|
||||
relecteurs). Faire plusieurs *pull requests* est bien sûr autorisé.
|
||||
|
||||
|
||||
Vérifications après traduction
|
||||
|
@ -598,7 +604,7 @@ list comprehension liste en compréhension (liste en intension est
|
|||
little-endian, big-endian `petit-boutiste, gros-boutiste
|
||||
<https://fr.wikipedia.org/wiki/Endianness>`_
|
||||
mixin type type de mélange
|
||||
mutable muable
|
||||
mutable `mutable <https://git.afpy.org/AFPy/python-docs-fr/issues/123>`_
|
||||
namespace espace de nommage
|
||||
(sauf pour le XML où c'est espace de noms)
|
||||
parameter paramètre
|
||||
|
@ -613,6 +619,7 @@ roughly approximativement, à peu près (on ne traduit pas
|
|||
« roughly equivalent » par « sensiblement équivalent »)
|
||||
setter mutateur
|
||||
simple quote guillemet simple
|
||||
slot emplacement
|
||||
socket connecteur ou interface de connexion
|
||||
sort trier (préféré), ordonner, classer
|
||||
specify définir, préciser (plutôt que « spécifier »)
|
||||
|
|
8
Makefile
8
Makefile
|
@ -192,3 +192,11 @@ clean:
|
|||
find -name '*.mo' -delete
|
||||
@echo "Cleaning build directory"
|
||||
$(MAKE) -C venv/cpython/Doc/ clean
|
||||
|
||||
.PHONY: diff
|
||||
diff:
|
||||
@echo "Files changed between $(BRANCH) and HEAD:"
|
||||
@echo $(shell git diff --name-only --diff-filter=d $(BRANCH))
|
||||
|
||||
print-%:
|
||||
@echo $($*)
|
||||
|
|
|
@ -21,3 +21,4 @@ Yannick Gingras
|
|||
Martin Chlumsky
|
||||
Stephan Michaud
|
||||
Edith Viau
|
||||
Jean-Michel Laprise
|
||||
|
|
11
bugs.po
11
bugs.po
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-14 13:19+0200\n"
|
||||
"PO-Revision-Date: 2022-12-11 17:39+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"PO-Revision-Date: 2023-10-21 08:46-0400\n"
|
||||
"Last-Translator: Edith Viau <info@eviau.net>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.1\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: bugs.rst:5
|
||||
msgid "Dealing with Bugs"
|
||||
|
@ -64,6 +64,8 @@ msgid ""
|
|||
"You can also open a discussion item on our `Documentation Discourse forum "
|
||||
"<https://discuss.python.org/c/documentation/26>`_."
|
||||
msgstr ""
|
||||
"Vous pouvez aussi commenter une discussion sur le `forum de discussion de la "
|
||||
"documentation <https://discuss.python.org/c/documentation/26>`_."
|
||||
|
||||
#: bugs.rst:25
|
||||
msgid ""
|
||||
|
@ -192,13 +194,12 @@ msgid "The submission form has two fields, \"Title\" and \"Comment\"."
|
|||
msgstr "Le formulaire de rapport contient deux champs, *Title* et *Comment*."
|
||||
|
||||
#: bugs.rst:72
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For the \"Title\" field, enter a *very* short description of the problem; "
|
||||
"fewer than ten words is good."
|
||||
msgstr ""
|
||||
"Dans le champ *Title*, entrez une *très* brève description du problème "
|
||||
"rencontré ; tâchez de vous limiter à dix mots."
|
||||
"rencontré : dix mots ou moins suffiront."
|
||||
|
||||
#: bugs.rst:75
|
||||
msgid ""
|
||||
|
|
|
@ -102,7 +102,7 @@ msgstr ""
|
|||
"Néanmoins, quand une structure :c:type:`Py_buffer` est en cours de "
|
||||
"remplissage, le tampon sous-jacent est verrouillé pour permettre à "
|
||||
"l'appelant d'utiliser le tampon par la suite, même à l'intérieur d'un bloc :"
|
||||
"c:type:`Py_BEGIN_ALLOW_THREADS`, sans risques de voir des données muables se "
|
||||
"c:type:`Py_BEGIN_ALLOW_THREADS`, sans risques de voir des données mutables se "
|
||||
"faire redimensionner ou supprimer. En conséquence, **il vous appartient "
|
||||
"d'appeler** :c:func:`PyBuffer_Release` après avoir terminé de traiter les "
|
||||
"données (ou après une interruption prématurée du traitement de ces données)."
|
||||
|
@ -229,7 +229,7 @@ msgid ""
|
|||
"null bytes. Unicode objects are converted to C strings using ``'utf-8'`` "
|
||||
"encoding."
|
||||
msgstr ""
|
||||
"La même chose que ``s*``, mais n'accepte pas les objets muables. Le résultat "
|
||||
"La même chose que ``s*``, mais n'accepte pas les objets mutables. Le résultat "
|
||||
"est stocké dans deux variables C, la première est un pointeur vers une "
|
||||
"chaîne de caractères C, la seconde contient sa taille. La chaîne de "
|
||||
"caractères peut contenir des octets NULL. Les objets Unicode sont convertis "
|
||||
|
@ -1373,7 +1373,7 @@ msgstr ""
|
|||
#~ "d'octets <bytes-like object>` en lecture seule, et définissent un "
|
||||
#~ "pointeur à la place d'une structure tampon. Ils fonctionnent en vérifiant "
|
||||
#~ "que le champ :c:member:`PyBufferProcs.bf_releasebuffer` de l'objet est "
|
||||
#~ "*NULL*, ce qui n'autorise pas les objets muables tels que :class:"
|
||||
#~ "*NULL*, ce qui n'autorise pas les objets mutables tels que :class:"
|
||||
#~ "`bytearray`."
|
||||
|
||||
#~ msgid ""
|
||||
|
|
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
|
||||
"PO-Revision-Date: 2022-04-07 14:48-0400\n"
|
||||
"Last-Translator: Jean-Michel Laprise <jmichel.dev@gmail.com>\n"
|
||||
"PO-Revision-Date: 2023-10-02 15:28-0600\n"
|
||||
"Last-Translator: James Adjinwa <jamesadjinwa000@duck.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#: copyright.rst:3
|
||||
msgid "Copyright"
|
||||
|
@ -24,10 +24,9 @@ msgid "Python and this documentation is:"
|
|||
msgstr "Python et cette documentation sont :"
|
||||
|
||||
#: copyright.rst:7
|
||||
#, fuzzy
|
||||
msgid "Copyright © 2001-2023 Python Software Foundation. All rights reserved."
|
||||
msgstr ""
|
||||
"Copyright © 2001-2022 Python Software Foundation. Tous droits réservés."
|
||||
"Copyright © 2001-2023 Python Software Foundation. Tous droits réservés."
|
||||
|
||||
#: copyright.rst:9
|
||||
msgid "Copyright © 2000 BeOpen.com. All rights reserved."
|
||||
|
|
2
dict
2
dict
|
@ -122,8 +122,6 @@ mersenne
|
|||
mertz
|
||||
Monty
|
||||
muabilité
|
||||
muable
|
||||
muables
|
||||
multiensemble
|
||||
multiensembles
|
||||
mutex
|
||||
|
|
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-21 14:55+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:46+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"PO-Revision-Date: 2023-07-28 22:22+0200\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: extending/building.rst:7
|
||||
msgid "Building C and C++ Extensions"
|
||||
|
@ -28,7 +28,6 @@ msgstr ""
|
|||
"Linux, un ``.pyd`` sur Windows), qui expose une *fonction d'initialisation*."
|
||||
|
||||
#: extending/building.rst:12
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To be importable, the shared library must be available on :envvar:"
|
||||
"`PYTHONPATH`, and must be named after the module name, with an appropriate "
|
||||
|
@ -45,7 +44,6 @@ msgid "The initialization function has the signature:"
|
|||
msgstr "La fonction d'initialisation doit avoir le prototype :"
|
||||
|
||||
#: extending/building.rst:20
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"It returns either a fully initialized module, or a :c:type:`PyModuleDef` "
|
||||
"instance. See :ref:`initializing-modules` for details."
|
||||
|
@ -88,7 +86,6 @@ msgstr ""
|
|||
"library\"* dans la :pep:`489` pour plus d'informations."
|
||||
|
||||
#: extending/building.rst:49
|
||||
#, fuzzy
|
||||
msgid "Building C and C++ Extensions with distutils"
|
||||
msgstr "Construire les extensions C et C++ avec *distutils*"
|
||||
|
||||
|
@ -113,7 +110,7 @@ msgstr ""
|
|||
|
||||
#: extending/building.rst:73
|
||||
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 ::"
|
||||
msgstr "Avec ce :file:`setup.py` et un fichier :file:`demo.c`, lancer ::"
|
||||
|
||||
#: extending/building.rst:77
|
||||
msgid ""
|
||||
|
@ -122,10 +119,10 @@ msgid ""
|
|||
"will end up in a subdirectory :file:`build/lib.system`, and may have a name "
|
||||
"like :file:`demo.so` or :file:`demo.pyd`."
|
||||
msgstr ""
|
||||
"compilera :file:`demo.c`, et produira un module d'extension nommé ``demo`` "
|
||||
"dans le dossier :file:`build`. En fonction du système, le fichier du module "
|
||||
"peut se retrouver dans :file:`build/lib.system`, et son nom peut être :file:"
|
||||
"`demo.py` ou :file:`demo.pyd`."
|
||||
"compile :file:`demo.c` et produit un module d'extension nommé ``demo`` dans "
|
||||
"le dossier :file:`build`. En fonction du système, le fichier du module peut "
|
||||
"se retrouver dans :file:`build/lib.system`, et son nom peut être :file:`demo."
|
||||
"py` ou :file:`demo.pyd`."
|
||||
|
||||
#: extending/building.rst:82
|
||||
msgid ""
|
||||
|
@ -189,7 +186,7 @@ msgstr ""
|
|||
"paquets. En ce qui concerne l'extension, sont définis quelques macros "
|
||||
"préprocesseur, dossiers pour les en-têtes et bibliothèques. En fonction du "
|
||||
"compilateur, *distutils* peut donner ces informations de manière différente. "
|
||||
"Par exemple, sur Unix, ça peut ressembler aux commandes ::"
|
||||
"Par exemple, sur Unix, ça peut ressembler aux commandes ::"
|
||||
|
||||
#: extending/building.rst:139
|
||||
msgid ""
|
||||
|
@ -216,14 +213,14 @@ 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 ::"
|
||||
"en exécutant ::"
|
||||
|
||||
#: extending/building.rst:154
|
||||
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 ::"
|
||||
"faire ils exécuteront ::"
|
||||
|
||||
#: extending/building.rst:158
|
||||
msgid ""
|
||||
|
@ -232,8 +229,8 @@ msgid ""
|
|||
"`manifest` for details."
|
||||
msgstr ""
|
||||
"Dans certains cas, des fichiers supplémentaires doivent être inclus dans une "
|
||||
"distribution source : c'est possible via un fichier :file:`MANIFEST.in`, c."
|
||||
"f. :ref:`manifest`."
|
||||
"distribution source : c'est possible via un fichier :file:`MANIFEST.in`, "
|
||||
"voir :ref:`manifest` pour les détails."
|
||||
|
||||
#: extending/building.rst:161
|
||||
msgid ""
|
||||
|
|
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
|
||||
"PO-Revision-Date: 2023-02-16 16:53+0100\n"
|
||||
"Last-Translator: Antoine <antoine.venier@hotmail.fr>\n"
|
||||
"PO-Revision-Date: 2023-07-28 22:36+0200\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: extending/embedding.rst:8
|
||||
msgid "Embedding Python in Another Application"
|
||||
|
@ -275,7 +275,7 @@ msgstr ""
|
|||
"Bien que le programme soit plutôt gros pour ses fonctionnalités, la plupart "
|
||||
"du code n'est que conversion de données entre Python et C, aussi que pour "
|
||||
"rapporter les erreurs. La partie intéressante, qui concerne l'intégration de "
|
||||
"Python débute par ::"
|
||||
"Python débute par ::"
|
||||
|
||||
#: extending/embedding.rst:178
|
||||
msgid ""
|
||||
|
@ -408,7 +408,7 @@ msgid ""
|
|||
"directly useful to you:"
|
||||
msgstr ""
|
||||
"Pour trouver les bonnes options de compilateur et *linker*, vous pouvez "
|
||||
"exécuter le script :file:`python(X.Y)-config` généré durant l'installation "
|
||||
"exécuter le script :file:`python{X.Y}-config` généré durant l'installation "
|
||||
"(un script :file:`python3-config` peut aussi être disponible). Ce script a "
|
||||
"quelques options, celles-ci vous seront utiles :"
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,14 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:22+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"POT-Creation-Date: 2023-07-22 15:34+0200\n"
|
||||
"PO-Revision-Date: 2023-07-27 23:20+0200\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:7
|
||||
msgid "Defining Extension Types: Tutorial"
|
||||
|
@ -37,7 +38,6 @@ msgid "The Basics"
|
|||
msgstr "Les bases"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:26
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The :term:`CPython` runtime sees all Python objects as variables of type :c:"
|
||||
"expr:`PyObject*`, which serves as a \"base type\" for all Python objects. "
|
||||
|
@ -49,7 +49,7 @@ msgid ""
|
|||
"functions are called \"type methods\"."
|
||||
msgstr ""
|
||||
":term:`CPython` considère que tous les objets Python sont des variables de "
|
||||
"type :c:type:`PyObject\\*`, qui sert de type de base pour tous les objets "
|
||||
"type :c:expr:`PyObject*`, qui sert de type de base pour tous les objets "
|
||||
"Python. La structure de :c:type:`PyObject` ne contient que le :term:"
|
||||
"`compteur de références <reference count>` et un pointeur vers un objet de "
|
||||
"type « type de l'objet ». C'est ici que tout se joue : l'objet type "
|
||||
|
@ -76,6 +76,7 @@ msgstr ""
|
|||
"donc un module minimaliste mais suffisant qui définit un nouveau type nommé :"
|
||||
"class:`Custom` dans le module d'extension :mod:`custom` :"
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:43
|
||||
msgid ""
|
||||
"What we're showing here is the traditional way of defining *static* "
|
||||
|
@ -83,7 +84,7 @@ msgid ""
|
|||
"allows defining heap-allocated extension types using the :c:func:"
|
||||
"`PyType_FromSpec` function, which isn't covered in this tutorial."
|
||||
msgstr ""
|
||||
"Ce qui est montré ici est la manière traditionnelle de définir des types "
|
||||
"ce qui est montré ici est la manière traditionnelle de définir des types "
|
||||
"d'extension *statiques*, et cela convient dans la majorité des cas. L'API C "
|
||||
"permet aussi de définir des types alloués sur le tas, via la fonction :c:"
|
||||
"func:`PyType_FromSpec`, mais ce n'est pas couvert par ce tutoriel."
|
||||
|
@ -128,7 +129,6 @@ msgid "The first bit is::"
|
|||
msgstr "Commençons par ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:67
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory "
|
||||
"at the start of each object struct and defines a field called ``ob_base`` of "
|
||||
|
@ -146,12 +146,13 @@ msgstr ""
|
|||
"raison d'être de ces macros est d'abstraire l'agencement de la structure, et "
|
||||
"ainsi de permettre l'ajout de champs en :ref:`mode débogage <debug-build>`."
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:76
|
||||
msgid ""
|
||||
"There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be "
|
||||
"wary of adding one by accident: some compilers will complain."
|
||||
msgstr ""
|
||||
"Il n'y a pas de point-virgule après la macro :c:macro:`PyObject_HEAD`. "
|
||||
"il n'y a pas de point-virgule après la macro :c:macro:`PyObject_HEAD`. "
|
||||
"Attention à ne pas l'ajouter par accident : certains compilateurs pourraient "
|
||||
"s'en plaindre."
|
||||
|
||||
|
@ -169,13 +170,14 @@ msgstr ""
|
|||
msgid "The second bit is the definition of the type object. ::"
|
||||
msgstr "La deuxième partie est la définition de l'objet type ::"
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:101
|
||||
msgid ""
|
||||
"We recommend using C99-style designated initializers as above, to avoid "
|
||||
"listing all the :c:type:`PyTypeObject` fields that you don't care about and "
|
||||
"also to avoid caring about the fields' declaration order."
|
||||
msgstr ""
|
||||
"Nous recommandons d'utiliser la syntaxe d'initialisation nommée (C99) pour "
|
||||
"nous recommandons d'utiliser la syntaxe d'initialisation nommée (C99) pour "
|
||||
"remplir la structure, comme ci-dessus, afin d'éviter d'avoir à lister les "
|
||||
"champs de :c:type:`PyTypeObject` dont vous n'avez pas besoin, et de ne pas "
|
||||
"vous soucier de leur ordre."
|
||||
|
@ -222,7 +224,7 @@ msgid ""
|
|||
"type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::"
|
||||
msgstr ""
|
||||
"Notez que le nom comporte un point : il inclut le nom du module et le nom du "
|
||||
"type. Dans ce cas le module est :mod:`custom`, et le type est :class:"
|
||||
"type. Dans ce cas le module est :mod:`custom` et le type est :class:"
|
||||
"`Custom`, donc nous donnons comme nom :class:`custom.Custom`. Nommer "
|
||||
"correctement son type, avec le point, est important pour le rendre "
|
||||
"compatible avec :mod:`pydoc` et :mod:`pickle`. ::"
|
||||
|
@ -238,6 +240,7 @@ msgstr ""
|
|||
"n'est utilisé que pour les objets de taille variable, sinon il doit rester à "
|
||||
"zéro."
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:144
|
||||
msgid ""
|
||||
"If you want your type to be subclassable from Python, and your type has the "
|
||||
|
@ -251,7 +254,7 @@ msgid ""
|
|||
"type will be :class:`object`, or else you will be adding data members to "
|
||||
"your base type, and therefore increasing its size."
|
||||
msgstr ""
|
||||
"Si vous voulez qu'une classe en Python puisse hériter de votre type, et que "
|
||||
"si vous voulez qu'une classe en Python puisse hériter de votre type, et que "
|
||||
"votre type a le même :c:member:`~PyTypeObject.tp_basicsize` que son parent, "
|
||||
"vous rencontrerez des problèmes avec l'héritage multiple. Une sous-classe "
|
||||
"Python de votre type devra lister votre type en premier dans son :attr:"
|
||||
|
@ -263,11 +266,9 @@ msgstr ""
|
|||
"augmentant ainsi sa taille)."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:154
|
||||
#, fuzzy
|
||||
msgid "We set the class flags to :c:macro:`Py_TPFLAGS_DEFAULT`. ::"
|
||||
msgstr ""
|
||||
"On utilise la constante :const:`Py_TPFLAGS_DEFAULT` comme seule option de "
|
||||
"type. ::"
|
||||
"Nous définissons les drapeaux de la classe à :c:macro:`Py_TPFLAGS_DEFAULT` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:158
|
||||
msgid ""
|
||||
|
@ -277,14 +278,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Chaque type doit inclure cette constante dans ses options : elle active tous "
|
||||
"les membres définis jusqu'à au moins Python 3.3. Si vous avez besoin de plus "
|
||||
"de membres, vous pouvez la combiner à d'autres constantes avec un *ou* "
|
||||
"de membres, vous pouvez la combiner à d'autres constantes avec un *OU* "
|
||||
"binaire."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:162
|
||||
msgid ""
|
||||
"We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::"
|
||||
msgstr ""
|
||||
"On fournit une *docstring* pour ce type via le membre :c:member:"
|
||||
"Nous fournissons une *docstring* pour ce type via le membre :c:member:"
|
||||
"`~PyTypeObject.tp_doc`. ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:166
|
||||
|
@ -337,7 +338,7 @@ msgstr ""
|
|||
|
||||
#: extending/newtypes_tutorial.rst:207
|
||||
msgid "in a file called :file:`setup.py`; then typing"
|
||||
msgstr ""
|
||||
msgstr "dans un fichier appelé :file:`setup.py` ; puis en tapant"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:213
|
||||
msgid ""
|
||||
|
@ -345,16 +346,22 @@ msgid ""
|
|||
"to that directory and fire up Python --- you should be able to ``import "
|
||||
"custom`` and play around with Custom objects."
|
||||
msgstr ""
|
||||
"à un shell doit produire un fichier :file:`custom.so` dans un sous-"
|
||||
"répertoire ; déplacez-vous dans ce répertoire et lancez Python — vous "
|
||||
"devriez pouvoir faire ``import custom`` et jouer avec des objets "
|
||||
"personnalisés."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:217
|
||||
msgid "That wasn't so hard, was it?"
|
||||
msgstr ""
|
||||
msgstr "Ce n'était pas si difficile, n'est-ce pas ?"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:219
|
||||
msgid ""
|
||||
"Of course, the current Custom type is pretty uninteresting. It has no data "
|
||||
"and doesn't do anything. It can't even be subclassed."
|
||||
msgstr ""
|
||||
"Bien sûr, le type personnalisé actuel est assez inintéressant. Il n'a pas de "
|
||||
"données et ne fait rien. Il ne peut même pas être sous-classé."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:223
|
||||
msgid ""
|
||||
|
@ -365,10 +372,17 @@ msgid ""
|
|||
"Packaging User's Guide <https://packaging.python.org/tutorials/distributing-"
|
||||
"packages/>`_."
|
||||
msgstr ""
|
||||
"Bien que cette documentation présente le module standard :mod:`distutils` "
|
||||
"pour la construction d'extensions C, il est recommandé dans les cas "
|
||||
"d'utilisation réels d'utiliser la bibliothèque ``setuptools`` plus récente "
|
||||
"et mieux entretenue. La documentation sur la façon de procéder est hors de "
|
||||
"portée de ce document et peut être trouvée dans le `Python Packaging User's "
|
||||
"Guide <https://packaging.python.org/tutorials/distributing-packages/>`_."
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:231
|
||||
msgid "Adding data and methods to the Basic example"
|
||||
msgstr ""
|
||||
msgstr "ajout de données et de méthodes à l'exemple basique"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:233
|
||||
msgid ""
|
||||
|
@ -376,20 +390,25 @@ msgid ""
|
|||
"make the type usable as a base class. We'll create a new module, :mod:"
|
||||
"`custom2` that adds these capabilities:"
|
||||
msgstr ""
|
||||
"Étendons l'exemple de base pour ajouter des données et des méthodes. Rendons "
|
||||
"également le type utilisable comme classe de base. Nous allons créer un "
|
||||
"nouveau module, :mod:`custom2` qui ajoute ces fonctionnalités :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:240
|
||||
msgid "This version of the module has a number of changes."
|
||||
msgstr ""
|
||||
msgstr "Cette version du module comporte un certain nombre de modifications."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:242
|
||||
msgid "We've added an extra include::"
|
||||
msgstr ""
|
||||
msgstr "Nous avons ajouté un nouvel *include* ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:246
|
||||
msgid ""
|
||||
"This include provides declarations that we use to handle attributes, as "
|
||||
"described a bit later."
|
||||
msgstr ""
|
||||
"Cet *include* fournit des déclarations que nous utilisons pour gérer les "
|
||||
"attributs, comme décrit un peu plus loin."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:249
|
||||
msgid ""
|
||||
|
@ -398,20 +417,27 @@ msgid ""
|
|||
"strings containing first and last names. The *number* attribute is a C "
|
||||
"integer."
|
||||
msgstr ""
|
||||
"Le type :class:`Custom` a maintenant trois attributs de données dans sa "
|
||||
"structure C, *first*, *last* et *number*. Les variables *first* et *last* "
|
||||
"sont des chaînes Python contenant les noms et prénoms. L'attribut *number* "
|
||||
"est un entier C."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:253
|
||||
msgid "The object structure is updated accordingly::"
|
||||
msgstr ""
|
||||
msgstr "La structure de l'objet est mise à jour en conséquence ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:262
|
||||
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 ""
|
||||
"Comme nous avons maintenant des données à gérer, nous devons faire plus "
|
||||
"attention à l'allocation et à la libération d'objets. Au minimum, nous avons "
|
||||
"besoin d'une méthode de dés-allocation ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:273
|
||||
msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::"
|
||||
msgstr ""
|
||||
msgstr "qui est assignée au membre :c:member:`~PyTypeObject.tp_dealloc` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:277
|
||||
msgid ""
|
||||
|
@ -423,6 +449,13 @@ msgid ""
|
|||
"object's type might not be :class:`CustomType`, because the object may be an "
|
||||
"instance of a subclass."
|
||||
msgstr ""
|
||||
"Cette méthode efface d'abord le nombre de références des deux attributs "
|
||||
"Python. :c:func:`Py_XDECREF` gère correctement le cas où son argument est "
|
||||
"``NULL`` (ce qui peut arriver ici si ``tp_new`` échoue à mi-chemin). Elle "
|
||||
"appelle ensuite le membre :c:member:`~PyTypeObject.tp_free` du type de "
|
||||
"l'objet (calculé par ``Py_TYPE(self)``) pour libérer la mémoire de l'objet. "
|
||||
"Notez que le type de l'objet peut ne pas être :class:`CustomType`, car "
|
||||
"l'objet peut être une instance d'une sous-classe."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:286
|
||||
msgid ""
|
||||
|
@ -432,16 +465,23 @@ msgid ""
|
|||
"argument. Otherwise, the compiler will emit a warning. This is object-"
|
||||
"oriented polymorphism, in C!"
|
||||
msgstr ""
|
||||
"La conversion explicite en ``destructor`` ci-dessus est nécessaire car nous "
|
||||
"avons défini ``Custom_dealloc`` pour prendre un argument ``CustomObject *``, "
|
||||
"mais le pointeur de fonction ``tp_dealloc`` s'attend à recevoir un argument "
|
||||
"``PyObject *``. Sinon, le compilateur émet un avertissement. C'est du "
|
||||
"polymorphisme orienté objet, en C !"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:292
|
||||
msgid ""
|
||||
"We want to make sure that the first and last names are initialized to empty "
|
||||
"strings, so we provide a ``tp_new`` implementation::"
|
||||
msgstr ""
|
||||
"Nous voulons nous assurer que le prénom et le nom sont initialisés avec des "
|
||||
"chaînes vides, nous fournissons donc une implémentation ``tp_new`` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:316
|
||||
msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::"
|
||||
msgstr ""
|
||||
msgstr "et installez-le dans le membre :c:member:`~PyTypeObject.tp_new` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:320
|
||||
msgid ""
|
||||
|
@ -453,6 +493,14 @@ msgid ""
|
|||
"use the ``tp_new`` handler to initialize the ``first`` and ``last`` "
|
||||
"attributes to non-``NULL`` default values."
|
||||
msgstr ""
|
||||
"Le gestionnaire ``tp_new`` est responsable de la création (par opposition à "
|
||||
"l'initialisation) des objets du type. Il est exposé en Python en tant que "
|
||||
"méthode :meth:`__new__`. Il n'est pas nécessaire de définir un membre "
|
||||
"``tp_new``, et en effet de nombreux types d'extension réutiliseront "
|
||||
"simplement :c:func:`PyType_GenericNew` comme cela a été fait dans la "
|
||||
"première version du type ``Custom`` ci-dessus. Dans ce cas, nous utilisons "
|
||||
"le gestionnaire ``tp_new`` pour initialiser les attributs ``first`` et "
|
||||
"``last`` à des valeurs par défaut non ``NULL``."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:328
|
||||
msgid ""
|
||||
|
@ -463,24 +511,38 @@ msgid ""
|
|||
"often ignore the arguments, leaving the argument handling to initializer (a."
|
||||
"k.a. ``tp_init`` in C or ``__init__`` in Python) methods."
|
||||
msgstr ""
|
||||
"``tp_new`` reçoit le type en cours d'instanciation (pas nécessairement "
|
||||
"``CustomType``, si une sous-classe est instanciée) et tous les arguments "
|
||||
"passés lorsque le type a été appelé, et devrait renvoyer l'instance créée. "
|
||||
"Les gestionnaires ``tp_new`` acceptent toujours les arguments positionnels "
|
||||
"et nommés, mais ils ignorent souvent les arguments, laissant la gestion des "
|
||||
"arguments aux méthodes d'initialisation (alias ``tp_init`` en C ou "
|
||||
"``__init__`` en Python)."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:336
|
||||
msgid ""
|
||||
"``tp_new`` shouldn't call ``tp_init`` explicitly, as the interpreter will do "
|
||||
"it itself."
|
||||
msgstr ""
|
||||
"``tp_new`` ne doit pas appeler ``tp_init`` explicitement, car l'interpréteur "
|
||||
"le fera lui-même."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:339
|
||||
msgid ""
|
||||
"The ``tp_new`` implementation calls the :c:member:`~PyTypeObject.tp_alloc` "
|
||||
"slot to allocate memory::"
|
||||
msgstr ""
|
||||
"L'implémentation ``tp_new`` appelle l'emplacement :c:member:`~PyTypeObject."
|
||||
"tp_alloc` pour allouer de la mémoire ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:344
|
||||
msgid ""
|
||||
"Since memory allocation may fail, we must check the :c:member:`~PyTypeObject."
|
||||
"tp_alloc` result against ``NULL`` before proceeding."
|
||||
msgstr ""
|
||||
"Puisque l'allocation de mémoire peut échouer, nous devons vérifier le "
|
||||
"résultat :c:member:`~PyTypeObject.tp_alloc` par rapport à ``NULL`` avant de "
|
||||
"continuer."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:348
|
||||
msgid ""
|
||||
|
@ -489,6 +551,10 @@ msgid ""
|
|||
"class, which is :class:`object` by default. Most types use the default "
|
||||
"allocation strategy."
|
||||
msgstr ""
|
||||
"Nous n'avons pas rempli l'emplacement :c:member:`~PyTypeObject.tp_alloc` "
|
||||
"nous-mêmes. C'est :c:func:`PyType_Ready` qui le remplit pour nous car il en "
|
||||
"hérite de notre classe mère, qui est :class:`object` par défaut. La plupart "
|
||||
"des types utilisent la stratégie d'allocation par défaut."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:354
|
||||
msgid ""
|
||||
|
@ -502,16 +568,28 @@ msgid ""
|
|||
"correctly. (Specifically, you may not be able to create instances of such "
|
||||
"subclasses without getting a :exc:`TypeError`.)"
|
||||
msgstr ""
|
||||
"Si vous créez une :c:member:`~PyTypeObject.tp_new` coopérative (qui appelle :"
|
||||
"c:member:`~PyTypeObject.tp_new` ou :meth:`__new__` d'un type de base), vous "
|
||||
"ne devez *pas* essayer de déterminer quelle méthode appeler en utilisant "
|
||||
"l'ordre de résolution des méthodes au moment de l'exécution. Déterminez "
|
||||
"toujours statiquement quel type vous allez appeler, et appelez son :c:member:"
|
||||
"`~PyTypeObject.tp_new` directement, ou via ``type->tp_base->tp_new``. Si "
|
||||
"vous ne le faites pas, les sous-classes Python de votre type qui héritent "
|
||||
"également d'autres classes définies par Python risquent de ne pas "
|
||||
"fonctionner correctement. (Plus précisément, vous ne pourrez peut-être pas "
|
||||
"créer d'instances de telles sous-classes sans obtenir une :exc:`TypeError`.)"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:364
|
||||
msgid ""
|
||||
"We also define an initialization function which accepts arguments to provide "
|
||||
"initial values for our instance::"
|
||||
msgstr ""
|
||||
"Nous définissons également une fonction d'initialisation qui accepte des "
|
||||
"arguments pour fournir des valeurs initiales pour notre instance ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:393
|
||||
msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::"
|
||||
msgstr ""
|
||||
msgstr "en remplissant l'emplacement :c:member:`~PyTypeObject.tp_init`. ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:397
|
||||
msgid ""
|
||||
|
@ -520,6 +598,11 @@ msgid ""
|
|||
"Initializers always accept positional and keyword arguments, and they should "
|
||||
"return either ``0`` on success or ``-1`` on error."
|
||||
msgstr ""
|
||||
"L'emplacement :c:member:`~PyTypeObject.tp_init` est exposé en Python en tant "
|
||||
"que méthode :meth:`__init__`. Il est utilisé pour initialiser un objet après "
|
||||
"sa création. Les constructeurs acceptent toujours les arguments positionnels "
|
||||
"et nommés, et ils doivent renvoyer soit ``0`` en cas de succès, soit ``-1`` "
|
||||
"en cas d'erreur."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:402
|
||||
msgid ""
|
||||
|
@ -531,6 +614,13 @@ msgid ""
|
|||
"new attribute values. We might be tempted, for example to assign the "
|
||||
"``first`` member like this::"
|
||||
msgstr ""
|
||||
"Contrairement au gestionnaire ``tp_new``, il n'y a aucune garantie que "
|
||||
"``tp_init`` soit appelé (par exemple, le module :mod:`pickle` par défaut "
|
||||
"n'appelle pas :meth:`__init__` sur les instances *unpickled*). Il peut "
|
||||
"également être appelé plusieurs fois. N'importe qui peut appeler la méthode :"
|
||||
"meth:`__init__` sur nos objets. Pour cette raison, nous devons être très "
|
||||
"prudents lors de l'attribution des nouvelles valeurs d'attribut. On pourrait "
|
||||
"être tenté, par exemple, d'affecter le membre ``first`` comme ceci ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:416
|
||||
msgid ""
|
||||
|
@ -541,6 +631,12 @@ msgid ""
|
|||
"interpreter Lock <GIL>` and let arbitrary code run in other threads that "
|
||||
"accesses and modifies our object."
|
||||
msgstr ""
|
||||
"Mais ce serait risqué. Notre type ne limite pas le type du membre ``first``, "
|
||||
"il peut donc s'agir de n'importe quel type d'objet. Il pourrait avoir un "
|
||||
"destructeur qui provoque l'exécution de code essayant d'accéder au membre "
|
||||
"``first`` ; ou ce destructeur pourrait libérer le :term:`Global interpreter "
|
||||
"Lock <GIL>` et laisser du code arbitraire s'exécuter dans d'autres threads "
|
||||
"qui accèdent et modifient notre objet."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:423
|
||||
msgid ""
|
||||
|
@ -548,16 +644,22 @@ msgid ""
|
|||
"always reassign members before decrementing their reference counts. When "
|
||||
"don't we have to do this?"
|
||||
msgstr ""
|
||||
"Dans une optique paranoïaque et se prémunir contre cette éventualité, on "
|
||||
"réaffecte presque toujours les membres avant de décrémenter leur compteur de "
|
||||
"références. Quand ne devons-nous pas faire cela ?"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:427
|
||||
msgid "when we absolutely know that the reference count is greater than 1;"
|
||||
msgstr ""
|
||||
msgstr "lorsque l'on est sûr que le compteur de références est supérieur à 1 ;"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:429
|
||||
msgid ""
|
||||
"when we know that deallocation of the object [#]_ will neither release the :"
|
||||
"term:`GIL` nor cause any calls back into our type's code;"
|
||||
msgstr ""
|
||||
"lorsque nous savons que la libération de la mémoire de l'objet [#]_ ne "
|
||||
"libérera pas le :term:`GIL` ni ne provoquera de rappel dans le code de notre "
|
||||
"type ;"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:432
|
||||
msgid ""
|
||||
|
@ -565,17 +667,25 @@ msgid ""
|
|||
"tp_dealloc` handler on a type which doesn't support cyclic garbage "
|
||||
"collection [#]_."
|
||||
msgstr ""
|
||||
"lors de la décrémentation d'un compteur de références dans un gestionnaire :"
|
||||
"c:member:`~PyTypeObject.tp_dealloc` sur un type qui ne prend pas en charge "
|
||||
"le ramasse-miettes cyclique [#]_."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:435
|
||||
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 ""
|
||||
"Nous voulons exposer nos variables d'instance en tant qu'attributs. Il "
|
||||
"existe plusieurs façons de le faire. Le moyen le plus simple consiste à "
|
||||
"définir des définitions de membres ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:448
|
||||
msgid ""
|
||||
"and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::"
|
||||
msgstr ""
|
||||
"et placer les définitions dans l'emplacement :c:member:`~PyTypeObject."
|
||||
"tp_members` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:452
|
||||
msgid ""
|
||||
|
@ -583,6 +693,9 @@ msgid ""
|
|||
"documentation string. See the :ref:`Generic-Attribute-Management` section "
|
||||
"below for details."
|
||||
msgstr ""
|
||||
"Chaque définition de membre possède un nom, un type, un décalage, des "
|
||||
"indicateurs d'accès et une chaîne de documentation. Voir la section :ref:"
|
||||
"`Generic-Attribute-Management` ci-dessous pour plus de détails."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:456
|
||||
msgid ""
|
||||
|
@ -594,12 +707,22 @@ msgid ""
|
|||
"``NULL`` values, the members can be set to ``NULL`` if the attributes are "
|
||||
"deleted."
|
||||
msgstr ""
|
||||
"Un inconvénient de cette approche est qu'elle ne permet pas de restreindre "
|
||||
"les types d'objets pouvant être affectés aux attributs Python. Nous nous "
|
||||
"attendons à ce que le prénom et le nom soient des chaînes, mais tous les "
|
||||
"objets Python peuvent être affectés. De plus, les attributs peuvent être "
|
||||
"supprimés, en définissant les pointeurs C sur ``NULL``. Même si nous pouvons "
|
||||
"nous assurer que les membres sont initialisés avec des valeurs non ``NULL``, "
|
||||
"les membres peuvent être définis sur ``NULL`` si les attributs sont "
|
||||
"supprimés."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:463
|
||||
msgid ""
|
||||
"We define a single method, :meth:`Custom.name()`, that outputs the objects "
|
||||
"name as the concatenation of the first and last names. ::"
|
||||
msgstr ""
|
||||
"Nous définissons une seule méthode, :meth:`Custom.name()`, qui génère le nom "
|
||||
"des objets sous la forme de la concaténation des prénom et nom. ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:480
|
||||
msgid ""
|
||||
|
@ -610,6 +733,13 @@ msgid ""
|
|||
"to accept a positional argument tuple or keyword argument dictionary. This "
|
||||
"method is equivalent to the Python method:"
|
||||
msgstr ""
|
||||
"La méthode est implémentée comme une fonction C qui prend une instance :"
|
||||
"class:`Custom` (ou une sous-classe de :class:`Custom`) comme premier "
|
||||
"argument. Les méthodes prennent toujours une instance comme premier "
|
||||
"argument. Les méthodes prennent souvent aussi des arguments positionnels et "
|
||||
"nommés, mais dans ce cas nous n'en prenons aucun et n'avons pas besoin "
|
||||
"d'accepter un *n*-uplet d'arguments positionnels ou un dictionnaire en "
|
||||
"argument nommé. Cette méthode est équivalente à la méthode Python :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:492
|
||||
msgid ""
|
||||
|
@ -619,22 +749,32 @@ msgid ""
|
|||
"of these attributes and to restrict the attribute values to be strings. "
|
||||
"We'll see how to do that in the next section."
|
||||
msgstr ""
|
||||
"Notez que nous devons vérifier la possibilité que nos membres :attr:`first` "
|
||||
"et :attr:`last` soient ``NULL``. En effet, ils peuvent être supprimés, "
|
||||
"auquel cas ils sont définis sur ``NULL``. Il serait préférable d'empêcher la "
|
||||
"suppression de ces attributs et de limiter les valeurs d'attribut à des "
|
||||
"chaînes. Nous verrons comment procéder dans la section suivante."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:498
|
||||
msgid ""
|
||||
"Now that we've defined the method, we need to create an array of method "
|
||||
"definitions::"
|
||||
msgstr ""
|
||||
"Maintenant que nous avons défini la méthode, nous devons créer un tableau de "
|
||||
"définitions de méthode ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:508
|
||||
msgid ""
|
||||
"(note that we used the :c:macro:`METH_NOARGS` flag to indicate that the "
|
||||
"method is expecting no arguments other than *self*)"
|
||||
msgstr ""
|
||||
"(notez que nous avons utilisé le drapeau :c:macro:`METH_NOARGS` pour "
|
||||
"indiquer que la méthode n'attend aucun argument autre que *self*)"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:511
|
||||
msgid "and assign it to the :c:member:`~PyTypeObject.tp_methods` slot::"
|
||||
msgstr ""
|
||||
"et assignons-le à l'emplacement :c:member:`~PyTypeObject.tp_methods` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:515
|
||||
msgid ""
|
||||
|
@ -643,6 +783,11 @@ msgid ""
|
|||
"about the type of the object being created or used, so all we need to do is "
|
||||
"to add the :c:macro:`Py_TPFLAGS_BASETYPE` to our class flag definition::"
|
||||
msgstr ""
|
||||
"Enfin, nous rendons notre type utilisable comme classe de base pour le sous-"
|
||||
"classement. Nous avons écrit nos méthodes avec soin jusqu'à présent afin "
|
||||
"qu'elles ne fassent aucune hypothèse sur le type de l'objet créé ou utilisé, "
|
||||
"donc tout ce que nous avons à faire est d'ajouter la macro :c:macro:"
|
||||
"`Py_TPFLAGS_BASETYPE` à notre définition d'indicateur de classe ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:522
|
||||
msgid ""
|
||||
|
@ -650,14 +795,19 @@ msgid ""
|
|||
"module name in the :c:type:`PyModuleDef` struct, and update the full class "
|
||||
"name in the :c:type:`PyTypeObject` struct."
|
||||
msgstr ""
|
||||
"Nous renommons :c:func:`PyInit_custom` en :c:func:`PyInit_custom2`, mettons "
|
||||
"à jour le nom du module dans la structure :c:type:`PyModuleDef` et mettons à "
|
||||
"jour le nom complet de la classe dans la structure :c:type:`PyTypeObject`."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:526
|
||||
msgid "Finally, we update our :file:`setup.py` file to build the new module:"
|
||||
msgstr ""
|
||||
"Enfin, nous mettons à jour notre fichier :file:`setup.py` pour construire le "
|
||||
"nouveau module :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:539
|
||||
msgid "Providing finer control over data attributes"
|
||||
msgstr ""
|
||||
msgstr "Contrôle précis sur les attributs de données"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:541
|
||||
msgid ""
|
||||
|
@ -667,6 +817,12 @@ msgid ""
|
|||
"attr:`last` could be set to non-string values or even deleted. We want to "
|
||||
"make sure that these attributes always contain strings."
|
||||
msgstr ""
|
||||
"Dans cette section, nous assurons un contrôle plus précis sur la façon dont "
|
||||
"les attributs :attr:`first` et :attr:`last` sont définis dans l'exemple :"
|
||||
"class:`Custom`. Dans la version précédente de notre module, les variables "
|
||||
"d'instance :attr:`first` et :attr:`last` pouvaient être définies sur des "
|
||||
"valeurs autres que des chaînes ou même supprimées. Nous voulons nous assurer "
|
||||
"que ces attributs contiennent toujours des chaînes."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:550
|
||||
msgid ""
|
||||
|
@ -674,6 +830,10 @@ msgid ""
|
|||
"attributes, we'll use custom getter and setter functions. Here are the "
|
||||
"functions for getting and setting the :attr:`first` attribute::"
|
||||
msgstr ""
|
||||
"Pour avoir un meilleur contrôle sur les attributs :attr:`first` et :attr:"
|
||||
"`last`, nous utilisons des fonctions accesseur (*getter*) et mutateur "
|
||||
"(*setter*) personnalisées. Voici les fonctions pour obtenir et définir "
|
||||
"l'attribut :attr:`first` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:581
|
||||
msgid ""
|
||||
|
@ -684,6 +844,13 @@ msgid ""
|
|||
"getter and setter functions that decide the attribute to get or set based on "
|
||||
"data in the closure.)"
|
||||
msgstr ""
|
||||
"L'accesseur reçoit un objet :class:`Custom` et une fermeture qui est un "
|
||||
"pointeur vide. Dans ce cas, la fermeture est ignorée. (La fermeture prend en "
|
||||
"charge une utilisation avancée dans laquelle les données de définition sont "
|
||||
"transmises à l'accesseur et au mutateur. Cela pourrait, par exemple, être "
|
||||
"utilisé pour autoriser un seul ensemble de fonctions accesseur et mutateur "
|
||||
"qui décident de l'attribut à obtenir ou à définir en fonction des données "
|
||||
"dans la fermeture.)"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:587
|
||||
msgid ""
|
||||
|
@ -692,14 +859,19 @@ msgid ""
|
|||
"being deleted. In our setter, we raise an error if the attribute is deleted "
|
||||
"or if its new value is not a string."
|
||||
msgstr ""
|
||||
"Le mutateur reçoit l'objet :class:`Custom`, la nouvelle valeur et la "
|
||||
"fermeture. La nouvelle valeur peut être ``NULL``, auquel cas l'attribut est "
|
||||
"supprimé. Dans notre mutateur, nous levons une erreur si l'attribut est "
|
||||
"supprimé ou si sa nouvelle valeur n'est pas une chaîne."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:592
|
||||
msgid "We create an array of :c:type:`PyGetSetDef` structures::"
|
||||
msgstr ""
|
||||
msgstr "Nous créons un tableau de structures :c:type:`PyGetSetDef` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:602
|
||||
msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::"
|
||||
msgstr ""
|
||||
"et l'enregistrons dans l'emplacement :c:member:`~PyTypeObject.tp_getset` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:606
|
||||
msgid ""
|
||||
|
@ -707,16 +879,22 @@ msgid ""
|
|||
"mentioned above. In this case, we aren't using a closure, so we just pass "
|
||||
"``NULL``."
|
||||
msgstr ""
|
||||
"Le dernier élément d'une structure :c:type:`PyGetSetDef` est la fermeture "
|
||||
"mentionnée ci-dessus. Dans ce cas, nous n'utilisons pas de fermeture, nous "
|
||||
"passons donc simplement ``NULL``."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:609
|
||||
msgid "We also remove the member definitions for these attributes::"
|
||||
msgstr ""
|
||||
"Nous supprimons également les définitions de membre pour ces attributs :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:617
|
||||
msgid ""
|
||||
"We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only "
|
||||
"allow strings [#]_ to be passed::"
|
||||
msgstr ""
|
||||
"Nous devons également mettre à jour le gestionnaire :c:member:`~PyTypeObject."
|
||||
"tp_init` pour autoriser uniquement le passage des chaînes [#]_ ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:646
|
||||
msgid ""
|
||||
|
@ -727,6 +905,13 @@ msgid ""
|
|||
"these calls is in the ``tp_dealloc`` implementation, where there is the "
|
||||
"possibility that the initialization of these members failed in ``tp_new``."
|
||||
msgstr ""
|
||||
"Avec ces modifications, nous pouvons garantir que les membres ``first`` et "
|
||||
"``last`` ne sont jamais ``NULL``, nous pouvons donc supprimer les "
|
||||
"vérifications des valeurs ``NULL`` dans presque tous les cas. Cela signifie "
|
||||
"que la plupart des appels :c:func:`Py_XDECREF` peuvent être convertis en "
|
||||
"appels :c:func:`Py_DECREF`. Le seul endroit où nous ne pouvons pas modifier "
|
||||
"ces appels est dans l'implémentation de ``tp_dealloc``, où il est possible "
|
||||
"que l'initialisation de ces membres ait échoué dans ``tp_new``."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:653
|
||||
msgid ""
|
||||
|
@ -734,10 +919,14 @@ msgid ""
|
|||
"initialization function, as we did before, and we add an extra definition to "
|
||||
"the :file:`setup.py` file."
|
||||
msgstr ""
|
||||
"Nous renommons également la fonction d'initialisation du module et le nom du "
|
||||
"module dans la fonction d'initialisation, comme nous l'avons fait "
|
||||
"précédemment, et nous ajoutons une définition supplémentaire au fichier :"
|
||||
"file:`setup.py`."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:659
|
||||
msgid "Supporting cyclic garbage collection"
|
||||
msgstr ""
|
||||
msgstr "Prise en charge du ramasse-miettes cyclique"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:661
|
||||
msgid ""
|
||||
|
@ -745,6 +934,10 @@ msgid ""
|
|||
"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 ""
|
||||
"Python a un :term:`ramasse-miettes cyclique <garbage collection>` qui peut "
|
||||
"identifier les objets inutiles même lorsque leur compteur de références "
|
||||
"n'est pas nul. Cela peut se produire lorsque des objets sont impliqués dans "
|
||||
"des cycles. Par exemple, considérons :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:671
|
||||
msgid ""
|
||||
|
@ -753,6 +946,11 @@ msgid ""
|
|||
"zero. Fortunately, Python's cyclic garbage collector will eventually figure "
|
||||
"out that the list is garbage and free it."
|
||||
msgstr ""
|
||||
"Dans cet exemple, nous créons une liste qui se contient elle-même. Lorsque "
|
||||
"nous la supprimons, il existe toujours une référence à elle-même. Son "
|
||||
"compteur de références ne tombe pas à zéro. Heureusement, le ramasse-miettes "
|
||||
"cyclique de Python finira par comprendre que la liste est un déchet et la "
|
||||
"libérera."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:676
|
||||
msgid ""
|
||||
|
@ -762,6 +960,12 @@ msgid ""
|
|||
"`Custom`, and subclasses may add arbitrary attributes. For any of those two "
|
||||
"reasons, :class:`Custom` objects can participate in cycles:"
|
||||
msgstr ""
|
||||
"Dans la seconde version de l'exemple :class:`Custom`, nous avons autorisé le "
|
||||
"stockage de n'importe quel type d'objet dans les attributs :attr:`first` ou :"
|
||||
"attr:`last` [#]_. De plus, dans les deuxième et troisième versions, nous "
|
||||
"avons autorisé le sous-classement de :class:`Custom`, et les sous-classes "
|
||||
"peuvent ajouter des attributs arbitraires. Pour l'une de ces deux raisons, "
|
||||
"les objets :class:`Custom` peuvent produire des cycles :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:690
|
||||
msgid ""
|
||||
|
@ -770,12 +974,19 @@ msgid ""
|
|||
"needs to fill two additional slots and to enable a flag that enables these "
|
||||
"slots:"
|
||||
msgstr ""
|
||||
"Pour permettre à une instance :class:`Custom` participant à des références "
|
||||
"cycliques d'être correctement détectée et collectée par le ramasse-miettes "
|
||||
"cyclique, notre type :class:`Custom` doit définir deux emplacements "
|
||||
"supplémentaires et activer un drapeau qui active ces emplacements :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:697
|
||||
msgid ""
|
||||
"First, the traversal method lets the cyclic GC know about subobjects that "
|
||||
"could participate in cycles::"
|
||||
msgstr ""
|
||||
"Tout d'abord, la méthode de parcours (*Custom_traverse*) permet au ramasse-"
|
||||
"miettes cyclique de connaître les sous-objets qui pourraient conduire à des "
|
||||
"cycles ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:717
|
||||
msgid ""
|
||||
|
@ -785,6 +996,11 @@ msgid ""
|
|||
"*arg* passed to the traversal method. It returns an integer value that must "
|
||||
"be returned if it is non-zero."
|
||||
msgstr ""
|
||||
"Pour chaque sous-objet pouvant conduire à des cycles, nous devons appeler la "
|
||||
"fonction :c:func:`visit`, qui est passée à la méthode de parcours. La "
|
||||
"fonction :c:func:`visit` prend comme arguments le sous-objet et l'argument "
|
||||
"supplémentaire *arg* passé à la méthode de parcours. Elle renvoie une valeur "
|
||||
"entière qui doit être renvoyée si elle est différente de zéro."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:723
|
||||
msgid ""
|
||||
|
@ -792,18 +1008,26 @@ msgid ""
|
|||
"functions. With :c:func:`Py_VISIT`, we can minimize the amount of "
|
||||
"boilerplate in ``Custom_traverse``::"
|
||||
msgstr ""
|
||||
"Python fournit une macro :c:func:`Py_VISIT` qui automatise l'appel des "
|
||||
"fonctions de visite. Avec :c:func:`Py_VISIT`, nous pouvons minimiser la "
|
||||
"quantité de code générique dans ``Custom_traverse`` ::"
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:736
|
||||
msgid ""
|
||||
"The :c:member:`~PyTypeObject.tp_traverse` implementation must name its "
|
||||
"arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`."
|
||||
msgstr ""
|
||||
"l'implémentation :c:member:`~PyTypeObject.tp_traverse` doit nommer ses "
|
||||
"arguments exactement *visit* et *arg* afin d'utiliser :c:func:`Py_VISIT`."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:739
|
||||
msgid ""
|
||||
"Second, we need to provide a method for clearing any subobjects that can "
|
||||
"participate in cycles::"
|
||||
msgstr ""
|
||||
"Deuxièmement, nous devons fournir une méthode pour effacer tous les sous-"
|
||||
"objets qui peuvent conduire à des cycles ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:750
|
||||
msgid ""
|
||||
|
@ -814,10 +1038,17 @@ msgid ""
|
|||
"attribute's destructor would call back into code that reads the attribute "
|
||||
"again (*especially* if there is a reference cycle)."
|
||||
msgstr ""
|
||||
"Notez l'utilisation de la macro :c:func:`Py_CLEAR`. C'est le moyen "
|
||||
"recommandé et sûr d'effacer les attributs de données de types arbitraires "
|
||||
"tout en décrémentant leur compteur de références. Si vous deviez appeler :c:"
|
||||
"func:`Py_XDECREF` à la place sur l'attribut avant de le définir sur "
|
||||
"``NULL``, il est possible que le destructeur de l'attribut appelle du code "
|
||||
"qui lit à nouveau l'attribut (*surtout* s'il existe un cycle de références)."
|
||||
|
||||
# suit un :
|
||||
#: extending/newtypes_tutorial.rst:758
|
||||
msgid "You could emulate :c:func:`Py_CLEAR` by writing::"
|
||||
msgstr ""
|
||||
msgstr "vous pouvez émuler :c:func:`Py_CLEAR` en écrivant ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:765
|
||||
msgid ""
|
||||
|
@ -825,6 +1056,9 @@ msgid ""
|
|||
"`Py_CLEAR` when deleting an attribute. Don't try to micro-optimize at the "
|
||||
"expense of robustness!"
|
||||
msgstr ""
|
||||
"Néanmoins, il est beaucoup plus facile et moins sujet aux erreurs de "
|
||||
"toujours utiliser :c:func:`Py_CLEAR` lors de la suppression d'un attribut. "
|
||||
"N'essayez pas de micro-optimiser au détriment de la robustesse !"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:769
|
||||
msgid ""
|
||||
|
@ -835,11 +1069,21 @@ msgid ""
|
|||
"members. Here is our reimplemented deallocator using :c:func:"
|
||||
"`PyObject_GC_UnTrack` and ``Custom_clear``::"
|
||||
msgstr ""
|
||||
"La fonction de libération de la mémoire ``Custom_dealloc`` peut appeler du "
|
||||
"code arbitraire lors de la suppression des attributs. Cela signifie que le "
|
||||
"ramasse-miettes cyclique peut être déclenché à l'intérieur de la fonction. "
|
||||
"Étant donné que le ramasse-miettes suppose que le nombre de références n'est "
|
||||
"pas nul, nous devons annuler le suivi de l'objet par le ramasse-miettes en "
|
||||
"appelant :c:func:`PyObject_GC_UnTrack` avant d'effacer les membres. Voici "
|
||||
"notre fonction de libération de la mémoire réimplémentée en utilisant :c:"
|
||||
"func:`PyObject_GC_UnTrack` et ``Custom_clear`` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:784
|
||||
msgid ""
|
||||
"Finally, we add the :c:macro:`Py_TPFLAGS_HAVE_GC` flag to the class flags::"
|
||||
msgstr ""
|
||||
"Enfin, nous ajoutons le drapeau :c:macro:`Py_TPFLAGS_HAVE_GC` aux drapeaux "
|
||||
"de la classe ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:788
|
||||
msgid ""
|
||||
|
@ -848,10 +1092,14 @@ msgid ""
|
|||
"them for cyclic garbage collection. Most extensions will use the versions "
|
||||
"automatically provided."
|
||||
msgstr ""
|
||||
"C'est à peu près tout. Si nous avions écrit des gestionnaires personnalisés :"
|
||||
"c:member:`~PyTypeObject.tp_alloc` ou :c:member:`~PyTypeObject.tp_free`, nous "
|
||||
"aurions besoin de les modifier pour le ramasse-miettes cyclique. La plupart "
|
||||
"des extensions utilisent les versions fournies automatiquement."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:794
|
||||
msgid "Subclassing other types"
|
||||
msgstr ""
|
||||
msgstr "Sous-classement d'autres types"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:796
|
||||
msgid ""
|
||||
|
@ -860,6 +1108,11 @@ msgid ""
|
|||
"can easily use the :c:type:`PyTypeObject` it needs. It can be difficult to "
|
||||
"share these :c:type:`PyTypeObject` structures between extension modules."
|
||||
msgstr ""
|
||||
"Il est possible de créer de nouveaux types d'extension dérivés de types "
|
||||
"existants. Il est plus facile d'hériter des types natifs, car une extension "
|
||||
"peut facilement utiliser le :c:type:`PyTypeObject` dont elle a besoin. Il "
|
||||
"peut être difficile de partager ces structures :c:type:`PyTypeObject` entre "
|
||||
"modules d'extension."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:801
|
||||
msgid ""
|
||||
|
@ -868,6 +1121,10 @@ msgid ""
|
|||
"with regular lists, but will have an additional :meth:`increment` method "
|
||||
"that increases an internal counter:"
|
||||
msgstr ""
|
||||
"Dans cet exemple, nous allons créer un type :class:`SubList` qui hérite du "
|
||||
"type intégré :class:`list`. Le nouveau type sera complètement compatible "
|
||||
"avec les listes natives, mais aura une méthode supplémentaire :meth:"
|
||||
"`increment` qui augmente un compteur interne :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:821
|
||||
msgid ""
|
||||
|
@ -875,6 +1132,9 @@ msgid ""
|
|||
"examples in previous sections. We will break down the main differences "
|
||||
"between them. ::"
|
||||
msgstr ""
|
||||
"Comme vous pouvez le voir, le code source ressemble beaucoup aux exemples :"
|
||||
"class:`Custom` des sections précédentes. Analysons les principales "
|
||||
"différences ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:829
|
||||
msgid ""
|
||||
|
@ -882,6 +1142,9 @@ msgid ""
|
|||
"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 ""
|
||||
"La principale différence pour les objets d'un type dérivé est que la "
|
||||
"structure d'objet du type père doit être la première valeur. Le type père "
|
||||
"inclut déjà le :c:func:`PyObject_HEAD` au début de sa structure."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:833
|
||||
msgid ""
|
||||
|
@ -889,12 +1152,17 @@ msgid ""
|
|||
"pointer can be safely cast to both ``PyListObject *`` and ``SubListObject "
|
||||
"*``::"
|
||||
msgstr ""
|
||||
"Lorsqu'un objet Python est une instance de :class:`SubList`, son pointeur "
|
||||
"``PyObject *`` peut être trans-typé en toute sécurité vers ``PyListObject "
|
||||
"*`` et ``SubListObject *`` ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:845
|
||||
msgid ""
|
||||
"We see above how to call through to the :attr:`__init__` method of the base "
|
||||
"type."
|
||||
msgstr ""
|
||||
"Nous voyons ci-dessus comment appeler la méthode :attr:`__init__` du type "
|
||||
"père."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:848
|
||||
msgid ""
|
||||
|
@ -904,6 +1172,12 @@ msgid ""
|
|||
"memory for the object with its :c:member:`~PyTypeObject.tp_alloc`, but let "
|
||||
"the base class handle it by calling its own :c:member:`~PyTypeObject.tp_new`."
|
||||
msgstr ""
|
||||
"Ce modèle est important lors de l'écriture d'un type avec des membres "
|
||||
"personnalisés :c:member:`~PyTypeObject.tp_new` et :c:member:`~PyTypeObject."
|
||||
"tp_dealloc`. Le gestionnaire :c:member:`~PyTypeObject.tp_new` ne doit pas "
|
||||
"réellement allouer la mémoire pour l'objet avec son :c:member:`~PyTypeObject."
|
||||
"tp_alloc`, mais laisser la classe mère gérer ça en appelant sa propre :c:"
|
||||
"member:`~PyTypeObject.tp_new`."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:854
|
||||
msgid ""
|
||||
|
@ -913,6 +1187,11 @@ msgid ""
|
|||
"type:`PyList_Type`; it should be done later in the module initialization "
|
||||
"function::"
|
||||
msgstr ""
|
||||
"La structure :c:type:`PyTypeObject` prend en charge un :c:member:"
|
||||
"`~PyTypeObject.tp_base` spécifiant la classe mère concrète du type. En "
|
||||
"raison de problèmes de compilateur multiplateformes, vous ne pouvez pas "
|
||||
"remplir ce champ directement avec une référence à :c:type:`PyList_Type` ; "
|
||||
"cela doit être fait plus tard dans la fonction d'initialisation du module ::"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:882
|
||||
msgid ""
|
||||
|
@ -922,12 +1201,19 @@ msgid ""
|
|||
"tp_alloc` slot with :c:func:`PyType_GenericNew` -- the allocation function "
|
||||
"from the base type will be inherited."
|
||||
msgstr ""
|
||||
"Avant d'appeler :c:func:`PyType_Ready`, la structure de type doit avoir "
|
||||
"l'emplacement :c:member:`~PyTypeObject.tp_base` rempli. Lorsque nous "
|
||||
"dérivons un type existant, il n'est pas nécessaire de remplir l'emplacement :"
|
||||
"c:member:`~PyTypeObject.tp_alloc` avec :c:func:`PyType_GenericNew` – la "
|
||||
"fonction d'allocation du type père sera héritée."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:888
|
||||
msgid ""
|
||||
"After that, calling :c:func:`PyType_Ready` and adding the type object to the "
|
||||
"module is the same as with the basic :class:`Custom` examples."
|
||||
msgstr ""
|
||||
"Ensuite, appeler :c:func:`PyType_Ready` et ajouter l'objet type au module se "
|
||||
"fait de la même manière qu'avec les exemples de base :class:`Custom`."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:893
|
||||
msgid "Footnotes"
|
||||
|
@ -938,12 +1224,17 @@ msgid ""
|
|||
"This is true when we know that the object is a basic type, like a string or "
|
||||
"a float."
|
||||
msgstr ""
|
||||
"C'est vrai lorsque nous savons que l'objet est un type de base, comme une "
|
||||
"chaîne ou un flottant."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:897
|
||||
msgid ""
|
||||
"We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in "
|
||||
"this example, because our type doesn't support garbage collection."
|
||||
msgstr ""
|
||||
"Nous nous sommes appuyés sur le gestionnaire :c:member:`~PyTypeObject."
|
||||
"tp_dealloc` dans cet exemple, car notre type ne prend pas en charge le "
|
||||
"ramasse-miettes."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:900
|
||||
msgid ""
|
||||
|
@ -954,6 +1245,13 @@ msgid ""
|
|||
"deallocating an instance of a string subclass won't call back into our "
|
||||
"objects."
|
||||
msgstr ""
|
||||
"Nous savons maintenant que les premier et dernier membres sont des chaînes, "
|
||||
"nous pourrions donc peut-être être moins prudents quant à la décrémentation "
|
||||
"de leur nombre de références, cependant, nous acceptons les instances de "
|
||||
"sous-classes de chaînes. Même si la libération de la mémoire des chaînes "
|
||||
"normales ne rappellera pas nos objets, nous ne pouvons pas garantir que la "
|
||||
"libération de mémoire d'une instance d'une sous-classe de chaîne ne "
|
||||
"rappellera pas nos objets."
|
||||
|
||||
#: extending/newtypes_tutorial.rst:906
|
||||
msgid ""
|
||||
|
@ -961,3 +1259,6 @@ msgid ""
|
|||
"could pass arbitrary :class:`str` subclasses and therefore still create "
|
||||
"reference cycles."
|
||||
msgstr ""
|
||||
"De plus, même avec nos attributs limités aux instances de chaînes, "
|
||||
"l'utilisateur pourrait passer des sous-classes arbitraires :class:`str` et "
|
||||
"donc encore créer des références cycliques."
|
||||
|
|
|
@ -6,13 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-21 14:55+0200\n"
|
||||
"PO-Revision-Date: 2020-06-28 15:18+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"PO-Revision-Date: 2023-07-28 22:32+0200\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: extending/windows.rst:8
|
||||
msgid "Building C and C++ Extensions on Windows"
|
||||
|
@ -44,7 +45,7 @@ msgstr ""
|
|||
"Les auteurs de modules sont invités à utiliser l'approche *distutils* pour "
|
||||
"construire des modules d'extension, au lieu de celle décrite dans cette "
|
||||
"section. Vous aurez toujours besoin du compilateur C utilisé pour construire "
|
||||
"Python ; typiquement Microsoft Visual C++."
|
||||
"Python ; typiquement Microsoft Visual C++."
|
||||
|
||||
#: extending/windows.rst:24
|
||||
msgid ""
|
||||
|
@ -57,7 +58,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Cette page mentionne plusieurs noms de fichiers comprenant un numéro de "
|
||||
"version Python encodé. Ces noms de fichiers sont construits sous le format "
|
||||
"de version ``XY`` ; en pratique, ``'X'`` représente le numéro de version "
|
||||
"de version ``XY`` ; en pratique, ``'X'`` représente le numéro de version "
|
||||
"majeure et ``'Y'`` représente le numéro de version mineure de la version "
|
||||
"Python avec laquelle vous travaillez. Par exemple, si vous utilisez Python "
|
||||
"2.2.1, ``XY`` correspond à ``22``."
|
||||
|
@ -67,7 +68,6 @@ msgid "A Cookbook Approach"
|
|||
msgstr "Une approche \"recette de cuisine\""
|
||||
|
||||
#: extending/windows.rst:36
|
||||
#, fuzzy
|
||||
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 "
|
||||
|
@ -79,9 +79,9 @@ msgid ""
|
|||
"library module."
|
||||
msgstr ""
|
||||
"Il y a deux approches lorsque l'on construit des modules d'extension sur "
|
||||
"Windows, tout comme sur Unix : utiliser le paquet :mod:`distutils` pour "
|
||||
"Windows, tout comme sur Unix : utiliser le paquet :mod:`distutils` pour "
|
||||
"contrôler le processus de construction, ou faire les choses manuellement. "
|
||||
"L'approche *distutils* fonctionne bien pour la plupart des extensions ; la "
|
||||
"L'approche *distutils* fonctionne bien pour la plupart des extensions ; la "
|
||||
"documentation pour utiliser :mod:`distutils` pour construire et empaqueter "
|
||||
"les modules d'extension est disponible dans :ref:`distutils-index`. Si vous "
|
||||
"considérez que vous avez réellement besoin de faire les choses manuellement, "
|
||||
|
@ -131,10 +131,10 @@ msgid ""
|
|||
"data."
|
||||
msgstr ""
|
||||
"Sur Windows, un fichier bibliothèque de liens dynamiques (:file:`.dll`) n'a "
|
||||
"pas de références paresseuses. A la place, un accès aux fonctions ou données "
|
||||
"pas de références paresseuses. À la place, un accès aux fonctions ou données "
|
||||
"passe par une table de conversion. Cela est fait pour que le code DLL ne "
|
||||
"doive pas être réarrangé à l'exécution pour renvoyer à la mémoire du "
|
||||
"programme ; à la place, le code utilise déjà la table de conversion DLL, et "
|
||||
"programme ; à la place, le code utilise déjà la table de conversion DLL, et "
|
||||
"cette table est modifiée à l'exécution pour pointer vers les fonctions et "
|
||||
"données."
|
||||
|
||||
|
@ -151,7 +151,7 @@ msgstr ""
|
|||
"contient du code venant de plusieurs fichiers objets (:file:`.o`). Durant "
|
||||
"l'étape de liaison pour créer un fichier objet partagé (:file:`.so`), le "
|
||||
"lieur peut informer qu'il ne sait pas où un identificateur est défini. Le "
|
||||
"lieur le cherchera dans les fichiers objet dans les bibliothèques ; s'il le "
|
||||
"lieur le cherchera dans les fichiers objet dans les bibliothèques ; s'il le "
|
||||
"trouve, il inclura tout le code provenant de ce fichier objet."
|
||||
|
||||
#: extending/windows.rst:76
|
||||
|
@ -169,7 +169,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Sur Windows, il y a deux types de bibliothèques, une bibliothèque statique "
|
||||
"et une bibliothèque d'importation (toutes deux appelées :file:`.lib`). Une "
|
||||
"bibliothèque statique est comme un fichier Unix :file:`.a` ; elle contient "
|
||||
"bibliothèque statique est comme un fichier Unix :file:`.a` ; elle contient "
|
||||
"du code pouvant être inclus si nécessaire. Une bibliothèque d'importation "
|
||||
"est uniquement utilisée pour rassurer le lieur qu'un certain identificateur "
|
||||
"est légal, et sera présent dans le programme quand la DLL est chargée. Comme "
|
||||
|
@ -193,10 +193,10 @@ msgstr ""
|
|||
"Supposons que vous construisez deux modules de chargement dynamiques, B et "
|
||||
"C, qui ne devraient pas partager un autre bloc de code avec A. Sur Unix, "
|
||||
"vous ne transmettrez pas :file:`A.a` au lieur pour :file:`B.so` et :file:`C."
|
||||
"so` ; cela le ferait être inclus deux fois, pour que B et C aient chacun "
|
||||
"so` ; cela le ferait être inclus deux fois, pour que B et C aient chacun "
|
||||
"leur propre copie. Sur Windows, construire :file:`A.dll` construira aussi :"
|
||||
"file:`A.lib`. Vous transmettez :file:`A.lib` au lieur pour B et C. :file:`A."
|
||||
"lib` ne contient pas de code ; il contient uniquement des informations qui "
|
||||
"lib` ne contient pas de code ; il contient uniquement des informations qui "
|
||||
"seront utilisées lors de l'exécution pour accéder au code de A."
|
||||
|
||||
#: extending/windows.rst:94
|
||||
|
@ -207,23 +207,22 @@ msgid ""
|
|||
"create a separate copy."
|
||||
msgstr ""
|
||||
"Sur Windows, utiliser une bibliothèque d'importation est comme utiliser "
|
||||
"``import spam``; cela vous donne accès aux noms des spams, mais ne crée par "
|
||||
"``import spam`` ; cela vous donne accès aux noms des spams, mais ne crée par "
|
||||
"de copie séparée. Sur Unix, se lier à une bibliothèque est plus comme ``from "
|
||||
"spam import *`` ; cela crée une copie séparée."
|
||||
"spam import *`` ; cela crée une copie séparée."
|
||||
|
||||
#: extending/windows.rst:103
|
||||
msgid "Using DLLs in Practice"
|
||||
msgstr "Utiliser les DLL en pratique"
|
||||
|
||||
#: extending/windows.rst:108
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Windows Python is built in Microsoft Visual C++; using other compilers may "
|
||||
"or may not work. The rest of this section is MSVC++ specific."
|
||||
msgstr ""
|
||||
"Le Python de Windows est construit en Microsoft Visual C++ ; utiliser "
|
||||
"d'autres compilateurs pourrait fonctionner, ou pas (cependant Borland a "
|
||||
"l'air de fonctionner). Le reste de cette section est spécifique à MSVC++."
|
||||
"Le Python de Windows est construit en Microsoft Visual C++ ; utiliser "
|
||||
"d'autres compilateurs pourrait fonctionner, ou pas. Le reste de cette "
|
||||
"section est spécifique à MSVC++."
|
||||
|
||||
#: extending/windows.rst:111
|
||||
msgid ""
|
||||
|
@ -242,7 +241,7 @@ msgid ""
|
|||
"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find "
|
||||
"the Python code thanks to :file:`pythonXY.lib`."
|
||||
msgstr ""
|
||||
"La première commande a créé trois fichiers : :file:`spam.obj`, :file:`spam."
|
||||
"La première commande a créé trois fichiers : :file:`spam.obj`, :file:`spam."
|
||||
"dll` et :file:`spam.lib`. :file:`Spam.dll` ne contient pas de fonctions "
|
||||
"Python (telles que :c:func:`PyArg_ParseTuple`), mais il sait comment trouver "
|
||||
"le code Python grâce à :file:`pythonXY.lib`."
|
||||
|
|
|
@ -820,7 +820,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les *n*-uplets sont immuables, ce qui signifie que lorsqu'un *n*-uplet a été "
|
||||
"créé, vous ne pouvez remplacer aucun de ses éléments par une nouvelle "
|
||||
"valeur. Les listes sont muables, ce qui signifie que vous pouvez toujours "
|
||||
"valeur. Les listes sont mutables, ce qui signifie que vous pouvez toujours "
|
||||
"modifier les éléments d'une liste. Seuls des éléments immuables peuvent être "
|
||||
"utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul "
|
||||
"des *n*-uplets peuvent être utilisés comme clés."
|
||||
|
@ -922,7 +922,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"L'implémentation de la table de hachage des dictionnaires utilise une valeur "
|
||||
"de hachage calculée à partir de la valeur de la clé pour trouver la clé elle-"
|
||||
"même. Si la clé était un objet muable, sa valeur peut changer, et donc son "
|
||||
"même. Si la clé était un objet mutable, sa valeur peut changer, et donc son "
|
||||
"hachage pourrait également changer. Mais toute personne modifiant l'objet "
|
||||
"clé ne peut pas dire qu'elle a été utilisée comme une clé de dictionnaire. "
|
||||
"Il ne peut déplacer l'entrée dans le dictionnaire. Ainsi, lorsque vous "
|
||||
|
@ -975,7 +975,7 @@ msgid ""
|
|||
"copying code would run into an infinite loop."
|
||||
msgstr ""
|
||||
"Faire une copie lors de l'utilisation d'une liste en tant que clé. Cela ne "
|
||||
"fonctionne pas puisque la liste, étant un objet muable, pourrait contenir "
|
||||
"fonctionne pas puisque la liste, étant un objet mutable, pourrait contenir "
|
||||
"une référence à elle-même ou avoir une boucle infinie au niveau du code "
|
||||
"copié."
|
||||
|
||||
|
|
|
@ -798,7 +798,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Lists are :term:`mutable`, which means that you can change their content."
|
||||
msgstr ""
|
||||
"Les listes sont des :term:`muable`, ce qui signifie que leur contenu peut "
|
||||
"Les listes sont des :term:`mutable`, ce qui signifie que leur contenu peut "
|
||||
"être modifié."
|
||||
|
||||
#: faq/programming.rst:457
|
||||
|
@ -807,7 +807,7 @@ msgid ""
|
|||
"has changed from ``[]`` to ``[10]``. Since both the variables refer to the "
|
||||
"same object, using either name accesses the modified value ``[10]``."
|
||||
msgstr ""
|
||||
"Après l'appel de :meth:`~list.append`, le contenu de l'objet muable est "
|
||||
"Après l'appel de :meth:`~list.append`, le contenu de l'objet mutable est "
|
||||
"passé de ``[]`` à ``[10]``. Vu que les deux variables font référence au même "
|
||||
"objet, il est possible d'accéder à la valeur modifiée ``[10]`` avec chacun "
|
||||
"des noms."
|
||||
|
@ -881,7 +881,7 @@ msgid ""
|
|||
"etc.), we can use some specific operations to mutate it and all the "
|
||||
"variables that refer to it will see the change."
|
||||
msgstr ""
|
||||
"Il est possible d'appliquer des opérations qui modifient un objet muable (:"
|
||||
"Il est possible d'appliquer des opérations qui modifient un objet mutable (:"
|
||||
"class:`list`, :class:`dict`, :class:`set`, etc.) et toutes les variables qui "
|
||||
"y font référence verront le changement."
|
||||
|
||||
|
@ -942,7 +942,7 @@ msgstr ""
|
|||
|
||||
#: faq/programming.rst:532
|
||||
msgid "By passing a mutable (changeable in-place) object::"
|
||||
msgstr "En passant un objet muable (modifiable sur place) ::"
|
||||
msgstr "En passant un objet mutable (modifiable sur place) ::"
|
||||
|
||||
#: faq/programming.rst:543
|
||||
msgid "By passing in a dictionary that gets mutated::"
|
||||
|
@ -2060,7 +2060,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Ceci est dû à la combinaison de deux facteurs : le fait que les opérateurs "
|
||||
"d'affectation incrémentaux sont des opérateurs d'*affectation* et à la "
|
||||
"différence entre les objets muables et immuables en Python."
|
||||
"différence entre les objets mutables et immuables en Python."
|
||||
|
||||
#: faq/programming.rst:1352
|
||||
msgid ""
|
||||
|
@ -2070,7 +2070,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Cette discussion est valable, en général, quand des opérateurs d'affectation "
|
||||
"incrémentale sont appliqués aux éléments d'un *n*-uplet qui pointe sur des "
|
||||
"objets muables, mais on prendra ``list`` et ``+=`` comme exemple."
|
||||
"objets mutables, mais on prendra ``list`` et ``+=`` comme exemple."
|
||||
|
||||
#: faq/programming.rst:1356
|
||||
msgid "If you wrote::"
|
||||
|
@ -2167,7 +2167,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"L'appel à :meth:`!__iadd__` réussit et la liste est étendue, mais bien que "
|
||||
"``result`` pointe sur le même objet que ``a_tuple[0]``, l'affectation finale "
|
||||
"échoue car les *n*-uplets ne sont pas muables."
|
||||
"échoue car les *n*-uplets ne sont pas mutables."
|
||||
|
||||
#: faq/programming.rst:1433
|
||||
msgid ""
|
||||
|
@ -2811,7 +2811,7 @@ msgstr ""
|
|||
#: faq/programming.rst:1871
|
||||
msgid "Likewise, new instances of mutable containers are never identical::"
|
||||
msgstr ""
|
||||
"De même, deux instances fraîchement créées d'un type de conteneurs muables "
|
||||
"De même, deux instances fraîchement créées d'un type de conteneurs mutables "
|
||||
"ne sont jamais identiques ::"
|
||||
|
||||
#: faq/programming.rst:1878
|
||||
|
|
64
glossary.po
64
glossary.po
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2023-03-19 13:06+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"PO-Revision-Date: 2023-10-05 22:23-0600\n"
|
||||
"Last-Translator: James Adjinwa <jamesadjinwa000@duck.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.1\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#: glossary.rst:5
|
||||
msgid "Glossary"
|
||||
|
@ -211,15 +211,15 @@ msgid "asynchronous context manager"
|
|||
msgstr "gestionnaire de contexte asynchrone"
|
||||
|
||||
#: glossary.rst:94
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An object which controls the environment seen in an :keyword:`async with` "
|
||||
"statement by defining :meth:`~object.__aenter__` and :meth:`~object."
|
||||
"__aexit__` methods. Introduced by :pep:`492`."
|
||||
msgstr ""
|
||||
"(*asynchronous context manager* en anglais) Objet contrôlant l'environnement "
|
||||
"à l'intérieur d'une instruction :keyword:`with` en définissant les méthodes :"
|
||||
"meth:`__aenter__` et :meth:`__aexit__`. A été Introduit par la :pep:`492`."
|
||||
"à l'intérieur d'une instruction :keyword:`async with` en définissant les "
|
||||
"méthodes :meth:`~object.__aenter__` et :meth:`~object.__aexit__`. A été "
|
||||
"Introduit par la :pep:`492`."
|
||||
|
||||
#: glossary.rst:97
|
||||
msgid "asynchronous generator"
|
||||
|
@ -267,7 +267,6 @@ msgstr ""
|
|||
"Objet créé par un :term:`générateur asynchrone <asynchronous generator>`."
|
||||
|
||||
#: glossary.rst:115
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This is an :term:`asynchronous iterator` which when called using the :meth:"
|
||||
"`~object.__anext__` method returns an awaitable object which will execute "
|
||||
|
@ -275,11 +274,11 @@ msgid ""
|
|||
"`yield` expression."
|
||||
msgstr ""
|
||||
"C'est un :term:`asynchronous iterator` qui, lorsqu'il est appelé via la "
|
||||
"méthode :meth:`__anext__` renvoie un objet *awaitable* qui exécute le corps "
|
||||
"de la fonction du générateur asynchrone jusqu'au prochain :keyword:`yield`."
|
||||
"méthode :meth:`~object.__anext__` renvoie un objet *awaitable* qui exécute "
|
||||
"le corps de la fonction du générateur asynchrone jusqu'au prochain :keyword:"
|
||||
"`yield`."
|
||||
|
||||
#: glossary.rst:120
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Each :keyword:`yield` temporarily suspends processing, remembering the "
|
||||
"location execution state (including local variables and pending try-"
|
||||
|
@ -288,33 +287,31 @@ msgid ""
|
|||
"where it left off. See :pep:`492` and :pep:`525`."
|
||||
msgstr ""
|
||||
"Chaque :keyword:`yield` suspend temporairement l'exécution, en gardant en "
|
||||
"mémoire l'endroit et l'état de l'exécution (ce qui inclut les variables "
|
||||
"mémoire l'emplacement et l'état de l'exécution (ce qui inclut les variables "
|
||||
"locales et les *try* en cours). Lorsque l'exécution de l'itérateur de "
|
||||
"générateur asynchrone reprend avec un nouvel *awaitable* renvoyé par :meth:"
|
||||
"`__anext__`, elle repart de là où elle s'était arrêtée. Voir les :pep:`492` "
|
||||
"et :pep:`525`."
|
||||
"`~object.__anext__`, elle repart de là où elle s'était arrêtée. Voir les :"
|
||||
"pep:`492` et :pep:`525`."
|
||||
|
||||
#: glossary.rst:125
|
||||
msgid "asynchronous iterable"
|
||||
msgstr "itérable asynchrone"
|
||||
|
||||
#: glossary.rst:127
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An object, that can be used in an :keyword:`async for` statement. Must "
|
||||
"return an :term:`asynchronous iterator` from its :meth:`~object.__aiter__` "
|
||||
"method. Introduced by :pep:`492`."
|
||||
msgstr ""
|
||||
"Objet qui peut être utilisé dans une instruction :keyword:`async for`. Sa "
|
||||
"méthode :meth:`__aiter__` doit renvoyer un :term:`asynchronous iterator`. A "
|
||||
"été introduit par la :pep:`492`."
|
||||
"méthode :meth:`~object.__aiter__` doit renvoyer un :term:`asynchronous "
|
||||
"iterator`. A été introduit par la :pep:`492`."
|
||||
|
||||
#: glossary.rst:130
|
||||
msgid "asynchronous iterator"
|
||||
msgstr "itérateur asynchrone"
|
||||
|
||||
#: glossary.rst:132
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An object that implements the :meth:`~object.__aiter__` and :meth:`~object."
|
||||
"__anext__` methods. :meth:`~object.__anext__` must return an :term:"
|
||||
|
@ -322,12 +319,12 @@ msgid ""
|
|||
"an asynchronous iterator's :meth:`~object.__anext__` method until it raises "
|
||||
"a :exc:`StopAsyncIteration` exception. Introduced by :pep:`492`."
|
||||
msgstr ""
|
||||
"Objet qui implémente les méthodes :meth:`__aiter__` et :meth:`__anext__`. "
|
||||
"``__anext__`` doit renvoyer un objet :term:`awaitable`. Tant que la méthode :"
|
||||
"meth:`__anext__` produit des objets *awaitable*, le :keyword:`async for` "
|
||||
"appelant les consomme. L'itérateur asynchrone lève une exception :exc:"
|
||||
"`StopAsyncIteration` pour signifier la fin de l'itération. A été introduit "
|
||||
"par la :pep:`492`."
|
||||
"Objet qui implémente les méthodes :meth:`~object.__aiter__` et :meth:"
|
||||
"`~object.__anext__`. :meth:`~object.__anext__` doit renvoyer un objet :term:"
|
||||
"`awaitable`. Tant que la méthode :meth:`~object.__anext__` produit des "
|
||||
"objets *awaitable*, le :keyword:`async for` appelant les consomme. "
|
||||
"L'itérateur asynchrone lève une exception :exc:`StopAsyncIteration` pour "
|
||||
"signifier la fin de l'itération. A été introduit par la :pep:`492`."
|
||||
|
||||
#: glossary.rst:137
|
||||
msgid "attribute"
|
||||
|
@ -362,15 +359,14 @@ msgid "awaitable"
|
|||
msgstr "attendable (*awaitable*)"
|
||||
|
||||
#: glossary.rst:151
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"An object that can be used in an :keyword:`await` expression. Can be a :"
|
||||
"term:`coroutine` or an object with an :meth:`~object.__await__` method. See "
|
||||
"also :pep:`492`."
|
||||
msgstr ""
|
||||
"Objet pouvant être utilisé dans une expression :keyword:`await`. Ce peut "
|
||||
"être une :term:`coroutine` ou un objet avec une méthode :meth:`__await__`. "
|
||||
"Voir aussi la :pep:`492`."
|
||||
"être une :term:`coroutine` ou un objet avec une méthode :meth:`~object."
|
||||
"__await__`. Voir aussi la :pep:`492`."
|
||||
|
||||
#: glossary.rst:154
|
||||
msgid "BDFL"
|
||||
|
@ -1392,7 +1388,7 @@ msgid ""
|
|||
"value is derived from their :func:`id`."
|
||||
msgstr ""
|
||||
"La plupart des types immuables natifs de Python sont hachables, mais les "
|
||||
"conteneurs muables (comme les listes ou les dictionnaires) ne le sont pas ; "
|
||||
"conteneurs mutables (comme les listes ou les dictionnaires) ne le sont pas ; "
|
||||
"les conteneurs immuables (comme les n-uplets ou les ensembles figés) ne sont "
|
||||
"hachables que si leurs éléments sont hachables. Les instances de classes "
|
||||
"définies par les utilisateurs sont hachables par défaut. Elles sont toutes "
|
||||
|
@ -1845,7 +1841,7 @@ msgstr ""
|
|||
"Conteneur permettant de rechercher des éléments à partir de clés et "
|
||||
"implémentant les méthodes spécifiées dans les classes mères abstraites des :"
|
||||
"class:`tableaux de correspondances <collections.abc.Mapping>` (immuables) "
|
||||
"ou :class:`tableaux de correspondances muables <collections.abc."
|
||||
"ou :class:`tableaux de correspondances mutables <collections.abc."
|
||||
"MutableMapping>` (voir les :ref:`classes mères abstraites <collections-"
|
||||
"abstract-base-classes>`). Les classes suivantes sont des exemples de "
|
||||
"tableaux de correspondances : :class:`dict`, :class:`collections."
|
||||
|
@ -1981,14 +1977,14 @@ msgstr "Voir :term:`ordre de résolution des méthodes`."
|
|||
|
||||
#: glossary.rst:814
|
||||
msgid "mutable"
|
||||
msgstr "muable"
|
||||
msgstr "mutable"
|
||||
|
||||
#: glossary.rst:816
|
||||
msgid ""
|
||||
"Mutable objects can change their value but keep their :func:`id`. See also :"
|
||||
"term:`immutable`."
|
||||
msgstr ""
|
||||
"Un objet muable peut changer de valeur tout en gardant le même :func:`id`. "
|
||||
"Un objet mutable peut changer de valeur tout en gardant le même :func:`id`. "
|
||||
"Voir aussi :term:`immuable`."
|
||||
|
||||
#: glossary.rst:818
|
||||
|
@ -2709,8 +2705,8 @@ msgstr "encodages de texte"
|
|||
|
||||
#: glossary.rst:1145
|
||||
msgid ""
|
||||
"A string in Python is a sequence of Unicode code points (in range "
|
||||
"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be "
|
||||
"A string in Python is a sequence of Unicode code points (in range ``U"
|
||||
"+0000``--``U+10FFFF``). To store or transfer a string, it needs to be "
|
||||
"serialized as a sequence of bytes."
|
||||
msgstr ""
|
||||
"Une chaîne de caractères en Python est une suite de points de code Unicode "
|
||||
|
@ -2782,8 +2778,8 @@ msgstr ""
|
|||
"qui ne soit pas disponible avec une chaîne entre guillemets, elle est utile "
|
||||
"pour de nombreuses raisons. Elle vous autorise à insérer des guillemets "
|
||||
"simples et doubles dans une chaîne sans avoir à les protéger et elle peut "
|
||||
"s'étendre sur plusieurs lignes sans avoir à terminer chaque ligne par un "
|
||||
"``\\``. Elle est ainsi particulièrement utile pour les chaînes de "
|
||||
"s'étendre sur plusieurs lignes sans avoir à terminer chaque ligne par un ``"
|
||||
"\\``. Elle est ainsi particulièrement utile pour les chaînes de "
|
||||
"documentation (*docstrings*)."
|
||||
|
||||
#: glossary.rst:1175
|
||||
|
|
|
@ -526,7 +526,7 @@ msgstr ""
|
|||
|
||||
#: library/collections.abc.rst:260
|
||||
msgid "ABCs for read-only and mutable :term:`sequences <sequence>`."
|
||||
msgstr "ABC pour les :term:`séquences <sequence>` immuables et muables."
|
||||
msgstr "ABC pour les :term:`séquences <sequence>` immuables et mutables."
|
||||
|
||||
#: library/collections.abc.rst:262
|
||||
msgid ""
|
||||
|
@ -553,13 +553,13 @@ msgstr ""
|
|||
|
||||
#: library/collections.abc.rst:278
|
||||
msgid "ABCs for read-only and mutable sets."
|
||||
msgstr "ABC pour les ensembles immuables et muables."
|
||||
msgstr "ABC pour les ensembles immuables et mutables."
|
||||
|
||||
#: library/collections.abc.rst:283
|
||||
msgid "ABCs for read-only and mutable :term:`mappings <mapping>`."
|
||||
msgstr ""
|
||||
"ABC pour les :term:`tables de correspondances <mapping>` immuables et "
|
||||
"muables."
|
||||
"mutables."
|
||||
|
||||
#: library/collections.abc.rst:290
|
||||
msgid ""
|
||||
|
|
|
@ -1436,7 +1436,7 @@ msgid ""
|
|||
"See :meth:`types.SimpleNamespace` for a mutable namespace based on an "
|
||||
"underlying dictionary instead of a tuple."
|
||||
msgstr ""
|
||||
"Voir :meth:`types.SimpleNamespace` pour un espace de nommage muable basé sur "
|
||||
"Voir :meth:`types.SimpleNamespace` pour un espace de nommage mutable basé sur "
|
||||
"un dictionnaire sous-jacent à la place d'un *n*-uplet."
|
||||
|
||||
#: library/collections.rst:1075
|
||||
|
@ -1753,7 +1753,7 @@ msgid ""
|
|||
"In addition to supporting the methods and operations of mutable sequences, :"
|
||||
"class:`UserList` instances provide the following attribute:"
|
||||
msgstr ""
|
||||
"En plus de gérer les méthodes et opérations des séquences muables, les "
|
||||
"En plus de gérer les méthodes et opérations des séquences mutables, les "
|
||||
"instances de :class:`UserList` possèdent l'attribut suivant :"
|
||||
|
||||
#: library/collections.rst:1351
|
||||
|
|
|
@ -33,7 +33,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les instructions d'affectation en Python ne copient pas les objets, elles "
|
||||
"créent des liens entre la cible et l'objet. Concernant les collections qui "
|
||||
"sont muables ou contiennent des éléments muables, une copie est parfois "
|
||||
"sont mutables ou contiennent des éléments mutables, une copie est parfois "
|
||||
"nécessaire, pour pouvoir modifier une copie sans modifier l'autre. Ce module "
|
||||
"met à disposition des opérations de copie génériques superficielle et "
|
||||
"récursive (comme expliqué ci-dessous)."
|
||||
|
|
|
@ -551,7 +551,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Since these types are mutable, their value can also be changed afterwards::"
|
||||
msgstr ""
|
||||
"Ces types étant des muables, leur valeur peut aussi être modifiée après "
|
||||
"Ces types étant des mutables, leur valeur peut aussi être modifiée après "
|
||||
"coup ::"
|
||||
|
||||
#: library/ctypes.rst:291
|
||||
|
|
|
@ -484,7 +484,7 @@ msgstr ""
|
|||
"*default_factory* : s'il est fourni, ce doit être un objet appelable sans "
|
||||
"argument. Il est alors appelé à chaque fois qu'il faut une valeur par défaut "
|
||||
"pour le champ. Ceci permet, entre autres choses, de définir des champs dont "
|
||||
"les valeurs par défaut sont muables. Une erreur se produit si *default* et "
|
||||
"les valeurs par défaut sont mutables. Une erreur se produit si *default* et "
|
||||
"*default_factory* sont donnés tous les deux."
|
||||
|
||||
#: library/dataclasses.rst:258
|
||||
|
@ -1161,7 +1161,7 @@ msgstr ""
|
|||
|
||||
#: library/dataclasses.rst:691
|
||||
msgid "Mutable default values"
|
||||
msgstr "Valeurs par défaut muables"
|
||||
msgstr "Valeurs par défaut mutables"
|
||||
|
||||
#: library/dataclasses.rst:693
|
||||
msgid ""
|
||||
|
@ -1216,7 +1216,7 @@ msgid ""
|
|||
"Using default factory functions is a way to create new instances of mutable "
|
||||
"types as default values for fields::"
|
||||
msgstr ""
|
||||
"Pour qu'un champ d'un type muable soit par défaut initialisé à un nouvel "
|
||||
"Pour qu'un champ d'un type mutable soit par défaut initialisé à un nouvel "
|
||||
"objet pour chaque instance, utilisez une fonction de fabrique ::"
|
||||
|
||||
# suit un ':'
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -6,25 +6,26 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2023-11-21 23:04+0100\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: library/email.contentmanager.rst:2
|
||||
msgid ":mod:`email.contentmanager`: Managing MIME Content"
|
||||
msgstr ""
|
||||
msgstr ":mod:`email.contentmanager` : gestion du contenu MIME"
|
||||
|
||||
#: library/email.contentmanager.rst:10
|
||||
msgid "**Source code:** :source:`Lib/email/contentmanager.py`"
|
||||
msgstr ""
|
||||
msgstr "**Code source :** :source:`Lib/email/contentmanager.py`"
|
||||
|
||||
#: library/email.contentmanager.rst:14
|
||||
msgid "[1]_"
|
||||
msgstr ""
|
||||
msgstr "[1]_"
|
||||
|
||||
#: library/email.contentmanager.rst:19
|
||||
msgid ""
|
||||
|
@ -32,6 +33,10 @@ msgid ""
|
|||
"to register converters between MIME content and other representations, as "
|
||||
"well as the ``get_content`` and ``set_content`` dispatch methods."
|
||||
msgstr ""
|
||||
"Classe mère pour les gestionnaires de contenu. Fournit les mécanismes de "
|
||||
"registre standard pour enregistrer les convertisseurs entre le contenu MIME "
|
||||
"et d'autres représentations, ainsi que les méthodes de répartition "
|
||||
"``get_content`` et ``set_content``."
|
||||
|
||||
#: library/email.contentmanager.rst:26
|
||||
msgid ""
|
||||
|
@ -40,30 +45,39 @@ msgid ""
|
|||
"the call. The expectation is that the handler will extract the payload from "
|
||||
"*msg* and return an object that encodes information about the extracted data."
|
||||
msgstr ""
|
||||
"Recherche une fonction de gestion en se basant sur le ``mimetype`` de *msg* "
|
||||
"(voir le paragraphe suivant), l'appelle en lui passant tous les arguments et "
|
||||
"renvoie le résultat de l'appel. Le gestionnaire doit extraire la charge "
|
||||
"utile de *msg* et renvoyer un objet qui encode les informations relatives "
|
||||
"aux données extraites."
|
||||
|
||||
#: library/email.contentmanager.rst:32
|
||||
msgid ""
|
||||
"To find the handler, look for the following keys in the registry, stopping "
|
||||
"with the first one found:"
|
||||
msgstr ""
|
||||
"Pour trouver le gestionnaire, recherche les clés suivantes dans le registre, "
|
||||
"en s'arrêtant à la première trouvée :"
|
||||
|
||||
#: library/email.contentmanager.rst:35
|
||||
msgid "the string representing the full MIME type (``maintype/subtype``)"
|
||||
msgstr ""
|
||||
msgstr "une chaîne représentant le type MIME complet (``maintype/subtype``) ;"
|
||||
|
||||
#: library/email.contentmanager.rst:36
|
||||
msgid "the string representing the ``maintype``"
|
||||
msgstr ""
|
||||
msgstr "une chaîne représentant le ``maintype`` ;"
|
||||
|
||||
#: library/email.contentmanager.rst:37
|
||||
msgid "the empty string"
|
||||
msgstr ""
|
||||
msgstr "une chaîne vide."
|
||||
|
||||
#: library/email.contentmanager.rst:39
|
||||
msgid ""
|
||||
"If none of these keys produce a handler, raise a :exc:`KeyError` for the "
|
||||
"full MIME type."
|
||||
msgstr ""
|
||||
"Si aucune de ces clés ne produit de gestionnaire, lève une :exc:`KeyError` "
|
||||
"pour le type MIME complet."
|
||||
|
||||
#: library/email.contentmanager.rst:45
|
||||
msgid ""
|
||||
|
@ -75,6 +89,14 @@ msgid ""
|
|||
"making other changes to *msg* as well, such as adding various MIME headers "
|
||||
"to encode information needed to interpret the stored data."
|
||||
msgstr ""
|
||||
"Si le ``maintype`` est ``multipart``, lève une :exc:`TypeError` ; sinon "
|
||||
"recherche une fonction de gestion en se basant sur le type de *obj* (voir le "
|
||||
"paragraphe suivant), appelle :meth:`~email.message.EmailMessage."
|
||||
"clear_content` sur le *msg* et appelle la fonction de gestion en lui passant "
|
||||
"tous les arguments. Le gestionnaire doit transformer et stocker *obj* en "
|
||||
"*msg*, apportant éventuellement d'autres modifications à *msg* également, "
|
||||
"comme l'ajout de divers en-têtes MIME pour coder les informations "
|
||||
"nécessaires à l'interprétation des données stockées."
|
||||
|
||||
#: library/email.contentmanager.rst:54
|
||||
msgid ""
|
||||
|
@ -82,24 +104,27 @@ msgid ""
|
|||
"look for the following keys in the registry, stopping with the first one "
|
||||
"found:"
|
||||
msgstr ""
|
||||
"Pour trouver le gestionnaire, récupère le type de *obj* (``typ = "
|
||||
"type(obj)``) et recherche les clés suivantes dans le registre, en s'arrêtant "
|
||||
"à la première trouvée :"
|
||||
|
||||
#: library/email.contentmanager.rst:58
|
||||
msgid "the type itself (``typ``)"
|
||||
msgstr ""
|
||||
msgstr "le type lui-même (``typ``) ;"
|
||||
|
||||
#: library/email.contentmanager.rst:59
|
||||
msgid ""
|
||||
"the type's fully qualified name (``typ.__module__ + '.' + typ."
|
||||
"__qualname__``)."
|
||||
msgstr ""
|
||||
msgstr "le nom complet du type (``typ.__module__ + '.' + typ.__qualname__``) ;"
|
||||
|
||||
#: library/email.contentmanager.rst:61
|
||||
msgid "the type's qualname (``typ.__qualname__``)"
|
||||
msgstr ""
|
||||
msgstr "le nom qualifié du type (``typ.__qualname__``) ;"
|
||||
|
||||
#: library/email.contentmanager.rst:62
|
||||
msgid "the type's name (``typ.__name__``)."
|
||||
msgstr ""
|
||||
msgstr "le nom du type (``typ.__name__``)."
|
||||
|
||||
#: library/email.contentmanager.rst:64
|
||||
msgid ""
|
||||
|
@ -109,18 +134,27 @@ msgid ""
|
|||
"for ``None``, raise a :exc:`KeyError` for the fully qualified name of the "
|
||||
"type."
|
||||
msgstr ""
|
||||
"Si aucune de ces clés ne correspond, répète toutes les vérifications ci-"
|
||||
"dessus pour chacun des types en suivant le :term:`MRO` (``typ.__mro__``). "
|
||||
"Enfin, si aucune clé ne produit de gestionnaire, recherche un gestionnaire "
|
||||
"pour la clé ``None``. S'il n'y a pas de gestionnaire pour ``None``, lève "
|
||||
"une :exc:`KeyError` pour le nom complet du type."
|
||||
|
||||
#: library/email.contentmanager.rst:70
|
||||
msgid ""
|
||||
"Also add a :mailheader:`MIME-Version` header if one is not present (see "
|
||||
"also :class:`.MIMEPart`)."
|
||||
msgstr ""
|
||||
"Ajoute également un en-tête :mailheader:`MIME-Version` s'il n'y en a pas "
|
||||
"(voir aussi :class:`.MIMEPart`)."
|
||||
|
||||
#: library/email.contentmanager.rst:76
|
||||
msgid ""
|
||||
"Record the function *handler* as the handler for *key*. For the possible "
|
||||
"values of *key*, see :meth:`get_content`."
|
||||
msgstr ""
|
||||
"Enregistre la fonction *handler* comme gestionnaire pour *key*. Pour les "
|
||||
"valeurs possibles de *key*, voir :meth:`get_content`."
|
||||
|
||||
#: library/email.contentmanager.rst:82
|
||||
msgid ""
|
||||
|
@ -128,10 +162,13 @@ msgid ""
|
|||
"*typekey* is passed to :meth:`set_content`. For the possible values of "
|
||||
"*typekey*, see :meth:`set_content`."
|
||||
msgstr ""
|
||||
"Enregistre *handler* comme fonction à appeler lorsqu'un objet d'un type "
|
||||
"correspondant à *typekey* est passé à :meth:`set_content`. Pour les valeurs "
|
||||
"possibles de *typekey*, voir :meth:`set_content`."
|
||||
|
||||
#: library/email.contentmanager.rst:88
|
||||
msgid "Content Manager Instances"
|
||||
msgstr ""
|
||||
msgstr "Instances de gestionnaires de contenus"
|
||||
|
||||
#: library/email.contentmanager.rst:90
|
||||
msgid ""
|
||||
|
@ -140,6 +177,11 @@ msgid ""
|
|||
"`raw_data_manager` is the :attr:`~email.policy.EmailPolicy.content_manager` "
|
||||
"provided by :attr:`~email.policy.EmailPolicy` and its derivatives."
|
||||
msgstr ""
|
||||
"Actuellement, le paquet *email* ne fournit qu'un seul gestionnaire de "
|
||||
"contenu concret, :data:`raw_data_manager`, bien que d'autres puissent être "
|
||||
"ajoutés à l'avenir. :data:`raw_data_manager` est le :attr:`~email.policy."
|
||||
"EmailPolicy.content_manager` fourni par :attr:`~email.policy.EmailPolicy` et "
|
||||
"ses dérivés."
|
||||
|
||||
#: library/email.contentmanager.rst:99
|
||||
msgid ""
|
||||
|
@ -153,6 +195,16 @@ msgid ""
|
|||
"encoding, and it enables the use of the various ``add_`` methods, thereby "
|
||||
"simplifying the creation of multipart messages."
|
||||
msgstr ""
|
||||
"Ce gestionnaire de contenu ne fournit qu'une interface minimale au-delà de "
|
||||
"celle fournie par :class:`~email.message.Message` lui-même : il prend "
|
||||
"seulement en charge le texte, les chaînes d'octets brutes et les objets :"
|
||||
"class:`~email.message.Message`. Néanmoins, il offre des avantages "
|
||||
"significatifs par rapport à l'API de base : ``get_content`` sur une partie "
|
||||
"de texte renvoie une chaîne Unicode sans que l'application ait besoin de la "
|
||||
"décoder manuellement, ``set_content`` fournit de nombreuses options pour "
|
||||
"contrôler les en-têtes ajoutés à une partie et l'encodage du transfert de "
|
||||
"contenu, et il permet l'utilisation des différentes méthodes ``add_``, ce "
|
||||
"qui simplifie la création de messages en plusieurs parties."
|
||||
|
||||
#: library/email.contentmanager.rst:111
|
||||
msgid ""
|
||||
|
@ -163,27 +215,41 @@ msgid ""
|
|||
"*errors* is specified, use it as the error handler when decoding the payload "
|
||||
"to unicode. The default error handler is ``replace``."
|
||||
msgstr ""
|
||||
"Renvoie la charge utile de la partie sous la forme d'une chaîne (pour les "
|
||||
"parties ``text``), d'un objet :class:`~email.message.EmailMessage` (pour les "
|
||||
"parties ``message/rfc822``) ou d'un objet ``bytes`` (pour tous les autres "
|
||||
"types à l'exception de *multipart*). Lève une :exc:`KeyError` si cette "
|
||||
"méthode est appelée sur un ``multipart``. S'il s'agit d'une partie ``text`` "
|
||||
"et que *errors* est spécifié, ce paramètre est utilisé comme gestionnaire "
|
||||
"d'erreurs lors du décodage de la charge utile en Unicode. Le gestionnaire "
|
||||
"d'erreurs par défaut est ``replace``."
|
||||
|
||||
#: library/email.contentmanager.rst:130
|
||||
msgid "Add headers and payload to *msg*:"
|
||||
msgstr ""
|
||||
msgstr "Ajoute des en-têtes et une charge utile à *msg* :"
|
||||
|
||||
#: library/email.contentmanager.rst:132
|
||||
msgid ""
|
||||
"Add a :mailheader:`Content-Type` header with a ``maintype/subtype`` value."
|
||||
msgstr ""
|
||||
"Ajoute un en-tête :mailheader:`Content-Type` avec une valeur ``maintype/"
|
||||
"subtype``."
|
||||
|
||||
#: library/email.contentmanager.rst:135
|
||||
msgid ""
|
||||
"For ``str``, set the MIME ``maintype`` to ``text``, and set the subtype to "
|
||||
"*subtype* if it is specified, or ``plain`` if it is not."
|
||||
msgstr ""
|
||||
"Pour ``str``, définit le ``maintype`` MIME à ``text`` et définit le sous-"
|
||||
"type à *subtype* s'il est spécifié, ou à ``plain`` s'il ne l'est pas."
|
||||
|
||||
#: library/email.contentmanager.rst:137
|
||||
msgid ""
|
||||
"For ``bytes``, use the specified *maintype* and *subtype*, or raise a :exc:"
|
||||
"`TypeError` if they are not specified."
|
||||
msgstr ""
|
||||
"Pour ``bytes``, utilise les *maintype* et *subtype* spécifiés, ou lève une :"
|
||||
"exc:`TypeError` s'ils ne sont pas spécifiés."
|
||||
|
||||
#: library/email.contentmanager.rst:139
|
||||
msgid ""
|
||||
|
@ -192,6 +258,11 @@ msgid ""
|
|||
"``rfc822`` if it is not. If *subtype* is ``partial``, raise an error "
|
||||
"(``bytes`` objects must be used to construct ``message/partial`` parts)."
|
||||
msgstr ""
|
||||
"Pour les objets :class:`~email.message.EmailMessage`, définit le type "
|
||||
"principal (*maintype*) à ``message`` et définit le sous-type à *subtype* "
|
||||
"s'il est spécifié ou à ``rfc822`` s'il ne l'est pas. Si *subtype* est "
|
||||
"``partial``, lève une erreur (les objets ``bytes`` doivent être utilisés "
|
||||
"pour construire les parties ``message/partial``)."
|
||||
|
||||
#: library/email.contentmanager.rst:145
|
||||
msgid ""
|
||||
|
@ -200,6 +271,11 @@ msgid ""
|
|||
"``utf-8``. If the specified *charset* is a known alias for a standard MIME "
|
||||
"charset name, use the standard charset instead."
|
||||
msgstr ""
|
||||
"Si *charset* est fourni (qui n'est valide que pour ``str``), encode la "
|
||||
"chaîne en octets en utilisant le jeu de caractères spécifié. La valeur par "
|
||||
"défaut est ``utf-8``. Si le *charset* spécifié est un alias connu pour un "
|
||||
"nom de jeu de caractères MIME standard, utilise plutôt le jeu de caractères "
|
||||
"standard."
|
||||
|
||||
#: library/email.contentmanager.rst:150
|
||||
msgid ""
|
||||
|
@ -210,12 +286,21 @@ msgid ""
|
|||
"specified encoding (for example, specifying a *cte* of ``7bit`` for an input "
|
||||
"that contains non-ASCII values), raise a :exc:`ValueError`."
|
||||
msgstr ""
|
||||
"Si *cte* est défini, encode la charge utile à l'aide de l'encodage de "
|
||||
"transfert de contenu spécifié et définit l'en-tête :mailheader:`Content-"
|
||||
"Transfer-Encoding` à cette valeur. Les valeurs possibles pour *cte* sont "
|
||||
"``quoted-printable``, ``base64``, ``7bit``, ``8bit`` et ``binary``. Si "
|
||||
"l'entrée ne peut pas être encodée dans l'encodage spécifié (par exemple, en "
|
||||
"spécifiant un *cte* de ``7bit`` pour une entrée qui contient des valeurs non-"
|
||||
"ASCII), lève une :exc:`ValueError`."
|
||||
|
||||
#: library/email.contentmanager.rst:158
|
||||
msgid ""
|
||||
"For ``str`` objects, if *cte* is not set use heuristics to determine the "
|
||||
"most compact encoding."
|
||||
msgstr ""
|
||||
"Pour les objets ``str``, si *cte* n'est pas défini, utilise une heuristique "
|
||||
"pour déterminer l'encodage le plus compact."
|
||||
|
||||
#: library/email.contentmanager.rst:160
|
||||
msgid ""
|
||||
|
@ -225,13 +310,24 @@ msgid ""
|
|||
"body``. For ``message/rfc822``, use ``8bit`` if *cte* is not specified. "
|
||||
"For all other values of *subtype*, use ``7bit``."
|
||||
msgstr ""
|
||||
"Pour :class:`~email.message.EmailMessage`, selon la :rfc:`2046`, pour le "
|
||||
"*subtype* ``rfc822`, lève une erreur pour un *cte* valant ``quoted-"
|
||||
"printable`` ou ``base64``. Pour le *subtype* ``external-body``, lève une "
|
||||
"erreur pour tout *cte* autre que ``7bit``. Pour ``message/rfc822``, la "
|
||||
"valeur par défaut de *cte* est ``8bit``. Pour toutes les autres valeurs de "
|
||||
"*sous-type*, la valeur par défaut de *cte* est ``7bit``."
|
||||
|
||||
# suit un :
|
||||
#: library/email.contentmanager.rst:167
|
||||
msgid ""
|
||||
"A *cte* of ``binary`` does not actually work correctly yet. The "
|
||||
"``EmailMessage`` object as modified by ``set_content`` is correct, but :"
|
||||
"class:`~email.generator.BytesGenerator` does not serialize it correctly."
|
||||
msgstr ""
|
||||
"la valeur ``binary`` pour *cte* ne fonctionne pas encore correctement. "
|
||||
"L'objet ``EmailMessage`` tel que modifié par ``set_content`` est correct, "
|
||||
"mais :class:`~email.generator.BytesGenerator` ne le sérialise pas "
|
||||
"correctement."
|
||||
|
||||
#: library/email.contentmanager.rst:172
|
||||
msgid ""
|
||||
|
@ -241,18 +337,27 @@ msgid ""
|
|||
"*filename* is also not specified, do not add the header. The only valid "
|
||||
"values for *disposition* are ``attachment`` and ``inline``."
|
||||
msgstr ""
|
||||
"Si *disposition* est spécifié, utilise cette valeur pour l'en-tête :"
|
||||
"mailheader:`Content-Disposition`. S'il n'est pas spécifié et que *filename* "
|
||||
"est spécifié, utilise la valeur ``attachment`` pour l'en-tête. Si ni "
|
||||
"*disposition* ni *filename* ne sont spécifiés, n'ajoute pas cet en-tête. Les "
|
||||
"seules valeurs valides pour *disposition* sont ``attachment`` et ``inline``."
|
||||
|
||||
#: library/email.contentmanager.rst:179
|
||||
msgid ""
|
||||
"If *filename* is specified, use it as the value of the ``filename`` "
|
||||
"parameter of the :mailheader:`Content-Disposition` header."
|
||||
msgstr ""
|
||||
"Si *filename* est spécifié, utilise cette valeur pour le paramètre "
|
||||
"``filename`` de l'en-tête :mailheader:`Content-Disposition`."
|
||||
|
||||
#: library/email.contentmanager.rst:182
|
||||
msgid ""
|
||||
"If *cid* is specified, add a :mailheader:`Content-ID` header with *cid* as "
|
||||
"its value."
|
||||
msgstr ""
|
||||
"Si *cid* est spécifié, ajoute un en-tête :mailheader:`Content-ID` avec cette "
|
||||
"valeur."
|
||||
|
||||
#: library/email.contentmanager.rst:185
|
||||
msgid ""
|
||||
|
@ -260,6 +365,9 @@ msgid ""
|
|||
"``(key, value)`` pairs to set additional parameters on the :mailheader:"
|
||||
"`Content-Type` header."
|
||||
msgstr ""
|
||||
"Si *params* est spécifié, itère sur sa méthode ``items`` et utilise les "
|
||||
"paires ``(clé, valeur)`` résultantes pour définir des paramètres "
|
||||
"supplémentaires dans l'en-tête :mailheader:`Content-Type`."
|
||||
|
||||
#: library/email.contentmanager.rst:189
|
||||
msgid ""
|
||||
|
@ -267,6 +375,9 @@ msgid ""
|
|||
"headervalue`` or a list of ``header`` objects (distinguished from strings by "
|
||||
"having a ``name`` attribute), add the headers to *msg*."
|
||||
msgstr ""
|
||||
"Si *headers* est spécifié et est une liste de chaînes de la forme "
|
||||
"``headername: headervalue`` ou une liste d'objets ``header`` (distingués des "
|
||||
"chaînes par l'attribut ``name``), ajoute ces en-têtes à *msg*."
|
||||
|
||||
#: library/email.contentmanager.rst:196
|
||||
msgid "Footnotes"
|
||||
|
@ -276,3 +387,5 @@ msgstr "Notes"
|
|||
msgid ""
|
||||
"Originally added in 3.4 as a :term:`provisional module <provisional package>`"
|
||||
msgstr ""
|
||||
"Initialement ajouté dans 3.4 en tant que :term:`paquet provisoire "
|
||||
"<provisional package>`."
|
||||
|
|
|
@ -6,7 +6,7 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2023-04-08 14:42+0200\n"
|
||||
"PO-Revision-Date: 2023-11-06 11:44+0100\n"
|
||||
"Last-Translator: Antoine Wecxsteen\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -82,7 +82,7 @@ msgstr "|func-bytes|_"
|
|||
|
||||
#: library/functions.rst:0
|
||||
msgid "**C**"
|
||||
msgstr "*C**"
|
||||
msgstr "**C**"
|
||||
|
||||
#: library/functions.rst:0
|
||||
msgid ":func:`callable`"
|
||||
|
@ -573,7 +573,7 @@ msgid ""
|
|||
"as most methods that the :class:`bytes` type has, see :ref:`bytes-methods`."
|
||||
msgstr ""
|
||||
"Renvoie un nouveau tableau d'octets. La classe :class:`bytearray` est une "
|
||||
"séquence muable de nombres entiers dans l'intervalle 0 ≤ x < 256. Il possède "
|
||||
"séquence mutable de nombres entiers dans l'intervalle 0 ≤ x < 256. Il possède "
|
||||
"la plupart des méthodes des séquences variables, décrites dans :ref:"
|
||||
"`typesseq-mutable`, ainsi que la plupart des méthodes de la classe :class:"
|
||||
"`bytes`, voir :ref:`bytes-methods`."
|
||||
|
@ -2031,7 +2031,7 @@ msgid ""
|
|||
"type, as documented in :ref:`typesseq-list` and :ref:`typesseq`."
|
||||
msgstr ""
|
||||
"Contrairement aux apparences, :class:`list` n'est pas une fonction mais un "
|
||||
"type séquentiel muable, comme décrit dans :ref:`typesseq-list` et :ref:"
|
||||
"type séquentiel mutable, comme décrit dans :ref:`typesseq-list` et :ref:"
|
||||
"`typesseq`."
|
||||
|
||||
#: library/functions.rst:1029
|
||||
|
|
|
@ -1403,7 +1403,7 @@ msgid ""
|
|||
"explicitly bound arguments. Changes in :attr:`arguments` will reflect in :"
|
||||
"attr:`args` and :attr:`kwargs`."
|
||||
msgstr ""
|
||||
"Une correspondance muable entre les noms de paramètres et les valeurs des "
|
||||
"Une correspondance mutable entre les noms de paramètres et les valeurs des "
|
||||
"arguments. Contient seulement les arguments liés explicitement. Les "
|
||||
"changements dans :attr:`arguments` sont reflétés dans :attr:`args` et :attr:"
|
||||
"`kwargs`."
|
||||
|
|
|
@ -6,22 +6,23 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 11:13+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"PO-Revision-Date: 2023-11-17 23:38+0100\n"
|
||||
"PO-Revision-Date: 2023-11-14 22:46+0100\n"
|
||||
"Last-Translator: Houedji Espoir <therencecossi@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: library/io.rst:2
|
||||
msgid ":mod:`io` --- Core tools for working with streams"
|
||||
msgstr ""
|
||||
msgstr ":mod:`io` — Outils de base pour l'utilisation des flux"
|
||||
|
||||
#: library/io.rst:15
|
||||
#, fuzzy
|
||||
msgid "**Source code:** :source:`Lib/io.py`"
|
||||
msgstr "**Code source:** :source:`Lib/os.py`"
|
||||
msgstr "**Code source:** :source:`Lib/io.py`"
|
||||
|
||||
#: library/io.rst:22
|
||||
msgid "Overview"
|
||||
|
@ -62,7 +63,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:855 library/io.rst:1122
|
||||
msgid "Text I/O"
|
||||
msgstr ""
|
||||
msgstr "Entrée/sortie de texte"
|
||||
|
||||
#: library/io.rst:53
|
||||
msgid ""
|
||||
|
@ -77,17 +78,23 @@ msgid ""
|
|||
"The easiest way to create a text stream is with :meth:`open()`, optionally "
|
||||
"specifying an encoding::"
|
||||
msgstr ""
|
||||
"Le moyen le plus simple de créer un flux de texte est d'utiliser la méthode :"
|
||||
"meth:`open()` en précisant éventuellement un encodage ::"
|
||||
|
||||
#: library/io.rst:63
|
||||
msgid ""
|
||||
"In-memory text streams are also available as :class:`StringIO` objects::"
|
||||
msgstr ""
|
||||
"Les flux de texte en mémoire sont également disponible sous forme d'objets :"
|
||||
"class:`StringIO` ::"
|
||||
|
||||
#: library/io.rst:67
|
||||
msgid ""
|
||||
"The text stream API is described in detail in the documentation of :class:"
|
||||
"`TextIOBase`."
|
||||
msgstr ""
|
||||
"L'API de flux textuel est décrite en détail dans la documentation de la "
|
||||
"classe :class:`TextIOBase`."
|
||||
|
||||
#: library/io.rst:1110
|
||||
msgid "Binary I/O"
|
||||
|
@ -112,18 +119,25 @@ msgstr ""
|
|||
msgid ""
|
||||
"In-memory binary streams are also available as :class:`BytesIO` objects::"
|
||||
msgstr ""
|
||||
"Les flux de texte en mémoire sont également disponible sous forme d'objets :"
|
||||
"class:`BytesIO` ::"
|
||||
|
||||
#: library/io.rst:89
|
||||
msgid ""
|
||||
"The binary stream API is described in detail in the docs of :class:"
|
||||
"`BufferedIOBase`."
|
||||
msgstr ""
|
||||
"L'API du flux binaire est décrite en détail dans la documentation de la "
|
||||
"classe :class:`BufferedIOBase`."
|
||||
|
||||
#: library/io.rst:92
|
||||
msgid ""
|
||||
"Other library modules may provide additional ways to create text or binary "
|
||||
"streams. See :meth:`socket.socket.makefile` for example."
|
||||
msgstr ""
|
||||
"D'autres bibliothèques peuvent fournir des moyens supplémentaires pour créer "
|
||||
"des flux de texte ou flux binaire. Voir la méthode :meth:`socket.socket."
|
||||
"makefile` par exemple."
|
||||
|
||||
#: library/io.rst:97
|
||||
msgid "Raw I/O"
|
||||
|
@ -144,7 +158,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:112
|
||||
msgid "Text Encoding"
|
||||
msgstr ""
|
||||
msgstr "Encodage de texte"
|
||||
|
||||
#: library/io.rst:114
|
||||
msgid ""
|
||||
|
@ -177,6 +191,8 @@ msgid ""
|
|||
"Python UTF-8 Mode can be used to change the default encoding to UTF-8 from "
|
||||
"locale-specific encoding."
|
||||
msgstr ""
|
||||
"Le mode UTF-8 de Python peut être utilisé pour changer l'encodage par défaut "
|
||||
"en UTF-8 à partir d'un encodage local spécifique."
|
||||
|
||||
#: library/io.rst:137
|
||||
msgid ":pep:`686`"
|
||||
|
@ -213,7 +229,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:162
|
||||
msgid "High-level Module Interface"
|
||||
msgstr ""
|
||||
msgstr "Interface de haut niveau du module"
|
||||
|
||||
#: library/io.rst:166
|
||||
msgid ""
|
||||
|
@ -397,7 +413,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:294
|
||||
msgid "Mixin Methods and Properties"
|
||||
msgstr ""
|
||||
msgstr "Méthodes et propriétés de Mixin"
|
||||
|
||||
#: library/io.rst:301 library/io.rst:305
|
||||
msgid ":class:`IOBase`"
|
||||
|
@ -775,7 +791,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:553
|
||||
msgid "Separate the underlying raw stream from the buffer and return it."
|
||||
msgstr ""
|
||||
msgstr "Sépare le flux brut sous-jacent du tampon et le renvoie."
|
||||
|
||||
#: library/io.rst:555
|
||||
msgid ""
|
||||
|
@ -962,6 +978,8 @@ msgid ""
|
|||
"The file name. This is the file descriptor of the file when no name is "
|
||||
"given in the constructor."
|
||||
msgstr ""
|
||||
"Le nom du fichier. C'est le descripteur du fichier lorsqu'aucun nom n'est "
|
||||
"donné dans le constructeur."
|
||||
|
||||
#: library/io.rst:692
|
||||
msgid "Buffered Streams"
|
||||
|
@ -1371,7 +1389,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:998
|
||||
msgid "The *write_through* argument has been added."
|
||||
msgstr ""
|
||||
msgstr "Le paramètre *write_through* a été ajouté."
|
||||
|
||||
#: library/io.rst:1001
|
||||
msgid ""
|
||||
|
@ -1418,15 +1436,20 @@ msgid ""
|
|||
"already been read from the stream. On the other hand, changing encoding "
|
||||
"after write is possible."
|
||||
msgstr ""
|
||||
"Il n'est pas possible de modifier l'encodage ou une nouvelle ligne si des "
|
||||
"données ont déjà été lues à partir du flux. En revanche, il est possible de "
|
||||
"modifier l'encodage après l'écriture."
|
||||
|
||||
#: library/io.rst:1038
|
||||
msgid ""
|
||||
"This method does an implicit stream flush before setting the new parameters."
|
||||
msgstr ""
|
||||
"Cette méthode effectue un nettoyage implicite du flux avant de définir les "
|
||||
"nouveaux paramètres."
|
||||
|
||||
#: library/io.rst:1043
|
||||
msgid "The method supports ``encoding=\"locale\"`` option."
|
||||
msgstr ""
|
||||
msgstr "La méthode prend en charge l'option ``encoding=\"locale\"``."
|
||||
|
||||
#: library/io.rst:1049
|
||||
msgid ""
|
||||
|
@ -1490,6 +1513,8 @@ msgid ""
|
|||
"This section discusses the performance of the provided concrete I/O "
|
||||
"implementations."
|
||||
msgstr ""
|
||||
"Cette section aborde les performances des implémentations concrètes d'Entrée/"
|
||||
"Sortie fournies."
|
||||
|
||||
#: library/io.rst:1112
|
||||
msgid ""
|
||||
|
@ -1541,10 +1566,12 @@ msgstr ""
|
|||
#: library/io.rst:1145
|
||||
msgid ":class:`TextIOWrapper` objects are not thread-safe."
|
||||
msgstr ""
|
||||
"les objets :class:`TextIOWrapper` ne sont pas compatibles avec les "
|
||||
"programmes à fils d'exécutions multiples."
|
||||
|
||||
#: library/io.rst:1148
|
||||
msgid "Reentrancy"
|
||||
msgstr ""
|
||||
msgstr "Réentrance"
|
||||
|
||||
#: library/io.rst:1150
|
||||
msgid ""
|
||||
|
@ -1567,7 +1594,7 @@ msgstr ""
|
|||
|
||||
#: library/io.rst:24
|
||||
msgid "file object"
|
||||
msgstr ""
|
||||
msgstr "objet fichier"
|
||||
|
||||
#: library/io.rst:24
|
||||
msgid "io module"
|
||||
|
|
|
@ -312,7 +312,7 @@ msgid ""
|
|||
"support the dynamic creation of new :class:`ShareableList` instances via "
|
||||
"slicing."
|
||||
msgstr ""
|
||||
"Construit un objet muable compatible avec le type liste dont toutes les "
|
||||
"Construit un objet mutable compatible avec le type liste dont toutes les "
|
||||
"valeurs sont stockées dans un bloc de mémoire partagée. Ceci limite le type "
|
||||
"des valeurs pouvant être stockées aux types natifs ``int``, ``float``, "
|
||||
"``bool``, ``str`` (de moins de 10 Mo chacune), ``bytes`` (de moins de 10 Mo "
|
||||
|
|
|
@ -1779,7 +1779,7 @@ msgid ""
|
|||
"move on to the next buffer in the sequence to hold the rest of the data."
|
||||
msgstr ""
|
||||
"Lit depuis un descripteur de fichier *fd*, à la position *offset* dans des :"
|
||||
"term:`objets bytes-compatibles <bytes-like object>` muables *buffers*, sans "
|
||||
"term:`objets bytes-compatibles <bytes-like object>` mutables *buffers*, sans "
|
||||
"modifier la position dans le fichier. Les données sont transférées dans "
|
||||
"chaque tampon, jusqu'à ce qu'il soit plein, tour à tour."
|
||||
|
||||
|
@ -2132,7 +2132,7 @@ msgid ""
|
|||
"rest of the data."
|
||||
msgstr ""
|
||||
"Lit depuis un descripteur de fichier *fd* dans une séquence d':term:`objets "
|
||||
"bytes-compatibles <bytes-like object>` muables : *buffers*. Les données sont "
|
||||
"bytes-compatibles <bytes-like object>` mutables : *buffers*. Les données sont "
|
||||
"transférées dans chaque tampon, jusqu'à ce qu'il soit plein, tour à tour."
|
||||
|
||||
#: library/os.rst:1560
|
||||
|
|
|
@ -134,7 +134,7 @@ msgstr ""
|
|||
"pointent dessus, depuis différents endroits dans la hiérarchie sérialisée. "
|
||||
"Le module :mod:`pickle` repère ces partages et ne stocke ces objets qu'une "
|
||||
"seule fois. Les objets partagés restent ainsi partagés, ce qui peut être "
|
||||
"très important pour les objets muables."
|
||||
"très important pour les objets mutables."
|
||||
|
||||
#: library/pickle.rst:72
|
||||
msgid ""
|
||||
|
|
|
@ -6,37 +6,44 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2023-11-24 18:39+0100\n"
|
||||
"Last-Translator: Jérémy TREMBLAY <jeremy-tremblay@outlook.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#: library/pkgutil.rst:2
|
||||
msgid ":mod:`pkgutil` --- Package extension utility"
|
||||
msgstr ""
|
||||
msgstr ":mod:`pkgutil` — Utilitaire d'extension de package"
|
||||
|
||||
#: library/pkgutil.rst:7
|
||||
msgid "**Source code:** :source:`Lib/pkgutil.py`"
|
||||
msgstr "**Code source :** :source:`Lib/pkgutil.py`"
|
||||
msgstr "**Code source :** :source:`Lib/pkgutil.py`"
|
||||
|
||||
#: library/pkgutil.rst:11
|
||||
msgid ""
|
||||
"This module provides utilities for the import system, in particular package "
|
||||
"support."
|
||||
msgstr ""
|
||||
"Ce module fournit des utilitaires pour le système d'importation, en "
|
||||
"particulier pour la prise en charge des paquets."
|
||||
|
||||
#: library/pkgutil.rst:16
|
||||
msgid "A namedtuple that holds a brief summary of a module's info."
|
||||
msgstr ""
|
||||
"Un *n*-uplet nommé qui contient un bref résumé des informations d'un module."
|
||||
|
||||
#: library/pkgutil.rst:22
|
||||
msgid ""
|
||||
"Extend the search path for the modules which comprise a package. Intended "
|
||||
"use is to place the following code in a package's :file:`__init__.py`::"
|
||||
msgstr ""
|
||||
"Étend le chemin de recherche pour les modules qui composent un paquet. "
|
||||
"L'usage prévu est de placer le code suivant dans le :file:`__init__.py` d'un "
|
||||
"paquet ::"
|
||||
|
||||
#: library/pkgutil.rst:28
|
||||
msgid ""
|
||||
|
@ -45,6 +52,10 @@ msgid ""
|
|||
"This is useful if one wants to distribute different parts of a single "
|
||||
"logical package as multiple directories."
|
||||
msgstr ""
|
||||
"Pour chaque répertoire sur :data:`sys.path` qui a un sous-répertoire "
|
||||
"correspondant au nom du paquet, ajoute le sous-répertoire au :attr:"
|
||||
"`__path__` du paquet. Cela est utile si l'on souhaite distribuer différentes "
|
||||
"parties d'un paquet logique unique dans plusieurs répertoires."
|
||||
|
||||
#: library/pkgutil.rst:33
|
||||
msgid ""
|
||||
|
@ -56,6 +67,14 @@ msgid ""
|
|||
"pkg` file are added to the path, regardless of whether they exist on the "
|
||||
"filesystem. (This is a feature.)"
|
||||
msgstr ""
|
||||
"Elle recherche également les fichiers :file:`*.pkg` en commençant là où "
|
||||
"``*`` correspond à l'argument *name*. Cette fonctionnalité est similaire aux "
|
||||
"fichiers :file:`*.pth` (voir le module :mod:`site` pour plus "
|
||||
"d'informations), à l'exception qu'elle ne traite pas de manière spéciale les "
|
||||
"lignes commençant par ``import``. Un fichier :file:`*.pkg` est fiable de "
|
||||
"facto : à part la vérification des doublons, toutes les entrées trouvées "
|
||||
"dans un fichier :file:`*.pkg` sont ajoutées au chemin, quelle que soit leur "
|
||||
"existence sur le système de fichiers. (C'est une fonctionnalité.)"
|
||||
|
||||
#: library/pkgutil.rst:41
|
||||
msgid ""
|
||||
|
@ -63,6 +82,10 @@ msgid ""
|
|||
"returned unchanged. The input path is not modified; an extended copy is "
|
||||
"returned. Items are only appended to the copy at the end."
|
||||
msgstr ""
|
||||
"Si le chemin d'entrée n'est pas une liste (comme c'est le cas pour les "
|
||||
"paquets figés), il est retourné tel quel. Le chemin d'entrée n'est pas "
|
||||
"modifié ; une copie étendue en est retournée. Les éléments ne sont ajoutés à "
|
||||
"la copie qu'à la fin."
|
||||
|
||||
#: library/pkgutil.rst:45
|
||||
msgid ""
|
||||
|
@ -72,10 +95,18 @@ msgid ""
|
|||
"may cause this function to raise an exception (in line with :func:`os.path."
|
||||
"isdir` behavior)."
|
||||
msgstr ""
|
||||
"L'interpréteur estime que :data:`sys.path` est une séquence. Les éléments "
|
||||
"de :data:`sys.path` qui ne sont pas des chaînes se référant à des "
|
||||
"répertoires existants sont ignorés. Les éléments Unicode sur :data:`sys."
|
||||
"path` qui provoquent des erreurs lorsqu'ils sont utilisés comme noms de "
|
||||
"fichiers peuvent amener cette fonction à lever une exception (conformément "
|
||||
"au comportement de :func:`os.path.isdir`)."
|
||||
|
||||
#: library/pkgutil.rst:54
|
||||
msgid ":pep:`302` Finder that wraps Python's \"classic\" import algorithm."
|
||||
msgstr ""
|
||||
":pep:`302` Chercheur qui enveloppe l'algorithme d'importation « classique » "
|
||||
"de Python."
|
||||
|
||||
#: library/pkgutil.rst:56
|
||||
msgid ""
|
||||
|
@ -84,27 +115,38 @@ msgid ""
|
|||
"searches the current :data:`sys.path`, plus any modules that are frozen or "
|
||||
"built-in."
|
||||
msgstr ""
|
||||
"Si *dirname* est une chaîne, un chercheur :pep:`302` est créé pour "
|
||||
"rechercher ce répertoire. Si *dirname* est ``None``, un chercheur :pep:`302` "
|
||||
"est créé pour rechercher le :data:`sys.path` actuel, ainsi que les modules "
|
||||
"qui sont figés ou natifs."
|
||||
|
||||
#: library/pkgutil.rst:61
|
||||
msgid ""
|
||||
"Note that :class:`ImpImporter` does not currently support being used by "
|
||||
"placement on :data:`sys.meta_path`."
|
||||
msgstr ""
|
||||
"Notez que :class:`ImpImporter` ne prend actuellement pas en charge son "
|
||||
"utilisation en tant que placement dans :data:`sys.meta_path`."
|
||||
|
||||
#: library/pkgutil.rst:73
|
||||
msgid ""
|
||||
"This emulation is no longer needed, as the standard import mechanism is now "
|
||||
"fully :pep:`302` compliant and available in :mod:`importlib`."
|
||||
msgstr ""
|
||||
"Cette émulation n'est plus nécessaire, car le mécanisme d'importation "
|
||||
"standard est désormais entièrement conforme à la :pep:`302` et "
|
||||
"disponible dans :mod:`importlib`."
|
||||
|
||||
#: library/pkgutil.rst:71
|
||||
msgid ""
|
||||
":term:`Loader <loader>` that wraps Python's \"classic\" import algorithm."
|
||||
msgstr ""
|
||||
":term:`Loader <loader>` qui encapsule l'algorithme d'importation "
|
||||
"« classique » de Python."
|
||||
|
||||
#: library/pkgutil.rst:80
|
||||
msgid "Retrieve a module :term:`loader` for the given *fullname*."
|
||||
msgstr ""
|
||||
msgstr "Récupère un :term:`loader` de module pour le *fullname* donné."
|
||||
|
||||
#: library/pkgutil.rst:82
|
||||
msgid ""
|
||||
|
@ -113,36 +155,46 @@ msgid ""
|
|||
"returns the loader rather than the full :class:`importlib.machinery."
|
||||
"ModuleSpec`."
|
||||
msgstr ""
|
||||
"Il s'agit d'une surcouche de compatibilité ascendante autour de :func:"
|
||||
"`importlib.util.find_spec` qui convertit la plupart des échecs en :exc:"
|
||||
"`ImportError` et ne renvoie que le chargeur, plutôt que le :class:`importlib."
|
||||
"machinery.ModuleSpec` complet."
|
||||
|
||||
#: library/pkgutil.rst:104 library/pkgutil.rst:140 library/pkgutil.rst:200
|
||||
msgid ""
|
||||
"Updated to be based directly on :mod:`importlib` rather than relying on the "
|
||||
"package internal :pep:`302` import emulation."
|
||||
msgstr ""
|
||||
"Mise à jour pour être basée directement sur :mod:`importlib` au lieu de "
|
||||
"dépendre de l'émulation interne de la :pep:`302` du paquet."
|
||||
|
||||
#: library/pkgutil.rst:123
|
||||
msgid "Updated to be based on :pep:`451`"
|
||||
msgstr ""
|
||||
msgstr "Mise à jour pour être basée sur la :pep:`451`"
|
||||
|
||||
#: library/pkgutil.rst:96
|
||||
msgid "Retrieve a :term:`finder` for the given *path_item*."
|
||||
msgstr ""
|
||||
msgstr "Récupère un :term:`finder` pour l'élément *path_item* donné."
|
||||
|
||||
#: library/pkgutil.rst:98
|
||||
msgid ""
|
||||
"The returned finder is cached in :data:`sys.path_importer_cache` if it was "
|
||||
"newly created by a path hook."
|
||||
msgstr ""
|
||||
"Le chercheur retourné est mis en cache dans :data:`sys.path_importer_cache` "
|
||||
"s'il a été récemment créé par le chemin d'un point d'entrée."
|
||||
|
||||
#: library/pkgutil.rst:101
|
||||
msgid ""
|
||||
"The cache (or part of it) can be cleared manually if a rescan of :data:`sys."
|
||||
"path_hooks` is necessary."
|
||||
msgstr ""
|
||||
"Le cache (ou une partie de celui-ci) peut être effacé manuellement si une "
|
||||
"nouvelle analyse de :data:`sys.path_hooks` est nécessaire."
|
||||
|
||||
#: library/pkgutil.rst:111
|
||||
msgid "Get a :term:`loader` object for *module_or_name*."
|
||||
msgstr ""
|
||||
msgstr "Récupère un objet :term:`loader` pour *module_or_name*."
|
||||
|
||||
#: library/pkgutil.rst:113
|
||||
msgid ""
|
||||
|
@ -152,10 +204,15 @@ msgid ""
|
|||
"not already imported, its containing package (if any) is imported, in order "
|
||||
"to establish the package ``__path__``."
|
||||
msgstr ""
|
||||
"Si le module ou le paquet est accessible via le mécanisme d'importation "
|
||||
"normal, une encapsulation autour de la partie pertinente de cette mécanique "
|
||||
"est renvoyé. Renvoie ``None`` si le module ne peut pas être trouvé ou "
|
||||
"importé. Si le module nommé n'est pas déjà importé, son paquet contenant (le "
|
||||
"cas échéant) est importé afin d'établir le paquet ``__path__``."
|
||||
|
||||
#: library/pkgutil.rst:129
|
||||
msgid "Yield :term:`finder` objects for the given module name."
|
||||
msgstr ""
|
||||
msgstr "Génère des objets :term:`finder` pour le nom du module donné."
|
||||
|
||||
#: library/pkgutil.rst:131
|
||||
msgid ""
|
||||
|
@ -163,32 +220,47 @@ msgid ""
|
|||
"containing fullname, otherwise they will be all registered top level finders "
|
||||
"(i.e. those on both :data:`sys.meta_path` and :data:`sys.path_hooks`)."
|
||||
msgstr ""
|
||||
"Si le nom complet contient un ``'.'``, les chercheurs sont pour le paquet "
|
||||
"contenant le nom complet, sinon ils sont enregistrés pour tous les "
|
||||
"chercheurs de niveau supérieur (c'est-à-dire ceux de :data:`sys.meta_path` "
|
||||
"et de :data:`sys.path_hooks`)."
|
||||
|
||||
#: library/pkgutil.rst:135
|
||||
msgid ""
|
||||
"If the named module is in a package, that package is imported as a side "
|
||||
"effect of invoking this function."
|
||||
msgstr ""
|
||||
"Si le module nommé se trouve dans un paquet, ce paquet est importé en tant "
|
||||
"qu'effet secondaire de l'invocation de cette fonction."
|
||||
|
||||
#: library/pkgutil.rst:138
|
||||
msgid "If no module name is specified, all top level finders are produced."
|
||||
msgstr ""
|
||||
"Si aucun nom de module n'est spécifié, tous les chercheurs de niveau "
|
||||
"supérieur sont générés."
|
||||
|
||||
#: library/pkgutil.rst:147
|
||||
msgid ""
|
||||
"Yields :class:`ModuleInfo` for all submodules on *path*, or, if *path* is "
|
||||
"``None``, all top-level modules on :data:`sys.path`."
|
||||
msgstr ""
|
||||
"Fournit des :class:`ModuleInfo` pour tous les sous-modules sur *path* ou, si "
|
||||
"*path* est ``None``, pour tous les modules de niveau supérieur sur :data:"
|
||||
"`sys.path`."
|
||||
|
||||
#: library/pkgutil.rst:171
|
||||
msgid ""
|
||||
"*path* should be either ``None`` or a list of paths to look for modules in."
|
||||
msgstr ""
|
||||
"*path* doit être soit ``None``, soit une liste de chemins pour rechercher "
|
||||
"des modules."
|
||||
|
||||
#: library/pkgutil.rst:173
|
||||
msgid ""
|
||||
"*prefix* is a string to output on the front of every module name on output."
|
||||
msgstr ""
|
||||
"*prefix* est une chaîne de caractères à afficher au début de chaque nom de "
|
||||
"module en sortie."
|
||||
|
||||
#: library/pkgutil.rst:195
|
||||
msgid ""
|
||||
|
@ -197,12 +269,18 @@ msgid ""
|
|||
"for :class:`importlib.machinery.FileFinder` and :class:`zipimport."
|
||||
"zipimporter`."
|
||||
msgstr ""
|
||||
"Cela fonctionne uniquement pour un :term:`finder` qui définit une méthode "
|
||||
"``iter_modules()``. Cette interface n'est pas standard, donc le module "
|
||||
"fournit également des implémentations pour :class:`importlib.machinery."
|
||||
"FileFinder` et :class:`zipimport.zipimporter`."
|
||||
|
||||
#: library/pkgutil.rst:168
|
||||
msgid ""
|
||||
"Yields :class:`ModuleInfo` for all modules recursively on *path*, or, if "
|
||||
"*path* is ``None``, all accessible modules."
|
||||
msgstr ""
|
||||
"Fournit des :class:`ModuleInfo` pour tous les modules de manière récursive "
|
||||
"sur *path* ou, si *path* est ``None``, tous les modules accessibles."
|
||||
|
||||
#: library/pkgutil.rst:175
|
||||
msgid ""
|
||||
|
@ -210,6 +288,9 @@ msgid ""
|
|||
"the given *path*, in order to access the ``__path__`` attribute to find "
|
||||
"submodules."
|
||||
msgstr ""
|
||||
"Notez que cette fonction doit importer tous les *packages* (*pas* tous les "
|
||||
"modules !) sur le *path* donné, afin d'accéder à l'attribut ``__path__`` "
|
||||
"pour trouver les sous-modules."
|
||||
|
||||
#: library/pkgutil.rst:179
|
||||
msgid ""
|
||||
|
@ -219,6 +300,11 @@ msgid ""
|
|||
"`ImportError`\\s are caught and ignored, while all other exceptions are "
|
||||
"propagated, terminating the search."
|
||||
msgstr ""
|
||||
"*onerror* est une fonction qui est appelée avec un argument (le nom du "
|
||||
"paquet qui était en cours d'importation) si une exception se produit lors de "
|
||||
"la tentative d'importation d'un paquet. Si aucune fonction *onerror* n'est "
|
||||
"fournie, les :exc:`ImportError`\\s sont attrapées et ignorées, tandis que "
|
||||
"toutes les autres exceptions sont propagées, mettant fin à la recherche."
|
||||
|
||||
#: library/pkgutil.rst:185
|
||||
msgid "Examples::"
|
||||
|
@ -226,7 +312,7 @@ msgstr "Exemples ::"
|
|||
|
||||
#: library/pkgutil.rst:207
|
||||
msgid "Get a resource from a package."
|
||||
msgstr ""
|
||||
msgstr "Obtient une ressource à partir d'un paquet."
|
||||
|
||||
#: library/pkgutil.rst:209
|
||||
msgid ""
|
||||
|
@ -237,18 +323,28 @@ msgid ""
|
|||
"separator. The parent directory name ``..`` is not allowed, and nor is a "
|
||||
"rooted name (starting with a ``/``)."
|
||||
msgstr ""
|
||||
"Ceci est une surcouche pour l'API :term:`loader` :meth:`get_data <importlib."
|
||||
"abc.ResourceLoader.get_data>`. L'argument *package* doit être le nom d'un "
|
||||
"paquet, au format module standard (``foo.bar``). L'argument *resource* doit "
|
||||
"être sous forme d'un nom de fichier relatif, en utilisant ``/`` comme "
|
||||
"séparateur de chemin. Le nom du répertoire parent ``..`` n'est pas autorisé, "
|
||||
"pas plus qu'un nom racine (commençant par ``/``)."
|
||||
|
||||
#: library/pkgutil.rst:216
|
||||
msgid ""
|
||||
"The function returns a binary string that is the contents of the specified "
|
||||
"resource."
|
||||
msgstr ""
|
||||
"La fonction renvoie une chaîne binaire qui est le contenu de la ressource "
|
||||
"spécifiée."
|
||||
|
||||
#: library/pkgutil.rst:219
|
||||
msgid ""
|
||||
"For packages located in the filesystem, which have already been imported, "
|
||||
"this is the rough equivalent of::"
|
||||
msgstr ""
|
||||
"Pour les paquets situés dans le système de fichiers, qui ont déjà été "
|
||||
"importés, c'est l'équivalent approximatif de ::"
|
||||
|
||||
#: library/pkgutil.rst:225
|
||||
msgid ""
|
||||
|
@ -258,10 +354,16 @@ msgid ""
|
|||
"for :term:`namespace packages <namespace package>` does not support :meth:"
|
||||
"`get_data <importlib.abc.ResourceLoader.get_data>`."
|
||||
msgstr ""
|
||||
"Si le paquet ne peut pas être localisé ou chargé, ou s'il utilise un :term:"
|
||||
"`loader` qui ne prend pas en charge :meth:`get_data <importlib.abc."
|
||||
"ResourceLoader.get_data>`, alors ``None`` est retourné. En particulier, le :"
|
||||
"term:`loader` pour les :term:`paquets espaces de noms <namespace package>` "
|
||||
"ne prend pas en charge :meth:`get_data <importlib.abc.ResourceLoader."
|
||||
"get_data>`."
|
||||
|
||||
#: library/pkgutil.rst:234
|
||||
msgid "Resolve a name to an object."
|
||||
msgstr ""
|
||||
msgstr "Solutionne un nom en un objet."
|
||||
|
||||
#: library/pkgutil.rst:236
|
||||
msgid ""
|
||||
|
@ -269,6 +371,10 @@ msgid ""
|
|||
"issue:`12915`) - and equivalent functionality is also in widely used third-"
|
||||
"party packages such as setuptools, Django and Pyramid."
|
||||
msgstr ""
|
||||
"Cette fonctionnalité est utilisée dans de nombreux endroits de la "
|
||||
"bibliothèque standard (voir :issue:`12915`) - et une fonctionnalité "
|
||||
"équivalente est également présente dans des paquets largement utilisés tels "
|
||||
"que Setuptools, Django et Pyramid."
|
||||
|
||||
#: library/pkgutil.rst:240
|
||||
msgid ""
|
||||
|
@ -276,14 +382,17 @@ msgid ""
|
|||
"where W is shorthand for a valid Python identifier and dot stands for a "
|
||||
"literal period in these pseudo-regexes:"
|
||||
msgstr ""
|
||||
"Python s'attend à ce que *name* soit une chaîne de caractères dans l'un des "
|
||||
"formats suivants, où W est une abréviation pour un identifiant Python valide "
|
||||
"et le point représente un point littéral dans ces pseudo-regexes :"
|
||||
|
||||
#: library/pkgutil.rst:244
|
||||
msgid "``W(.W)*``"
|
||||
msgstr ""
|
||||
msgstr "``W(.W)*``"
|
||||
|
||||
#: library/pkgutil.rst:245
|
||||
msgid "``W(.W)*:(W(.W)*)?``"
|
||||
msgstr ""
|
||||
msgstr "``W(.W)*:(W(.W)*)?``"
|
||||
|
||||
#: library/pkgutil.rst:247
|
||||
msgid ""
|
||||
|
@ -294,6 +403,13 @@ msgid ""
|
|||
"inferred by inspection, repeated attempts to import must be done with this "
|
||||
"form."
|
||||
msgstr ""
|
||||
"La première forme est destinée uniquement à assurer la compatibilité "
|
||||
"ascendante. Elle suppose qu'une partie du nom pointé est un paquet, et que "
|
||||
"le reste est un objet quelque part à l'intérieur de ce paquet, "
|
||||
"éventuellement niché à l'intérieur d'autres objets. Puisque l'endroit où le "
|
||||
"paquet s'arrête et où la hiérarchie des objets commence ne peut pas être "
|
||||
"déduit par inspection, des tentatives répétées d'importation doivent être "
|
||||
"effectuées avec cette forme."
|
||||
|
||||
#: library/pkgutil.rst:254
|
||||
msgid ""
|
||||
|
@ -303,23 +419,34 @@ msgid ""
|
|||
"hierarchy within that package. Only one import is needed in this form. If it "
|
||||
"ends with the colon, then a module object is returned."
|
||||
msgstr ""
|
||||
"Dans la deuxième forme, l'appelant clarifie le point de division en "
|
||||
"fournissant un seul deux-points : le nom pointé à gauche des deux-points est "
|
||||
"un package à importer, et le nom pointé à droite est la hiérarchie d'objets "
|
||||
"à l'intérieur de ce paquet. Seule une importation est nécessaire dans cette "
|
||||
"forme. Si elle se termine par un deux-points, alors un objet module est "
|
||||
"retourné."
|
||||
|
||||
#: library/pkgutil.rst:260
|
||||
msgid ""
|
||||
"The function will return an object (which might be a module), or raise one "
|
||||
"of the following exceptions:"
|
||||
msgstr ""
|
||||
"La fonction renvoie un objet (qui pourrait être un module), ou génère l'une "
|
||||
"des exceptions suivantes :"
|
||||
|
||||
#: library/pkgutil.rst:263
|
||||
msgid ":exc:`ValueError` -- if *name* isn't in a recognised format."
|
||||
msgstr ""
|
||||
msgstr ":exc:`ValueError` – si *name* n'est pas un format reconnu."
|
||||
|
||||
#: library/pkgutil.rst:265
|
||||
msgid ":exc:`ImportError` -- if an import failed when it shouldn't have."
|
||||
msgstr ""
|
||||
":exc:`ImportError` – si une importation échoue lorsqu'elle n'aurait pas dû."
|
||||
|
||||
#: library/pkgutil.rst:267
|
||||
msgid ""
|
||||
":exc:`AttributeError` -- If a failure occurred when traversing the object "
|
||||
"hierarchy within the imported package to get to the desired object."
|
||||
msgstr ""
|
||||
":exc:`AttributeError` – Si un échec s'est produit lors du parcours de la "
|
||||
"hiérarchie d'objets dans le paquet importé pour accéder à l'objet souhaité."
|
||||
|
|
|
@ -693,9 +693,9 @@ msgid ""
|
|||
"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :"
|
||||
"class:`bytearray`."
|
||||
msgstr ""
|
||||
"À l’avenir, la *graine* devra être de l’un des types suivants : *NoneType*, :"
|
||||
"class:`int`, :class:`float`, :class:`str`, :class:`bytes` ou :class:"
|
||||
"`bytearray`."
|
||||
"À l’avenir, la *graine* devra être de l’un des types suivants : :class:"
|
||||
"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes` ou :"
|
||||
"class:`bytearray`."
|
||||
|
||||
#: library/random.rst:393
|
||||
msgid ""
|
||||
|
|
|
@ -82,7 +82,7 @@ msgid ""
|
|||
"mutated)."
|
||||
msgstr ""
|
||||
"À cause de la sémantique de Python, une étagère ne peut pas savoir "
|
||||
"lorsqu'une entrée muable de dictionnaire persistant est modifiée. Par défaut "
|
||||
"lorsqu'une entrée mutable de dictionnaire persistant est modifiée. Par défaut "
|
||||
"les objets modifiés sont écrits *seulement* lorsqu'ils sont assignés à une "
|
||||
"étagère (voir :ref:`shelve-example`). Si le paramètre optionnel *writeback* "
|
||||
"est mis à ``True``, toutes les entrées déjà accédées sont aussi mises en "
|
||||
|
@ -244,7 +244,7 @@ msgstr ""
|
|||
"Si le paramètre *writeback* est ``True``, l'objet garde en cache toutes les "
|
||||
"entrées accédées et les écrit dans le *dict* aux moments de synchronisation "
|
||||
"et de fermeture. Cela permet des opérations naturelles sur les entrées "
|
||||
"muables, mais peut consommer beaucoup plus de mémoire et rendre les temps de "
|
||||
"mutables, mais peut consommer beaucoup plus de mémoire et rendre les temps de "
|
||||
"synchronisation et de fermeture très longs."
|
||||
|
||||
#: library/shelve.rst:132
|
||||
|
|
|
@ -6,13 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2018-11-29 18:26+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2023-11-26 16:20+0100\n"
|
||||
"Last-Translator: Yannick Gingras <ygingras@ygingras.net>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: library/shutil.rst:2
|
||||
msgid ":mod:`shutil` --- High-level file operations"
|
||||
|
@ -85,20 +86,20 @@ msgid ""
|
|||
"*dst* and return *dst* in the most efficient way possible. *src* and *dst* "
|
||||
"are path-like objects or path names given as strings."
|
||||
msgstr ""
|
||||
"Copie le contenu (sans métadonnées) du fichier nommé *src* dans un fichier "
|
||||
"nommé *dst* et renvoie *dst* de la manière la plus efficace possible. Les "
|
||||
"paramètres *src* et *dst* sont des objets simili-chemin ou des chaînes "
|
||||
"spécifiant des chemins."
|
||||
|
||||
#: library/shutil.rst:57
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"*dst* must be the complete target file name; look at :func:`~shutil.copy` "
|
||||
"for a copy that accepts a target directory path. If *src* and *dst* specify "
|
||||
"the same file, :exc:`SameFileError` is raised."
|
||||
msgstr ""
|
||||
"Copie le contenu (sans métadonnées) du fichier nommé *src* dans un fichier "
|
||||
"nommé *dst* et renvoie *dst*. *src* et *dst* sont des chemins sous forme de "
|
||||
"chaînes de caractères. *dst* doit être le chemin complet de la cible ; voir "
|
||||
"dans :func:`shutil.copy` pour une copie acceptant le chemin du dossier "
|
||||
"cible. Si *src* et *dst* désignent le même fichier :exc:`SameFileError` est "
|
||||
"levée."
|
||||
"*dst* doit être le nom complet du fichier cible ; consultez :func:`~shutil."
|
||||
"copy` pour une fonction de copie qui accepte un chemin de répertoire cible. "
|
||||
"Si *src* et *dst* spécifient le même fichier, lève :exc:`SameFileError`."
|
||||
|
||||
#: library/shutil.rst:61
|
||||
msgid ""
|
||||
|
@ -125,6 +126,8 @@ msgid ""
|
|||
"Raises an :ref:`auditing event <auditing>` ``shutil.copyfile`` with "
|
||||
"arguments ``src``, ``dst``."
|
||||
msgstr ""
|
||||
"Lève un :ref:`événement d’audit <auditing>` ``shutil.copyfile`` avec les "
|
||||
"arguments ``src``, ``dst``."
|
||||
|
||||
#: library/shutil.rst:72
|
||||
msgid ""
|
||||
|
@ -148,6 +151,9 @@ msgid ""
|
|||
"the file more efficiently. See :ref:`shutil-platform-dependent-efficient-"
|
||||
"copy-operations` section."
|
||||
msgstr ""
|
||||
"Les appels système de copie rapide spécifiques à la plate-forme peuvent être "
|
||||
"utilisés en interne afin de copier le fichier plus efficacement. Voir la "
|
||||
"section :ref:`shutil-platform-dependent-efficient-copy-operations`."
|
||||
|
||||
#: library/shutil.rst:88
|
||||
msgid ""
|
||||
|
@ -158,7 +164,6 @@ msgstr ""
|
|||
"`copyfile` sont le même fichier."
|
||||
|
||||
#: library/shutil.rst:96
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Copy the permission bits from *src* to *dst*. The file contents, owner, and "
|
||||
"group are unaffected. *src* and *dst* are path-like objects or path names "
|
||||
|
@ -170,26 +175,28 @@ msgid ""
|
|||
"platform, and it is asked to do so, it will do nothing and return."
|
||||
msgstr ""
|
||||
"Copie les octets de permission de *src* vers *dst*. Le contenu du fichier, "
|
||||
"le propriétaire et le groupe ne sont pas modifiés. *src* et *dst* sont des "
|
||||
"chaînes spécifiant les chemins. Si *follow_symlinks* est faux, et *src* et "
|
||||
"*dst* sont des liens symboliques, :func:`copymode` tente de modifier le mode "
|
||||
"de *dst* (au lieu du fichier vers lequel il pointe). Cette fonctionnalité "
|
||||
"n'est pas disponible sur toutes les plateformes ; voir :func:`copystat` pour "
|
||||
"plus d'informations. Si :func:`copymode` ne peut pas modifier les liens "
|
||||
"symboliques sur la plateforme cible alors que c'est demandé, il ne fait rien."
|
||||
"le propriétaire et le groupe ne sont pas modifiés. *src* et *dst* sont des :"
|
||||
"term:`objets simili-chemin <path-like object>` ou des chaînes spécifiant les "
|
||||
"chemins. Si *follow_symlinks* est faux, et *src* et *dst* sont des liens "
|
||||
"symboliques, :func:`copymode` tente de modifier le mode de *dst* (au lieu du "
|
||||
"fichier vers lequel il pointe). Cette fonctionnalité n'est pas disponible "
|
||||
"sur toutes les plateformes ; voir :func:`copystat` pour plus d'informations. "
|
||||
"Si :func:`copymode` ne peut pas modifier les liens symboliques sur la "
|
||||
"plateforme cible alors que c'est demandé, il ne fait rien."
|
||||
|
||||
#: library/shutil.rst:179
|
||||
msgid ""
|
||||
"Raises an :ref:`auditing event <auditing>` ``shutil.copymode`` with "
|
||||
"arguments ``src``, ``dst``."
|
||||
msgstr ""
|
||||
"Lève un :ref:`événement d’audit <auditing>` ``shutil.copymode`` avec les "
|
||||
"arguments ``src``, ``dst``."
|
||||
|
||||
#: library/shutil.rst:108
|
||||
msgid "Added *follow_symlinks* argument."
|
||||
msgstr "L'argument *follow_symlinks* a été ajouté."
|
||||
|
||||
#: library/shutil.rst:113
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Copy the permission bits, last access time, last modification time, and "
|
||||
"flags from *src* to *dst*. On Linux, :func:`copystat` also copies the "
|
||||
|
@ -201,8 +208,8 @@ msgstr ""
|
|||
"la dernière modification et les drapeaux (*flags* en anglais) de *src* vers "
|
||||
"*dst*. Sur Linux, :func:`copystat` copie également, si possible, les "
|
||||
"\"*extended attributes*\". Le contenu du fichier, le propriétaire et le "
|
||||
"groupe ne sont pas affectés. *src* et *dst* sont des chaînes spécifiant les "
|
||||
"chemins."
|
||||
"groupe ne sont pas affectés. *src* et *dst* sont des :term:`objets simili-"
|
||||
"chemin <path-like object>` ou des chaînes spécifiant les chemins."
|
||||
|
||||
#: library/shutil.rst:119
|
||||
msgid ""
|
||||
|
@ -890,16 +897,6 @@ msgstr ""
|
|||
|
||||
#: library/shutil.rst:658
|
||||
msgid ""
|
||||
"The keyword-only *filter* argument, which was added in Python 3.11.4, is "
|
||||
"passed to the underlying unpacking function. For zip files, *filter* is not "
|
||||
"accepted. For tar files, it is recommended to set it to ``'data'``, unless "
|
||||
"using features specific to tar and UNIX-like filesystems. (See :ref:`tarfile-"
|
||||
"extraction-filter` for details.) The ``'data'`` filter will become the "
|
||||
"default for tar files in Python 3.14."
|
||||
msgstr ""
|
||||
|
||||
#: library/shutil.rst:652
|
||||
msgid ""
|
||||
"Raises an :ref:`auditing event <auditing>` ``shutil.unpack_archive`` with "
|
||||
"arguments ``filename``, ``extract_dir``, ``format``."
|
||||
msgstr ""
|
||||
|
|
|
@ -42,7 +42,7 @@ msgid ""
|
|||
"rearrange their members in place, and don't return a specific item, never "
|
||||
"return the collection instance itself but ``None``."
|
||||
msgstr ""
|
||||
"Certaines classes de collection sont muables. Les méthodes qui ajoutent, "
|
||||
"Certaines classes de collection sont mutables. Les méthodes qui ajoutent, "
|
||||
"retirent, ou réorganisent leurs éléments sur place, et qui ne renvoient pas "
|
||||
"un élément spécifique, ne renvoient jamais l'instance de la collection elle-"
|
||||
"même, mais ``None``."
|
||||
|
@ -1726,7 +1726,7 @@ msgstr ""
|
|||
"si vous concaténez des :class:`bytes`, vous pouvez aussi utiliser :meth:"
|
||||
"`bytes.join` ou :class:`io.BytesIO`, ou vous pouvez faire les concaténations "
|
||||
"sur place avec un objet :class:`bytearray`. Les objets :class:`bytearray` "
|
||||
"sont muables et ont un mécanisme de sur-allocation efficace ;"
|
||||
"sont mutables et ont un mécanisme de sur-allocation efficace ;"
|
||||
|
||||
# énumération
|
||||
#: library/stdtypes.rst:1050
|
||||
|
@ -1779,7 +1779,7 @@ msgid ""
|
|||
"`hash` built-in."
|
||||
msgstr ""
|
||||
"La seule opération que les types de séquences immuables implémentent et qui "
|
||||
"n'est pas implémentée par les types de séquences muables est la fonction "
|
||||
"n'est pas implémentée par les types de séquences mutables est la fonction "
|
||||
"native :func:`hash`."
|
||||
|
||||
#: library/stdtypes.rst:1083
|
||||
|
@ -1802,7 +1802,7 @@ msgstr ""
|
|||
|
||||
#: library/stdtypes.rst:1094
|
||||
msgid "Mutable Sequence Types"
|
||||
msgstr "Types de séquences muables"
|
||||
msgstr "Types de séquences mutables"
|
||||
|
||||
#: library/stdtypes.rst:1101
|
||||
msgid ""
|
||||
|
@ -1811,7 +1811,7 @@ msgid ""
|
|||
"easier to correctly implement these operations on custom sequence types."
|
||||
msgstr ""
|
||||
"Les opérations dans le tableau ci-dessous sont définies sur les types de "
|
||||
"séquences muables. La classe mère abstraite :class:`collections.abc."
|
||||
"séquences mutables. La classe mère abstraite :class:`collections.abc."
|
||||
"MutableSequence` est prévue pour faciliter l'implémentation correcte de ces "
|
||||
"opérations sur les types de séquences personnalisées."
|
||||
|
||||
|
@ -1823,7 +1823,7 @@ msgid ""
|
|||
"integers that meet the value restriction ``0 <= x <= 255``)."
|
||||
msgstr ""
|
||||
"Dans le tableau ci-dessosus, *s* est une instance d'un type de séquence "
|
||||
"muable, *t* est un objet itérable et *x* est un objet arbitraire qui répond "
|
||||
"mutable, *t* est un objet itérable et *x* est un objet arbitraire qui répond "
|
||||
"à toutes les restrictions de type et de valeur imposées par *s* (par "
|
||||
"exemple, :class:`bytearray` accepte uniquement des nombres entiers qui "
|
||||
"répondent à la restriction de la valeur ``0 <= x <= 255``)."
|
||||
|
@ -1986,7 +1986,7 @@ msgid ""
|
|||
"classes provide it."
|
||||
msgstr ""
|
||||
":meth:`clear` et :meth:`!copy` sont incluses pour la compatibilité avec les "
|
||||
"interfaces des conteneurs muables qui ne gèrent pas les opérations de "
|
||||
"interfaces des conteneurs mutables qui ne gèrent pas les opérations de "
|
||||
"découpage (comme :class:`dict` et :class:`set`). :meth:`!copy` ne fait pas "
|
||||
"partie des classes mères abstraites (*ABC*) de :class:`collections.abc."
|
||||
"MutableSequence`, mais la plupart des classes implémentées gérant des "
|
||||
|
@ -2019,7 +2019,7 @@ msgid ""
|
|||
"homogeneous items (where the precise degree of similarity will vary by "
|
||||
"application)."
|
||||
msgstr ""
|
||||
"Les listes sont des séquences muables, généralement utilisées pour stocker "
|
||||
"Les listes sont des séquences mutables, généralement utilisées pour stocker "
|
||||
"des collections d'éléments homogènes (le degré de similitude varie selon "
|
||||
"l'usage)."
|
||||
|
||||
|
@ -2085,7 +2085,7 @@ msgid ""
|
|||
"additional method:"
|
||||
msgstr ""
|
||||
"Les listes gèrent toutes les opérations des séquences :ref:`communes "
|
||||
"<typesseq-common>` et :ref:`muables <typesseq-mutable>`. Les listes "
|
||||
"<typesseq-common>` et :ref:`mutables <typesseq-mutable>`. Les listes "
|
||||
"fournissent également la méthode supplémentaire suivante :"
|
||||
|
||||
#: library/stdtypes.rst:1249
|
||||
|
@ -2554,7 +2554,7 @@ msgid ""
|
|||
"StringIO` can be used to efficiently construct strings from multiple "
|
||||
"fragments."
|
||||
msgstr ""
|
||||
"Il n'y a aucun type de chaîne muable, mais :meth:`str.join` ou :class:`io."
|
||||
"Il n'y a aucun type de chaîne mutable, mais :meth:`str.join` ou :class:`io."
|
||||
"StringIO` peuvent être utilisées pour construire efficacement des chaînes à "
|
||||
"partir de plusieurs fragments."
|
||||
|
||||
|
@ -4362,7 +4362,7 @@ msgid ""
|
|||
":class:`bytearray` objects are a mutable counterpart to :class:`bytes` "
|
||||
"objects."
|
||||
msgstr ""
|
||||
"Les objets :class:`bytearray` sont l'équivalent muable des objets :class:"
|
||||
"Les objets :class:`bytearray` sont l'équivalent mutable des objets :class:"
|
||||
"`bytes`."
|
||||
|
||||
#: library/stdtypes.rst:2599
|
||||
|
@ -4404,8 +4404,8 @@ msgid ""
|
|||
"mutable>` sequence operations in addition to the common bytes and bytearray "
|
||||
"operations described in :ref:`bytes-methods`."
|
||||
msgstr ""
|
||||
"Comme les *bytearray* sont muables, ils prennent en charge les opérations de "
|
||||
"séquences :ref:`muables <typesseq-mutable>` en plus des opérations communes "
|
||||
"Comme les *bytearray* sont mutables, ils prennent en charge les opérations de "
|
||||
"séquences :ref:`mutables <typesseq-mutable>` en plus des opérations communes "
|
||||
"de *bytes* et *bytearray* décrites dans :ref:`bytes-methods`."
|
||||
|
||||
#: library/stdtypes.rst:2611
|
||||
|
@ -5894,9 +5894,9 @@ msgid ""
|
|||
"of another set."
|
||||
msgstr ""
|
||||
"Il existe actuellement deux types natifs pour les ensembles, :class:`set` "
|
||||
"et :class:`frozenset`. Le type :class:`set` est muable — son contenu peut "
|
||||
"et :class:`frozenset`. Le type :class:`set` est mutable — son contenu peut "
|
||||
"changer en utilisant des méthodes comme :meth:`~set.add` et :meth:`~set."
|
||||
"remove`. Puisqu'il est muable, il n'a pas de valeur de hachage et ne peut "
|
||||
"remove`. Puisqu'il est mutable, il n'a pas de valeur de hachage et ne peut "
|
||||
"donc pas être utilisé ni comme clé de dictionnaire ni comme élément d'un "
|
||||
"autre ensemble. Le type :class:`frozenset` est immuable et :term:`hachable "
|
||||
"<hashable>` — son contenu ne peut être modifié après sa création, il peut "
|
||||
|
@ -6218,7 +6218,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Un objet :term:`tableau de correspondances <mapping>` (*mapping*) fait "
|
||||
"correspondre des valeurs :term:`hachables <hashable>` à des objets "
|
||||
"arbitraires. Les tableaux de correspondances sont des objets muables. Il "
|
||||
"arbitraires. Les tableaux de correspondances sont des objets mutables. Il "
|
||||
"n'existe pour le moment qu'un type de tableau de correspondances standard, "
|
||||
"le :dfn:`dictionary`. (Pour les autres conteneurs, voir les types natifs :"
|
||||
"class:`liste <list>`, :class:`ensemble <set>` et :class:`n-uplet <tuple>`, "
|
||||
|
@ -6234,7 +6234,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les clés d'un dictionnaire sont *presque* des données arbitraires. Les "
|
||||
"valeurs qui ne sont pas :term:`hachables <hashable>`, c'est-à-dire les "
|
||||
"valeurs contenant des listes, dictionnaires ou autres types muables (qui "
|
||||
"valeurs contenant des listes, dictionnaires ou autres types mutables (qui "
|
||||
"sont comparés à l'aide de leurs valeurs plutôt que par l'identité de "
|
||||
"l'objet) ne peuvent pas être utilisées comme clés. Des valeurs qui sont "
|
||||
"considérées égales lors d'une comparaison (comme ``1``, ``1.0`` et ``True``) "
|
||||
|
@ -8781,7 +8781,7 @@ msgstr ""
|
|||
#: library/stdtypes.rst:1461
|
||||
#, fuzzy
|
||||
msgid "text sequence type"
|
||||
msgstr "Types de séquences muables"
|
||||
msgstr "Types de séquences mutables"
|
||||
|
||||
#: library/stdtypes.rst:1510 library/stdtypes.rst:1528
|
||||
#, fuzzy
|
||||
|
@ -8872,7 +8872,7 @@ msgstr ""
|
|||
#: library/stdtypes.rst:2458
|
||||
#, fuzzy
|
||||
msgid "binary sequence types"
|
||||
msgstr "Types de séquences muables"
|
||||
msgstr "Types de séquences mutables"
|
||||
|
||||
#: library/stdtypes.rst:2466
|
||||
#, fuzzy
|
||||
|
|
|
@ -65,11 +65,11 @@ msgid ""
|
|||
"example, creating temporary or proxy databases, directories, or starting a "
|
||||
"server process."
|
||||
msgstr ""
|
||||
"Un :dfn:`aménagement de test <test fixture>` (*fixture* en anglais) désigne "
|
||||
"la préparation nécessaire au déroulement d'un ou plusieurs tests, et toutes "
|
||||
"les actions de nettoyage associées. Cela peut concerner, par exemple, la "
|
||||
"création de bases de données temporaires ou mandataires, de répertoires, ou "
|
||||
"le démarrage d'un processus serveur."
|
||||
"Un :dfn:`aménagement de test` (*fixture* en anglais) désigne la préparation "
|
||||
"nécessaire au déroulement d'un ou plusieurs tests, et toutes les actions de "
|
||||
"nettoyage associées. Cela peut concerner, par exemple, la création de bases "
|
||||
"de données temporaires ou mandataires, de répertoires, ou le démarrage d'un "
|
||||
"processus serveur."
|
||||
|
||||
#: library/unittest.rst:37
|
||||
msgid "test case"
|
||||
|
|
|
@ -6,18 +6,18 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-31 11:33+0100\n"
|
||||
"PO-Revision-Date: 2021-11-08 15:03+0100\n"
|
||||
"PO-Revision-Date: 2023-07-24 13:50+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
"X-Generator: Poedit 3.3.1\n"
|
||||
|
||||
#: library/zipimport.rst:2
|
||||
msgid ":mod:`zipimport` --- Import modules from Zip archives"
|
||||
msgstr ":mod:`zipimport` — Importer des modules à partir d'archives Zip"
|
||||
msgstr ":mod:`zipimport` — Import de modules à partir d'archives Zip"
|
||||
|
||||
#: library/zipimport.rst:9
|
||||
msgid "**Source code:** :source:`Lib/zipimport.py`"
|
||||
|
@ -58,7 +58,6 @@ msgstr ""
|
|||
"répertoire :file:`lib/` dans l'archive."
|
||||
|
||||
#: library/zipimport.rst:26
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Any files may be present in the ZIP archive, but importers are only invoked "
|
||||
"for :file:`.py` and :file:`.pyc` files. ZIP import of dynamic modules (:"
|
||||
|
@ -67,19 +66,20 @@ msgid ""
|
|||
"adding the corresponding :file:`.pyc` file, meaning that if a ZIP archive "
|
||||
"doesn't contain :file:`.pyc` files, importing may be rather slow."
|
||||
msgstr ""
|
||||
"Tous les fichiers peuvent être présents dans l'archive ZIP, mais seuls les "
|
||||
"fichiers :file:`.py` et :file:`.pyc` sont disponibles pour importation. "
|
||||
"L'importation ZIP des modules dynamiques (:file:`.pyd`, :file:`.so`) n'est "
|
||||
"pas permise. Notez que si une archive ne contient que des fichiers :file:`."
|
||||
"py`, Python n'essaiera pas de modifier l'archive en ajoutant le fichier "
|
||||
"correspondant :file:`.pyc`, ce qui signifie que si une archive ZIP ne "
|
||||
"contient pas de fichier :file:`.pyc`, l'importation peut être assez lente."
|
||||
"Tous les fichiers peuvent être présents dans l'archive ZIP, mais les "
|
||||
"importateurs ne sont invoqués que pour les fichiers :file:`.py` et :file:`."
|
||||
"pyc`. L'importation ZIP de modules dynamiques (:file:`.py`, :file:`.so`) "
|
||||
"n'est pas permise. Notez que si une archive ne contient que des fichiers :"
|
||||
"file:`.py`, Python n'essaiera pas de modifier l'archive en ajoutant le "
|
||||
"fichier :file:`.pyc` correspondant, ce qui signifie que si une archive ZIP "
|
||||
"ne contient pas de fichiers :file:`.pyc`, l'importation peut être assez "
|
||||
"lente."
|
||||
|
||||
#: library/zipimport.rst:33
|
||||
msgid "Previously, ZIP archives with an archive comment were not supported."
|
||||
msgstr ""
|
||||
"auparavant, les archives ZIP avec un commentaire n'étaient pas prises en "
|
||||
"charge."
|
||||
"auparavant, les archives ZIP avec un commentaire d’archive n’étaient pas "
|
||||
"prises en charge."
|
||||
|
||||
#: library/zipimport.rst:40
|
||||
msgid ""
|
||||
|
|
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2023-02-15 11:51+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"PO-Revision-Date: 2023-12-05 22:58+0100\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.1\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: reference/compound_stmts.rst:5
|
||||
msgid "Compound statements"
|
||||
|
@ -233,7 +233,6 @@ msgstr ""
|
|||
"compris celles effectuées dans la suite de la boucle ``for`` ::"
|
||||
|
||||
#: reference/compound_stmts.rst:193
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Names in the target list are not deleted when the loop is finished, but if "
|
||||
"the sequence is empty, they will not have been assigned to at all by the "
|
||||
|
@ -243,27 +242,27 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les noms dans la liste cible ne sont pas supprimés lorsque la boucle est "
|
||||
"terminée mais, si la séquence est vide, ils n'auront pas du tout été "
|
||||
"assignés par la boucle. Petite astuce : la fonction native :func:`range` "
|
||||
"renvoie un itérateur sur des entiers approprié pour émuler la boucle "
|
||||
"classique en Pascal sur des entiers ``for i := a to b do`` ; par exemple, "
|
||||
"``list(range(3))`` renvoie la liste ``[0, 1, 2]``."
|
||||
"assignés par la boucle. Petite astuce : le type natif :func:`range` "
|
||||
"représente des suites arithmétiques immuables de nombres entiers ; par "
|
||||
"exemple, itérer sur ``range(3)`` renvoie successivement les entiers 0, 1 et "
|
||||
"2."
|
||||
|
||||
# suit un :
|
||||
#: reference/compound_stmts.rst:198
|
||||
msgid "Starred elements are now allowed in the expression list."
|
||||
msgstr ""
|
||||
"Les éléments étoilés sont maintenant autorisés dans l'expression liste."
|
||||
"les éléments étoilés sont maintenant autorisés dans l'expression liste."
|
||||
|
||||
#: reference/compound_stmts.rst:205
|
||||
msgid "The :keyword:`!try` statement"
|
||||
msgstr "L'instruction :keyword:`!try`"
|
||||
|
||||
#: reference/compound_stmts.rst:215
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The :keyword:`!try` statement specifies exception handlers and/or cleanup "
|
||||
"code for a group of statements:"
|
||||
msgstr ""
|
||||
"L'instruction :keyword:`try` définit les gestionnaires d'exception ou le "
|
||||
"L'instruction :keyword:`!try` définit les gestionnaires d'exception ou le "
|
||||
"code de nettoyage pour un groupe d'instructions :"
|
||||
|
||||
#: reference/compound_stmts.rst:231
|
||||
|
@ -279,10 +278,9 @@ msgstr ""
|
|||
|
||||
#: reference/compound_stmts.rst:239
|
||||
msgid ":keyword:`!except` clause"
|
||||
msgstr ""
|
||||
msgstr "clause :keyword:`!except`"
|
||||
|
||||
#: reference/compound_stmts.rst:241
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The :keyword:`!except` clause(s) specify one or more exception handlers. "
|
||||
"When no exception occurs in the :keyword:`try` clause, no exception handler "
|
||||
|
@ -298,34 +296,32 @@ msgid ""
|
|||
"tuple containing an item that is the class or a non-virtual base class of "
|
||||
"the exception object."
|
||||
msgstr ""
|
||||
"La ou les clauses :keyword:`except` précisent un ou plusieurs gestionnaires "
|
||||
"La ou les clauses :keyword:`!except` précisent un ou plusieurs gestionnaires "
|
||||
"d'exceptions. Si aucune exception ne se produit dans la clause :keyword:"
|
||||
"`try`, aucun gestionnaire d'exception n'est exécuté. Lorsqu'une exception se "
|
||||
"produit dans la suite de :keyword:`!try`, Python recherche un gestionnaire "
|
||||
"d'exception. Cette recherche inspecte les clauses ``except``, l'une après "
|
||||
"l'autre, jusqu'à trouver une correspondance. Une clause ``except`` vide "
|
||||
"(c'est-à-dire sans expression), si elle est présente, doit être la "
|
||||
"dernière ; elle correspond à toute exception. Pour une clause ``except`` "
|
||||
"avec une expression, cette expression est évaluée et la clause correspond si "
|
||||
"l'objet résultant est « compatible » avec l'exception. Un objet est réputé "
|
||||
"compatible avec une exception s'il est la classe ou une classe mère (mais "
|
||||
"pas une :term:`classe mère abstraite`) de l'objet exception ou si c'est un "
|
||||
"*n*-uplet dont un élément est la classe ou une classe parente (non-"
|
||||
"abstraite) de l'exception."
|
||||
"d'exception. Cette recherche inspecte les clauses :keyword:`!except`, l'une "
|
||||
"après l'autre, jusqu'à trouver une correspondance. Une clause :keyword:`!"
|
||||
"except` vide (c'est-à-dire sans expression), si elle est présente, doit être "
|
||||
"la dernière ; elle correspond à toute exception. Pour une clause :keyword:`!"
|
||||
"except` avec une expression, cette expression est évaluée et la clause "
|
||||
"correspond si l'objet résultant est « compatible » avec l'exception. Un "
|
||||
"objet est réputé compatible avec une exception s'il est la classe ou une "
|
||||
"classe mère (mais pas une :term:`classe mère abstraite`) de l'objet "
|
||||
"exception ou si c'est un *n*-uplet dont un élément est la classe ou une "
|
||||
"classe mère (non-abstraite) de l'exception."
|
||||
|
||||
#: reference/compound_stmts.rst:256
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If no :keyword:`!except` clause matches the exception, the search for an "
|
||||
"exception handler continues in the surrounding code and on the invocation "
|
||||
"stack. [#]_"
|
||||
msgstr ""
|
||||
"Si aucune clause ``except`` ne correspond à l'exception, la recherche d'un "
|
||||
"gestionnaire d'exception se poursuit dans le code englobant et dans la pile "
|
||||
"d'appels. [#]_"
|
||||
"Si aucune clause :keyword:`!except` ne correspond à l'exception, la "
|
||||
"recherche d'un gestionnaire d'exception se poursuit dans le code englobant "
|
||||
"et dans la pile d'appels. [#]_"
|
||||
|
||||
#: reference/compound_stmts.rst:260
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If the evaluation of an expression in the header of an :keyword:`!except` "
|
||||
"clause raises an exception, the original search for a handler is canceled "
|
||||
|
@ -333,14 +329,13 @@ msgid ""
|
|||
"call stack (it is treated as if the entire :keyword:`try` statement raised "
|
||||
"the exception)."
|
||||
msgstr ""
|
||||
"Si l'évaluation d'une expression dans l'en-tête d'une clause ``except`` lève "
|
||||
"une exception, la recherche initiale d'un gestionnaire est annulée et une "
|
||||
"recherche commence pour la nouvelle exception dans le code englobant et dans "
|
||||
"la pile d'appels (c'est traité comme si l'instruction :keyword:`try` avait "
|
||||
"levé l'exception)."
|
||||
"Si l'évaluation d'une expression dans l'en-tête d'une clause :keyword:`!"
|
||||
"except` lève une exception, la recherche initiale d'un gestionnaire est "
|
||||
"annulée et une recherche commence pour la nouvelle exception dans le code "
|
||||
"englobant et dans la pile d'appels (c'est traité comme si l'instruction :"
|
||||
"keyword:`try` avait levé l'exception)."
|
||||
|
||||
#: reference/compound_stmts.rst:268
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"When a matching :keyword:`!except` clause is found, the exception is "
|
||||
"assigned to the target specified after the :keyword:`!as` keyword in that :"
|
||||
|
@ -352,31 +347,29 @@ msgid ""
|
|||
"keyword:`!try` clause of the inner handler, the outer handler will not "
|
||||
"handle the exception.)"
|
||||
msgstr ""
|
||||
"Lorsqu'une clause d'exception correspond, l'exception est assignée à la "
|
||||
"cible précisée après le mot-clé :keyword:`!as` dans cette clause ``except``, "
|
||||
"si cette cible existe, et la suite de clause ``except`` est exécutée. Toutes "
|
||||
"les clauses ``except`` doivent avoir un bloc exécutable. Lorsque la fin de "
|
||||
"ce bloc est atteinte, l'exécution continue normalement après l'ensemble de "
|
||||
"l'instruction ``try`` (cela signifie que si deux gestionnaires imbriqués "
|
||||
"existent pour la même exception, et que l'exception se produit dans la "
|
||||
"clause ``try`` du gestionnaire interne, le gestionnaire externe ne gère pas "
|
||||
"l'exception)."
|
||||
"Lorsqu'une clause :keyword:`!except` correspond, l'exception est affectée à "
|
||||
"la cible précisée après le mot-clé :keyword:`!as` dans cette clause :keyword:"
|
||||
"`!except`, si cette cible existe, et la suite de clause :keyword:`!except` "
|
||||
"est exécutée. Toutes les clauses :keyword:`!except` doivent avoir un bloc "
|
||||
"exécutable. Lorsque la fin de ce bloc est atteinte, l'exécution continue "
|
||||
"normalement après l'ensemble de l'instruction :keyword:`try` (cela signifie "
|
||||
"que si deux gestionnaires imbriqués existent pour la même exception, et que "
|
||||
"l'exception se produit dans la clause :keyword:`!try` du gestionnaire "
|
||||
"interne, le gestionnaire externe ne gère pas l'exception)."
|
||||
|
||||
#: reference/compound_stmts.rst:279
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"When an exception has been assigned using ``as target``, it is cleared at "
|
||||
"the end of the :keyword:`!except` clause. This is as if ::"
|
||||
msgstr ""
|
||||
"Lorsqu'une exception a été assignée en utilisant ``as cible``, elle est "
|
||||
"effacée à la fin de la clause ``except``. C'est comme si ::"
|
||||
"Lorsqu'une exception a été affectée en utilisant ``as cible``, elle est "
|
||||
"effacée à la fin de la clause :keyword:`!except`. C'est comme si ::"
|
||||
|
||||
#: reference/compound_stmts.rst:285
|
||||
msgid "was translated to ::"
|
||||
msgstr "avait été traduit en ::"
|
||||
msgstr "avait été traduit en \t::"
|
||||
|
||||
#: reference/compound_stmts.rst:293
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This means the exception must be assigned to a different name to be able to "
|
||||
"refer to it after the :keyword:`!except` clause. Exceptions are cleared "
|
||||
|
@ -385,11 +378,11 @@ msgid ""
|
|||
"garbage collection occurs."
|
||||
msgstr ""
|
||||
"Cela veut dire que l'exception doit être assignée à un nom différent pour "
|
||||
"pouvoir s'y référer après la clause ``except``. Les exceptions sont effacées "
|
||||
"parce qu'avec la trace de la pile d'appels qui leur est attachée, elles "
|
||||
"créent un cycle dans les pointeurs de références (avec le cadre de la pile), "
|
||||
"ce qui conduit à conserver tous les noms locaux de ce cadre en mémoire "
|
||||
"jusqu'au passage du ramasse-miettes."
|
||||
"pouvoir s'y référer après la clause :keyword:`!except`. Les exceptions sont "
|
||||
"effacées parce qu'avec la trace de la pile d'appels qui leur est attachée, "
|
||||
"elles créent un cycle dans les pointeurs de références (avec le cadre de la "
|
||||
"pile), ce qui conduit à conserver tous les noms locaux de ce cadre en "
|
||||
"mémoire jusqu'au passage du ramasse-miettes."
|
||||
|
||||
#: reference/compound_stmts.rst:303
|
||||
msgid ""
|
||||
|
@ -399,13 +392,17 @@ msgid ""
|
|||
"leaving an exception handler, the exception stored in the :mod:`sys` module "
|
||||
"is reset to its previous value::"
|
||||
msgstr ""
|
||||
"Avant qu'une suite de clauses :keyword:`!except` ne soit exécutée, "
|
||||
"l'exception est stockée dans le module :mod:`sys`, où elle est accessible "
|
||||
"depuis le corps de la clause :keyword:`!except` en appelant :func:`sys."
|
||||
"exception`. Lorsque vous quittez un gestionnaire d'exceptions, l'exception "
|
||||
"stockée dans le module :mod:`sys` est réinitialisée à sa valeur précédente ::"
|
||||
|
||||
#: reference/compound_stmts.rst:334
|
||||
msgid ":keyword:`!except*` clause"
|
||||
msgstr ""
|
||||
msgstr "clause :keyword:`!except*`"
|
||||
|
||||
#: reference/compound_stmts.rst:336
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The :keyword:`!except*` clause(s) are used for handling :exc:"
|
||||
"`ExceptionGroup`\\s. The exception type for matching is interpreted as in "
|
||||
|
@ -417,17 +414,17 @@ msgid ""
|
|||
"in the group is handled by at most one :keyword:`!except*` clause, the first "
|
||||
"that matches it. ::"
|
||||
msgstr ""
|
||||
"Les clauses :keyword:`except*<except_star>` sont utilisées pour gérer des :"
|
||||
"exc:`ExceptionGroup`. Le type de l'exception pour la correspondance est "
|
||||
"Les clauses :keyword:`!except*` sont utilisées pour gérer des :exc:"
|
||||
"`ExceptionGroup`. Le type de l'exception pour la correspondance est "
|
||||
"interprété de la même manière que dans le cas d'un :keyword:`except` mais, "
|
||||
"dans le cas d'un groupe d'exceptions, il est possible d'avoir une "
|
||||
"correspondance partielle quand le type correspond à une ou plusieurs "
|
||||
"exception dans le groupe. Cela veut dire que plusieurs clauses *except\\** "
|
||||
"peuvent être exécutées, chacune gérant une partie du groupe d'exceptions. "
|
||||
"Chaque clause ne s'exécute qu'une fois et gère un groupe d'exception "
|
||||
"constitué des exceptions qui correspondent. Chaque exception du groupe est "
|
||||
"gérée par une clause *except\\** au plus, la première à laquelle elle "
|
||||
"correspond. ::"
|
||||
"exceptions dans le groupe. Cela veut dire que plusieurs clauses :keyword:`!"
|
||||
"except*` peuvent être exécutées, chacune gérant une partie du groupe "
|
||||
"d'exceptions. Chaque clause ne s'exécute (au maximum) qu'une fois et gère un "
|
||||
"groupe d'exception constitué des exceptions qui correspondent. Chaque "
|
||||
"exception du groupe est gérée par une clause :keyword:`!except*` au plus, la "
|
||||
"première à laquelle elle correspond. ::"
|
||||
|
||||
#: reference/compound_stmts.rst:364
|
||||
msgid ""
|
||||
|
@ -435,6 +432,10 @@ msgid ""
|
|||
"clause are re-raised at the end, combined into an exception group along with "
|
||||
"all exceptions that were raised from within :keyword:`!except*` clauses."
|
||||
msgstr ""
|
||||
"Toutes les exceptions restantes qui n'ont été gérées par aucune clause :"
|
||||
"keyword:`!except*` sont réactivées à la fin, combinées dans un groupe "
|
||||
"d'exceptions avec toutes les exceptions qui ont été levées à partir des "
|
||||
"clauses :keyword:`!except*`."
|
||||
|
||||
#: reference/compound_stmts.rst:368
|
||||
msgid ""
|
||||
|
@ -442,6 +443,10 @@ msgid ""
|
|||
"only one exception is raised from an :keyword:`!except*` clause, this "
|
||||
"exception is no longer wrapped to form a new :exc:`ExceptionGroup`."
|
||||
msgstr ""
|
||||
"À partir de la version 3.11.4, lorsque l'intégralité de :exc:"
|
||||
"`ExceptionGroup` est gérée et qu'une seule exception est levée à partir "
|
||||
"d'une clause :keyword:`!except*`, cette exception n'est plus encapsulée pour "
|
||||
"former un nouveau :exc:`ExceptionGroup`."
|
||||
|
||||
#: reference/compound_stmts.rst:372
|
||||
msgid ""
|
||||
|
@ -449,6 +454,9 @@ msgid ""
|
|||
"of the :keyword:`!except*` clauses, it is caught and wrapped by an exception "
|
||||
"group with an empty message string. ::"
|
||||
msgstr ""
|
||||
"Si l'exception levée n'est pas un groupe d'exceptions et que son type "
|
||||
"correspond à l'une des clauses :keyword:`!except*`, elle est interceptée et "
|
||||
"encapsulée par un groupe d'exceptions avec une chaîne de message vide. ::"
|
||||
|
||||
#: reference/compound_stmts.rst:383
|
||||
msgid ""
|
||||
|
@ -458,11 +466,15 @@ msgid ""
|
|||
"keyword:`break`, :keyword:`continue` and :keyword:`return` cannot appear in "
|
||||
"an :keyword:`!except*` clause."
|
||||
msgstr ""
|
||||
"Une clause :keyword:`!except*` doit avoir un type correspondant, et ce type "
|
||||
"ne peut pas être une sous-classe de :exc:`BaseExceptionGroup`. Il n'est pas "
|
||||
"possible de combiner :keyword:`except` et :keyword:`!except*` dans un même :"
|
||||
"keyword:`try`. Aucune clause :keyword:`break`, :keyword:`continue` ou :"
|
||||
"keyword:`return` ne peut apparaître dans une clause :keyword:`!except*`."
|
||||
|
||||
#: reference/compound_stmts.rst:400
|
||||
#, fuzzy
|
||||
msgid ":keyword:`!else` clause"
|
||||
msgstr "L'instruction :keyword:`!while`"
|
||||
msgstr "clause :keyword:`!else`"
|
||||
|
||||
#: reference/compound_stmts.rst:402
|
||||
msgid ""
|
||||
|
@ -480,10 +492,9 @@ msgstr ""
|
|||
|
||||
#: reference/compound_stmts.rst:414
|
||||
msgid ":keyword:`!finally` clause"
|
||||
msgstr ""
|
||||
msgstr "clause :keyword:`!finally`"
|
||||
|
||||
#: reference/compound_stmts.rst:416
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The :"
|
||||
"keyword:`try` clause is executed, including any :keyword:`except` and :"
|
||||
|
@ -496,9 +507,9 @@ msgid ""
|
|||
"`return`, :keyword:`break` or :keyword:`continue` statement, the saved "
|
||||
"exception is discarded::"
|
||||
msgstr ""
|
||||
"Si :keyword:`finally` est présente, elle définit un gestionnaire de "
|
||||
"Si :keyword:`!finally` est présente, elle définit un gestionnaire de "
|
||||
"« nettoyage ». La clause :keyword:`try` est exécutée, y compris les clauses :"
|
||||
"keyword:`except` et :keyword:`!else`. Si une exception se produit dans l'une "
|
||||
"keyword:`except` et :keyword:`else`. Si une exception se produit dans l'une "
|
||||
"des clauses et n'est pas traitée, l'exception est temporairement "
|
||||
"sauvegardée. La clause :keyword:`!finally` est exécutée. S'il y a une "
|
||||
"exception sauvegardée, elle est levée à nouveau à la fin de la clause :"
|
||||
|
@ -509,16 +520,14 @@ msgstr ""
|
|||
"l'exception sauvegardée est jetée ::"
|
||||
|
||||
#: reference/compound_stmts.rst:435
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The exception information is not available to the program during execution "
|
||||
"of the :keyword:`!finally` clause."
|
||||
msgstr ""
|
||||
"L'information relative à l'exception n'est pas disponible pour le programme "
|
||||
"pendant l'exécution de la clause :keyword:`finally`."
|
||||
"pendant l'exécution de la clause :keyword:`!finally`."
|
||||
|
||||
#: reference/compound_stmts.rst:443
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement "
|
||||
"is executed in the :keyword:`try` suite of a :keyword:`!try`...\\ :keyword:`!"
|
||||
|
@ -527,11 +536,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Lorsqu'une instruction :keyword:`return`, :keyword:`break` ou :keyword:"
|
||||
"`continue` est exécutée dans la suite d'une instruction :keyword:`try` d'une "
|
||||
"construction :keyword:`!try`…\\ :keyword:`!finally`, la clause :keyword:"
|
||||
"`finally` est aussi exécutée « à la sortie »."
|
||||
"construction :keyword:`!try`…\\ :keyword:`!finally`, la clause :keyword:`!"
|
||||
"finally` est aussi exécutée « à la sortie »."
|
||||
|
||||
#: reference/compound_stmts.rst:447
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The return value of a function is determined by the last :keyword:`return` "
|
||||
"statement executed. Since the :keyword:`!finally` clause always executes, "
|
||||
|
@ -539,18 +547,17 @@ msgid ""
|
|||
"will always be the last one executed::"
|
||||
msgstr ""
|
||||
"La valeur de retour d'une fonction est déterminée par la dernière "
|
||||
"instruction :keyword:`return` exécutée. Puisque la clause :keyword:`finally` "
|
||||
"s'exécute toujours, une instruction :keyword:`!return` exécutée dans le :"
|
||||
"keyword:`!finally` sera toujours la dernière clause exécutée ::"
|
||||
"instruction :keyword:`return` exécutée. Puisque la clause :keyword:`!"
|
||||
"finally` s'exécute toujours, une instruction :keyword:`!return` exécutée "
|
||||
"dans le :keyword:`!finally` sera toujours la dernière clause exécutée ::"
|
||||
|
||||
#: reference/compound_stmts.rst:461
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :"
|
||||
"keyword:`!finally` clause due to a problem with the implementation."
|
||||
msgstr ""
|
||||
"Avant Python 3.8, une instruction :keyword:`continue` n'était pas licite "
|
||||
"dans une clause :keyword:`finally` en raison d'un problème dans "
|
||||
"dans une clause :keyword:`!finally` en raison d'un problème dans "
|
||||
"l'implémentation."
|
||||
|
||||
#: reference/compound_stmts.rst:470
|
||||
|
@ -612,7 +619,6 @@ msgstr ""
|
|||
"est assignée."
|
||||
|
||||
#: reference/compound_stmts.rst:505
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The :keyword:`with` statement guarantees that if the :meth:`__enter__` "
|
||||
"method returns without an error, then :meth:`__exit__` will always be "
|
||||
|
@ -624,7 +630,7 @@ msgstr ""
|
|||
"se termine sans erreur, alors la méthode :meth:`__exit__` est toujours "
|
||||
"appelée. Ainsi, si une erreur se produit pendant l'affectation à la liste "
|
||||
"cible, elle est traitée de la même façon qu'une erreur se produisant dans la "
|
||||
"suite. Voir l'étape 6 ci-dessous."
|
||||
"suite. Voir l'étape 7 ci-dessous."
|
||||
|
||||
#: reference/compound_stmts.rst:511
|
||||
msgid "The suite is executed."
|
||||
|
@ -1084,7 +1090,6 @@ msgstr ""
|
|||
"au champ de recherche. La syntaxe est la suivante :"
|
||||
|
||||
#: reference/compound_stmts.rst:821
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern "
|
||||
"binds the subject to the name on the right of the as keyword and succeeds. "
|
||||
|
@ -1604,7 +1609,7 @@ msgid ""
|
|||
"exc:`TypeError`."
|
||||
msgstr ""
|
||||
"Si ``name_or_attr`` n'est pas une instance de la classe native :class:"
|
||||
"`type` , lève une :exc:`TypeError`."
|
||||
"`type`, lève une :exc:`TypeError`."
|
||||
|
||||
#: reference/compound_stmts.rst:1098
|
||||
msgid ""
|
||||
|
@ -1641,8 +1646,8 @@ msgid ""
|
|||
"If only keyword patterns are present, they are processed as follows, one by "
|
||||
"one:"
|
||||
msgstr ""
|
||||
"S'il n'y a que des motifs par mot-clé (NdT : dans le sens « argument par "
|
||||
"mot-clé »), ils sont évalués comme ceci, un par un :"
|
||||
"S'il n'y a que des motifs par mot-clé (NdT : dans le sens « argument par mot-"
|
||||
"clé »), ils sont évalués comme ceci, un par un :"
|
||||
|
||||
#: reference/compound_stmts.rst:1112
|
||||
msgid "I. The keyword is looked up as an attribute on the subject."
|
||||
|
@ -1795,7 +1800,6 @@ msgid ":class:`tuple`"
|
|||
msgstr ":class:`tuple`"
|
||||
|
||||
#: reference/compound_stmts.rst:1166
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"These classes accept a single positional argument, and the pattern there is "
|
||||
"matched against the whole object rather than an attribute. For example "
|
||||
|
@ -1804,7 +1808,7 @@ msgstr ""
|
|||
"Ces classes acceptent un argument positionnel seul et le filtre s'applique "
|
||||
"alors sur l'ensemble de l'objet plutôt que sur un simple attribut. Par "
|
||||
"exemple, ``int(0|1)`` réussit lorsqu'il est confronté à la valeur ``0``, "
|
||||
"mais pas aux valeurs ``0.0`` ou ``False``."
|
||||
"mais pas lorsque c'est la valeur ``0.0``."
|
||||
|
||||
#: reference/compound_stmts.rst:1170
|
||||
msgid ""
|
||||
|
@ -1891,11 +1895,11 @@ msgstr ""
|
|||
"fonction comme seul argument ; la valeur renvoyée est liée au nom de la "
|
||||
"fonction en lieu et place de l'objet fonction. Lorsqu'il y a plusieurs "
|
||||
"décorateurs, ils sont appliqués par imbrication ; par exemple, le code "
|
||||
"suivant ::"
|
||||
"suivant ::"
|
||||
|
||||
#: reference/compound_stmts.rst:1249 reference/compound_stmts.rst:1426
|
||||
msgid "is roughly equivalent to ::"
|
||||
msgstr "est à peu près équivalent à ::"
|
||||
msgstr "est à peu près équivalent à ::"
|
||||
|
||||
#: reference/compound_stmts.rst:1254
|
||||
msgid ""
|
||||
|
@ -2132,11 +2136,11 @@ msgstr ""
|
|||
"utilisations plus avancées). Donc chaque élément de la liste doit pouvoir "
|
||||
"être évalué comme un objet classe qui autorise les sous-classes. Les classes "
|
||||
"sans liste d'héritage héritent, par défaut, de la classe mère :class:"
|
||||
"`object` ; d'où ::"
|
||||
"`object` ; d'où ::"
|
||||
|
||||
#: reference/compound_stmts.rst:1396
|
||||
msgid "is equivalent to ::"
|
||||
msgstr "est équivalente à ::"
|
||||
msgstr "est équivalente à ::"
|
||||
|
||||
#: reference/compound_stmts.rst:1401
|
||||
msgid ""
|
||||
|
@ -2183,7 +2187,7 @@ msgstr ""
|
|||
msgid "Classes can also be decorated: just like when decorating functions, ::"
|
||||
msgstr ""
|
||||
"Les classes peuvent aussi être décorées. Comme pour les décorateurs de "
|
||||
"fonctions ::"
|
||||
"fonctions ::"
|
||||
|
||||
#: reference/compound_stmts.rst:1431
|
||||
msgid ""
|
||||
|
@ -2331,11 +2335,11 @@ msgid "Is semantically equivalent to::"
|
|||
msgstr "est sémantiquement équivalent à ::"
|
||||
|
||||
#: reference/compound_stmts.rst:1541
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details."
|
||||
msgstr ""
|
||||
"Voir aussi :meth:`__aiter__` et :meth:`__anext__` pour plus de détails."
|
||||
"Voir aussi :meth:`~object.__aiter__` et :meth:`~object.__anext__` pour plus "
|
||||
"de détails."
|
||||
|
||||
#: reference/compound_stmts.rst:1543
|
||||
msgid ""
|
||||
|
@ -2359,12 +2363,12 @@ msgstr ""
|
|||
"capable de suspendre l'exécution dans ses méthodes *enter* et *exit*."
|
||||
|
||||
#: reference/compound_stmts.rst:1583
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for "
|
||||
"details."
|
||||
msgstr ""
|
||||
"Voir aussi :meth:`__aenter__` et :meth:`__aexit__` pour plus de détails."
|
||||
"Voir aussi :meth:`~object.__aenter__` et :meth:`~object.__aexit__` pour plus "
|
||||
"de détails."
|
||||
|
||||
#: reference/compound_stmts.rst:1585
|
||||
msgid ""
|
||||
|
@ -2417,11 +2421,11 @@ msgstr ""
|
|||
"Sequence`"
|
||||
|
||||
#: reference/compound_stmts.rst:1605
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit set"
|
||||
msgstr ""
|
||||
"une classe native dont le bit (CPython) :data:`Py_TPFLAGS_SEQUENCE` est à 1"
|
||||
"une classe native dont le bit (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` est à "
|
||||
"1"
|
||||
|
||||
#: reference/compound_stmts.rst:1606 reference/compound_stmts.rst:1625
|
||||
msgid "a class that inherits from any of the above"
|
||||
|
@ -2472,11 +2476,10 @@ msgstr ""
|
|||
"Mapping`"
|
||||
|
||||
#: reference/compound_stmts.rst:1624
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set"
|
||||
msgstr ""
|
||||
"une classe native dont le bit (CPython) :data:`Py_TPFLAGS_MAPPING` est à 1"
|
||||
"une classe native dont le bit (CPython) :c:macro:`Py_TPFLAGS_MAPPING` est à 1"
|
||||
|
||||
#: reference/compound_stmts.rst:1627
|
||||
msgid ""
|
||||
|
@ -2508,7 +2511,7 @@ msgstr ""
|
|||
|
||||
#: reference/compound_stmts.rst:7
|
||||
msgid "compound"
|
||||
msgstr ""
|
||||
msgstr "composé"
|
||||
|
||||
#: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111
|
||||
#: reference/compound_stmts.rst:129 reference/compound_stmts.rst:144
|
||||
|
@ -2518,43 +2521,42 @@ msgstr ""
|
|||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
#: reference/compound_stmts.rst:1468 reference/compound_stmts.rst:1502
|
||||
#: reference/compound_stmts.rst:1547
|
||||
#, fuzzy
|
||||
msgid "statement"
|
||||
msgstr "Instructions composées"
|
||||
msgstr "instruction"
|
||||
|
||||
#: reference/compound_stmts.rst:21
|
||||
msgid "clause"
|
||||
msgstr ""
|
||||
msgstr "clause"
|
||||
|
||||
#: reference/compound_stmts.rst:21
|
||||
msgid "suite"
|
||||
msgstr ""
|
||||
msgstr "suite"
|
||||
|
||||
#: reference/compound_stmts.rst:21
|
||||
msgid "; (semicolon)"
|
||||
msgstr ""
|
||||
msgstr "; (point-virgule)"
|
||||
|
||||
#: reference/compound_stmts.rst:64
|
||||
msgid "NEWLINE token"
|
||||
msgstr ""
|
||||
msgstr "lexème NEWLINE"
|
||||
|
||||
#: reference/compound_stmts.rst:64
|
||||
msgid "DEDENT token"
|
||||
msgstr ""
|
||||
msgstr "lexème DEDENT"
|
||||
|
||||
#: reference/compound_stmts.rst:64
|
||||
msgid "dangling"
|
||||
msgstr ""
|
||||
msgstr "fantôme"
|
||||
|
||||
#: reference/compound_stmts.rst:64 reference/compound_stmts.rst:86
|
||||
#: reference/compound_stmts.rst:111 reference/compound_stmts.rst:144
|
||||
#: reference/compound_stmts.rst:207 reference/compound_stmts.rst:391
|
||||
msgid "else"
|
||||
msgstr ""
|
||||
msgstr "else"
|
||||
|
||||
#: reference/compound_stmts.rst:86 reference/compound_stmts.rst:589
|
||||
msgid "if"
|
||||
msgstr ""
|
||||
msgstr "if"
|
||||
|
||||
#: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111
|
||||
#: reference/compound_stmts.rst:144 reference/compound_stmts.rst:207
|
||||
|
@ -2562,11 +2564,11 @@ msgstr ""
|
|||
#: reference/compound_stmts.rst:409 reference/compound_stmts.rst:472
|
||||
#: reference/compound_stmts.rst:589 reference/compound_stmts.rst:1478
|
||||
msgid "keyword"
|
||||
msgstr ""
|
||||
msgstr "mot-clé"
|
||||
|
||||
#: reference/compound_stmts.rst:86
|
||||
msgid "elif"
|
||||
msgstr ""
|
||||
msgstr "elif"
|
||||
|
||||
#: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111
|
||||
#: reference/compound_stmts.rst:144 reference/compound_stmts.rst:207
|
||||
|
@ -2574,308 +2576,297 @@ msgstr ""
|
|||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1311
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid ": (colon)"
|
||||
msgstr ""
|
||||
msgstr ": (deux-points)"
|
||||
|
||||
#: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111
|
||||
#: reference/compound_stmts.rst:144 reference/compound_stmts.rst:207
|
||||
#: reference/compound_stmts.rst:472 reference/compound_stmts.rst:589
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
#, fuzzy
|
||||
msgid "compound statement"
|
||||
msgstr "Instructions composées"
|
||||
msgstr "instruction composée"
|
||||
|
||||
#: reference/compound_stmts.rst:111
|
||||
msgid "while"
|
||||
msgstr ""
|
||||
msgstr "while"
|
||||
|
||||
#: reference/compound_stmts.rst:111 reference/compound_stmts.rst:144
|
||||
msgid "loop"
|
||||
msgstr ""
|
||||
msgstr "boucle"
|
||||
|
||||
#: reference/compound_stmts.rst:129 reference/compound_stmts.rst:169
|
||||
#: reference/compound_stmts.rst:391 reference/compound_stmts.rst:438
|
||||
msgid "break"
|
||||
msgstr ""
|
||||
msgstr "break"
|
||||
|
||||
#: reference/compound_stmts.rst:129 reference/compound_stmts.rst:169
|
||||
#: reference/compound_stmts.rst:391 reference/compound_stmts.rst:438
|
||||
msgid "continue"
|
||||
msgstr ""
|
||||
msgstr "continue"
|
||||
|
||||
#: reference/compound_stmts.rst:144
|
||||
msgid "for"
|
||||
msgstr ""
|
||||
msgstr "for"
|
||||
|
||||
#: reference/compound_stmts.rst:144
|
||||
msgid "in"
|
||||
msgstr ""
|
||||
msgstr "in"
|
||||
|
||||
#: reference/compound_stmts.rst:144
|
||||
msgid "target"
|
||||
msgstr ""
|
||||
msgstr "cible"
|
||||
|
||||
#: reference/compound_stmts.rst:144
|
||||
msgid "list"
|
||||
msgstr ""
|
||||
msgstr "liste"
|
||||
|
||||
#: reference/compound_stmts.rst:144 reference/compound_stmts.rst:299
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
msgid "object"
|
||||
msgstr ""
|
||||
msgstr "objet"
|
||||
|
||||
#: reference/compound_stmts.rst:144
|
||||
msgid "sequence"
|
||||
msgstr ""
|
||||
msgstr "séquence"
|
||||
|
||||
#: reference/compound_stmts.rst:190
|
||||
msgid "built-in function"
|
||||
msgstr ""
|
||||
msgstr "fonction native"
|
||||
|
||||
#: reference/compound_stmts.rst:190
|
||||
msgid "range"
|
||||
msgstr ""
|
||||
msgstr "range"
|
||||
|
||||
#: reference/compound_stmts.rst:207
|
||||
msgid "try"
|
||||
msgstr ""
|
||||
msgstr "try"
|
||||
|
||||
#: reference/compound_stmts.rst:207
|
||||
msgid "except"
|
||||
msgstr ""
|
||||
msgstr "except"
|
||||
|
||||
#: reference/compound_stmts.rst:207 reference/compound_stmts.rst:409
|
||||
msgid "finally"
|
||||
msgstr ""
|
||||
msgstr "finally"
|
||||
|
||||
#: reference/compound_stmts.rst:207 reference/compound_stmts.rst:266
|
||||
#: reference/compound_stmts.rst:472 reference/compound_stmts.rst:589
|
||||
msgid "as"
|
||||
msgstr ""
|
||||
msgstr "as"
|
||||
|
||||
#: reference/compound_stmts.rst:266
|
||||
msgid "except clause"
|
||||
msgstr ""
|
||||
msgstr "clause except"
|
||||
|
||||
#: reference/compound_stmts.rst:299
|
||||
msgid "module"
|
||||
msgstr ""
|
||||
msgstr "module"
|
||||
|
||||
#: reference/compound_stmts.rst:299
|
||||
msgid "sys"
|
||||
msgstr ""
|
||||
msgstr "sys"
|
||||
|
||||
#: reference/compound_stmts.rst:299
|
||||
msgid "traceback"
|
||||
msgstr ""
|
||||
msgstr "trace d'appels"
|
||||
|
||||
#: reference/compound_stmts.rst:328
|
||||
msgid "except_star"
|
||||
msgstr ""
|
||||
msgstr "except_star"
|
||||
|
||||
#: reference/compound_stmts.rst:391 reference/compound_stmts.rst:438
|
||||
msgid "return"
|
||||
msgstr ""
|
||||
msgstr "return"
|
||||
|
||||
#: reference/compound_stmts.rst:472
|
||||
msgid "with"
|
||||
msgstr ""
|
||||
msgstr "with"
|
||||
|
||||
#: reference/compound_stmts.rst:472
|
||||
#, fuzzy
|
||||
msgid "with statement"
|
||||
msgstr "L'instruction :keyword:`!with`"
|
||||
msgstr "instruction *with*"
|
||||
|
||||
#: reference/compound_stmts.rst:472 reference/compound_stmts.rst:1194
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid ", (comma)"
|
||||
msgstr ""
|
||||
msgstr ", (virgule)"
|
||||
|
||||
#: reference/compound_stmts.rst:589
|
||||
msgid "match"
|
||||
msgstr ""
|
||||
msgstr "match"
|
||||
|
||||
#: reference/compound_stmts.rst:589
|
||||
msgid "case"
|
||||
msgstr ""
|
||||
msgstr "case"
|
||||
|
||||
#: reference/compound_stmts.rst:589
|
||||
#, fuzzy
|
||||
msgid "pattern matching"
|
||||
msgstr ":ref:`class-pattern-matching`"
|
||||
msgstr "filtrage par motif"
|
||||
|
||||
#: reference/compound_stmts.rst:589
|
||||
#, fuzzy
|
||||
msgid "match statement"
|
||||
msgstr "Voici un exemple d'instruction de filtrage par motif ::"
|
||||
msgstr "instruction *match*"
|
||||
|
||||
#: reference/compound_stmts.rst:693
|
||||
#, fuzzy
|
||||
msgid "guard"
|
||||
msgstr "Gardes"
|
||||
msgstr "garde"
|
||||
|
||||
#: reference/compound_stmts.rst:732
|
||||
#, fuzzy
|
||||
msgid "irrefutable case block"
|
||||
msgstr "Bloc ``case`` attrape-tout"
|
||||
msgstr "bloc attrape-tout"
|
||||
|
||||
#: reference/compound_stmts.rst:732
|
||||
msgid "case block"
|
||||
msgstr ""
|
||||
msgstr "bloc *case*"
|
||||
|
||||
#: reference/compound_stmts.rst:756
|
||||
#, fuzzy
|
||||
msgid "! patterns"
|
||||
msgstr "Filtres"
|
||||
msgstr "! motifs"
|
||||
|
||||
#: reference/compound_stmts.rst:756
|
||||
msgid "AS pattern, OR pattern, capture pattern, wildcard pattern"
|
||||
msgstr ""
|
||||
msgstr "motif AS, motif OR, motif de capture, motif attrape-tout"
|
||||
|
||||
#: reference/compound_stmts.rst:1185 reference/compound_stmts.rst:1261
|
||||
msgid "parameter"
|
||||
msgstr ""
|
||||
msgstr "paramètre"
|
||||
|
||||
#: reference/compound_stmts.rst:1185 reference/compound_stmts.rst:1194
|
||||
#: reference/compound_stmts.rst:1235 reference/compound_stmts.rst:1261
|
||||
#: reference/compound_stmts.rst:1290
|
||||
#, fuzzy
|
||||
msgid "function definition"
|
||||
msgstr "Définition de fonctions"
|
||||
msgstr "définition de fonction"
|
||||
|
||||
#: reference/compound_stmts.rst:1194
|
||||
msgid "def"
|
||||
msgstr ""
|
||||
msgstr "def"
|
||||
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1311
|
||||
msgid "function"
|
||||
msgstr ""
|
||||
msgstr "fonction"
|
||||
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
#, fuzzy
|
||||
msgid "definition"
|
||||
msgstr "Définition de classes"
|
||||
msgstr "définition"
|
||||
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
msgstr "nom"
|
||||
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
msgid "binding"
|
||||
msgstr ""
|
||||
msgstr "liaison"
|
||||
|
||||
#: reference/compound_stmts.rst:1194
|
||||
msgid "user-defined function"
|
||||
msgstr ""
|
||||
msgstr "fonction définie par l'utilisateur"
|
||||
|
||||
#: reference/compound_stmts.rst:1194 reference/compound_stmts.rst:1367
|
||||
msgid "() (parentheses)"
|
||||
msgstr ""
|
||||
msgstr "() (parenthèses)"
|
||||
|
||||
#: reference/compound_stmts.rst:1194
|
||||
msgid "parameter list"
|
||||
msgstr ""
|
||||
msgstr "liste de paramètres"
|
||||
|
||||
#: reference/compound_stmts.rst:1235 reference/compound_stmts.rst:1417
|
||||
msgid "@ (at)"
|
||||
msgstr ""
|
||||
msgstr "@ (arobase)"
|
||||
|
||||
#: reference/compound_stmts.rst:1261
|
||||
msgid "default"
|
||||
msgstr ""
|
||||
msgstr "par défaut"
|
||||
|
||||
#: reference/compound_stmts.rst:1261
|
||||
msgid "value"
|
||||
msgstr ""
|
||||
msgstr "valeur"
|
||||
|
||||
#: reference/compound_stmts.rst:1261
|
||||
msgid "argument"
|
||||
msgstr ""
|
||||
msgstr "argument"
|
||||
|
||||
#: reference/compound_stmts.rst:1261
|
||||
msgid "= (equals)"
|
||||
msgstr ""
|
||||
msgstr "= (égal)"
|
||||
|
||||
#: reference/compound_stmts.rst:1290
|
||||
msgid "/ (slash)"
|
||||
msgstr ""
|
||||
msgstr "/ (barre oblique)"
|
||||
|
||||
#: reference/compound_stmts.rst:1290
|
||||
msgid "* (asterisk)"
|
||||
msgstr ""
|
||||
msgstr "* (astérisque)"
|
||||
|
||||
#: reference/compound_stmts.rst:1290
|
||||
msgid "**"
|
||||
msgstr ""
|
||||
msgstr "**"
|
||||
|
||||
#: reference/compound_stmts.rst:1311
|
||||
msgid "annotations"
|
||||
msgstr ""
|
||||
msgstr "annotations"
|
||||
|
||||
#: reference/compound_stmts.rst:1311
|
||||
msgid "->"
|
||||
msgstr ""
|
||||
msgstr "->"
|
||||
|
||||
#: reference/compound_stmts.rst:1311
|
||||
#, fuzzy
|
||||
msgid "function annotations"
|
||||
msgstr "Définition de fonctions"
|
||||
msgstr "annotations de fonction"
|
||||
|
||||
#: reference/compound_stmts.rst:1329
|
||||
msgid "lambda"
|
||||
msgstr ""
|
||||
msgstr "lambda"
|
||||
|
||||
#: reference/compound_stmts.rst:1329
|
||||
msgid "expression"
|
||||
msgstr ""
|
||||
msgstr "expression"
|
||||
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid "class"
|
||||
msgstr ""
|
||||
msgstr "classe"
|
||||
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid "execution"
|
||||
msgstr ""
|
||||
msgstr "exécution"
|
||||
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid "frame"
|
||||
msgstr ""
|
||||
msgstr "cadre"
|
||||
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid "inheritance"
|
||||
msgstr ""
|
||||
msgstr "héritage"
|
||||
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid "docstring"
|
||||
msgstr ""
|
||||
msgstr "chaîne de documentation"
|
||||
|
||||
#: reference/compound_stmts.rst:1367 reference/compound_stmts.rst:1417
|
||||
#, fuzzy
|
||||
msgid "class definition"
|
||||
msgstr "Définition de classes"
|
||||
msgstr "définition de classe"
|
||||
|
||||
#: reference/compound_stmts.rst:1367
|
||||
msgid "expression list"
|
||||
msgstr ""
|
||||
msgstr "liste d'expressions"
|
||||
|
||||
#: reference/compound_stmts.rst:1468
|
||||
msgid "async def"
|
||||
msgstr ""
|
||||
msgstr "async def"
|
||||
|
||||
#: reference/compound_stmts.rst:1478
|
||||
msgid "async"
|
||||
msgstr ""
|
||||
msgstr "async"
|
||||
|
||||
#: reference/compound_stmts.rst:1478
|
||||
msgid "await"
|
||||
msgstr ""
|
||||
msgstr "await"
|
||||
|
||||
#: reference/compound_stmts.rst:1502
|
||||
msgid "async for"
|
||||
msgstr ""
|
||||
msgstr "async for"
|
||||
|
||||
#: reference/compound_stmts.rst:1547
|
||||
msgid "async with"
|
||||
msgstr ""
|
||||
msgstr "async with"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
|
|
|
@ -82,17 +82,17 @@ msgid ""
|
|||
"lists are mutable."
|
||||
msgstr ""
|
||||
"La *valeur* de certains objets peut changer. Les objets dont la valeur peut "
|
||||
"changer sont dits *muables* (*mutable* en anglais) ; les objets dont la "
|
||||
"valeur est définitivement fixée à leur création sont dits *immuables* "
|
||||
"(*immutable* en anglais). La valeur d'un objet conteneur immuable qui "
|
||||
"contient une référence vers un objet muable peut varier lorsque la valeur de "
|
||||
"l'objet muable change ; cependant, le conteneur est quand même considéré "
|
||||
"comme immuable parce que l'ensemble des objets qu'il contient ne peut pas "
|
||||
"être modifié. Ainsi, l'immuabilité n'est pas strictement équivalente au fait "
|
||||
"d'avoir une valeur non modifiable, c'est plus subtil. La muabilité d'un "
|
||||
"objet est définie par son type ; par exemple, les nombres, les chaînes de "
|
||||
"caractères et les *n*-uplets sont immuables alors que les dictionnaires et "
|
||||
"les listes sont muables."
|
||||
"changer sont dits mutables ; les objets dont la valeur est définitivement "
|
||||
"fixée à leur création sont dits *immuables* (*immutable* en anglais). La "
|
||||
"valeur d'un objet conteneur immuable qui contient une référence vers un "
|
||||
"objet mutable peut varier lorsque la valeur de l'objet mutable change ; "
|
||||
"cependant, le conteneur est quand même considéré comme immuable parce que "
|
||||
"l'ensemble des objets qu'il contient ne peut pas être modifié. Ainsi, "
|
||||
"l'immuabilité n'est pas strictement équivalente au fait d'avoir une valeur "
|
||||
"non modifiable, c'est plus subtil. La muabilité d'un objet est définie par "
|
||||
"son type ; par exemple, les nombres, les chaînes de caractères et les *n*-"
|
||||
"uplets sont immuables alors que les dictionnaires et les listes sont "
|
||||
"mutables."
|
||||
|
||||
#: reference/datamodel.rst:65
|
||||
msgid ""
|
||||
|
@ -182,8 +182,8 @@ msgstr ""
|
|||
"identifiants des objets contenus ; cependant, lorsque nous parlons de la "
|
||||
"muabilité d'un conteneur, seuls les identifiants des objets immédiatement "
|
||||
"contenus sont concernés. Ainsi, si un conteneur immuable (comme un *n*-"
|
||||
"uplet) contient une référence à un objet muable, sa valeur change si cet "
|
||||
"objet muable est modifié."
|
||||
"uplet) contient une référence à un objet mutable, sa valeur change si cet "
|
||||
"objet mutable est modifié."
|
||||
|
||||
#: reference/datamodel.rst:106
|
||||
msgid ""
|
||||
|
@ -201,7 +201,7 @@ msgstr ""
|
|||
"son identifiant est concerné dans un certain sens : pour les types "
|
||||
"immuables, les opérations qui calculent de nouvelles valeurs peuvent en fait "
|
||||
"renvoyer une référence à n'importe quel objet existant avec le même type et "
|
||||
"la même valeur, alors que pour les objets muables cela n'est pas autorisé. "
|
||||
"la même valeur, alors que pour les objets mutables cela n'est pas autorisé. "
|
||||
"Par exemple, après ``a = 1 ; b = 1``, ``a`` et ``b`` peuvent ou non se "
|
||||
"référer au même objet avec la valeur un, en fonction de l'implémentation. "
|
||||
"Mais après ``c = [] ; d = []``, il est garanti que ``c`` et ``d`` font "
|
||||
|
@ -545,8 +545,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Un objet de type de séquence immuable ne peut pas être modifié une fois "
|
||||
"qu'il a été créé. Si l'objet contient des références à d'autres objets, ces "
|
||||
"autres objets peuvent être muables et peuvent être modifiés ; cependant, les "
|
||||
"objets directement référencés par un objet immuable ne peuvent pas être "
|
||||
"autres objets peuvent être mutables et peuvent être modifiés ; cependant, "
|
||||
"les objets directement référencés par un objet immuable ne peuvent pas être "
|
||||
"modifiés."
|
||||
|
||||
#: reference/datamodel.rst:304
|
||||
|
@ -625,7 +625,7 @@ msgstr ""
|
|||
|
||||
#: reference/datamodel.rst:383
|
||||
msgid "Mutable sequences"
|
||||
msgstr "Séquences muables"
|
||||
msgstr "Séquences mutables"
|
||||
|
||||
#: reference/datamodel.rst:359
|
||||
msgid ""
|
||||
|
@ -633,14 +633,14 @@ msgid ""
|
|||
"and slicing notations can be used as the target of assignment and :keyword:"
|
||||
"`del` (delete) statements."
|
||||
msgstr ""
|
||||
"Les séquences muables peuvent être modifiées après leur création. Les "
|
||||
"Les séquences mutables peuvent être modifiées après leur création. Les "
|
||||
"notations de tranches et de sous-ensembles peuvent être utilisées en tant "
|
||||
"que cibles d'une affectation ou de l'instruction :keyword:`del` "
|
||||
"(suppression)."
|
||||
|
||||
#: reference/datamodel.rst:363
|
||||
msgid "There are currently two intrinsic mutable sequence types:"
|
||||
msgstr "Il existe aujourd'hui deux types intrinsèques de séquences muables :"
|
||||
msgstr "Il existe aujourd'hui deux types intrinsèques de séquences mutables :"
|
||||
|
||||
#: reference/datamodel.rst:370
|
||||
msgid "Lists"
|
||||
|
@ -668,9 +668,9 @@ msgid ""
|
|||
"unhashable), byte arrays otherwise provide the same interface and "
|
||||
"functionality as immutable :class:`bytes` objects."
|
||||
msgstr ""
|
||||
"Un objet *bytearray* est un tableau muable. Il est créé par la fonction "
|
||||
"native constructeur :func:`bytearray`. À part la propriété d'être muable (et "
|
||||
"donc de ne pas pouvoir calculer son empreinte par hachage), un tableau "
|
||||
"Un objet *bytearray* est un tableau mutable. Il est créé par la fonction "
|
||||
"native constructeur :func:`bytearray`. À part la propriété d'être mutable "
|
||||
"(et donc de ne pas pouvoir calculer son empreinte par hachage), un tableau "
|
||||
"d'octets possède la même interface et les mêmes fonctionnalités qu'un objet "
|
||||
"immuable :class:`bytes`."
|
||||
|
||||
|
@ -680,7 +680,7 @@ msgid ""
|
|||
"mutable sequence type, as does the :mod:`collections` module."
|
||||
msgstr ""
|
||||
"Le module d'extension :mod:`array` fournit un autre exemple de type de "
|
||||
"séquence muable, de même que le module :mod:`collections`."
|
||||
"séquence mutable, de même que le module :mod:`collections`."
|
||||
|
||||
#: reference/datamodel.rst:417
|
||||
msgid "Set types"
|
||||
|
@ -730,9 +730,9 @@ msgid ""
|
|||
"constructor and can be modified afterwards by several methods, such as :meth:"
|
||||
"`~set.add`."
|
||||
msgstr ""
|
||||
"Ils représentent les ensembles muables. Un ensemble est créé par la fonction "
|
||||
"native constructeur :func:`set` et peut être modifié par la suite à l'aide "
|
||||
"de différentes méthodes, par exemple :meth:`~set.add`."
|
||||
"Ils représentent les ensembles mutables. Un ensemble est créé par la "
|
||||
"fonction native constructeur :func:`set` et peut être modifié par la suite à "
|
||||
"l'aide de différentes méthodes, par exemple :meth:`~set.add`."
|
||||
|
||||
#: reference/datamodel.rst:417
|
||||
msgid "Frozen sets"
|
||||
|
@ -792,7 +792,7 @@ msgstr ""
|
|||
"Ils représentent les ensembles finis d'objets indicés par des valeurs "
|
||||
"presque arbitraires. Les seuls types de valeurs non reconnus comme clés sont "
|
||||
"les valeurs contenant des listes, des dictionnaires ou les autres types "
|
||||
"muables qui sont comparés par valeur plutôt que par l'identifiant de "
|
||||
"mutables qui sont comparés par valeur plutôt que par l'identifiant de "
|
||||
"l'objet. La raison de cette limitation est qu'une implémentation efficace de "
|
||||
"dictionnaire requiert que l'empreinte par hachage des clés reste constante "
|
||||
"dans le temps. Les types numériques obéissent aux règles normales pour les "
|
||||
|
@ -817,8 +817,8 @@ msgid ""
|
|||
"Dictionaries are mutable; they can be created by the ``{...}`` notation (see "
|
||||
"section :ref:`dict`)."
|
||||
msgstr ""
|
||||
"Les dictionnaires sont muables : ils peuvent être créés par la notation ``{…}"
|
||||
"`` (reportez-vous à la section :ref:`dict`)."
|
||||
"Les dictionnaires sont mutables : ils peuvent être créés par la notation "
|
||||
"``{…}`` (reportez-vous à la section :ref:`dict`)."
|
||||
|
||||
#: reference/datamodel.rst:457
|
||||
msgid ""
|
||||
|
@ -1685,7 +1685,7 @@ msgstr ""
|
|||
"dans l'objet code (parce que ce sont des valeurs calculées au moment de "
|
||||
"l'exécution). Contrairement aux objets fonctions, les objets codes sont "
|
||||
"immuables et ne contiennent aucune référence (directe ou indirecte) à des "
|
||||
"objets muables."
|
||||
"objets mutables."
|
||||
|
||||
#: reference/datamodel.rst:975
|
||||
msgid ""
|
||||
|
@ -4290,7 +4290,7 @@ msgstr ""
|
|||
"abc.MutableMapping` pour aider à la création de ces méthodes à partir d'un "
|
||||
"ensemble de base composé de :meth:`~object.__getitem__`, :meth:`~object."
|
||||
"__setitem__`, :meth:`~object.__delitem__` et :meth:`keys`. Les séquences "
|
||||
"muables doivent fournir les méthodes :meth:`append`, :meth:`count`, :meth:"
|
||||
"mutables doivent fournir les méthodes :meth:`append`, :meth:`count`, :meth:"
|
||||
"`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:"
|
||||
"`reverse` et :meth:`sort`, comme les objets :class:`listes <list>` standards "
|
||||
"de Python. Enfin, les types séquences doivent implémenter l'addition (dans "
|
||||
|
|
|
@ -36,8 +36,8 @@ msgid ""
|
|||
"option:`-m` argument is also a code block. The string argument passed to the "
|
||||
"built-in functions :func:`eval` and :func:`exec` is a code block."
|
||||
msgstr ""
|
||||
"Un programme Python est construit à partir de blocs de code. Un :dfn:`bloc "
|
||||
"<block>` est un morceau de texte de programme Python qui est exécuté en tant "
|
||||
"Un programme Python est construit à partir de blocs de code. Un :dfn:`bloc` "
|
||||
"est un morceau de texte de programme Python qui est exécuté en tant "
|
||||
"qu'unité. Les éléments suivants sont des blocs : un module, un corps de "
|
||||
"fonction et une définition de classe. Chaque commande écrite dans "
|
||||
"l'interpréteur interactif de Python est un bloc. Un fichier de script (un "
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2022-12-04 14:56+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"PO-Revision-Date: 2023-12-02 10:40+0100\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.2.1\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: reference/simple_stmts.rst:6
|
||||
msgid "Simple statements"
|
||||
|
@ -78,7 +78,7 @@ msgid ""
|
|||
"attributes or items of mutable objects:"
|
||||
msgstr ""
|
||||
"Les assignations sont utilisées pour lier ou relier des noms à des valeurs "
|
||||
"et modifier des attributs ou des éléments d'objets muables :"
|
||||
"et modifier des attributs ou des éléments d'objets mutables :"
|
||||
|
||||
#: reference/simple_stmts.rst:96
|
||||
msgid ""
|
||||
|
@ -111,8 +111,8 @@ msgid ""
|
|||
"section :ref:`types`)."
|
||||
msgstr ""
|
||||
"Une assignation est définie récursivement en fonction de la forme de la "
|
||||
"cible (une liste). Quand la cible est une partie d'un objet muable (une "
|
||||
"référence à un attribut, une sélection ou une tranche), l'objet muable doit "
|
||||
"cible (une liste). Quand la cible est une partie d'un objet mutable (une "
|
||||
"référence à un attribut, une sélection ou une tranche), l'objet mutable doit "
|
||||
"effectuer l'assignation au final et décider de sa validité, voire lever une "
|
||||
"exception si l'assignation n'est pas acceptable. Les règles suivies par les "
|
||||
"différents types et les exceptions levées sont données dans les définitions "
|
||||
|
@ -286,7 +286,6 @@ msgstr ""
|
|||
"une liste)."
|
||||
|
||||
#: reference/simple_stmts.rst:210
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If the primary is a mapping object (such as a dictionary), the subscript "
|
||||
"must have a type compatible with the mapping's key type, and the mapping is "
|
||||
|
@ -471,7 +470,6 @@ msgstr ""
|
|||
"d'une assignation optionnelle :"
|
||||
|
||||
#: reference/simple_stmts.rst:333
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The difference from normal :ref:`assignment` is that only a single target is "
|
||||
"allowed."
|
||||
|
@ -553,10 +551,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"La proposition qui a ajouté le module :mod:`typing` pour fournir une syntaxe "
|
||||
"standard pour les annotations de type qui peuvent être utilisées dans les "
|
||||
"outils d'analyse statique et les EDIs."
|
||||
"outils d'analyse statique et les environnements de développement intégrés "
|
||||
"(*EDI*)."
|
||||
|
||||
#: reference/simple_stmts.rst:367
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Now annotated assignments allow the same expressions in the right hand side "
|
||||
"as regular assignments. Previously, some expressions (like un-parenthesized "
|
||||
|
@ -581,13 +579,13 @@ msgstr ""
|
|||
|
||||
#: reference/simple_stmts.rst:389
|
||||
msgid "The simple form, ``assert expression``, is equivalent to ::"
|
||||
msgstr "La forme la plus simple, ``assert expression``, est équivalente à ::"
|
||||
msgstr "La forme la plus simple, ``assert expression``, est équivalente à ::"
|
||||
|
||||
#: reference/simple_stmts.rst:394
|
||||
msgid ""
|
||||
"The extended form, ``assert expression1, expression2``, is equivalent to ::"
|
||||
msgstr ""
|
||||
"La forme étendue, ``assert expression1, expression2``, est équivalente à ::"
|
||||
"La forme étendue, ``assert expression1, expression2``, est équivalente à ::"
|
||||
|
||||
#: reference/simple_stmts.rst:403
|
||||
msgid ""
|
||||
|
@ -765,11 +763,11 @@ msgstr ""
|
|||
"`expression yield <yieldexpr>`. L'instruction *yield* peut être utilisée "
|
||||
"pour omettre les parenthèses qui seraient autrement requises dans "
|
||||
"l'instruction équivalente d'expression *yield*. Par exemple, les "
|
||||
"instructions *yield* ::"
|
||||
"instructions *yield* ::"
|
||||
|
||||
#: reference/simple_stmts.rst:537
|
||||
msgid "are equivalent to the yield expression statements ::"
|
||||
msgstr "sont équivalentes aux instructions expressions *yield* ::"
|
||||
msgstr "sont équivalentes aux instructions expressions *yield* ::"
|
||||
|
||||
#: reference/simple_stmts.rst:542
|
||||
msgid ""
|
||||
|
@ -1025,7 +1023,6 @@ msgstr ""
|
|||
"clauses étaient séparées dans des instructions d'importations individuelles."
|
||||
|
||||
#: reference/simple_stmts.rst:759
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The details of the first step, finding and loading modules, are described in "
|
||||
"greater detail in the section on the :ref:`import system <importsystem>`, "
|
||||
|
@ -1035,7 +1032,7 @@ msgid ""
|
|||
"could not be located, *or* that an error occurred while initializing the "
|
||||
"module, which includes execution of the module's code."
|
||||
msgstr ""
|
||||
"Les détails de la première étape, de recherche et de chargement des modules "
|
||||
"Les détails de la première étape, de recherche et de chargement des modules, "
|
||||
"sont décrits largement dans la section relative au :ref:`système "
|
||||
"d'importation <importsystem>`, qui décrit également les différents types de "
|
||||
"paquets et modules qui peuvent être importés, de même que les points "
|
||||
|
@ -1516,464 +1513,455 @@ msgstr "Les spécifications pour l'instruction :keyword:`nonlocal`."
|
|||
|
||||
#: reference/simple_stmts.rst:8
|
||||
msgid "simple"
|
||||
msgstr ""
|
||||
msgstr "simple"
|
||||
|
||||
#: reference/simple_stmts.rst:38 reference/simple_stmts.rst:262
|
||||
#: reference/simple_stmts.rst:378 reference/simple_stmts.rst:443
|
||||
#: reference/simple_stmts.rst:482 reference/simple_stmts.rst:555
|
||||
#: reference/simple_stmts.rst:703 reference/simple_stmts.rst:858
|
||||
#: reference/simple_stmts.rst:991
|
||||
#, fuzzy
|
||||
msgid "statement"
|
||||
msgstr "Les instructions simples"
|
||||
msgstr "instruction"
|
||||
|
||||
#: reference/simple_stmts.rst:41
|
||||
msgid "expression"
|
||||
msgstr ""
|
||||
msgstr "expression"
|
||||
|
||||
#: reference/simple_stmts.rst:41 reference/simple_stmts.rst:115
|
||||
#: reference/simple_stmts.rst:443
|
||||
msgid "list"
|
||||
msgstr ""
|
||||
msgstr "liste"
|
||||
|
||||
#: reference/simple_stmts.rst:972
|
||||
msgid "built-in function"
|
||||
msgstr ""
|
||||
msgstr "fonction native"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "repr"
|
||||
msgstr ""
|
||||
msgstr "repr"
|
||||
|
||||
#: reference/simple_stmts.rst:74 reference/simple_stmts.rst:195
|
||||
#: reference/simple_stmts.rst:577
|
||||
msgid "object"
|
||||
msgstr ""
|
||||
msgstr "objet"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "None"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "string"
|
||||
msgstr ""
|
||||
msgstr "chaîne de caractères"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "conversion"
|
||||
msgstr ""
|
||||
msgstr "conversion"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "output"
|
||||
msgstr ""
|
||||
msgstr "sortie"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "standard"
|
||||
msgstr ""
|
||||
msgstr "standard"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "writing"
|
||||
msgstr ""
|
||||
msgstr "écrire"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "values"
|
||||
msgstr ""
|
||||
msgstr "valeurs"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "procedure"
|
||||
msgstr ""
|
||||
msgstr "procédure"
|
||||
|
||||
#: reference/simple_stmts.rst:55
|
||||
msgid "call"
|
||||
msgstr ""
|
||||
msgstr "appel"
|
||||
|
||||
#: reference/simple_stmts.rst:74
|
||||
msgid "= (equals)"
|
||||
msgstr ""
|
||||
msgstr "= (égal)"
|
||||
|
||||
#: reference/simple_stmts.rst:74
|
||||
#, fuzzy
|
||||
msgid "assignment statement"
|
||||
msgstr "Les assignations"
|
||||
msgstr "instruction d'affectation"
|
||||
|
||||
#: reference/simple_stmts.rst:115 reference/simple_stmts.rst:186
|
||||
#: reference/simple_stmts.rst:262 reference/simple_stmts.rst:321
|
||||
msgid "assignment"
|
||||
msgstr ""
|
||||
msgstr "affectation"
|
||||
|
||||
#: reference/simple_stmts.rst:728 reference/simple_stmts.rst:944
|
||||
msgid "binding"
|
||||
msgstr ""
|
||||
msgstr "liaison"
|
||||
|
||||
#: reference/simple_stmts.rst:456 reference/simple_stmts.rst:783
|
||||
#: reference/simple_stmts.rst:944
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
msgstr "nom"
|
||||
|
||||
#: reference/simple_stmts.rst:74
|
||||
msgid "rebinding"
|
||||
msgstr ""
|
||||
msgstr "redéfinir une liaison"
|
||||
|
||||
#: reference/simple_stmts.rst:186
|
||||
msgid "mutable"
|
||||
msgstr ""
|
||||
msgstr "mutable"
|
||||
|
||||
#: reference/simple_stmts.rst:158 reference/simple_stmts.rst:465
|
||||
msgid "attribute"
|
||||
msgstr ""
|
||||
msgstr "attribut"
|
||||
|
||||
#: reference/simple_stmts.rst:115 reference/simple_stmts.rst:682
|
||||
msgid "target"
|
||||
msgstr ""
|
||||
msgstr "cible"
|
||||
|
||||
#: reference/simple_stmts.rst:378 reference/simple_stmts.rst:944
|
||||
#: reference/simple_stmts.rst:991
|
||||
msgid ", (comma)"
|
||||
msgstr ""
|
||||
msgstr ", (virgule)"
|
||||
|
||||
#: reference/simple_stmts.rst:115
|
||||
msgid "in target list"
|
||||
msgstr ""
|
||||
msgstr "dans la liste cible"
|
||||
|
||||
#: reference/simple_stmts.rst:809
|
||||
msgid "* (asterisk)"
|
||||
msgstr ""
|
||||
msgstr "* (astérisque)"
|
||||
|
||||
#: reference/simple_stmts.rst:115
|
||||
#, fuzzy
|
||||
msgid "in assignment target list"
|
||||
msgstr "Les assignations"
|
||||
msgstr "dans la liste cible d'affectation"
|
||||
|
||||
#: reference/simple_stmts.rst:115
|
||||
msgid "[] (square brackets)"
|
||||
msgstr ""
|
||||
msgstr "[] (crochets)"
|
||||
|
||||
#: reference/simple_stmts.rst:115
|
||||
msgid "() (parentheses)"
|
||||
msgstr ""
|
||||
msgstr "() (parenthèses)"
|
||||
|
||||
#: reference/simple_stmts.rst:152
|
||||
msgid "destructor"
|
||||
msgstr ""
|
||||
msgstr "destructeur"
|
||||
|
||||
#: reference/simple_stmts.rst:186
|
||||
msgid "subscription"
|
||||
msgstr ""
|
||||
msgstr "sélection (ou indiçage)"
|
||||
|
||||
#: reference/simple_stmts.rst:195
|
||||
msgid "sequence"
|
||||
msgstr ""
|
||||
msgstr "séquence"
|
||||
|
||||
#: reference/simple_stmts.rst:206
|
||||
msgid "mapping"
|
||||
msgstr ""
|
||||
msgstr "tableau de correspondances"
|
||||
|
||||
#: reference/simple_stmts.rst:206
|
||||
msgid "dictionary"
|
||||
msgstr ""
|
||||
msgstr "dictionnaire"
|
||||
|
||||
#: reference/simple_stmts.rst:219
|
||||
msgid "slicing"
|
||||
msgstr ""
|
||||
msgstr "découpage"
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "augmented"
|
||||
msgstr ""
|
||||
msgstr "augmentée"
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
#, fuzzy
|
||||
msgid "assignment, augmented"
|
||||
msgstr "Les assignations"
|
||||
msgstr "affectation, augmentée"
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "+="
|
||||
msgstr ""
|
||||
msgstr "+="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
#, fuzzy
|
||||
msgid "augmented assignment"
|
||||
msgstr "Les assignations augmentées"
|
||||
msgstr "affectation augmentée"
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "-="
|
||||
msgstr ""
|
||||
msgstr "-="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "*="
|
||||
msgstr ""
|
||||
msgstr "*="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "/="
|
||||
msgstr ""
|
||||
msgstr "/="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "%="
|
||||
msgstr ""
|
||||
msgstr "%="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "&="
|
||||
msgstr ""
|
||||
msgstr "&="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "^="
|
||||
msgstr ""
|
||||
msgstr "^="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "|="
|
||||
msgstr ""
|
||||
msgstr "|="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "**="
|
||||
msgstr ""
|
||||
msgstr "**="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "//="
|
||||
msgstr ""
|
||||
msgstr "//="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid ">>="
|
||||
msgstr ""
|
||||
msgstr ">>="
|
||||
|
||||
#: reference/simple_stmts.rst:262
|
||||
msgid "<<="
|
||||
msgstr ""
|
||||
msgstr "<<="
|
||||
|
||||
#: reference/simple_stmts.rst:321
|
||||
msgid "annotated"
|
||||
msgstr ""
|
||||
msgstr "annotée"
|
||||
|
||||
#: reference/simple_stmts.rst:321
|
||||
#, fuzzy
|
||||
msgid "assignment, annotated"
|
||||
msgstr "Les assignations"
|
||||
msgstr "affectation annotée"
|
||||
|
||||
#: reference/simple_stmts.rst:321
|
||||
msgid ": (colon)"
|
||||
msgstr ""
|
||||
msgstr ": (deux-points)"
|
||||
|
||||
#: reference/simple_stmts.rst:321
|
||||
msgid "annotated variable"
|
||||
msgstr ""
|
||||
msgstr "variable annotée"
|
||||
|
||||
#: reference/simple_stmts.rst:378
|
||||
msgid "assert"
|
||||
msgstr ""
|
||||
msgstr "assert"
|
||||
|
||||
#: reference/simple_stmts.rst:378
|
||||
msgid "debugging"
|
||||
msgstr ""
|
||||
msgstr "débogage"
|
||||
|
||||
#: reference/simple_stmts.rst:378
|
||||
msgid "assertions"
|
||||
msgstr ""
|
||||
msgstr "assertions"
|
||||
|
||||
#: reference/simple_stmts.rst:378
|
||||
#, fuzzy
|
||||
msgid "expression list"
|
||||
msgstr "Les expressions"
|
||||
msgstr "liste d'expressions"
|
||||
|
||||
#: reference/simple_stmts.rst:399
|
||||
msgid "__debug__"
|
||||
msgstr ""
|
||||
msgstr "__debug__"
|
||||
|
||||
#: reference/simple_stmts.rst:519 reference/simple_stmts.rst:587
|
||||
#: reference/simple_stmts.rst:728
|
||||
msgid "exception"
|
||||
msgstr ""
|
||||
msgstr "exception"
|
||||
|
||||
#: reference/simple_stmts.rst:399
|
||||
msgid "AssertionError"
|
||||
msgstr ""
|
||||
msgstr "AssertionError"
|
||||
|
||||
#: reference/simple_stmts.rst:421
|
||||
msgid "pass"
|
||||
msgstr ""
|
||||
msgstr "pass"
|
||||
|
||||
#: reference/simple_stmts.rst:421
|
||||
msgid "null"
|
||||
msgstr ""
|
||||
msgstr "null"
|
||||
|
||||
#: reference/simple_stmts.rst:421
|
||||
msgid "operation"
|
||||
msgstr ""
|
||||
msgstr "opération"
|
||||
|
||||
#: reference/simple_stmts.rst:443
|
||||
msgid "del"
|
||||
msgstr ""
|
||||
msgstr "del"
|
||||
|
||||
#: reference/simple_stmts.rst:465
|
||||
msgid "deletion"
|
||||
msgstr ""
|
||||
msgstr "effacement"
|
||||
|
||||
#: reference/simple_stmts.rst:944
|
||||
msgid "global"
|
||||
msgstr ""
|
||||
msgstr "global"
|
||||
|
||||
#: reference/simple_stmts.rst:456
|
||||
msgid "unbinding"
|
||||
msgstr ""
|
||||
msgstr "suppression de liaison"
|
||||
|
||||
#: reference/simple_stmts.rst:482
|
||||
msgid "return"
|
||||
msgstr ""
|
||||
msgstr "return"
|
||||
|
||||
#: reference/simple_stmts.rst:519
|
||||
msgid "function"
|
||||
msgstr ""
|
||||
msgstr "fonction"
|
||||
|
||||
#: reference/simple_stmts.rst:482
|
||||
msgid "definition"
|
||||
msgstr ""
|
||||
msgstr "définition"
|
||||
|
||||
#: reference/simple_stmts.rst:482
|
||||
msgid "class"
|
||||
msgstr ""
|
||||
msgstr "classe"
|
||||
|
||||
#: reference/simple_stmts.rst:682 reference/simple_stmts.rst:703
|
||||
#: reference/simple_stmts.rst:728
|
||||
msgid "keyword"
|
||||
msgstr ""
|
||||
msgstr "mot-clé"
|
||||
|
||||
#: reference/simple_stmts.rst:691 reference/simple_stmts.rst:703
|
||||
msgid "finally"
|
||||
msgstr ""
|
||||
msgstr "finally"
|
||||
|
||||
#: reference/simple_stmts.rst:519
|
||||
msgid "yield"
|
||||
msgstr ""
|
||||
msgstr "yield"
|
||||
|
||||
#: reference/simple_stmts.rst:519
|
||||
msgid "generator"
|
||||
msgstr ""
|
||||
msgstr "générateur"
|
||||
|
||||
#: reference/simple_stmts.rst:519
|
||||
msgid "iterator"
|
||||
msgstr ""
|
||||
msgstr "itérateur"
|
||||
|
||||
#: reference/simple_stmts.rst:519
|
||||
msgid "StopIteration"
|
||||
msgstr ""
|
||||
msgstr "StopIteration"
|
||||
|
||||
#: reference/simple_stmts.rst:555
|
||||
msgid "raise"
|
||||
msgstr ""
|
||||
msgstr "raise"
|
||||
|
||||
#: reference/simple_stmts.rst:555
|
||||
msgid "raising"
|
||||
msgstr ""
|
||||
msgstr "lever"
|
||||
|
||||
#: reference/simple_stmts.rst:555
|
||||
msgid "__traceback__ (exception attribute)"
|
||||
msgstr ""
|
||||
msgstr "__traceback__ (attribut d'exception)"
|
||||
|
||||
#: reference/simple_stmts.rst:577
|
||||
msgid "traceback"
|
||||
msgstr ""
|
||||
msgstr "trace d'appels"
|
||||
|
||||
#: reference/simple_stmts.rst:587
|
||||
msgid "chaining"
|
||||
msgstr ""
|
||||
msgstr "chaîner"
|
||||
|
||||
#: reference/simple_stmts.rst:587
|
||||
msgid "__cause__ (exception attribute)"
|
||||
msgstr ""
|
||||
msgstr "__cause__ (attribut d'exception)"
|
||||
|
||||
#: reference/simple_stmts.rst:587
|
||||
msgid "__context__ (exception attribute)"
|
||||
msgstr ""
|
||||
msgstr "__context__ (attribut d'exception)"
|
||||
|
||||
#: reference/simple_stmts.rst:669
|
||||
msgid "break"
|
||||
msgstr ""
|
||||
msgstr "break"
|
||||
|
||||
#: reference/simple_stmts.rst:703
|
||||
msgid "for"
|
||||
msgstr ""
|
||||
msgstr "for"
|
||||
|
||||
#: reference/simple_stmts.rst:703
|
||||
msgid "while"
|
||||
msgstr ""
|
||||
msgstr "while"
|
||||
|
||||
#: reference/simple_stmts.rst:703
|
||||
msgid "loop"
|
||||
msgstr ""
|
||||
msgstr "boucle"
|
||||
|
||||
#: reference/simple_stmts.rst:682
|
||||
msgid "else"
|
||||
msgstr ""
|
||||
msgstr "else"
|
||||
|
||||
#: reference/simple_stmts.rst:682
|
||||
msgid "loop control"
|
||||
msgstr ""
|
||||
msgstr "contrôle de boucle"
|
||||
|
||||
#: reference/simple_stmts.rst:703
|
||||
msgid "continue"
|
||||
msgstr ""
|
||||
msgstr "continue"
|
||||
|
||||
#: reference/simple_stmts.rst:831
|
||||
msgid "import"
|
||||
msgstr ""
|
||||
msgstr "importation"
|
||||
|
||||
#: reference/simple_stmts.rst:728
|
||||
msgid "module"
|
||||
msgstr ""
|
||||
msgstr "module"
|
||||
|
||||
#: reference/simple_stmts.rst:728
|
||||
msgid "importing"
|
||||
msgstr ""
|
||||
msgstr "importer"
|
||||
|
||||
#: reference/simple_stmts.rst:783
|
||||
msgid "from"
|
||||
msgstr ""
|
||||
msgstr "from"
|
||||
|
||||
#: reference/simple_stmts.rst:770
|
||||
msgid "as"
|
||||
msgstr ""
|
||||
msgstr "as"
|
||||
|
||||
#: reference/simple_stmts.rst:728
|
||||
msgid "ImportError"
|
||||
msgstr ""
|
||||
msgstr "ImportError"
|
||||
|
||||
#: reference/simple_stmts.rst:770 reference/simple_stmts.rst:809
|
||||
#, fuzzy
|
||||
msgid "import statement"
|
||||
msgstr "Les instructions simples"
|
||||
msgstr "instruction *import*"
|
||||
|
||||
#: reference/simple_stmts.rst:815
|
||||
msgid "__all__ (optional module attribute)"
|
||||
msgstr ""
|
||||
msgstr "__all__ (attribut de module facultatif)"
|
||||
|
||||
#: reference/simple_stmts.rst:831
|
||||
msgid "relative"
|
||||
msgstr ""
|
||||
msgstr "relative"
|
||||
|
||||
#: reference/simple_stmts.rst:858
|
||||
msgid "future"
|
||||
msgstr ""
|
||||
msgstr "future"
|
||||
|
||||
#: reference/simple_stmts.rst:858
|
||||
msgid "__future__"
|
||||
msgstr ""
|
||||
msgstr "__future__"
|
||||
|
||||
#: reference/simple_stmts.rst:858
|
||||
#, fuzzy
|
||||
msgid "future statement"
|
||||
msgstr "L'instruction future"
|
||||
msgstr "instruction *future*"
|
||||
|
||||
#: reference/simple_stmts.rst:991
|
||||
msgid "identifier list"
|
||||
msgstr ""
|
||||
msgstr "liste d'identifiants"
|
||||
|
||||
#: reference/simple_stmts.rst:972
|
||||
msgid "exec"
|
||||
msgstr ""
|
||||
msgstr "exec"
|
||||
|
||||
#: reference/simple_stmts.rst:972
|
||||
msgid "eval"
|
||||
msgstr ""
|
||||
msgstr "eval"
|
||||
|
||||
#: reference/simple_stmts.rst:972
|
||||
msgid "compile"
|
||||
msgstr ""
|
||||
msgstr "compiler"
|
||||
|
||||
#: reference/simple_stmts.rst:991
|
||||
msgid "nonlocal"
|
||||
msgstr ""
|
||||
msgstr "nonlocal"
|
||||
|
|
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2019-03-19 23:26+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"PO-Revision-Date: 2023-12-07 23:07+0100\n"
|
||||
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: reference/toplevel_components.rst:6
|
||||
msgid "Top-level components"
|
||||
|
@ -157,58 +157,56 @@ msgstr ""
|
|||
|
||||
#: reference/toplevel_components.rst:8
|
||||
msgid "interpreter"
|
||||
msgstr ""
|
||||
msgstr "interpréteur"
|
||||
|
||||
#: reference/toplevel_components.rst:21
|
||||
msgid "program"
|
||||
msgstr ""
|
||||
msgstr "programme"
|
||||
|
||||
#: reference/toplevel_components.rst:23 reference/toplevel_components.rst:39
|
||||
msgid "module"
|
||||
msgstr ""
|
||||
msgstr "module"
|
||||
|
||||
#: reference/toplevel_components.rst:23
|
||||
msgid "sys"
|
||||
msgstr ""
|
||||
msgstr "sys"
|
||||
|
||||
#: reference/toplevel_components.rst:23 reference/toplevel_components.rst:39
|
||||
msgid "__main__"
|
||||
msgstr ""
|
||||
msgstr "__main__"
|
||||
|
||||
#: reference/toplevel_components.rst:23
|
||||
msgid "builtins"
|
||||
msgstr ""
|
||||
msgstr "builtins"
|
||||
|
||||
#: reference/toplevel_components.rst:39
|
||||
#, fuzzy
|
||||
msgid "interactive mode"
|
||||
msgstr "Entrée interactive"
|
||||
msgstr "mode interactif"
|
||||
|
||||
#: reference/toplevel_components.rst:49
|
||||
msgid "UNIX"
|
||||
msgstr ""
|
||||
msgstr "UNIX"
|
||||
|
||||
#: reference/toplevel_components.rst:49
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
msgstr "Windows"
|
||||
|
||||
#: reference/toplevel_components.rst:49
|
||||
msgid "command line"
|
||||
msgstr ""
|
||||
msgstr "ligne de commande"
|
||||
|
||||
#: reference/toplevel_components.rst:49
|
||||
msgid "standard input"
|
||||
msgstr ""
|
||||
msgstr "entrée standard"
|
||||
|
||||
#: reference/toplevel_components.rst:100
|
||||
#, fuzzy
|
||||
msgid "input"
|
||||
msgstr "Fichier d'entrée"
|
||||
msgstr "entrée"
|
||||
|
||||
#: reference/toplevel_components.rst:101
|
||||
msgid "built-in function"
|
||||
msgstr ""
|
||||
msgstr "fonction native"
|
||||
|
||||
#: reference/toplevel_components.rst:101
|
||||
msgid "eval"
|
||||
msgstr ""
|
||||
msgstr "eval"
|
||||
|
|
18
sphinx.po
18
sphinx.po
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:24+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"PO-Revision-Date: 2023-11-19 11:55-0500\n"
|
||||
"Last-Translator: Édith Viau <info@eviau.net>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: tools/templates/customsourcelink.html:3
|
||||
msgid "This Page"
|
||||
|
@ -45,15 +45,15 @@ msgstr ""
|
|||
|
||||
#: tools/templates/dummy.html:12
|
||||
msgid "Return value: Always NULL."
|
||||
msgstr ""
|
||||
msgstr "Valeur de retour : toujours NULL."
|
||||
|
||||
#: tools/templates/dummy.html:13
|
||||
msgid "Return value: New reference."
|
||||
msgstr ""
|
||||
msgstr "Valeur de retour : nouvelle référence."
|
||||
|
||||
#: tools/templates/dummy.html:14
|
||||
msgid "Return value: Borrowed reference."
|
||||
msgstr ""
|
||||
msgstr "Valeur de retour : référence empruntée."
|
||||
|
||||
#: tools/templates/dummy.html:18
|
||||
msgid "in development"
|
||||
|
@ -308,11 +308,13 @@ msgid ""
|
|||
"%(pr_id)s\">pull request</a>.\n"
|
||||
" For authoritative documentation, see the "
|
||||
msgstr ""
|
||||
"Ceci est un aperçu déployé à partir d'une <a href=\"%(repository_url)s/pull/"
|
||||
"%(pr_id)s\">demande d'ajout</a>.\n"
|
||||
"Pour la documentation officielle, consultez "
|
||||
|
||||
#: tools/templates/layout.html:16
|
||||
#, fuzzy
|
||||
msgid " the current stable release"
|
||||
msgstr "Bienvenue sur la documentation de la version stable actuelle de Python"
|
||||
msgstr "ceci est la version stable actuelle"
|
||||
|
||||
#~ msgid "Python 3.8 (stable)"
|
||||
#~ msgstr "Python 3.8 (stable)"
|
||||
|
|
|
@ -124,7 +124,7 @@ msgstr ""
|
|||
"pas au premier coup d'œil en Python et il peut être ignoré tant qu'on "
|
||||
"travaille avec des types de base immuables (nombres, chaînes, *n*-uplets). "
|
||||
"Cependant, les alias peuvent produire des effets surprenants sur la "
|
||||
"sémantique d'un code Python mettant en jeu des objets muables comme les "
|
||||
"sémantique d'un code Python mettant en jeu des objets mutables comme les "
|
||||
"listes, les dictionnaires et la plupart des autres types. En général, leur "
|
||||
"utilisation est bénéfique au programme car les alias se comportent, d'un "
|
||||
"certain point de vue, comme des pointeurs. Par exemple, transmettre un objet "
|
||||
|
@ -771,7 +771,7 @@ msgid ""
|
|||
"by all *Dog* instances::"
|
||||
msgstr ""
|
||||
"Comme nous l'avons vu dans :ref:`tut-object`, les données partagées :term:"
|
||||
"`muable <muable>` (telles que les listes, dictionnaires, etc.) peuvent avoir "
|
||||
"`mutable <muable>` (telles que les listes, dictionnaires, etc.) peuvent avoir "
|
||||
"des effets surprenants. Par exemple, la liste *tricks* dans le code suivant "
|
||||
"ne devrait pas être utilisée en tant que variable de classe car, dans ce "
|
||||
"cas, une seule liste est partagée par toutes les instances de *Dog* ::"
|
||||
|
|
|
@ -772,7 +772,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"**Avertissement important :** la valeur par défaut n'est évaluée qu'une "
|
||||
"seule fois. Ceci fait une différence lorsque cette valeur par défaut est un "
|
||||
"objet muable tel qu'une liste, un dictionnaire ou des instances de la "
|
||||
"objet mutable tel qu'une liste, un dictionnaire ou des instances de la "
|
||||
"plupart des classes. Par exemple, la fonction suivante accumule les "
|
||||
"arguments qui lui sont passés au fil des appels successifs ::"
|
||||
|
||||
|
@ -1422,7 +1422,7 @@ msgid ""
|
|||
"to it (items inserted into a list)."
|
||||
msgstr ""
|
||||
"En fait, *appels par référence d'objets* serait sans doute une description "
|
||||
"plus juste dans la mesure où, si un objet muable est passé en argument, "
|
||||
"plus juste dans la mesure où, si un objet mutable est passé en argument, "
|
||||
"l'appelant verra toutes les modifications qui lui auront été apportées par "
|
||||
"l'appelé (insertion d'éléments dans une liste…)."
|
||||
|
||||
|
|
|
@ -148,7 +148,7 @@ msgstr ""
|
|||
"Vous avez probablement remarqué que les méthodes qui ne font que modifier la "
|
||||
"liste, comme ``insert``, ``remove`` ou ``sort``, n'affichent pas de valeur "
|
||||
"de retour (elles renvoient ``None``) [#]_. C'est un principe respecté par "
|
||||
"toutes les structures de données muables en Python."
|
||||
"toutes les structures de données mutables en Python."
|
||||
|
||||
#: tutorial/datastructures.rst:128
|
||||
msgid ""
|
||||
|
@ -424,7 +424,7 @@ msgstr ""
|
|||
"celles-ci sont souvent nécessaires (notamment lorsqu'un *n*-uplet fait "
|
||||
"partie d'une expression plus longue). Il n'est pas possible d'affecter de "
|
||||
"valeur à un élément d'un *n*-uplet ; par contre, il est en revanche possible "
|
||||
"de créer des *n*-uplets contenant des objets muables, comme des listes."
|
||||
"de créer des *n*-uplets contenant des objets mutables, comme des listes."
|
||||
|
||||
#: tutorial/datastructures.rst:408
|
||||
msgid ""
|
||||
|
@ -442,7 +442,7 @@ msgstr ""
|
|||
"séquences hétérogènes d'éléments auxquelles on accède par "
|
||||
"« dissociation » (*unpacking* en anglais, voir plus loin) ou par indice (ou "
|
||||
"même par attribut dans le cas des :func:`namedtuples <collections."
|
||||
"namedtuple>`). Les listes sont souvent :term:`muables <muable>` et "
|
||||
"namedtuple>`). Les listes sont souvent :term:`mutables <muable>` et "
|
||||
"contiennent des éléments généralement homogènes auxquels on accède en "
|
||||
"itérant sur la liste."
|
||||
|
||||
|
@ -555,7 +555,7 @@ msgstr ""
|
|||
"n'importe quel type immuable ; les chaînes de caractères et les nombres "
|
||||
"peuvent toujours être des clés. Des *n*-uplets peuvent être utilisés comme "
|
||||
"clés s'ils ne contiennent que des chaînes, des nombres ou des *n*-uplets ; "
|
||||
"si un *n*-uplet contient un objet muable, de façon directe ou indirecte, il "
|
||||
"si un *n*-uplet contient un objet mutable, de façon directe ou indirecte, il "
|
||||
"ne peut pas être utilisé comme une clé. Vous ne pouvez pas utiliser des "
|
||||
"listes comme clés, car les listes peuvent être modifiées en place en "
|
||||
"utilisant des affectations par position, par tranches ou via des méthodes "
|
||||
|
|
|
@ -528,7 +528,7 @@ msgid ""
|
|||
"type, i.e. it is possible to change their content::"
|
||||
msgstr ""
|
||||
"Mais à la différence des chaînes qui sont :term:`immuables <immutable>`, les "
|
||||
"listes sont :term:`muables <mutable>` : il est possible de modifier leur "
|
||||
"listes sont :term:`mutables <mutable>` : il est possible de modifier leur "
|
||||
"contenu ::"
|
||||
|
||||
#: tutorial/introduction.rst:430
|
||||
|
|
|
@ -6,8 +6,8 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
|
||||
"PO-Revision-Date: 2022-05-24 18:32+0200\n"
|
||||
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
|
||||
"PO-Revision-Date: 2023-11-19 12:26-0500\n"
|
||||
"Last-Translator: Édith Viau <info@eviau.net>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -74,18 +74,17 @@ msgid "Command Line Arguments"
|
|||
msgstr "Paramètres passés en ligne de commande"
|
||||
|
||||
#: tutorial/stdlib.rst:66
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Common utility scripts often need to process command line arguments. These "
|
||||
"arguments are stored in the :mod:`sys` module's *argv* attribute as a list. "
|
||||
"For instance the following output results from running ``python demo.py one "
|
||||
"two three`` at the command line::"
|
||||
msgstr ""
|
||||
"Typiquement, les outils en ligne de commande ont besoin de lire les "
|
||||
"Habituellement, les outils en ligne de commande ont besoin de traiter des "
|
||||
"paramètres qui leur sont donnés. Ces paramètres sont stockés dans la "
|
||||
"variable ``argv`` du module :mod:`sys` sous la forme d'une liste. Par "
|
||||
"exemple, l'affichage suivant vient de l'exécution de ``python demo.py one "
|
||||
"two three`` depuis la ligne de commande ::"
|
||||
"variable *argv* du module :mod:`sys` sous la forme d'une liste. Par exemple, "
|
||||
"l'affichage suivant vient de l'exécution de ``python demo.py one two three`` "
|
||||
"depuis la ligne de commande ::"
|
||||
|
||||
#: tutorial/stdlib.rst:75
|
||||
msgid ""
|
||||
|
@ -390,8 +389,8 @@ msgstr ""
|
|||
|
||||
#: tutorial/stdlib.rst:27
|
||||
msgid "built-in function"
|
||||
msgstr ""
|
||||
msgstr "fonction native"
|
||||
|
||||
#: tutorial/stdlib.rst:27
|
||||
msgid "help"
|
||||
msgstr ""
|
||||
msgstr "aide"
|
||||
|
|
|
@ -3105,7 +3105,7 @@ msgstr ""
|
|||
"Les objets ``Literal`` lèvent maintenant une exception :exc:`TypeError` lors "
|
||||
"des comparaisons d'égalités si n'importe quel de leurs paramètres n'est pas :"
|
||||
"term:`immuable <immutable>`. Prenez-note que déclarer un ``Literal`` avec un "
|
||||
"paramètre muable ne lève pas une erreur ::"
|
||||
"paramètre mutable ne lève pas une erreur ::"
|
||||
|
||||
#: whatsnew/3.9.rst:1519
|
||||
msgid "(Contributed by Yurii Karabas in :issue:`42345`.)"
|
||||
|
|
Loading…
Reference in New Issue
Block a user