forked from AFPy/python-docs-fr
Compare commits
60 Commits
Author | SHA1 | Date |
---|---|---|
Julien Palard | 99f2135a89 | |
DERICK TEMFACK | e552e4f391 | |
Julien Palard | 20eba35774 | |
Julien Palard | 900b88915a | |
Julien Palard | 0a1983e280 | |
Julien Palard | 27b150c990 | |
Philippe Galvan | c19994718d | |
Nicolas Haller | 1961c8af9b | |
Jean Abou-Samra | fe714889f3 | |
Julien Palard | c1f223aff0 | |
Jean Abou-Samra | e6f2a01f46 | |
Nicolas Haller | 8001d30342 | |
Jean-Christophe Helary | b48e326e75 | |
Nils Van Zuijlen | 168550f460 | |
Christophe Nanteuil | 0b030e224d | |
Jules Lasne | 37da9a8706 | |
Mathieu Dupuy | 0181416d7f | |
Antoine | a183a44f3c | |
Jean Abou-Samra | 1e8e99b91b | |
Jean Abou-Samra | 86f8d73230 | |
Mathieu Dupuy | 2c827d82d1 | |
Mathieu Dupuy | 583c3fad3b | |
Melcore | 229bcd578e | |
Mathieu Dupuy | 0a16b65078 | |
PhilippeGalvan | 5ca18fea1b | |
Jean Abou Samra | 9a4893a322 | |
Jean Abou Samra | 3fc81dd82c | |
Mathieu Dupuy | 7b5494304c | |
Mathieu Dupuy | ea615bb65f | |
Nicolas Haller | f30d3f2c7b | |
Mathieu Dupuy | 0546f86f47 | |
Loc Cosnier | 29fd9f86d6 | |
Mathieu Dupuy | 3374b5df2c | |
Loc Cosnier | d9b20359bf | |
Vincent Poulailleau | fe69851029 | |
Mathieu Dupuy | 7cc3ab279d | |
Mathieu Dupuy | fbad65ec29 | |
Mathieu Dupuy | 9b6d6e2585 | |
Thierry Pellé | c4cc2a5a28 | |
Christophe Nanteuil | a0c7fabc13 | |
Nicolas Haller | 5025581da6 | |
edith | 720a28c138 | |
Christophe Nanteuil | 2fb8b34a03 | |
Mathieu Dupuy | 28a1fc2581 | |
Thierry Pellé | b0ab49b4bf | |
freallearn | b76b03017b | |
Mathieu Dupuy | 50d8aa8ff9 | |
Christophe Nanteuil | 3c0f0166ec | |
Jean-Michel Laprise | 50bd7b27d6 | |
Yannick Gingras | cff92cc17a | |
Emmanuel Leblond | e805151949 | |
Jean-Michel Laprise | d9cb93b14e | |
Thierry Pellé | 5460f47129 | |
Jean Abou Samra | cf90440fa3 | |
Julien Palard | b8eb0ae207 | |
Yannick Gingras | f75fa85f4a | |
Yannick Gingras | 2d202f482a | |
Julien Palard | 3df1955d81 | |
Julien Palard | e82724d296 | |
Julien Palard | 518292adbb |
|
@ -15,14 +15,15 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
tool:
|
||||
- name: sphinx-lint
|
||||
package: sphinx-lint
|
||||
command: 'sphinx-lint --enable default-role --ignore .git'
|
||||
- name: Orthographe
|
||||
package: pospell
|
||||
apt_dependencies: hunspell hunspell-fr-comprehensive
|
||||
command: 'pospell -p dict -l fr_FR $CHANGED_PO_FILES'
|
||||
- name: Longueur des lignes
|
||||
package: powrap
|
||||
apt_dependencies: gettext
|
||||
command: 'powrap --check --quiet --diff $CHANGED_PO_FILES'
|
||||
command: 'awk ''{if (length($0) > 80 && length(gensub(/[^ ]/, "", "g")) > 1) {print FILENAME ":" FNR, "line too long:", $0; ERRORS+=1}} END {if (ERRORS>0) {exit 1}}'' $CHANGED_PO_FILES'
|
||||
- name: Grammaire
|
||||
package: padpo
|
||||
command: 'padpo -i $CHANGED_PO_FILES 2>&1 | grep -v -Ff padpo.ignore'
|
||||
|
@ -42,9 +43,13 @@ jobs:
|
|||
python-version: '3.9'
|
||||
- name: Install ${{ matrix.tool.package }}
|
||||
run: |
|
||||
[ -n "${{ matrix.tool.apt_dependencies }}" ] && sudo apt-get update && sudo apt-get install -y ${{ matrix.tool.apt_dependencies }}
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
python -m pip install ${{ matrix.tool.package }}
|
||||
if [ -n "${{ matrix.tool.apt_dependencies }}" ]; then
|
||||
sudo apt-get update && sudo apt-get install -y ${{ matrix.tool.apt_dependencies }}
|
||||
fi
|
||||
if [ -n "${{ matrix.tool.package }}" ]; then
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
python -m pip install ${{ matrix.tool.package }}
|
||||
fi
|
||||
- name: Run ${{ matrix.tool.package }}
|
||||
env:
|
||||
ADDED_FILES: ${{ join(fromJSON(steps.changed_files.outputs.added), ' ') }}
|
||||
|
@ -64,14 +69,18 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: '~/cpython/'
|
||||
key: '1'
|
||||
- uses: actions/setup-python@v2
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
python-version: '3.9'
|
||||
path: ~/.cache/pip
|
||||
key: '1'
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10'
|
||||
- name: Clone cpython
|
||||
run: |
|
||||
if [ ! -d ~/cpython ]; then
|
||||
|
@ -86,9 +95,7 @@ jobs:
|
|||
git -C ~/cpython checkout $(grep ^CPYTHON_CURRENT_COMMIT Makefile| cut -d= -f2)
|
||||
- name: Prepare venv
|
||||
run: |
|
||||
# If the venv exists but is broken, drop it (happens on Python upgrades):
|
||||
# see https://github.com/actions/setup-python/issues/170
|
||||
[ -d $HOME/cpython/Doc/venv/bin/ -a ! -e $HOME/cpython/Doc/venv/bin/python ] && rm -fr $HOME/cpython/Doc/venv
|
||||
make -C $HOME/cpython/Doc clean-venv
|
||||
make -C $HOME/cpython/Doc venv
|
||||
- name: sphinx-build
|
||||
run: make -C $HOME/cpython/Doc SPHINXOPTS="-q -j4 -D locale_dirs=$HOME/locales -D language=fr -D gettext_compact=0" autobuild-dev-html
|
||||
|
|
419
CONTRIBUTING.rst
419
CONTRIBUTING.rst
|
@ -1,26 +1,125 @@
|
|||
Guide de contribution à la documentation via GitHub
|
||||
===================================================
|
||||
|
||||
Instructions
|
||||
------------
|
||||
###################################################
|
||||
|
||||
Prérequis
|
||||
~~~~~~~~~
|
||||
=========
|
||||
|
||||
Outils souhaitables
|
||||
-------------------
|
||||
|
||||
Pour pouvoir participer à la traduction en commun, il est souhaitable
|
||||
d'installer :
|
||||
|
||||
- un client ``git`` `Linux <https://git-scm.com/>`_, `MacOS
|
||||
<https://git-scm.com/>`_ ou `Windows <https://gitforwindows.org/>`_ ;
|
||||
|
||||
- un client ``git`` `Linux <https://git-scm.com/>`_, `MacOS <https://git-scm.com/>`_ ou `Windows <https://gitforwindows.org/>`_ ;
|
||||
- un éditeur de fichier ``.po`` (comme `Poedit <https://poedit.net/>`_).
|
||||
|
||||
Équipez-vous aussi de quelques outils pour vous aider dans
|
||||
votre traduction (voir `Outils utiles pour la traduction`_).
|
||||
|
||||
Outils facultatifs
|
||||
------------------
|
||||
De plus, il peut être utile de s'équiper d'utilitaires pour faciliter
|
||||
la manipulation des fichiers ``.po`` et la traduction.
|
||||
|
||||
`Poutils <https://pypi.org/project/poutils/>`_ est un paquet PyPI qui
|
||||
regroupe un certain nombre d'outils liés à la traduction. Dans un
|
||||
environnement disposant de Python 3.7 ou plus, installez-le avec ::
|
||||
|
||||
python3 -m pip install poutils
|
||||
|
||||
Dans notre cas, les utilitaires de *Poutils* qui nous intéressent sont :
|
||||
|
||||
Pospell
|
||||
^^^^^^^
|
||||
|
||||
Vérificateur d'orthographe fondé sur Hunspell. ``make spell`` exécute
|
||||
Pospell. Pour l'utiliser, il vous faut installer Hunspell. Attention,
|
||||
dans Debian notamment (et ses dérivés comme Ubuntu), il existe plusieurs
|
||||
dictionnaires français qui diffèrent en raison de l'orthographe
|
||||
réformée. Installez celui qui contient les deux orthographes avec ::
|
||||
|
||||
sudo apt install hunspell hunspell-fr-comprehensive
|
||||
|
||||
Potodo
|
||||
^^^^^^
|
||||
|
||||
Permet d'identifier les parties de la documentation qu'il reste à
|
||||
traduire. ``make todo`` fait appel à Potodo.
|
||||
|
||||
Pogrep
|
||||
^^^^^^
|
||||
|
||||
Permet de rechercher dans la documentation des termes. Utile si on a un doute
|
||||
sur comment traduire un terme ou chercher la traduction d'un terme dans
|
||||
d'autres fichiers. Pour connaître les options disponibles, tapez ::
|
||||
|
||||
pogrep --help
|
||||
|
||||
Powrap
|
||||
^^^^^^
|
||||
|
||||
Formateur de fichier *.po*. C'est l'outil qui se cache derrière ``make
|
||||
wrap``.
|
||||
|
||||
Padpo (beta)
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Analyseur de code qui encapsule notamment `Grammalecte
|
||||
<https://grammalecte.net>`_ et qui vérifie la grammaire, l'orthographe
|
||||
et la syntaxe des fichiers *.po*.
|
||||
|
||||
Configuration des outils
|
||||
------------------------
|
||||
|
||||
Configuration de Poedit
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
* N'oubliez pas de configurer votre nom et
|
||||
votre adresse de courriel (Édition → Préférences → Général).
|
||||
* Vérifiez également qu'il est configuré pour passer à la ligne à 79
|
||||
caractères (Édition → Préférences → Avancé → Passer à la ligne à
|
||||
79).
|
||||
|
||||
Configuration de Git (rendre plus lisible l'affichage des modifications)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Le résultat de ``git diff`` est souvent encombré de changements inutiles de numéros
|
||||
de ligne, comme :
|
||||
|
||||
.. code-block:: diff
|
||||
|
||||
-#: ../Doc/library/sys.rst:406
|
||||
+#: ../Doc/library/sys.rst:408
|
||||
|
||||
|
||||
*fork* personnel sur Github
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Pour dire à Git que ce ne sont pas des informations utiles, vous pouvez faire
|
||||
ce qui suit après vous être assuré que ``~/.local/bin/`` se trouve dans votre
|
||||
``PATH``.
|
||||
|
||||
Pour commencer vous aurez besoin de *forker* le dépôt des sources `python-docs-fr
|
||||
<https://github.com/python/python-docs-fr>`_ en cliquant sur son bouton
|
||||
``Fork``. Ceci crée une copie du projet sur votre compte Github, c'est un endroit
|
||||
où vous avez le droit de faire des modifications.
|
||||
.. code-block:: bash
|
||||
|
||||
cat <<EOF > ~/.local/bin/podiff
|
||||
#!/bin/sh
|
||||
grep -v '^#:' "\$1"
|
||||
EOF
|
||||
|
||||
chmod a+x ~/.local/bin/podiff
|
||||
|
||||
git config diff.podiff.textconv podiff
|
||||
|
||||
|
||||
Pas d'inquiétude, cela ne change la façon dont Git affiche les changements que sur
|
||||
les fichiers de la traduction, sans incidence sur les autres.
|
||||
|
||||
Première étape : créer et peupler son dépôt
|
||||
===========================================
|
||||
|
||||
Sur Github
|
||||
----------
|
||||
|
||||
Depuis votre compte GitHub, se rendre dans le dépôt des sources `python-docs-fr
|
||||
<https://github.com/python/python-docs-fr>`_ puis cliquer sur son bouton ``Fork``.
|
||||
Ceci crée une copie du projet sur votre compte Github. C'est sur cette copie
|
||||
que vous avez le droit de faire des modifications.
|
||||
|
||||
Étape par étape :
|
||||
|
||||
|
@ -40,12 +139,14 @@ où vous avez le droit de faire des modifications.
|
|||
git remote add upstream https://github.com/python/python-docs-fr.git
|
||||
|
||||
|
||||
*fork* personnel sur une autre forge
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Sur une autre forge
|
||||
-------------------
|
||||
|
||||
Si vous n'avez pas de compte Github, il est possible *fork* ce dépôt sur une autre forge.
|
||||
Si vous n'avez pas de compte Github, il est possible d'utiliser une autre forge.
|
||||
Vous devez dans un premier temps initier un dépôt vide sur la forge où vous voulez héberger le
|
||||
dépôt.
|
||||
dépôt puis le peupler.
|
||||
|
||||
Étape par étape :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -66,15 +167,49 @@ dépôt.
|
|||
git push -u origin
|
||||
|
||||
|
||||
Réservation d'un fichier
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Deuxième étape : choisir et réserver le fichier sur lequel travailler
|
||||
=====================================================================
|
||||
|
||||
*Chaque fois que vous commencez un nouveau fichier, suivez cette procédure.*
|
||||
Note liminaire
|
||||
--------------
|
||||
|
||||
Ensuite, vous devez trouver un fichier sur lequel travailler
|
||||
(pour vous aiguiller, lisez la section `Que traduire ?`_). Nous vous conseillons
|
||||
de choisir, si possible, un fichier traitant d'un sujet que vous maitrisez, cela
|
||||
vous aidera grandement à produire une traduction de bonne qualité.
|
||||
Il est vivement conseillé de ne pas travailler sur fichiers des
|
||||
répertoires *c-api/*, *whatsnew/*, *distutils/* et *install/* :
|
||||
|
||||
- *c-api/* car c'est une partie très technique ;
|
||||
|
||||
- *whatsnew/* car les anciennes versions de Python sont pour la plupart
|
||||
obsolètes et leurs journaux de modifications ne sont pas les pages les plus
|
||||
consultées ;
|
||||
|
||||
- *distutils/*, *install/*, et quelques autres parties qui seront bientôt
|
||||
obsolètes. De manière générale, il n'est pas utile de traduire un module que
|
||||
sa documentation mentionne comme obsolète.
|
||||
|
||||
Trouver un fichier sur lequel travailler
|
||||
----------------------------------------
|
||||
|
||||
Pour vous aiguiller dans votre choix, vous pouvez utiliser ``potodo``,
|
||||
un outil recherchant des fichiers ``.po`` à traduire. Une fois
|
||||
installé, utilisez la commande ``make todo`` dans votre clone local.
|
||||
|
||||
La liste renvoyée contient tous les fichiers qui ne sont pas encore complètement
|
||||
traduits. Vous pouvez choisir n'importe quel fichier non réservé dans la liste
|
||||
renvoyée (notez que ceux mentionnés plus haut sont automatiquement exclus).
|
||||
|
||||
Vous pouvez commencer par des tâches faciles comme réviser les entrées
|
||||
*fuzzy* pour aider à garder la documentation à jour (trouvez-les à l'aide
|
||||
de ``make fuzzy``). Une entrée *fuzzy* correspond à une entrée déjà traduite
|
||||
mais dont la source en anglais a été modifiée depuis (correction orthographique,
|
||||
changement d'un terme, ajout ou suppression d'une phrase…). Elles sont
|
||||
généralement plus « faciles » à traduire.
|
||||
|
||||
Vous pouvez également relire des entrées déjà traduites pour vous faire une
|
||||
idée, et passer ensuite à la traduction de celles qui ne le sont pas encore.
|
||||
|
||||
Nous vous conseillons de choisir, si possible, un fichier traitant
|
||||
d'un sujet que vous maîtrisez, cela vous aidera grandement à produire
|
||||
une traduction de bonne qualité.
|
||||
|
||||
Si c'est votre première contribution, commencez par une toute petite
|
||||
traduction, de quelques paragraphes maximum, pour vous familiariser. Il n'est
|
||||
|
@ -82,6 +217,11 @@ pas nécessaire de terminer un fichier lorsqu'on le commence, vous
|
|||
pouvez donc prendre n'importe quel fichier, mais ne traduire que
|
||||
quelques paragraphes.
|
||||
|
||||
Réserver le fichier
|
||||
-------------------
|
||||
|
||||
*Chaque fois que vous commencez un nouveau fichier, suivez cette procédure.*
|
||||
|
||||
Une fois que vous avez choisi un fichier sur lequel travailler vous pouvez nous
|
||||
le signaler par différents moyens :
|
||||
|
||||
|
@ -100,12 +240,15 @@ dans les tickets et les *pull requests*.
|
|||
`irc://irc.libera.chat/#python-docs-fr <https://web.libera.chat/#python-docs-fr>`_
|
||||
pour nous le signaler.
|
||||
|
||||
Vous êtes maintenant prêt. Chaque fois que vous commencerez un nouveau fichier,
|
||||
suivez cette procédure :
|
||||
|
||||
Pour travailler, nous avons besoin d'une branche, basée sur une version à jour
|
||||
(fraîchement récupérée) de la branche « upstream/3.10 ». On met donc à jour notre
|
||||
version locale.
|
||||
Création de la branche de traduction
|
||||
------------------------------------
|
||||
|
||||
*Chaque fois que vous commencez un nouveau fichier, suivez cette procédure.*
|
||||
|
||||
Vous êtes maintenant prêt. Pour travailler, nous avons besoin d'une
|
||||
branche, basée sur une version à jour (fraîchement récupérée) de la
|
||||
branche « upstream/3.10 ». On met donc à jour notre version locale.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -122,12 +265,12 @@ fichier sur lequel on travaille. Par exemple, si vous travaillez sur
|
|||
git checkout -b library-sys upstream/3.10
|
||||
|
||||
|
||||
Vous pouvez maintenant travailler sur le fichier.
|
||||
Si vous utilisez Poedit, n'oubliez pas de configurer votre nom et votre adresse de courriel
|
||||
(Édition → Préférences → Général).
|
||||
Vérifiez aussi qu'il est configuré pour passer à la ligne à 79 caractères
|
||||
(Édition → Préférences → Avancé → Passer à la ligne à 79).
|
||||
|
||||
Troisième étape: Traduction
|
||||
===========================
|
||||
|
||||
Avec Poedit
|
||||
---------------
|
||||
Ici, remplacez « library/sys.po » par le fichier que vous avez choisi précédemment.
|
||||
|
||||
.. code-block:: bash
|
||||
|
@ -138,11 +281,11 @@ Ici, remplacez « library/sys.po » par le fichier que vous avez choisi préc
|
|||
Ou lancez simplement Poedit puis « Fichier » → « Ouvrir ».
|
||||
|
||||
|
||||
Traduction
|
||||
~~~~~~~~~~
|
||||
Vérifications après traduction
|
||||
------------------------------
|
||||
|
||||
Vous pouvez dès à présent commencer à traduire le fichier en
|
||||
respectant les `conventions`_ du projet. Pour vous y aider, la commande :
|
||||
Après avoir modifié les fichiers, vérifiez que vous respectez les
|
||||
`conventions`_ du projet. Pour vous y aider, la commande :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -157,8 +300,9 @@ Si ``make verifs`` trouve des problèmes de longueurs de ligne,
|
|||
vérifiez votre configuration ``poedit`` (Édition → Préférences →
|
||||
Avancé → Passer à la ligne à 79) ou utilisez ``make wrap``.
|
||||
|
||||
Une fois la traduction finie, il faut compiler la documentation, c'est-à-dire générer les fichiers HTML
|
||||
affichés par le site, pour les relire. Si la commande précédente s'est exécutée sans erreur, la
|
||||
Une fois la traduction finie, il faut compiler la documentation,
|
||||
c'est-à-dire générer les fichiers HTML affichés par le site, pour les
|
||||
relire. Si la commande précédente s'est exécutée sans erreur, la
|
||||
compilation ne devrait pas échouer.
|
||||
|
||||
.. code-block:: bash
|
||||
|
@ -174,13 +318,10 @@ documentation local :
|
|||
make serve
|
||||
|
||||
|
||||
La documentation est publiée l'adresse `<http://localhost:8000/library/sys.html>`_.
|
||||
Si vous souhaitez modifier le port de ce serveur (par exemple 8080), utilisez :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make serve SERVE_PORT=8080
|
||||
La documentation est publiée à l'adresse `<http://localhost:8000/library/sys.html>`_.
|
||||
|
||||
Attention: le port TCP/8000 ne peut être changé, il convient d'arrêter
|
||||
tout service qui écouterait sur celui-ci.
|
||||
|
||||
Vous pouvez recommencer les étapes de cette section autant de fois que
|
||||
nécessaire.
|
||||
|
@ -190,21 +331,21 @@ Poedit donne beaucoup d'avertissements, par exemple pour vous informer que
|
|||
la source. Ces avertissements ne sont pas tous fondés. En cas de doute,
|
||||
*affichez et relisez la page HTML produite* avec ``make serve``.
|
||||
|
||||
*pull request*
|
||||
~~~~~~~~~~~~~~
|
||||
Quatrième étape : publier sa traduction
|
||||
=======================================
|
||||
|
||||
Une fois que le *make verifs* ne lève pas d'erreur et que vous êtes certains de bien respecter les
|
||||
`Conventions`_ de traduction, vient le moment d'envoyer votre travail sur le dépôt local.
|
||||
|
||||
``git add`` place nos modifications dans l'index de Git en
|
||||
attendant d'être propagées dans le dépôt local.
|
||||
* ``git add`` place nos modifications dans l'index de Git en attendant
|
||||
d'être propagées dans le dépôt local.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git add library/sys.po
|
||||
|
||||
|
||||
``git commit`` permet de les propager :
|
||||
* ``git commit`` permet de les propager :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
@ -222,7 +363,7 @@ branche est liée à votre *fork* (et donc que vos futurs ``git pull`` et
|
|||
git push --set-upstream origin
|
||||
|
||||
Sur Github
|
||||
++++++++++
|
||||
----------
|
||||
|
||||
La commande précédente vous affiche un lien pour ouvrir une *pull request* sur
|
||||
Github. Si vous l'avez manqué, allez simplement sur https://github.com/python/python-docs-fr/pulls
|
||||
|
@ -250,7 +391,7 @@ GitHub puis relancer ``powrap`` :
|
|||
git push
|
||||
|
||||
Sur une autre forge
|
||||
+++++++++++++++++++
|
||||
-------------------
|
||||
|
||||
Quand vous avez poussé vos modifications, il y a plusieurs possibilités.
|
||||
|
||||
|
@ -307,38 +448,10 @@ les plus anciennes par l'`équipe de documentation
|
|||
<https://www.python.org/dev/peps/pep-8015/#documentation-team>`_.
|
||||
|
||||
|
||||
Que traduire ?
|
||||
--------------
|
||||
|
||||
Vous pouvez utiliser `potodo`_, un outil fait pour trouver des fichiers *po*
|
||||
à traduire. Une fois installé, utilisez la commande ``make todo`` dans votre clone
|
||||
local.
|
||||
|
||||
Vous pouvez choisir n'importe quel fichier non réservé dans la liste renvoyée.
|
||||
Elle contient tous les fichiers qui ne sont pas encore complètement traduits, à
|
||||
l'exception des fichiers de :
|
||||
|
||||
- *c-api/* car c'est une partie très technique ;
|
||||
- *whatsnew/* car les anciennes versions de Python sont pour la plupart
|
||||
obsolètes et leurs journaux de modifications ne sont pas les pages les plus
|
||||
consultées ;
|
||||
- *distutils/*, *install/*, et quelques autres parties qui seront bientôt
|
||||
obsolètes. De manière générale, il n'est pas utile de traduire un module que
|
||||
sa documentation mentionne comme obsolète.
|
||||
|
||||
Vous pouvez commencer par des tâches faciles comme réviser les entrées
|
||||
*fuzzy* pour aider à garder la documentation à jour (trouvez-les à l'aide
|
||||
de ``make fuzzy``). Une entrée *fuzzy* correspond à une entrée déjà traduite
|
||||
mais dont la source en anglais a été remodifiée depuis (correction orthographique,
|
||||
changement d'un terme, ajout ou suppression d'une phrase…). Elles sont
|
||||
généralement plus « faciles » à traduire.
|
||||
|
||||
Vous pouvez également relire des entrées déjà traduites pour vous faire une
|
||||
idée, et passer ensuite à la traduction de celles qui ne le sont pas encore.
|
||||
|
||||
|
||||
Conventions
|
||||
-----------
|
||||
===========
|
||||
|
||||
Certaines conventions ont été édictées pour homogénéiser la traduction.
|
||||
Il faut suivre les règles de `style`_ imposées, les `règles rst`_ et
|
||||
|
@ -346,7 +459,7 @@ les traductions déjà définies dans le `glossaire`_.
|
|||
|
||||
|
||||
Style
|
||||
~~~~~
|
||||
-----
|
||||
|
||||
Une bonne traduction est une traduction qui transcrit fidèlement l'idée originelle
|
||||
en français, sans rien ajouter ni enlever au fond, tout en restant claire, concise et
|
||||
|
@ -357,7 +470,7 @@ documentation anglaise, si le rythme l'exige. Il faut aussi chercher des
|
|||
garde aux anglicismes.
|
||||
|
||||
Utilisation du futur
|
||||
++++++++++++++++++++
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Dans la description du comportement de Python (au sens large, c'est-à-dire
|
||||
l'interpréteur lui-même mais aussi toutes les bibliothèques), la version
|
||||
|
@ -370,13 +483,13 @@ processus de compilation n'est pas immédiat) ou pour des raisons de
|
|||
concordance des temps.
|
||||
|
||||
Utilisation du conditionnel
|
||||
+++++++++++++++++++++++++++
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
La version originale est très polie envers le lecteur ; elle lui intime
|
||||
rarement des obligations, préférant employer « you should ». Cependant, en
|
||||
français, il est d'usage d'être plus direct pour être correctement compris :
|
||||
« vous devez ». *Vous devriez* est en effet généralement compris comme quelque
|
||||
chose dont l'on peut de temps en temps se passer, alors que c'est très
|
||||
chose dont on peut de temps en temps se passer, alors que c'est très
|
||||
rarement le cas pour les « you should » de cette documentation.
|
||||
De la même manière, « can » est souvent mieux traduit sans introduire de notion
|
||||
de possibilité, en particulier quand la phrase est à la voix passive ; la
|
||||
|
@ -384,20 +497,20 @@ phrase « these objects can be accessed by… » se traduit mieux par « on ac
|
|||
ces objets en… ».
|
||||
|
||||
Utilisation du masculin
|
||||
+++++++++++++++++++++++
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Dans un souci de lisibilité et en accord avec la préconisation de
|
||||
l'Académie française, nous utilisons le masculin pour indiquer un
|
||||
genre neutre. Par exemple : l'utilisateur ou le lecteur.
|
||||
|
||||
Règles rst
|
||||
~~~~~~~~~~
|
||||
----------
|
||||
|
||||
Prototypes et exemples
|
||||
++++++++++++++++++++++
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Il ne faut pas traduire le nom des éléments de la bibliothèque standard (noms
|
||||
de fonctions, paramètres de ces fonctions, constantes etc.) mais les laisser
|
||||
de fonctions, paramètres de ces fonctions, constantes, etc.) mais les laisser
|
||||
tels quel, entourés d'astérisques dans les blocs de texte.
|
||||
Si la documentation contient des exemples, vous *pouvez* traduire les noms
|
||||
utilisés, en prenant garde d'être cohérent. Vous pouvez ainsi traduire :
|
||||
|
@ -428,7 +541,7 @@ mais pas en
|
|||
|
||||
|
||||
Liens hypertextes
|
||||
+++++++++++++++++
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Il faut transformer les liens hypertextes qui redirigent vers une page dont il
|
||||
existe une version française (c'est notamment très souvent le cas pour les
|
||||
|
@ -439,11 +552,11 @@ doit devenir ```Jeu de la vie <https://fr.wikipedia.org/wiki/Jeu_de_la_vie>`_``.
|
|||
|
||||
|
||||
Balises
|
||||
+++++++
|
||||
^^^^^^^
|
||||
|
||||
Ne traduisez pas le contenu des balises comme ``:ref:...`` ou ``:class:...``.
|
||||
Vous devez cependant traduire les balises ``:term:...``, qui font référence à
|
||||
un concept ou une primitive défini dans le `glossaire Python <https://docs.python.org/fr/3/glossary.html>`_.
|
||||
une primitive ou un concept défini dans le `glossaire Python <https://docs.python.org/fr/3/glossary.html>`_.
|
||||
La syntaxe est ``:term:nom_français<nom_anglais>``. Par exemple, traduisez
|
||||
``:term:`dictionary``` en ``:term:`dictionnaire <dictionary>```.
|
||||
|
||||
|
@ -452,7 +565,7 @@ terme que vous pouvez rencontrer.
|
|||
|
||||
|
||||
Glossaire
|
||||
~~~~~~~~~
|
||||
=========
|
||||
|
||||
Afin d'assurer la cohérence de la traduction, voici quelques
|
||||
termes fréquents déjà traduits. Une liste blanche de noms propres, comme « Guido »,
|
||||
|
@ -481,6 +594,7 @@ bytecode code intermédiaire
|
|||
callback fonction de rappel
|
||||
call stack pile d'appels
|
||||
caught (exception) interceptée
|
||||
daemon *daemon*
|
||||
debugging débogage
|
||||
deep copy copie récursive (préféré), ou copie profonde
|
||||
double quote guillemet
|
||||
|
@ -552,12 +666,12 @@ whitespace caractère d'espacement
|
|||
========================== ===============================================
|
||||
|
||||
Ressources de traduction
|
||||
------------------------
|
||||
========================
|
||||
|
||||
- les canaux IRC sur irc.libera.chat :
|
||||
|
||||
- `#python-docs-fr <https://web.libera.chat/#python-docs-fr>`_ — communauté python autour de la documentation française,
|
||||
- `#python-fr <https://web.libera.chat/#python-fr>`_ — communauté python francophone,
|
||||
- `#python-fr <https://web.libera.chat/#python-fr>`_ — communauté python francophone,
|
||||
- `#python-doc <https://web.libera.chat/#python-doc>`_ — communauté python autour de la documentation anglophone ;
|
||||
- les listes de diffusion relatives à la documentation (courriel) :
|
||||
|
||||
|
@ -566,8 +680,8 @@ Ressources de traduction
|
|||
- des glossaires et dictionnaires :
|
||||
|
||||
- le `glossaire de la documentation Python <https://docs.python.org/fr/3/glossary.html>`_, car il est déjà traduit,
|
||||
- les `glossaires et dictionnaires de traduc.org <https://traduc.org/Glossaires_et_dictionnaires>`_, en particulier le `grand dictionnaire terminologique <http://gdt.oqlf.gouv.qc.ca/>`_ de l'Office québécois de la langue française,
|
||||
- Wikipédia. En consultant un article sur la version anglaise, puis en basculant sur la version francaise pour voir comment le sujet de l'article est traduit ;
|
||||
- les `glossaires et dictionnaires de traduc.org <https://traduc.org/Glossaires_et_dictionnaires>`_, en particulier le `grand dictionnaire terminologique <http://gdt.oqlf.gouv.qc.ca/>`_ de l'Office québécois de la langue française,
|
||||
- Wikipédia. En consultant un article sur la version anglaise, puis en basculant sur la version française pour voir comment le sujet de l'article est traduit ;
|
||||
- le `guide stylistique pour le français de localisation des produits Sun
|
||||
<https://web.archive.org/web/20160821182818/http://frenchmozilla.org/FTP/TEMP/guide_stylistique_December05.pdf>`_ donne
|
||||
beaucoup de conseils pour éviter une traduction trop mot à mot ;
|
||||
|
@ -582,10 +696,10 @@ page et génèrent une documentation au style très « lourd ».
|
|||
|
||||
|
||||
Caractères spéciaux et typographie
|
||||
----------------------------------
|
||||
==================================
|
||||
|
||||
La touche de composition
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
------------------------
|
||||
|
||||
Cette `touche <https://fr.wikipedia.org/wiki/Touche_de_composition>`_,
|
||||
absente par défaut des claviers, permet de saisir des
|
||||
|
@ -610,7 +724,7 @@ simplement fonctionner :
|
|||
- etc.
|
||||
|
||||
Comment définir la touche de composition ?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
------------------------------------------
|
||||
|
||||
Cela dépend de votre système d'exploitation et de votre clavier.
|
||||
|
||||
|
@ -629,7 +743,7 @@ ajouter l'équivalent de :
|
|||
keycode 115 = Multi_key
|
||||
|
||||
|
||||
Utilisez ``xev`` pour connaitre la bonne correspondance de la touche que vous
|
||||
Utilisez ``xev`` pour connaître la bonne correspondance de la touche que vous
|
||||
voulez assigner !
|
||||
|
||||
Ensuite, dans votre fichier *~/.xsession*, ajoutez :
|
||||
|
@ -647,8 +761,8 @@ modifier dans les « Paramètres » → « Clavier » → « Disposition » →
|
|||
⇒ Sous Windows, vous
|
||||
pouvez utiliser `wincompose <https://github.com/SamHocevar/wincompose>`_.
|
||||
|
||||
Le cas de « --- », « -- », « ... »
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Le cas de « --- », « -- », « ... »
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
La version anglaise utilise les
|
||||
`smartquotes <http://docutils.sourceforge.net/docs/user/smartquotes.html>`_,
|
||||
|
@ -664,7 +778,7 @@ Les *smartquotes* sont normalement responsables de la transformation de
|
|||
| « ... » : faites :kbd:`Compose . . .`
|
||||
|
||||
Le cas de « "…" »
|
||||
~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Les guillemets français ``«`` et ``»`` ne sont pas identiques aux
|
||||
guillemets anglais ``"``. Cependant, Python utilise les guillemets
|
||||
|
@ -675,7 +789,7 @@ traduire les guillemets mais pas les délimiteurs de chaîne.
|
|||
| « "…" » : faites :kbd:`Compose < <` ou :kbd:`Compose > >`
|
||||
|
||||
Le cas de « :: »
|
||||
~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
| Du point de vue du langage *reStructuredText* (ou *rst*) utilisé dans la
|
||||
documentation nous voyons soit « bla bla:: », soit « bla bla. :: ».
|
||||
|
@ -691,7 +805,7 @@ En français, nous mettons une espace insécable devant nos deux-points, comme :
|
|||
Pour saisir une espace insécable faites :kbd:`Compose SPACE SPACE`
|
||||
|
||||
Les doubles-espaces
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
La documentation originale comporte beaucoup de doubles-espaces.
|
||||
Cela se fait en anglais, mais pas en français. De toute manière,
|
||||
|
@ -702,7 +816,7 @@ coté traduction : nous ne les retirons pas et ce n'est pas grave
|
|||
si des traducteurs en retirent par accident.
|
||||
|
||||
Les énumérations
|
||||
~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Chaque paragraphe d'une énumération introduite par un deux-point
|
||||
doit se terminer par un point-virgule (bien entendu précédé d'une
|
||||
|
@ -715,7 +829,7 @@ une virgule et le dernier par un point-virgule.
|
|||
Par exemple :
|
||||
|
||||
- le premier paragraphe de l'énumération ;
|
||||
- le deuxième paragraphe, lui-aussi une énumération :
|
||||
- le deuxième paragraphe, lui aussi une énumération :
|
||||
|
||||
- premier sous-paragraphe,
|
||||
- second sous-paragraphe ;
|
||||
|
@ -727,88 +841,3 @@ entre un paragraphe et sa traduction ; il faut passer outre ses avertissements.
|
|||
Vous pouvez aussi rajouter un commentaire dans le fichier *.po* pour avertir
|
||||
les traducteurs suivants et éviter qu'ils ne « corrigent » par erreur ces
|
||||
avertissements.
|
||||
|
||||
Outils utiles pour la traduction
|
||||
--------------------------------
|
||||
|
||||
Poutils
|
||||
~~~~~~~
|
||||
|
||||
`Poutils <https://pypi.org/project/poutils/>`_ est un paquet PyPI qui
|
||||
regroupe un certain nombre d'outils liés à la traduction. Dans un
|
||||
environnement disposant de Python 3.7 ou plus, installez-le avec ::
|
||||
|
||||
python3 -m pip install poutils
|
||||
|
||||
Voici le détail des paquets qui nous intéressent dans Poutils :
|
||||
|
||||
Pospell
|
||||
+++++++
|
||||
|
||||
Vérificateur d'orthographe fondé sur Hunspell. ``make spell`` exécute
|
||||
Pospell. Pour l'utiliser, il vous faut installer Hunspell. Attention,
|
||||
dans Debian notamment (et ses dérivés comme Ubuntu), il existe plusieurs
|
||||
dictionnaires français qui diffèrent en raison de l'orthographe
|
||||
réformée. Installez celui qui contient les deux orthographes avec ::
|
||||
|
||||
sudo apt install hunspell hunspell-fr-comprehensive
|
||||
|
||||
Potodo
|
||||
++++++
|
||||
|
||||
Permet d'identifier les parties de la documentation qu'il reste à
|
||||
traduire. ``make todo`` fait appel à Potodo.
|
||||
|
||||
Pogrep
|
||||
++++++
|
||||
|
||||
Permet de rechercher dans la documentation des termes. Utile si on a un doute
|
||||
sur comment traduire un terme ou chercher la traduction d'un terme dans
|
||||
d'autres fichiers. Pour connaître les options disponibles, tapez ::
|
||||
|
||||
pogrep --help
|
||||
|
||||
Powrap
|
||||
++++++
|
||||
|
||||
Formateur de fichier *.po*. C'est l'outil qui se cache derrière ``make
|
||||
wrap``.
|
||||
|
||||
Padpo (beta)
|
||||
++++++++++++
|
||||
|
||||
Analyseur de code qui encapsule notamment `Grammalecte
|
||||
<https://grammalecte.net>`_ et qui vérifie la grammaire, l'orthographe
|
||||
et la syntaxe des fichiers *.po*.
|
||||
|
||||
|
||||
Affichage des modifications par Git
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Le résultat de ``git diff`` est souvent encombré de changements inutiles de numéros
|
||||
de ligne, comme :
|
||||
|
||||
.. code-block:: diff
|
||||
|
||||
-#: ../Doc/library/sys.rst:406
|
||||
+#: ../Doc/library/sys.rst:408
|
||||
|
||||
|
||||
Pour dire à Git que ce ne sont pas des informations utiles, vous pouvez faire
|
||||
ce qui suit après vous être assuré que ``~/.local/bin/`` se trouve dans votre
|
||||
``PATH``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat <<EOF > ~/.local/bin/podiff
|
||||
#!/bin/sh
|
||||
grep -v '^#:' "\$1"
|
||||
EOF
|
||||
|
||||
chmod a+x ~/.local/bin/podiff
|
||||
|
||||
git config diff.podiff.textconv podiff
|
||||
|
||||
|
||||
Pas d'inquiétude, cela ne change la façon dont Git affiche les changements que sur
|
||||
les fichiers de la traduction, sans incidence sur les autres.
|
||||
|
|
26
Makefile
26
Makefile
|
@ -20,7 +20,7 @@
|
|||
# from which we generated our po files. We use it here so when we
|
||||
# test build, we're building with the .rst files that generated our
|
||||
# .po files.
|
||||
CPYTHON_CURRENT_COMMIT := 1b37268ef10bd20c30d349b8401c88215c8a6be8
|
||||
CPYTHON_CURRENT_COMMIT := b2db1c208066b67bdf57bf3799de50352fe63416
|
||||
LANGUAGE := fr
|
||||
BRANCH := 3.10
|
||||
|
||||
|
@ -34,7 +34,28 @@ EXCLUDED := \
|
|||
library/distutils.po \
|
||||
library/imp.po \
|
||||
library/tkinter.tix.po \
|
||||
library/test.po
|
||||
library/test.po \
|
||||
library/aifc.po \
|
||||
library/asynchat.po \
|
||||
library/asyncore.po \
|
||||
library/audioop.po \
|
||||
library/cgi.po \
|
||||
library/cgitb.po \
|
||||
library/chunk.po \
|
||||
library/crypt.po \
|
||||
library/imghdr.po \
|
||||
library/msilib.po \
|
||||
library/nntplib.po \
|
||||
library/nis.po \
|
||||
library/ossaudiodev.po \
|
||||
library/pipes.po \
|
||||
library/smtpd.po \
|
||||
library/sndhdr.po \
|
||||
library/spwd.po \
|
||||
library/sunau.po \
|
||||
library/telnetlib.po \
|
||||
library/uu.po \
|
||||
library/xdrlib.po
|
||||
|
||||
# Internal variables
|
||||
|
||||
|
@ -132,7 +153,6 @@ fuzzy: ensure_prerequisites
|
|||
|
||||
.PHONY: verifs
|
||||
verifs: spell
|
||||
powrap --check --quiet *.po */*.po
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
|
21
about.po
21
about.po
|
@ -5,8 +5,8 @@ msgid ""
|
|||
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: 2018-07-23 17:55+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-07-08 17:54+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -52,8 +52,9 @@ msgstr ""
|
|||
"et rédacteur de la plupart de son contenu ;"
|
||||
|
||||
#: about.rst:24
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"the `Docutils <http://docutils.sourceforge.net/>`_ project for creating "
|
||||
"the `Docutils <https://docutils.sourceforge.io/>`_ project for creating "
|
||||
"reStructuredText and the Docutils suite;"
|
||||
msgstr ""
|
||||
"le projet `Docutils <http://docutils.sourceforge.net/>`_ pour avoir créé "
|
||||
|
@ -61,17 +62,17 @@ msgstr ""
|
|||
|
||||
#: about.rst:26
|
||||
msgid ""
|
||||
"Fredrik Lundh for his `Alternative Python Reference <http://effbot.org/zone/"
|
||||
"pyref.htm>`_ project from which Sphinx got many good ideas."
|
||||
"Fredrik Lundh for his Alternative Python Reference project from which Sphinx "
|
||||
"got many good ideas."
|
||||
msgstr ""
|
||||
"Fredrik Lundh pour son projet `Alternative Python Reference <http://effbot."
|
||||
"org/zone/pyref.htm>`_, dont Sphinx a pris beaucoup de bonnes idées."
|
||||
"Fredrik Lundh pour son projet *Alternative Python Reference*, dont Sphinx a "
|
||||
"pris beaucoup de bonnes idées."
|
||||
|
||||
#: about.rst:32
|
||||
#: about.rst:31
|
||||
msgid "Contributors to the Python Documentation"
|
||||
msgstr "Contributeurs de la documentation Python"
|
||||
|
||||
#: about.rst:34
|
||||
#: about.rst:33
|
||||
msgid ""
|
||||
"Many people have contributed to the Python language, the Python standard "
|
||||
"library, and the Python documentation. See :source:`Misc/ACKS` in the "
|
||||
|
@ -82,7 +83,7 @@ msgstr ""
|
|||
"sources de la distribution Python pour avoir une liste partielle des "
|
||||
"contributeurs."
|
||||
|
||||
#: about.rst:38
|
||||
#: about.rst:37
|
||||
msgid ""
|
||||
"It is only with the input and contributions of the Python community that "
|
||||
"Python has such wonderful documentation -- Thank You!"
|
||||
|
|
118
bugs.po
118
bugs.po
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 22:05+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-07-08 17:50+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -95,7 +95,7 @@ msgstr ""
|
|||
"Vue d'ensemble du processus pour proposer une amélioration avec l'outil de "
|
||||
"suivi."
|
||||
|
||||
#: bugs.rst:35
|
||||
#: bugs.rst:36
|
||||
msgid ""
|
||||
"`Helping with Documentation <https://devguide.python.org/docquality/#helping-"
|
||||
"with-documentation>`_"
|
||||
|
@ -109,30 +109,49 @@ msgid ""
|
|||
"Python documentation."
|
||||
msgstr "Guide complet pour qui souhaite contribuer à la documentation Python."
|
||||
|
||||
#: bugs.rst:41
|
||||
#: bugs.rst:38
|
||||
msgid ""
|
||||
"`Documentation Translations <https://devguide.python.org/documenting/"
|
||||
"#translating>`_"
|
||||
msgstr ""
|
||||
"`Aider avec la documentation <https://devguide.python.org/documenting/"
|
||||
"#translating>`_"
|
||||
|
||||
#: bugs.rst:39
|
||||
msgid ""
|
||||
"A list of GitHub pages for documentation translation and their primary "
|
||||
"contacts."
|
||||
msgstr ""
|
||||
"Liste de dépôts GitHub où la documentation est traduite, avec les personnes "
|
||||
"à contacter."
|
||||
|
||||
#: bugs.rst:45
|
||||
msgid "Using the Python issue tracker"
|
||||
msgstr "Utilisation du gestionnaire de tickets Python"
|
||||
|
||||
#: bugs.rst:43
|
||||
#: bugs.rst:47
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Bug reports for Python itself should be submitted via the Python Bug Tracker "
|
||||
"(https://bugs.python.org/). The bug tracker offers a web form which allows "
|
||||
"pertinent information to be entered and submitted to the developers."
|
||||
"Issue reports for Python itself should be submitted via the GitHub issues "
|
||||
"tracker (https://github.com/python/cpython/issues). The GitHub issues "
|
||||
"tracker offers a web form which allows pertinent information to be entered "
|
||||
"and submitted to the developers."
|
||||
msgstr ""
|
||||
"Les rapports de bogues pour Python lui-même devraient être soumis via le "
|
||||
"l'outil de suivi des bogues (*Bug Tracker Python* — http://bugs.python."
|
||||
"org/). Le gestionnaire de tickets propose un formulaire Web permettant de "
|
||||
"saisir des informations pertinentes à soumettre aux développeurs."
|
||||
|
||||
#: bugs.rst:47
|
||||
#: bugs.rst:52
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The first step in filing a report is to determine whether the problem has "
|
||||
"already been reported. The advantage in doing so, aside from saving the "
|
||||
"developers time, is that you learn what has been done to fix it; it may be "
|
||||
"developers' time, is that you learn what has been done to fix it; it may be "
|
||||
"that the problem has already been fixed for the next release, or additional "
|
||||
"information is needed (in which case you are welcome to provide it if you "
|
||||
"can!). To do this, search the bug database using the search box on the top "
|
||||
"of the page."
|
||||
"can!). To do this, search the tracker using the search box at the top of the "
|
||||
"page."
|
||||
msgstr ""
|
||||
"La première étape pour remplir un rapport est de déterminer si le problème a "
|
||||
"déjà été rapporté. L'avantage de cette approche, en plus d'économiser du "
|
||||
|
@ -142,13 +161,13 @@ msgstr ""
|
|||
"contribution est la bienvenue !). Pour ce faire, cherchez dans la base de "
|
||||
"données de bogues grâce à la boîte de recherche en haut de la page."
|
||||
|
||||
#: bugs.rst:54
|
||||
#: bugs.rst:59
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If the problem you're reporting is not already in the bug tracker, go back "
|
||||
"to the Python Bug Tracker and log in. If you don't already have a tracker "
|
||||
"account, select the \"Register\" link or, if you use OpenID, one of the "
|
||||
"OpenID provider logos in the sidebar. It is not possible to submit a bug "
|
||||
"report anonymously."
|
||||
"If the problem you're reporting is not already in the list, log in to "
|
||||
"GitHub. If you don't already have a GitHub account, create a new account "
|
||||
"using the \"Sign up\" link. It is not possible to submit a bug report "
|
||||
"anonymously."
|
||||
msgstr ""
|
||||
"Si le problème que vous soumettez n'est pas déjà dans l'outil de suivi des "
|
||||
"bogues, revenez au *Python Bug Tracker* et connectez-vous. Si vous n'avez "
|
||||
|
@ -157,29 +176,27 @@ msgstr ""
|
|||
"dans la barre latérale. Il n'est pas possible de soumettre un rapport de "
|
||||
"bogue de manière anonyme."
|
||||
|
||||
#: bugs.rst:59
|
||||
#: bugs.rst:64
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Being now logged in, you can submit a bug. Select the \"Create New\" link "
|
||||
"in the sidebar to open the bug reporting form."
|
||||
"Being now logged in, you can submit an issue. Click on the \"New issue\" "
|
||||
"button in the top bar to report a new issue."
|
||||
msgstr ""
|
||||
"Une fois identifié, pour pouvez rapporter un bogue. Sélectionnez le lien "
|
||||
"*Create New* dans la barre latérale pour ouvrir un nouveau formulaire de "
|
||||
"rapport de bogue."
|
||||
|
||||
#: bugs.rst:62
|
||||
msgid ""
|
||||
"The submission form has a number of fields. For the \"Title\" field, enter "
|
||||
"a *very* short description of the problem; less than ten words is good. In "
|
||||
"the \"Type\" field, select the type of your problem; also select the "
|
||||
"\"Component\" and \"Versions\" to which the bug relates."
|
||||
msgstr ""
|
||||
"Le formulaire de soumission a un certain nombre de champs. Pour le champ "
|
||||
"« Titre », saisissez une *très* courte description du problème ; moins de "
|
||||
"dix mots est approprié. Dans le champ « Type », sélectionnez le type de "
|
||||
"problème ; sélectionnez aussi « Composant » et « Versions » en rapport avec "
|
||||
"le bogue."
|
||||
|
||||
#: bugs.rst:67
|
||||
msgid "The submission form has two fields, \"Title\" and \"Comment\"."
|
||||
msgstr ""
|
||||
|
||||
#: bugs.rst:69
|
||||
msgid ""
|
||||
"For the \"Title\" field, enter a *very* short description of the problem; "
|
||||
"less than ten words is good."
|
||||
msgstr ""
|
||||
|
||||
#: bugs.rst:72
|
||||
msgid ""
|
||||
"In the \"Comment\" field, describe the problem in detail, including what you "
|
||||
"expected to happen and what did happen. Be sure to include whether any "
|
||||
|
@ -192,17 +209,18 @@ msgstr ""
|
|||
"plateforme matérielle et logicielle vous utilisiez (en incluant les "
|
||||
"informations de versions)."
|
||||
|
||||
#: bugs.rst:72
|
||||
#: bugs.rst:77
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Each bug report will be assigned to a developer who will determine what "
|
||||
"needs to be done to correct the problem. You will receive an update each "
|
||||
"time action is taken on the bug."
|
||||
"Each issue report will be reviewed by a developer who will determine what "
|
||||
"needs to be done to correct the problem. You will receive an update each "
|
||||
"time an action is taken on the issue."
|
||||
msgstr ""
|
||||
"Chaque bogue sera attribué à un développeur qui déterminera ce qui est "
|
||||
"nécessaire d'entreprendre pour corriger le problème. Vous recevrez une "
|
||||
"notification à chaque action effectuée sur le bogue."
|
||||
|
||||
#: bugs.rst:81
|
||||
#: bugs.rst:86
|
||||
msgid ""
|
||||
"`How to Report Bugs Effectively <https://www.chiark.greenend.org.uk/"
|
||||
"~sgtatham/bugs.html>`_"
|
||||
|
@ -210,7 +228,7 @@ msgstr ""
|
|||
"`Comment signaler des bogues de manière efficace <https://www.chiark."
|
||||
"greenend.org.uk/~sgtatham/bugs.html>`_ (en anglais)"
|
||||
|
||||
#: bugs.rst:80
|
||||
#: bugs.rst:85
|
||||
msgid ""
|
||||
"Article which goes into some detail about how to create a useful bug report. "
|
||||
"This describes what kind of information is useful and why it is useful."
|
||||
|
@ -219,7 +237,7 @@ msgstr ""
|
|||
"bogue utile. Il décrit quel genre d'information est utile et pourquoi elle "
|
||||
"est utile."
|
||||
|
||||
#: bugs.rst:84
|
||||
#: bugs.rst:89
|
||||
msgid ""
|
||||
"`Bug Writing Guidelines <https://bugzilla.mozilla.org/page.cgi?id=bug-"
|
||||
"writing.html>`_"
|
||||
|
@ -227,7 +245,7 @@ msgstr ""
|
|||
"`Guide pour la rédaction de rapports de bogues <https://bugzilla.mozilla.org/"
|
||||
"page.cgi?id=bug-writing.html>`_"
|
||||
|
||||
#: bugs.rst:84
|
||||
#: bugs.rst:89
|
||||
msgid ""
|
||||
"Information about writing a good bug report. Some of this is specific to "
|
||||
"the Mozilla project, but describes general good practices."
|
||||
|
@ -235,11 +253,11 @@ msgstr ""
|
|||
"Conseils pour écrire un bon rapport de bogue. Certains sont spécifiques au "
|
||||
"projet Mozilla mais présentent des bonnes pratiques générales."
|
||||
|
||||
#: bugs.rst:90
|
||||
#: bugs.rst:95
|
||||
msgid "Getting started contributing to Python yourself"
|
||||
msgstr "Commencer à contribuer à Python vous-même"
|
||||
|
||||
#: bugs.rst:92
|
||||
#: bugs.rst:97
|
||||
msgid ""
|
||||
"Beyond just reporting bugs that you find, you are also welcome to submit "
|
||||
"patches to fix them. You can find more information on how to get started "
|
||||
|
@ -253,3 +271,15 @@ msgstr ""
|
|||
"Developer's Guide`_. Si vous avez des questions, le `core-mentorship mailing "
|
||||
"list`_ est un endroit amical pour obtenir des réponses à toutes les "
|
||||
"questions à propos du processus de corrections de bugs dans Python."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The submission form has a number of fields. For the \"Title\" field, "
|
||||
#~ "enter a *very* short description of the problem; less than ten words is "
|
||||
#~ "good. In the \"Type\" field, select the type of your problem; also "
|
||||
#~ "select the \"Component\" and \"Versions\" to which the bug relates."
|
||||
#~ msgstr ""
|
||||
#~ "Le formulaire de soumission a un certain nombre de champs. Pour le champ "
|
||||
#~ "« Titre », saisissez une *très* courte description du problème ; moins de "
|
||||
#~ "dix mots est approprié. Dans le champ « Type », sélectionnez le type de "
|
||||
#~ "problème ; sélectionnez aussi « Composant » et « Versions » en rapport "
|
||||
#~ "avec le bogue."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2018-10-20 21:16+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -20,8 +20,9 @@ msgid "Allocating Objects on the Heap"
|
|||
msgstr "Allouer des objets dans le tas"
|
||||
|
||||
#: c-api/allocation.rst:17
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Initialize a newly-allocated object *op* with its type and initial "
|
||||
"Initialize a newly allocated object *op* with its type and initial "
|
||||
"reference. Returns the initialized object. If *type* indicates that the "
|
||||
"object participates in the cyclic garbage detector, it is added to the "
|
||||
"detector's set of observed objects. Other fields of the object are not "
|
||||
|
|
|
@ -96,7 +96,7 @@ msgstr ""
|
|||
|
||||
#: c-api/apiabiversion.rst:47
|
||||
msgid "1"
|
||||
msgstr ""
|
||||
msgstr "1"
|
||||
|
||||
#: c-api/apiabiversion.rst:47
|
||||
#, fuzzy
|
||||
|
@ -113,7 +113,7 @@ msgstr ""
|
|||
|
||||
#: c-api/apiabiversion.rst:49
|
||||
msgid "2"
|
||||
msgstr ""
|
||||
msgstr "2"
|
||||
|
||||
#: c-api/apiabiversion.rst:49
|
||||
#, fuzzy
|
||||
|
@ -130,7 +130,7 @@ msgstr ""
|
|||
|
||||
#: c-api/apiabiversion.rst:51
|
||||
msgid "3"
|
||||
msgstr ""
|
||||
msgstr "3"
|
||||
|
||||
#: c-api/apiabiversion.rst:51
|
||||
#, fuzzy
|
||||
|
@ -147,7 +147,7 @@ msgstr ""
|
|||
|
||||
#: c-api/apiabiversion.rst:53
|
||||
msgid "4"
|
||||
msgstr ""
|
||||
msgstr "4"
|
||||
|
||||
#: c-api/apiabiversion.rst:53
|
||||
#, fuzzy
|
||||
|
|
161
c-api/arg.po
161
c-api/arg.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 11:44+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -324,7 +324,7 @@ msgstr "``S`` (:class:`bytes`) [``PyBytesObject *``]"
|
|||
msgid ""
|
||||
"Requires that the Python object is a :class:`bytes` object, without "
|
||||
"attempting any conversion. Raises :exc:`TypeError` if the object is not a "
|
||||
"bytes object. The C variable may also be declared as :c:type:`PyObject*`."
|
||||
"bytes object. The C variable may also be declared as :c:expr:`PyObject*`."
|
||||
msgstr ""
|
||||
"Nécessite que l'objet Python soit de type :class:`bytes`, sans avoir tenté "
|
||||
"de conversion. :exc:`TypeError` est levée si l'objet n'est pas un objet de "
|
||||
|
@ -340,7 +340,7 @@ msgstr "``Y`` (:class:`bytearray`) [``PyByteArrayObject *``]"
|
|||
msgid ""
|
||||
"Requires that the Python object is a :class:`bytearray` object, without "
|
||||
"attempting any conversion. Raises :exc:`TypeError` if the object is not a :"
|
||||
"class:`bytearray` object. The C variable may also be declared as :c:type:"
|
||||
"class:`bytearray` object. The C variable may also be declared as :c:expr:"
|
||||
"`PyObject*`."
|
||||
msgstr ""
|
||||
"Nécessite que l'objet Python soit de type :class:`bytes`, sans avoir tenté "
|
||||
|
@ -426,7 +426,7 @@ msgstr "``U`` (:class:`str`) [``PyObject *``]"
|
|||
msgid ""
|
||||
"Requires that the Python object is a Unicode object, without attempting any "
|
||||
"conversion. Raises :exc:`TypeError` if the object is not a Unicode object. "
|
||||
"The C variable may also be declared as :c:type:`PyObject*`."
|
||||
"The C variable may also be declared as :c:expr:`PyObject*`."
|
||||
msgstr ""
|
||||
"Nécessite que l'objet Python soit de type :class:`bytes`, sans avoir tenté "
|
||||
"de conversion. :exc:`TypeError` est levée si l'objet n'est pas un objet de "
|
||||
|
@ -458,10 +458,10 @@ msgstr ""
|
|||
#: c-api/arg.rst:196
|
||||
msgid ""
|
||||
"This format requires two arguments. The first is only used as input, and "
|
||||
"must be a :c:type:`const char*` which points to the name of an encoding as a "
|
||||
"must be a :c:expr:`const char*` which points to the name of an encoding as a "
|
||||
"NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is "
|
||||
"used. An exception is raised if the named encoding is not known to Python. "
|
||||
"The second argument must be a :c:type:`char**`; the value of the pointer it "
|
||||
"The second argument must be a :c:expr:`char**`; the value of the pointer it "
|
||||
"references will be set to a buffer with the contents of the argument text. "
|
||||
"The text will be encoded in the encoding specified by the first argument."
|
||||
msgstr ""
|
||||
|
@ -506,10 +506,10 @@ msgstr ""
|
|||
#: c-api/arg.rst:219
|
||||
msgid ""
|
||||
"It requires three arguments. The first is only used as input, and must be "
|
||||
"a :c:type:`const char*` which points to the name of an encoding as a NUL-"
|
||||
"a :c:expr:`const char*` which points to the name of an encoding as a NUL-"
|
||||
"terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. "
|
||||
"An exception is raised if the named encoding is not known to Python. The "
|
||||
"second argument must be a :c:type:`char**`; the value of the pointer it "
|
||||
"second argument must be a :c:expr:`char**`; the value of the pointer it "
|
||||
"references will be set to a buffer with the contents of the argument text. "
|
||||
"The text will be encoded in the encoding specified by the first argument. "
|
||||
"The third argument must be a pointer to an integer; the referenced integer "
|
||||
|
@ -523,8 +523,8 @@ msgstr "Il existe deux modes de fonctionnement :"
|
|||
#: c-api/arg.rst:231
|
||||
msgid ""
|
||||
"If *\\*buffer* points a ``NULL`` pointer, the function will allocate a "
|
||||
"buffer of the needed size, copy the encoded data into this buffer and set *"
|
||||
"\\*buffer* to reference the newly allocated storage. The caller is "
|
||||
"buffer of the needed size, copy the encoded data into this buffer and set "
|
||||
"*\\*buffer* to reference the newly allocated storage. The caller is "
|
||||
"responsible for calling :c:func:`PyMem_Free` to free the allocated buffer "
|
||||
"after usage."
|
||||
msgstr ""
|
||||
|
@ -571,9 +571,10 @@ msgid "``b`` (:class:`int`) [unsigned char]"
|
|||
msgstr "``b`` (:class:`int`) [``unsigned char``]"
|
||||
|
||||
#: c-api/arg.rst:254
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :"
|
||||
"c:type:`unsigned char`."
|
||||
"c:expr:`unsigned char`."
|
||||
msgstr ""
|
||||
"Convertit un entier Python positif ou nul en un ``unsigned tiny int``, "
|
||||
"stocké dans un :c:type:`unsigned char` C."
|
||||
|
@ -583,9 +584,10 @@ msgid "``B`` (:class:`int`) [unsigned char]"
|
|||
msgstr "``B`` (:class:`int`) [``unsigned char``]"
|
||||
|
||||
#: c-api/arg.rst:258
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python integer to a tiny int without overflow checking, stored in "
|
||||
"a C :c:type:`unsigned char`."
|
||||
"a C :c:expr:`unsigned char`."
|
||||
msgstr ""
|
||||
"Convertit un entier Python en un ``tiny int`` sans vérifier le débordement, "
|
||||
"stocké dans un :c:type:`unsigned char` C."
|
||||
|
@ -595,7 +597,8 @@ msgid "``h`` (:class:`int`) [short int]"
|
|||
msgstr "``h`` (:class:`int`) [``short int``]"
|
||||
|
||||
#: c-api/arg.rst:262
|
||||
msgid "Convert a Python integer to a C :c:type:`short int`."
|
||||
#, fuzzy
|
||||
msgid "Convert a Python integer to a C :c:expr:`short int`."
|
||||
msgstr "Convertit un entier Python en un :c:type:`short int` C."
|
||||
|
||||
#: c-api/arg.rst:602
|
||||
|
@ -603,8 +606,9 @@ msgid "``H`` (:class:`int`) [unsigned short int]"
|
|||
msgstr "``H`` (:class:`int`) [``unsigned short int``]"
|
||||
|
||||
#: c-api/arg.rst:265
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python integer to a C :c:type:`unsigned short int`, without "
|
||||
"Convert a Python integer to a C :c:expr:`unsigned short int`, without "
|
||||
"overflow checking."
|
||||
msgstr ""
|
||||
"Convertit un entier Python en un :c:type:`unsigned short int` C, sans "
|
||||
|
@ -615,7 +619,8 @@ msgid "``i`` (:class:`int`) [int]"
|
|||
msgstr "``i`` (:class:`int`) [``int``]"
|
||||
|
||||
#: c-api/arg.rst:269
|
||||
msgid "Convert a Python integer to a plain C :c:type:`int`."
|
||||
#, fuzzy
|
||||
msgid "Convert a Python integer to a plain C :c:expr:`int`."
|
||||
msgstr "Convertit un entier Python en un :c:type:`int` C."
|
||||
|
||||
#: c-api/arg.rst:605
|
||||
|
@ -623,8 +628,9 @@ msgid "``I`` (:class:`int`) [unsigned int]"
|
|||
msgstr "``I`` (:class:`int`) [``unsigned int``]"
|
||||
|
||||
#: c-api/arg.rst:272
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python integer to a C :c:type:`unsigned int`, without overflow "
|
||||
"Convert a Python integer to a C :c:expr:`unsigned int`, without overflow "
|
||||
"checking."
|
||||
msgstr ""
|
||||
"Convertit un entier Python en un :c:type:`unsigned int` C, sans contrôle de "
|
||||
|
@ -635,7 +641,8 @@ msgid "``l`` (:class:`int`) [long int]"
|
|||
msgstr "``l`` (:class:`int`) [``long int``]"
|
||||
|
||||
#: c-api/arg.rst:276
|
||||
msgid "Convert a Python integer to a C :c:type:`long int`."
|
||||
#, fuzzy
|
||||
msgid "Convert a Python integer to a C :c:expr:`long int`."
|
||||
msgstr "Convertit un entier Python en un :c:type:`long int`."
|
||||
|
||||
#: c-api/arg.rst:608
|
||||
|
@ -643,8 +650,9 @@ msgid "``k`` (:class:`int`) [unsigned long]"
|
|||
msgstr "``k`` (:class:`int`) [``unsigned long``]"
|
||||
|
||||
#: c-api/arg.rst:279
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python integer to a C :c:type:`unsigned long` without overflow "
|
||||
"Convert a Python integer to a C :c:expr:`unsigned long` without overflow "
|
||||
"checking."
|
||||
msgstr ""
|
||||
"Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier "
|
||||
|
@ -656,7 +664,7 @@ msgstr "``L`` (:class:`int`) [``long long``]"
|
|||
|
||||
#: c-api/arg.rst:283
|
||||
#, fuzzy
|
||||
msgid "Convert a Python integer to a C :c:type:`long long`."
|
||||
msgid "Convert a Python integer to a C :c:expr:`long long`."
|
||||
msgstr "Convertit un entier Python en un :c:type:`long int`."
|
||||
|
||||
#: c-api/arg.rst:614
|
||||
|
@ -666,14 +674,15 @@ msgstr "``K`` (:class:`int`) [``unsigned long long``]"
|
|||
#: c-api/arg.rst:286
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python integer to a C :c:type:`unsigned long long` without "
|
||||
"Convert a Python integer to a C :c:expr:`unsigned long long` without "
|
||||
"overflow checking."
|
||||
msgstr ""
|
||||
"Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier "
|
||||
"le débordement."
|
||||
|
||||
#: c-api/arg.rst:617
|
||||
msgid "``n`` (:class:`int`) [Py_ssize_t]"
|
||||
#, fuzzy
|
||||
msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]"
|
||||
msgstr "``n`` (:class:`int`) [``Py_ssize_t``]"
|
||||
|
||||
#: c-api/arg.rst:290
|
||||
|
@ -685,9 +694,10 @@ msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]"
|
|||
msgstr "``c`` (:class:`bytes` ou :class:`bytearray` de longueur 1) [``char``]"
|
||||
|
||||
#: c-api/arg.rst:293
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` "
|
||||
"object of length 1, to a C :c:type:`char`."
|
||||
"object of length 1, to a C :c:expr:`char`."
|
||||
msgstr ""
|
||||
"Convertit un *byte* Python, représenté comme un objet :class:`bytes` ou :"
|
||||
"class:`bytearray` de longueur 1, en un :c:type:`char` C."
|
||||
|
@ -701,9 +711,10 @@ msgid "``C`` (:class:`str` of length 1) [int]"
|
|||
msgstr "``C`` (:class:`str` de longueur 1) [``int``]"
|
||||
|
||||
#: c-api/arg.rst:300
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a Python character, represented as a :class:`str` object of length "
|
||||
"1, to a C :c:type:`int`."
|
||||
"1, to a C :c:expr:`int`."
|
||||
msgstr ""
|
||||
"Convertit un caractère Python, représenté comme un objet :class:`str` de "
|
||||
"longueur 1, en un :c:type:`int` C."
|
||||
|
@ -713,7 +724,8 @@ msgid "``f`` (:class:`float`) [float]"
|
|||
msgstr "``f`` (:class:`float`) [``float``]"
|
||||
|
||||
#: c-api/arg.rst:304
|
||||
msgid "Convert a Python floating point number to a C :c:type:`float`."
|
||||
#, fuzzy
|
||||
msgid "Convert a Python floating point number to a C :c:expr:`float`."
|
||||
msgstr "Convertit un nombre flottant Python vers un :c:type:`float`."
|
||||
|
||||
#: c-api/arg.rst:628
|
||||
|
@ -721,7 +733,8 @@ msgid "``d`` (:class:`float`) [double]"
|
|||
msgstr "``d`` (:class:`float`) [``double``]"
|
||||
|
||||
#: c-api/arg.rst:307
|
||||
msgid "Convert a Python floating point number to a C :c:type:`double`."
|
||||
#, fuzzy
|
||||
msgid "Convert a Python floating point number to a C :c:expr:`double`."
|
||||
msgstr "Convertit un nombre flottant Python vers un :c:type:`double` C."
|
||||
|
||||
#: c-api/arg.rst:310
|
||||
|
@ -762,7 +775,7 @@ msgstr "``O!`` (objet) [*typeobject*, ``PyObject *``]"
|
|||
msgid ""
|
||||
"Store a Python object in a C object pointer. This is similar to ``O``, but "
|
||||
"takes two C arguments: the first is the address of a Python type object, the "
|
||||
"second is the address of the C variable (of type :c:type:`PyObject*`) into "
|
||||
"second is the address of the C variable (of type :c:expr:`PyObject*`) into "
|
||||
"which the object pointer is stored. If the Python object does not have the "
|
||||
"required type, :exc:`TypeError` is raised."
|
||||
msgstr ""
|
||||
|
@ -775,18 +788,18 @@ msgstr "``O&`` (objet) [*converter*, *anything*]"
|
|||
msgid ""
|
||||
"Convert a Python object to a C variable through a *converter* function. "
|
||||
"This takes two arguments: the first is a function, the second is the address "
|
||||
"of a C variable (of arbitrary type), converted to :c:type:`void *`. The "
|
||||
"of a C variable (of arbitrary type), converted to :c:expr:`void *`. The "
|
||||
"*converter* function in turn is called as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/arg.rst:337
|
||||
msgid ""
|
||||
"where *object* is the Python object to be converted and *address* is the :c:"
|
||||
"type:`void*` argument that was passed to the :c:func:`PyArg_Parse\\*` "
|
||||
"function. The returned *status* should be ``1`` for a successful conversion "
|
||||
"and ``0`` if the conversion has failed. When the conversion fails, the "
|
||||
"*converter* function should raise an exception and leave the content of "
|
||||
"*address* unmodified."
|
||||
"expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The "
|
||||
"returned *status* should be ``1`` for a successful conversion and ``0`` if "
|
||||
"the conversion has failed. When the conversion fails, the *converter* "
|
||||
"function should raise an exception and leave the content of *address* "
|
||||
"unmodified."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/arg.rst:343
|
||||
|
@ -926,12 +939,11 @@ msgstr ""
|
|||
#: c-api/arg.rst:410
|
||||
msgid ""
|
||||
"For the conversion to succeed, the *arg* object must match the format and "
|
||||
"the format must be exhausted. On success, the :c:func:`PyArg_Parse\\*` "
|
||||
"functions return true, otherwise they return false and raise an appropriate "
|
||||
"exception. When the :c:func:`PyArg_Parse\\*` functions fail due to "
|
||||
"conversion failure in one of the format units, the variables at the "
|
||||
"addresses corresponding to that and the following format units are left "
|
||||
"untouched."
|
||||
"the format must be exhausted. On success, the ``PyArg_Parse*`` functions "
|
||||
"return true, otherwise they return false and raise an appropriate exception. "
|
||||
"When the ``PyArg_Parse*`` functions fail due to conversion failure in one of "
|
||||
"the format units, the variables at the addresses corresponding to that and "
|
||||
"the following format units are left untouched."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/arg.rst:419
|
||||
|
@ -999,7 +1011,7 @@ msgid ""
|
|||
"should be passed as *args*; it must actually be a tuple. The length of the "
|
||||
"tuple must be at least *min* and no more than *max*; *min* and *max* may be "
|
||||
"equal. Additional arguments must be passed to the function, each of which "
|
||||
"should be a pointer to a :c:type:`PyObject*` variable; these will be filled "
|
||||
"should be a pointer to a :c:expr:`PyObject*` variable; these will be filled "
|
||||
"in with the values from *args*; they will contain :term:`borrowed references "
|
||||
"<borrowed reference>`. The variables which correspond to optional parameters "
|
||||
"not given by *args* will not be filled in; these should be initialized by "
|
||||
|
@ -1026,10 +1038,10 @@ msgstr "Construction des valeurs"
|
|||
|
||||
#: c-api/arg.rst:520
|
||||
msgid ""
|
||||
"Create a new value based on a format string similar to those accepted by "
|
||||
"the :c:func:`PyArg_Parse\\*` family of functions and a sequence of values. "
|
||||
"Returns the value or ``NULL`` in the case of an error; an exception will be "
|
||||
"raised if ``NULL`` is returned."
|
||||
"Create a new value based on a format string similar to those accepted by the "
|
||||
"``PyArg_Parse*`` family of functions and a sequence of values. Returns the "
|
||||
"value or ``NULL`` in the case of an error; an exception will be raised if "
|
||||
"``NULL`` is returned."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/arg.rst:525
|
||||
|
@ -1131,7 +1143,7 @@ msgstr "``u`` (:class:`str`) [``const wchar_t *``]"
|
|||
|
||||
#: c-api/arg.rst:571
|
||||
msgid ""
|
||||
"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or "
|
||||
"Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or "
|
||||
"UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is "
|
||||
"``NULL``, ``None`` is returned."
|
||||
msgstr ""
|
||||
|
@ -1160,7 +1172,7 @@ msgstr "``U#`` (:class:`str` ou ``None``) [``const char *``, ``int``]"
|
|||
|
||||
#: c-api/arg.rst:587
|
||||
#, fuzzy
|
||||
msgid "Convert a plain C :c:type:`int` to a Python integer object."
|
||||
msgid "Convert a plain C :c:expr:`int` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:590
|
||||
|
@ -1168,42 +1180,49 @@ msgid "``b`` (:class:`int`) [char]"
|
|||
msgstr "``b`` (:class:`int`) [``char``]"
|
||||
|
||||
#: c-api/arg.rst:590
|
||||
msgid "Convert a plain C :c:type:`char` to a Python integer object."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a plain C :c:expr:`char` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:593
|
||||
msgid "Convert a plain C :c:type:`short int` to a Python integer object."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a plain C :c:expr:`short int` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:596
|
||||
msgid "Convert a C :c:type:`long int` to a Python integer object."
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`long int` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:599
|
||||
msgid "Convert a C :c:type:`unsigned char` to a Python integer object."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`unsigned char` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:602
|
||||
msgid "Convert a C :c:type:`unsigned short int` to a Python integer object."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:605
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:type:`unsigned int` to a Python integer object."
|
||||
msgid "Convert a C :c:expr:`unsigned int` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:608
|
||||
msgid "Convert a C :c:type:`unsigned long` to a Python integer object."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`unsigned long` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:611
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:type:`long long` to a Python integer object."
|
||||
msgid "Convert a C :c:expr:`long long` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:614
|
||||
msgid "Convert a C :c:type:`unsigned long long` to a Python integer object."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:617
|
||||
msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer."
|
||||
|
@ -1214,24 +1233,32 @@ msgid "``c`` (:class:`bytes` of length 1) [char]"
|
|||
msgstr "``c`` (:class:`bytes` de taille 1) [``char``]"
|
||||
|
||||
#: c-api/arg.rst:620
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` "
|
||||
"Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` "
|
||||
"object of length 1."
|
||||
msgstr ""
|
||||
"Convertit un caractère Python, représenté comme un objet :class:`str` de "
|
||||
"longueur 1, en un :c:type:`int` C."
|
||||
|
||||
#: c-api/arg.rst:624
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Convert a C :c:type:`int` representing a character to Python :class:`str` "
|
||||
"Convert a C :c:expr:`int` representing a character to Python :class:`str` "
|
||||
"object of length 1."
|
||||
msgstr ""
|
||||
"Convertit un caractère Python, représenté comme un objet :class:`str` de "
|
||||
"longueur 1, en un :c:type:`int` C."
|
||||
|
||||
#: c-api/arg.rst:628
|
||||
msgid "Convert a C :c:type:`double` to a Python floating point number."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`double` to a Python floating point number."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:631
|
||||
msgid "Convert a C :c:type:`float` to a Python floating point number."
|
||||
msgstr ""
|
||||
#, fuzzy
|
||||
msgid "Convert a C :c:expr:`float` to a Python floating point number."
|
||||
msgstr "Convertit un :c:type:`long int` en un *int* Python."
|
||||
|
||||
#: c-api/arg.rst:634
|
||||
msgid "``D`` (:class:`complex`) [Py_complex \\*]"
|
||||
|
@ -1273,7 +1300,7 @@ msgstr ""
|
|||
#: c-api/arg.rst:653
|
||||
msgid ""
|
||||
"Convert *anything* to a Python object through a *converter* function. The "
|
||||
"function is called with *anything* (which should be compatible with :c:type:"
|
||||
"function is called with *anything* (which should be compatible with :c:expr:"
|
||||
"`void*`) as its argument and should return a \"new\" Python object, or "
|
||||
"``NULL`` if an error occurred."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2021-10-27 21:13+0200\n"
|
||||
"Last-Translator: David GIRAUD <davidgiraud@protonmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2021-05-05 14:32+0200\n"
|
||||
"Last-Translator: Mindiell <mindiell@mindiell.net>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -65,7 +65,7 @@ msgstr ""
|
|||
"Renvoie un nouvel objet *bytearray* depuis n'importe quel objet, *o*, qui "
|
||||
"implémente le :ref:`protocole buffer <bufferobjects>`."
|
||||
|
||||
#: c-api/bytearray.rst:50
|
||||
#: c-api/bytearray.rst:48
|
||||
msgid ""
|
||||
"Create a new bytearray object from *string* and its length, *len*. On "
|
||||
"failure, ``NULL`` is returned."
|
||||
|
@ -73,20 +73,20 @@ msgstr ""
|
|||
"Crée un nouvel objet ``bytearray`` à partir d'un objet *string* et de sa "
|
||||
"longueur, *len*. En cas d'échec, ``NULL`` est renvoyé."
|
||||
|
||||
#: c-api/bytearray.rst:56
|
||||
#: c-api/bytearray.rst:54
|
||||
msgid ""
|
||||
"Concat bytearrays *a* and *b* and return a new bytearray with the result."
|
||||
msgstr ""
|
||||
"Concatène les ``bytearrays`` *a* et *b* et renvoie un nouveau ``bytearray`` "
|
||||
"avec le résultat."
|
||||
|
||||
#: c-api/bytearray.rst:61
|
||||
#: c-api/bytearray.rst:59
|
||||
msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer."
|
||||
msgstr ""
|
||||
"Renvoie la taille de *bytearray* après vérification de la présence d'un "
|
||||
"pointeur ``NULL``."
|
||||
|
||||
#: c-api/bytearray.rst:66
|
||||
#: c-api/bytearray.rst:64
|
||||
msgid ""
|
||||
"Return the contents of *bytearray* as a char array after checking for a "
|
||||
"``NULL`` pointer. The returned array always has an extra null byte appended."
|
||||
|
@ -95,24 +95,24 @@ msgstr ""
|
|||
"vérifiant que ce n'est pas un pointeur ``NULL``. Le tableau renvoyé a "
|
||||
"toujours un caractère *null* rajouté."
|
||||
|
||||
#: c-api/bytearray.rst:73
|
||||
#: c-api/bytearray.rst:71
|
||||
msgid "Resize the internal buffer of *bytearray* to *len*."
|
||||
msgstr "Redimensionne le tampon interne de *bytearray* à la taille *len*."
|
||||
|
||||
#: c-api/bytearray.rst:76
|
||||
#: c-api/bytearray.rst:74
|
||||
msgid "Macros"
|
||||
msgstr "Macros"
|
||||
|
||||
#: c-api/bytearray.rst:78
|
||||
#: c-api/bytearray.rst:76
|
||||
msgid "These macros trade safety for speed and they don't check pointers."
|
||||
msgstr ""
|
||||
"Ces macros sont taillées pour la vitesse d'exécution et ne vérifient pas les "
|
||||
"pointeurs."
|
||||
|
||||
#: c-api/bytearray.rst:82
|
||||
#: c-api/bytearray.rst:80
|
||||
msgid "Macro version of :c:func:`PyByteArray_AsString`."
|
||||
msgstr "Version macro de :c:func:`PyByteArray_AsString`."
|
||||
|
||||
#: c-api/bytearray.rst:87
|
||||
#: c-api/bytearray.rst:85
|
||||
msgid "Macro version of :c:func:`PyByteArray_Size`."
|
||||
msgstr "Version macro de :c:func:`PyByteArray_Size`."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 11:50+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -21,7 +21,7 @@ msgstr "Objets *bytes*"
|
|||
#: c-api/bytes.rst:8
|
||||
msgid ""
|
||||
"These functions raise :exc:`TypeError` when expecting a bytes parameter and "
|
||||
"are called with a non-bytes parameter."
|
||||
"called with a non-bytes parameter."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/bytes.rst:16
|
||||
|
@ -96,7 +96,7 @@ msgstr "Commentaires"
|
|||
|
||||
#: c-api/bytes.rst:70
|
||||
msgid ":attr:`%%`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%%`"
|
||||
|
||||
#: c-api/bytes.rst:70
|
||||
msgid "*n/a*"
|
||||
|
@ -108,7 +108,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:72
|
||||
msgid ":attr:`%c`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%c`"
|
||||
|
||||
#: c-api/bytes.rst:75 c-api/bytes.rst:96
|
||||
msgid "int"
|
||||
|
@ -120,7 +120,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:75
|
||||
msgid ":attr:`%d`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%d`"
|
||||
|
||||
#: c-api/bytes.rst:75
|
||||
msgid "Equivalent to ``printf(\"%d\")``. [1]_"
|
||||
|
@ -128,7 +128,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:78
|
||||
msgid ":attr:`%u`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%u`"
|
||||
|
||||
#: c-api/bytes.rst:78
|
||||
msgid "unsigned int"
|
||||
|
@ -140,7 +140,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:81
|
||||
msgid ":attr:`%ld`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%ld`"
|
||||
|
||||
#: c-api/bytes.rst:81
|
||||
msgid "long"
|
||||
|
@ -152,7 +152,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:84
|
||||
msgid ":attr:`%lu`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%lu`"
|
||||
|
||||
#: c-api/bytes.rst:84
|
||||
msgid "unsigned long"
|
||||
|
@ -164,10 +164,10 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:87
|
||||
msgid ":attr:`%zd`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%zd`"
|
||||
|
||||
#: c-api/bytes.rst:87
|
||||
msgid "Py_ssize_t"
|
||||
msgid ":c:type:`\\ Py_ssize_t`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/bytes.rst:87
|
||||
|
@ -176,7 +176,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:90
|
||||
msgid ":attr:`%zu`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%zu`"
|
||||
|
||||
#: c-api/bytes.rst:90
|
||||
msgid "size_t"
|
||||
|
@ -188,7 +188,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:93
|
||||
msgid ":attr:`%i`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%i`"
|
||||
|
||||
#: c-api/bytes.rst:93
|
||||
msgid "Equivalent to ``printf(\"%i\")``. [1]_"
|
||||
|
@ -196,7 +196,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:96
|
||||
msgid ":attr:`%x`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%x`"
|
||||
|
||||
#: c-api/bytes.rst:96
|
||||
msgid "Equivalent to ``printf(\"%x\")``. [1]_"
|
||||
|
@ -204,7 +204,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:99
|
||||
msgid ":attr:`%s`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%s`"
|
||||
|
||||
#: c-api/bytes.rst:99
|
||||
msgid "const char\\*"
|
||||
|
@ -216,7 +216,7 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:102
|
||||
msgid ":attr:`%p`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`%p`"
|
||||
|
||||
#: c-api/bytes.rst:102
|
||||
msgid "const void\\*"
|
||||
|
@ -224,9 +224,9 @@ msgstr ""
|
|||
|
||||
#: c-api/bytes.rst:102
|
||||
msgid ""
|
||||
"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p"
|
||||
"\")`` except that it is guaranteed to start with the literal ``0x`` "
|
||||
"regardless of what the platform's ``printf`` yields."
|
||||
"The hex representation of a C pointer. Mostly equivalent to "
|
||||
"``printf(\"%p\")`` except that it is guaranteed to start with the literal "
|
||||
"``0x`` regardless of what the platform's ``printf`` yields."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/bytes.rst:111
|
||||
|
@ -330,7 +330,7 @@ msgid ""
|
|||
"address of an existing bytes object as an lvalue (it may be written into), "
|
||||
"and the new size desired. On success, *\\*bytes* holds the resized bytes "
|
||||
"object and ``0`` is returned; the address in *\\*bytes* may differ from its "
|
||||
"input value. If the reallocation fails, the original bytes object at *"
|
||||
"\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` "
|
||||
"input value. If the reallocation fails, the original bytes object at "
|
||||
"*\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` "
|
||||
"is set, and ``-1`` is returned."
|
||||
msgstr ""
|
||||
|
|
151
c-api/call.po
151
c-api/call.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2020-07-20 15:07+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -49,8 +49,8 @@ msgstr ""
|
|||
|
||||
#: c-api/call.rst:29
|
||||
msgid ""
|
||||
"To call an object, use :c:func:`PyObject_Call` or other :ref:`call API <capi-"
|
||||
"call>`."
|
||||
"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API "
|
||||
"<capi-call>`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:36
|
||||
|
@ -209,12 +209,7 @@ msgid ""
|
|||
"future extensions."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:161 c-api/call.rst:259 c-api/call.rst:360 c-api/call.rst:391
|
||||
#: c-api/call.rst:413
|
||||
msgid "This function is not part of the :ref:`limited API <stable>`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:153
|
||||
#: c-api/call.rst:151
|
||||
msgid ""
|
||||
"If *op* does not support the vectorcall protocol (either because the type "
|
||||
"does not or because the specific instance does not), return *NULL*. "
|
||||
|
@ -222,19 +217,19 @@ msgid ""
|
|||
"function never raises an exception."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:158
|
||||
#: c-api/call.rst:156
|
||||
msgid ""
|
||||
"This is mostly useful to check whether or not *op* supports vectorcall, "
|
||||
"which can be done by checking ``PyVectorcall_Function(op) != NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:167
|
||||
#: c-api/call.rst:163
|
||||
msgid ""
|
||||
"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword "
|
||||
"arguments given in a tuple and dict, respectively."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:170
|
||||
#: c-api/call.rst:166
|
||||
msgid ""
|
||||
"This is a specialized function, intended to be put in the :c:member:"
|
||||
"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. "
|
||||
|
@ -242,11 +237,11 @@ msgid ""
|
|||
"not fall back to ``tp_call``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:183
|
||||
#: c-api/call.rst:177
|
||||
msgid "Object Calling API"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:185
|
||||
#: c-api/call.rst:179
|
||||
msgid ""
|
||||
"Various functions are available for calling a Python object. Each converts "
|
||||
"its arguments to a convention supported by the called object – either "
|
||||
|
@ -254,130 +249,130 @@ msgid ""
|
|||
"pick one that best fits the format of data you have available."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:191
|
||||
#: c-api/call.rst:185
|
||||
msgid ""
|
||||
"The following table summarizes the available functions; please see "
|
||||
"individual documentation for details."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:195
|
||||
#: c-api/call.rst:189
|
||||
msgid "Function"
|
||||
msgstr "Fonction"
|
||||
|
||||
#: c-api/call.rst:195
|
||||
#: c-api/call.rst:189
|
||||
msgid "callable"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:195
|
||||
#: c-api/call.rst:189
|
||||
msgid "args"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:195
|
||||
#: c-api/call.rst:189
|
||||
msgid "kwargs"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:197
|
||||
#: c-api/call.rst:191
|
||||
msgid ":c:func:`PyObject_Call`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:199 c-api/call.rst:203 c-api/call.rst:209 c-api/call.rst:219
|
||||
#: c-api/call.rst:193 c-api/call.rst:197 c-api/call.rst:203 c-api/call.rst:213
|
||||
msgid "``PyObject *``"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:197
|
||||
#: c-api/call.rst:191
|
||||
msgid "tuple"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:219
|
||||
#: c-api/call.rst:213
|
||||
msgid "dict/``NULL``"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:199
|
||||
#: c-api/call.rst:193
|
||||
msgid ":c:func:`PyObject_CallNoArgs`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:201 c-api/call.rst:205 c-api/call.rst:209 c-api/call.rst:213
|
||||
#: c-api/call.rst:215
|
||||
#: c-api/call.rst:195 c-api/call.rst:199 c-api/call.rst:203 c-api/call.rst:207
|
||||
#: c-api/call.rst:209
|
||||
msgid "---"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:201
|
||||
#: c-api/call.rst:195
|
||||
msgid ":c:func:`PyObject_CallOneArg`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:215
|
||||
#: c-api/call.rst:209
|
||||
msgid "1 object"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:203
|
||||
#: c-api/call.rst:197
|
||||
msgid ":c:func:`PyObject_CallObject`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:203
|
||||
#: c-api/call.rst:197
|
||||
msgid "tuple/``NULL``"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:205
|
||||
#: c-api/call.rst:199
|
||||
msgid ":c:func:`PyObject_CallFunction`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:207
|
||||
#: c-api/call.rst:201
|
||||
msgid "format"
|
||||
msgstr "format"
|
||||
|
||||
#: c-api/call.rst:207
|
||||
#: c-api/call.rst:201
|
||||
msgid ":c:func:`PyObject_CallMethod`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:207
|
||||
#: c-api/call.rst:201
|
||||
msgid "obj + ``char*``"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:209
|
||||
#: c-api/call.rst:203
|
||||
msgid ":c:func:`PyObject_CallFunctionObjArgs`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:211
|
||||
#: c-api/call.rst:205
|
||||
msgid "variadic"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:211
|
||||
#: c-api/call.rst:205
|
||||
msgid ":c:func:`PyObject_CallMethodObjArgs`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:213 c-api/call.rst:215
|
||||
#: c-api/call.rst:207 c-api/call.rst:209
|
||||
msgid "obj + name"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:213
|
||||
#: c-api/call.rst:207
|
||||
msgid ":c:func:`PyObject_CallMethodNoArgs`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:215
|
||||
#: c-api/call.rst:209
|
||||
msgid ":c:func:`PyObject_CallMethodOneArg`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:217
|
||||
#: c-api/call.rst:211
|
||||
msgid ":c:func:`PyObject_Vectorcall`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:219 c-api/call.rst:221
|
||||
#: c-api/call.rst:213 c-api/call.rst:215
|
||||
msgid "vectorcall"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:219
|
||||
#: c-api/call.rst:213
|
||||
msgid ":c:func:`PyObject_VectorcallDict`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:221
|
||||
#: c-api/call.rst:215
|
||||
msgid ":c:func:`PyObject_VectorcallMethod`"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:221
|
||||
#: c-api/call.rst:215
|
||||
msgid "arg + name"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:227
|
||||
#: c-api/call.rst:221
|
||||
msgid ""
|
||||
"Call a callable Python object *callable*, with arguments given by the tuple "
|
||||
"*args*, and named arguments given by the dictionary *kwargs*."
|
||||
|
@ -386,49 +381,49 @@ msgstr ""
|
|||
"le *n*-uplet *args*, et des arguments nommés donnés par le dictionnaire "
|
||||
"*kwargs*."
|
||||
|
||||
#: c-api/call.rst:230
|
||||
#: c-api/call.rst:224
|
||||
msgid ""
|
||||
"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If "
|
||||
"no named arguments are needed, *kwargs* can be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:245 c-api/call.rst:269 c-api/call.rst:301 c-api/call.rst:334
|
||||
#: c-api/call.rst:357 c-api/call.rst:410
|
||||
#: c-api/call.rst:239 c-api/call.rst:261 c-api/call.rst:293 c-api/call.rst:326
|
||||
#: c-api/call.rst:347 c-api/call.rst:394
|
||||
msgid ""
|
||||
"Return the result of the call on success, or raise an exception and return "
|
||||
"*NULL* on failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:236
|
||||
#: c-api/call.rst:230
|
||||
msgid ""
|
||||
"This is the equivalent of the Python expression: ``callable(*args, "
|
||||
"**kwargs)``."
|
||||
msgstr ""
|
||||
"Ceci est l'équivalent de l'expression Python : ``callable(*args, **kwargs)``."
|
||||
|
||||
#: c-api/call.rst:242
|
||||
#: c-api/call.rst:236
|
||||
msgid ""
|
||||
"Call a callable Python object *callable* without any arguments. It is the "
|
||||
"most efficient way to call a callable Python object without any argument."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:253
|
||||
#: c-api/call.rst:247
|
||||
msgid ""
|
||||
"Call a callable Python object *callable* with exactly 1 positional argument "
|
||||
"*arg* and no keyword arguments."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:266
|
||||
#: c-api/call.rst:258
|
||||
msgid ""
|
||||
"Call a callable Python object *callable*, with arguments given by the tuple "
|
||||
"*args*. If no arguments are needed, then *args* can be *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:284
|
||||
#: c-api/call.rst:276
|
||||
msgid "This is the equivalent of the Python expression: ``callable(*args)``."
|
||||
msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``."
|
||||
|
||||
#: c-api/call.rst:277
|
||||
#: c-api/call.rst:269
|
||||
msgid ""
|
||||
"Call a callable Python object *callable*, with a variable number of C "
|
||||
"arguments. The C arguments are described using a :c:func:`Py_BuildValue` "
|
||||
|
@ -436,92 +431,92 @@ msgid ""
|
|||
"are provided."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:286
|
||||
#: c-api/call.rst:278
|
||||
msgid ""
|
||||
"Note that if you only pass :c:type:`PyObject *` args, :c:func:"
|
||||
"Note that if you only pass :c:expr:`PyObject *` args, :c:func:"
|
||||
"`PyObject_CallFunctionObjArgs` is a faster alternative."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:289
|
||||
#: c-api/call.rst:281
|
||||
msgid "The type of *format* was changed from ``char *``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:295
|
||||
#: c-api/call.rst:287
|
||||
msgid ""
|
||||
"Call the method named *name* of object *obj* with a variable number of C "
|
||||
"arguments. The C arguments are described by a :c:func:`Py_BuildValue` "
|
||||
"format string that should produce a tuple."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:299
|
||||
#: c-api/call.rst:291
|
||||
msgid "The format can be *NULL*, indicating that no arguments are provided."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:304
|
||||
#: c-api/call.rst:296
|
||||
msgid ""
|
||||
"This is the equivalent of the Python expression: ``obj.name(arg1, "
|
||||
"arg2, ...)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:307
|
||||
#: c-api/call.rst:299
|
||||
msgid ""
|
||||
"Note that if you only pass :c:type:`PyObject *` args, :c:func:"
|
||||
"Note that if you only pass :c:expr:`PyObject *` args, :c:func:"
|
||||
"`PyObject_CallMethodObjArgs` is a faster alternative."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:310
|
||||
#: c-api/call.rst:302
|
||||
msgid "The types of *name* and *format* were changed from ``char *``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:316
|
||||
#: c-api/call.rst:308
|
||||
msgid ""
|
||||
"Call a callable Python object *callable*, with a variable number of :c:type:"
|
||||
"Call a callable Python object *callable*, with a variable number of :c:expr:"
|
||||
"`PyObject *` arguments. The arguments are provided as a variable number of "
|
||||
"parameters followed by *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:323
|
||||
#: c-api/call.rst:315
|
||||
msgid ""
|
||||
"This is the equivalent of the Python expression: ``callable(arg1, "
|
||||
"arg2, ...)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:329
|
||||
#: c-api/call.rst:321
|
||||
msgid ""
|
||||
"Call a method of the Python object *obj*, where the name of the method is "
|
||||
"given as a Python string object in *name*. It is called with a variable "
|
||||
"number of :c:type:`PyObject *` arguments. The arguments are provided as a "
|
||||
"number of :c:expr:`PyObject *` arguments. The arguments are provided as a "
|
||||
"variable number of parameters followed by *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:340
|
||||
#: c-api/call.rst:332
|
||||
msgid ""
|
||||
"Call a method of the Python object *obj* without arguments, where the name "
|
||||
"of the method is given as a Python string object in *name*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:353
|
||||
#: c-api/call.rst:343
|
||||
msgid ""
|
||||
"Call a method of the Python object *obj* with a single positional argument "
|
||||
"*arg*, where the name of the method is given as a Python string object in "
|
||||
"*name*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:367
|
||||
#: c-api/call.rst:355
|
||||
msgid ""
|
||||
"Call a callable Python object *callable*. The arguments are the same as for :"
|
||||
"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly "
|
||||
"calls the vectorcall function stored in *callable*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:381
|
||||
#: c-api/call.rst:367
|
||||
msgid ""
|
||||
"Call *callable* with positional arguments passed exactly as in the "
|
||||
"vectorcall_ protocol, but with keyword arguments passed as a dictionary "
|
||||
"*kwdict*. The *args* array contains only the positional arguments."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:385
|
||||
#: c-api/call.rst:371
|
||||
msgid ""
|
||||
"Regardless of which protocol is used internally, a conversion of arguments "
|
||||
"needs to be done. Therefore, this function should only be used if the caller "
|
||||
|
@ -529,7 +524,7 @@ msgid ""
|
|||
"tuple for the positional arguments."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:397
|
||||
#: c-api/call.rst:381
|
||||
msgid ""
|
||||
"Call a method using the vectorcall calling convention. The name of the "
|
||||
"method is given as a Python string *name*. The object whose method is called "
|
||||
|
@ -541,17 +536,17 @@ msgid ""
|
|||
"`PyObject_Vectorcall`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:406
|
||||
#: c-api/call.rst:390
|
||||
msgid ""
|
||||
"If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this "
|
||||
"will call the unbound method object with the full *args* vector as arguments."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:419
|
||||
#: c-api/call.rst:401
|
||||
msgid "Call Support API"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/call.rst:423
|
||||
#: c-api/call.rst:405
|
||||
msgid ""
|
||||
"Determine if the object *o* is callable. Return ``1`` if the object is "
|
||||
"callable and ``0`` otherwise. This function always succeeds."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -28,7 +28,7 @@ msgstr ""
|
|||
#: c-api/capsule.rst:17
|
||||
msgid ""
|
||||
"This subtype of :c:type:`PyObject` represents an opaque value, useful for C "
|
||||
"extension modules who need to pass an opaque value (as a :c:type:`void*` "
|
||||
"extension modules who need to pass an opaque value (as a :c:expr:`void*` "
|
||||
"pointer) through Python code to other C code. It is often used to make a C "
|
||||
"function pointer defined in one module available to other modules, so the "
|
||||
"regular import mechanism can be used to access C APIs defined in dynamically "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-22 09:58+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2019-01-14 20:31+0100\n"
|
||||
"Last-Translator: ANTOINE FOURES <afoures@student.42.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -174,13 +174,15 @@ msgstr ""
|
|||
"Renvoie un nouveau :c:type:`PyComplexObject` à partir de *real* et de *imag*."
|
||||
|
||||
#: c-api/complex.rst:118
|
||||
msgid "Return the real part of *op* as a C :c:type:`double`."
|
||||
#, fuzzy
|
||||
msgid "Return the real part of *op* as a C :c:expr:`double`."
|
||||
msgstr ""
|
||||
"Renvoie la partie réelle du nombre complexe *op* sous la forme d'un :c:type:"
|
||||
"`double` en C."
|
||||
|
||||
#: c-api/complex.rst:123
|
||||
msgid "Return the imaginary part of *op* as a C :c:type:`double`."
|
||||
#, fuzzy
|
||||
msgid "Return the imaginary part of *op* as a C :c:expr:`double`."
|
||||
msgstr ""
|
||||
"Renvoie la partie imaginaire du nombre complexe *op* sous la forme d'un :c:"
|
||||
"type:`double` en C."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -51,58 +51,60 @@ msgid ""
|
|||
"The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. "
|
||||
"They never write more than *size* bytes (including the trailing ``'\\0'``) "
|
||||
"into str. Both functions require that ``str != NULL``, ``size > 0``, "
|
||||
"``format != NULL`` and ``size < INT_MAX``."
|
||||
"``format != NULL`` and ``size < INT_MAX``. Note that this means there is no "
|
||||
"equivalent to the C99 ``n = snprintf(NULL, 0, ...)`` which would determine "
|
||||
"the necessary buffer size."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:33
|
||||
#: c-api/conversion.rst:34
|
||||
msgid ""
|
||||
"The return value (*rv*) for these functions should be interpreted as follows:"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:35
|
||||
#: c-api/conversion.rst:36
|
||||
msgid ""
|
||||
"When ``0 <= rv < size``, the output conversion was successful and *rv* "
|
||||
"characters were written to *str* (excluding the trailing ``'\\0'`` byte at "
|
||||
"``str[rv]``)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:39
|
||||
#: c-api/conversion.rst:40
|
||||
msgid ""
|
||||
"When ``rv >= size``, the output conversion was truncated and a buffer with "
|
||||
"``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is "
|
||||
"``'\\0'`` in this case."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:43
|
||||
#: c-api/conversion.rst:44
|
||||
msgid ""
|
||||
"When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in "
|
||||
"this case too, but the rest of *str* is undefined. The exact cause of the "
|
||||
"error depends on the underlying platform."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:48
|
||||
#: c-api/conversion.rst:49
|
||||
msgid ""
|
||||
"The following functions provide locale-independent string to number "
|
||||
"conversions."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:52
|
||||
#: c-api/conversion.rst:53
|
||||
msgid ""
|
||||
"Convert a string ``s`` to a :c:type:`double`, raising a Python exception on "
|
||||
"Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on "
|
||||
"failure. The set of accepted strings corresponds to the set of strings "
|
||||
"accepted by Python's :func:`float` constructor, except that ``s`` must not "
|
||||
"have leading or trailing whitespace. The conversion is independent of the "
|
||||
"current locale."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:58
|
||||
#: c-api/conversion.rst:59
|
||||
msgid ""
|
||||
"If ``endptr`` is ``NULL``, convert the whole string. Raise :exc:"
|
||||
"`ValueError` and return ``-1.0`` if the string is not a valid representation "
|
||||
"of a floating-point number."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:62
|
||||
#: c-api/conversion.rst:63
|
||||
msgid ""
|
||||
"If endptr is not ``NULL``, convert as much of the string as possible and set "
|
||||
"``*endptr`` to point to the first unconverted character. If no initial "
|
||||
|
@ -111,7 +113,7 @@ msgid ""
|
|||
"ValueError, and return ``-1.0``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:69
|
||||
#: c-api/conversion.rst:70
|
||||
msgid ""
|
||||
"If ``s`` represents a value that is too large to store in a float (for "
|
||||
"example, ``\"1e500\"`` is such a string on many platforms) then if "
|
||||
|
@ -122,50 +124,50 @@ msgid ""
|
|||
"the first character after the converted value."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:77
|
||||
#: c-api/conversion.rst:78
|
||||
msgid ""
|
||||
"If any other error occurs during the conversion (for example an out-of-"
|
||||
"memory error), set the appropriate Python exception and return ``-1.0``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:86
|
||||
#: c-api/conversion.rst:87
|
||||
msgid ""
|
||||
"Convert a :c:type:`double` *val* to a string using supplied *format_code*, "
|
||||
"Convert a :c:expr:`double` *val* to a string using supplied *format_code*, "
|
||||
"*precision*, and *flags*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:89
|
||||
#: c-api/conversion.rst:90
|
||||
msgid ""
|
||||
"*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, "
|
||||
"``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is "
|
||||
"ignored. The ``'r'`` format code specifies the standard :func:`repr` format."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:94
|
||||
#: c-api/conversion.rst:95
|
||||
msgid ""
|
||||
"*flags* can be zero or more of the values ``Py_DTSF_SIGN``, "
|
||||
"``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:97
|
||||
#: c-api/conversion.rst:98
|
||||
msgid ""
|
||||
"``Py_DTSF_SIGN`` means to always precede the returned string with a sign "
|
||||
"character, even if *val* is non-negative."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:100
|
||||
#: c-api/conversion.rst:101
|
||||
msgid ""
|
||||
"``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look "
|
||||
"like an integer."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:103
|
||||
#: c-api/conversion.rst:104
|
||||
msgid ""
|
||||
"``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the "
|
||||
"documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:107
|
||||
#: c-api/conversion.rst:108
|
||||
msgid ""
|
||||
"If *ptype* is non-``NULL``, then the value it points to will be set to one "
|
||||
"of ``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying "
|
||||
|
@ -173,20 +175,20 @@ msgid ""
|
|||
"respectively."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:111
|
||||
#: c-api/conversion.rst:112
|
||||
msgid ""
|
||||
"The return value is a pointer to *buffer* with the converted string or "
|
||||
"``NULL`` if the conversion failed. The caller is responsible for freeing the "
|
||||
"returned string by calling :c:func:`PyMem_Free`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:120
|
||||
#: c-api/conversion.rst:121
|
||||
msgid ""
|
||||
"Case insensitive comparison of strings. The function works almost "
|
||||
"identically to :c:func:`strcmp` except that it ignores the case."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/conversion.rst:126
|
||||
#: c-api/conversion.rst:127
|
||||
msgid ""
|
||||
"Case insensitive comparison of strings. The function works almost "
|
||||
"identically to :c:func:`strncmp` except that it ignores the case."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 11:57+0100\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -207,7 +207,7 @@ msgstr ""
|
|||
"normalisé pour que le nombre de microsecondes et de secondes tombe dans la "
|
||||
"plage documentée pour les objets :class:`datetime.timedelta`."
|
||||
|
||||
#: c-api/datetime.rst:137
|
||||
#: c-api/datetime.rst:138
|
||||
msgid ""
|
||||
"Return a :class:`datetime.timezone` object with an unnamed fixed offset "
|
||||
"represented by the *offset* argument."
|
||||
|
@ -215,7 +215,7 @@ msgstr ""
|
|||
"Renvoie un objet :class:`datetime.timezone` avec un décalage anonyme fixe "
|
||||
"représenté par l'argument *offset*."
|
||||
|
||||
#: c-api/datetime.rst:144
|
||||
#: c-api/datetime.rst:146
|
||||
msgid ""
|
||||
"Return a :class:`datetime.timezone` object with a fixed offset represented "
|
||||
"by the *offset* argument and with tzname *name*."
|
||||
|
@ -223,7 +223,7 @@ msgstr ""
|
|||
"Renvoie un objet :class:`datetime.timezone` avec un décalage fixe représenté "
|
||||
"par l'argument *offset* et avec le nom de fuseau horaire *name*."
|
||||
|
||||
#: c-api/datetime.rst:150
|
||||
#: c-api/datetime.rst:152
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Macros to extract fields from date objects. The argument must be an "
|
||||
|
@ -236,19 +236,19 @@ msgstr ""
|
|||
"`PyDateTime_DateTime`). L'argument ne doit pas être *NULL*, et le type n'est "
|
||||
"pas vérifié :"
|
||||
|
||||
#: c-api/datetime.rst:157
|
||||
#: c-api/datetime.rst:159
|
||||
msgid "Return the year, as a positive int."
|
||||
msgstr "Renvoie l'année, sous forme d'entier positif."
|
||||
|
||||
#: c-api/datetime.rst:162
|
||||
#: c-api/datetime.rst:164
|
||||
msgid "Return the month, as an int from 1 through 12."
|
||||
msgstr "Renvoie le mois, sous forme d'entier allant de 1 à 12."
|
||||
|
||||
#: c-api/datetime.rst:167
|
||||
#: c-api/datetime.rst:169
|
||||
msgid "Return the day, as an int from 1 through 31."
|
||||
msgstr "Renvoie le jour, sous forme d'entier allant de 1 à 31."
|
||||
|
||||
#: c-api/datetime.rst:170
|
||||
#: c-api/datetime.rst:172
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Macros to extract fields from datetime objects. The argument must be an "
|
||||
|
@ -259,27 +259,32 @@ msgstr ""
|
|||
"une instance de :c:data:`PyDateTime_DateTime` ou une sous-classe de celle-"
|
||||
"ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
|
||||
|
||||
#: c-api/datetime.rst:205
|
||||
#: c-api/datetime.rst:216
|
||||
msgid "Return the hour, as an int from 0 through 23."
|
||||
msgstr "Renvoie l'heure, sous forme d'entier allant de 0 à 23."
|
||||
|
||||
#: c-api/datetime.rst:210
|
||||
#: c-api/datetime.rst:221
|
||||
msgid "Return the minute, as an int from 0 through 59."
|
||||
msgstr "Renvoie la minute, sous forme d'entier allant de 0 à 59."
|
||||
|
||||
#: c-api/datetime.rst:215
|
||||
#: c-api/datetime.rst:226
|
||||
msgid "Return the second, as an int from 0 through 59."
|
||||
msgstr "Renvoie la seconde, sous forme d'entier allant de 0 à 59."
|
||||
|
||||
#: c-api/datetime.rst:220
|
||||
#: c-api/datetime.rst:231
|
||||
msgid "Return the microsecond, as an int from 0 through 999999."
|
||||
msgstr "Renvoie la microseconde, sous forme d'entier allant de 0 à 999999."
|
||||
|
||||
#: c-api/datetime.rst:224
|
||||
#: c-api/datetime.rst:236
|
||||
#, fuzzy
|
||||
msgid "Return the fold, as an int from 0 through 1."
|
||||
msgstr "Renvoie le jour, sous forme d'entier allant de 1 à 31."
|
||||
|
||||
#: c-api/datetime.rst:243
|
||||
msgid "Return the tzinfo (which may be ``None``)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/datetime.rst:199
|
||||
#: c-api/datetime.rst:210
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Macros to extract fields from time objects. The argument must be an "
|
||||
|
@ -290,7 +295,7 @@ msgstr ""
|
|||
"instance de :c:data:`PyDateTime_Time` ou une sous-classe de celle-ci. "
|
||||
"L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
|
||||
|
||||
#: c-api/datetime.rst:229
|
||||
#: c-api/datetime.rst:248
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Macros to extract fields from time delta objects. The argument must be an "
|
||||
|
@ -301,26 +306,26 @@ msgstr ""
|
|||
"être une instance de :c:data:`PyDateTime_Delta` ou une sous-classe de celle-"
|
||||
"ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
|
||||
|
||||
#: c-api/datetime.rst:235
|
||||
#: c-api/datetime.rst:254
|
||||
msgid "Return the number of days, as an int from -999999999 to 999999999."
|
||||
msgstr ""
|
||||
"Renvoie le nombre de jours, sous forme d'entier allant de ``-999999999`` à "
|
||||
"``999999999``."
|
||||
|
||||
#: c-api/datetime.rst:242
|
||||
#: c-api/datetime.rst:261
|
||||
msgid "Return the number of seconds, as an int from 0 through 86399."
|
||||
msgstr "Renvoie le nombre de secondes sous forme d'entier allant de 0 à 86399."
|
||||
|
||||
#: c-api/datetime.rst:249
|
||||
#: c-api/datetime.rst:268
|
||||
msgid "Return the number of microseconds, as an int from 0 through 999999."
|
||||
msgstr ""
|
||||
"Renvoie le nombre de microsecondes, sous forme d'entier allant de 0 à 999999."
|
||||
|
||||
#: c-api/datetime.rst:254
|
||||
#: c-api/datetime.rst:273
|
||||
msgid "Macros for the convenience of modules implementing the DB API:"
|
||||
msgstr "Macros de confort pour les modules implémentant l'API DB :"
|
||||
|
||||
#: c-api/datetime.rst:258
|
||||
#: c-api/datetime.rst:277
|
||||
msgid ""
|
||||
"Create and return a new :class:`datetime.datetime` object given an argument "
|
||||
"tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`."
|
||||
|
@ -328,7 +333,7 @@ msgstr ""
|
|||
"Crée et renvoie un nouvel objet :class:`datetime.datetime` à partir d'un n-"
|
||||
"uplet qui peut être passé à :meth:`datetime.datetime.fromtimestamp()`."
|
||||
|
||||
#: c-api/datetime.rst:264
|
||||
#: c-api/datetime.rst:283
|
||||
msgid ""
|
||||
"Create and return a new :class:`datetime.date` object given an argument "
|
||||
"tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 11:36+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -84,7 +84,7 @@ msgstr ""
|
|||
#: c-api/dict.rst:75
|
||||
msgid ""
|
||||
"Insert *val* into the dictionary *p* using *key* as a key. *key* should be "
|
||||
"a :c:type:`const char*`. The key object is created using "
|
||||
"a :c:expr:`const char*`. The key object is created using "
|
||||
"``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on "
|
||||
"failure. This function *does not* steal a reference to *val*."
|
||||
msgstr ""
|
||||
|
@ -132,7 +132,7 @@ msgstr ""
|
|||
#: c-api/dict.rst:120
|
||||
msgid ""
|
||||
"This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:"
|
||||
"type:`const char*`, rather than a :c:type:`PyObject*`."
|
||||
"expr:`const char*`, rather than a :c:expr:`PyObject*`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/dict.rst:123
|
||||
|
@ -180,7 +180,7 @@ msgid ""
|
|||
"`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the "
|
||||
"first call to this function to start the iteration; the function returns "
|
||||
"true for each pair in the dictionary, and false once all pairs have been "
|
||||
"reported. The parameters *pkey* and *pvalue* should either point to :c:type:"
|
||||
"reported. The parameters *pkey* and *pvalue* should either point to :c:expr:"
|
||||
"`PyObject*` variables that will be filled in with each key and value, "
|
||||
"respectively, or may be ``NULL``. Any references returned through them are "
|
||||
"borrowed. *ppos* should not be altered during iteration. Its value "
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-03-19 16:59+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:00+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -23,7 +23,7 @@ msgstr "Objets fichiers"
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
"These APIs are a minimal emulation of the Python 2 C API for built-in file "
|
||||
"objects, which used to rely on the buffered I/O (:c:type:`FILE*`) support "
|
||||
"objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support "
|
||||
"from the C standard library. In Python 3, files and streams use the new :"
|
||||
"mod:`io` module, which defines several layers over the low-level unbuffered "
|
||||
"I/O of the operating system. The functions described below are convenience "
|
||||
|
@ -76,8 +76,9 @@ msgid "Ignore *name* attribute."
|
|||
msgstr "ignore l'attribut *name*"
|
||||
|
||||
#: c-api/file.rst:41
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return the file descriptor associated with *p* as an :c:type:`int`. If the "
|
||||
"Return the file descriptor associated with *p* as an :c:expr:`int`. If the "
|
||||
"object is an integer, its value is returned. If not, the object's :meth:"
|
||||
"`~io.IOBase.fileno` method is called if it exists; the method must return an "
|
||||
"integer, which is returned as the file descriptor value. Sets an exception "
|
||||
|
@ -120,7 +121,7 @@ msgstr ""
|
|||
|
||||
#: c-api/file.rst:68
|
||||
msgid ""
|
||||
"The handler is a function of type :c:type:`PyObject *(\\*)(PyObject *path, "
|
||||
"The handler is a function of type :c:expr:`PyObject *(\\*)(PyObject *path, "
|
||||
"void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2019-01-14 15:30+0100\n"
|
||||
"Last-Translator: ANTOINE FOURES <afoures@student.42.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -72,7 +72,7 @@ msgstr ""
|
|||
#: c-api/float.rst:47
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return a C :c:type:`double` representation of the contents of *pyfloat*. If "
|
||||
"Return a C :c:expr:`double` representation of the contents of *pyfloat*. If "
|
||||
"*pyfloat* is not a Python floating point object but has a :meth:`__float__` "
|
||||
"method, this method will first be called to convert *pyfloat* into a float. "
|
||||
"If ``__float__()`` is not defined then it falls back to :meth:`__index__`. "
|
||||
|
@ -91,8 +91,9 @@ msgid "Use :meth:`__index__` if available."
|
|||
msgstr ""
|
||||
|
||||
#: c-api/float.rst:60
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return a C :c:type:`double` representation of the contents of *pyfloat*, but "
|
||||
"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but "
|
||||
"without error checking."
|
||||
msgstr ""
|
||||
"Renvoie une représentation du contenu d'un *pyfloat* sous la forme d'un :c:"
|
||||
|
@ -109,16 +110,18 @@ msgstr ""
|
|||
"flottante. C'est une enveloppe autour du fichier d'entête :file:`float.h`."
|
||||
|
||||
#: c-api/float.rst:73
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return the maximum representable finite float *DBL_MAX* as C :c:type:"
|
||||
"Return the maximum representable finite float *DBL_MAX* as C :c:expr:"
|
||||
"`double`."
|
||||
msgstr ""
|
||||
"Renvoie le nombre à virgule flottante fini maximal *DBL_MAX* sous la forme "
|
||||
"d'un :c:type:`double` en C."
|
||||
|
||||
#: c-api/float.rst:78
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`."
|
||||
"Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`."
|
||||
msgstr ""
|
||||
"Renvoie le nombre à virgule flottante minimal normalisé *DBL_MIN* sous la "
|
||||
"forme :c:type:`double` en C."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
|
||||
"POT-Creation-Date: 2022-03-18 17:06+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -21,11 +21,11 @@ msgstr ""
|
|||
#: c-api/gcsupport.rst:8
|
||||
msgid ""
|
||||
"Python's support for detecting and collecting garbage which involves "
|
||||
"circular references requires support from object types which are \"containers"
|
||||
"\" for other objects which may also be containers. Types which do not store "
|
||||
"references to other objects, or which only store references to atomic types "
|
||||
"(such as numbers or strings), do not need to provide any explicit support "
|
||||
"for garbage collection."
|
||||
"circular references requires support from object types which are "
|
||||
"\"containers\" for other objects which may also be containers. Types which "
|
||||
"do not store references to other objects, or which only store references to "
|
||||
"atomic types (such as numbers or strings), do not need to provide any "
|
||||
"explicit support for garbage collection."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/gcsupport.rst:15
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -271,8 +271,9 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#: c-api/import.rst:264
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This pointer is initialized to point to an array of :c:type:`struct _frozen` "
|
||||
"This pointer is initialized to point to an array of :c:struct:`_frozen` "
|
||||
"records, terminated by one whose members are all ``NULL`` or zero. When a "
|
||||
"frozen module is imported, it is searched in this table. Third-party code "
|
||||
"could play tricks with this to provide a dynamically created collection of "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2018-11-29 18:22+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -542,7 +542,7 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:511 c-api/init.rst:644 c-api/init.rst:661
|
||||
msgid ""
|
||||
"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:type:"
|
||||
"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:"
|
||||
"`wchar_*` string."
|
||||
msgstr ""
|
||||
|
||||
|
@ -684,10 +684,10 @@ msgstr ""
|
|||
#: c-api/init.rst:531
|
||||
msgid ""
|
||||
"The first word (up to the first space character) is the current Python "
|
||||
"version; the first three characters are the major and minor version "
|
||||
"separated by a period. The returned string points into static storage; the "
|
||||
"caller should not modify its value. The value is available to Python code "
|
||||
"as :data:`sys.version`."
|
||||
"version; the first characters are the major and minor version separated by a "
|
||||
"period. The returned string points into static storage; the caller should "
|
||||
"not modify its value. The value is available to Python code as :data:`sys."
|
||||
"version`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/init.rst:541
|
||||
|
@ -930,11 +930,11 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:803
|
||||
msgid ""
|
||||
"Note that the :c:func:`PyGILState_\\*` functions assume there is only one "
|
||||
"global interpreter (created automatically by :c:func:`Py_Initialize`). "
|
||||
"Python supports the creation of additional interpreters (using :c:func:"
|
||||
"`Py_NewInterpreter`), but mixing multiple interpreters and the :c:func:"
|
||||
"`PyGILState_\\*` API is unsupported."
|
||||
"Note that the ``PyGILState_*`` functions assume there is only one global "
|
||||
"interpreter (created automatically by :c:func:`Py_Initialize`). Python "
|
||||
"supports the creation of additional interpreters (using :c:func:"
|
||||
"`Py_NewInterpreter`), but mixing multiple interpreters and the "
|
||||
"``PyGILState_*`` API is unsupported."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/init.rst:813
|
||||
|
@ -1010,7 +1010,7 @@ msgstr ""
|
|||
#: c-api/init.rst:869
|
||||
msgid ""
|
||||
"This data structure represents the state of a single thread. The only "
|
||||
"public data member is :attr:`interp` (:c:type:`PyInterpreterState *`), which "
|
||||
"public data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which "
|
||||
"points to this thread's interpreter state."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1380,7 +1380,7 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1223
|
||||
msgid ""
|
||||
"The type of the *id* parameter changed from :c:type:`long` to :c:type:"
|
||||
"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:"
|
||||
"`unsigned long`."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1574,10 +1574,10 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1411
|
||||
msgid ""
|
||||
"Also note that combining this functionality with :c:func:`PyGILState_\\*` "
|
||||
"APIs is delicate, because these APIs assume a bijection between Python "
|
||||
"thread states and OS-level threads, an assumption broken by the presence of "
|
||||
"sub-interpreters. It is highly recommended that you don't switch sub-"
|
||||
"Also note that combining this functionality with ``PyGILState_*`` APIs is "
|
||||
"delicate, because these APIs assume a bijection between Python thread states "
|
||||
"and OS-level threads, an assumption broken by the presence of sub-"
|
||||
"interpreters. It is highly recommended that you don't switch sub-"
|
||||
"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:"
|
||||
"func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:"
|
||||
"`ctypes`) using these APIs to allow calling of Python code from non-Python "
|
||||
|
@ -1701,7 +1701,7 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1507
|
||||
msgid ":const:`PyTrace_CALL`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_CALL`"
|
||||
|
||||
#: c-api/init.rst:1512 c-api/init.rst:1523
|
||||
msgid "Always :c:data:`Py_None`."
|
||||
|
@ -1709,7 +1709,7 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1509
|
||||
msgid ":const:`PyTrace_EXCEPTION`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_EXCEPTION`"
|
||||
|
||||
#: c-api/init.rst:1509
|
||||
msgid "Exception information as returned by :func:`sys.exc_info`."
|
||||
|
@ -1717,11 +1717,11 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1512
|
||||
msgid ":const:`PyTrace_LINE`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_LINE`"
|
||||
|
||||
#: c-api/init.rst:1514
|
||||
msgid ":const:`PyTrace_RETURN`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_RETURN`"
|
||||
|
||||
#: c-api/init.rst:1514
|
||||
msgid ""
|
||||
|
@ -1730,7 +1730,7 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1517
|
||||
msgid ":const:`PyTrace_C_CALL`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_C_CALL`"
|
||||
|
||||
#: c-api/init.rst:1519 c-api/init.rst:1521
|
||||
msgid "Function object being called."
|
||||
|
@ -1738,15 +1738,15 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1519
|
||||
msgid ":const:`PyTrace_C_EXCEPTION`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_C_EXCEPTION`"
|
||||
|
||||
#: c-api/init.rst:1521
|
||||
msgid ":const:`PyTrace_C_RETURN`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_C_RETURN`"
|
||||
|
||||
#: c-api/init.rst:1523
|
||||
msgid ":const:`PyTrace_OPCODE`"
|
||||
msgstr ""
|
||||
msgstr ":const:`PyTrace_OPCODE`"
|
||||
|
||||
#: c-api/init.rst:1528
|
||||
msgid ""
|
||||
|
@ -1881,7 +1881,7 @@ msgid ""
|
|||
"(TLS) which wraps the underlying native TLS implementation to support the "
|
||||
"Python-level thread local storage API (:class:`threading.local`). The "
|
||||
"CPython C level APIs are similar to those offered by pthreads and Windows: "
|
||||
"use a thread key and functions to associate a :c:type:`void*` value per "
|
||||
"use a thread key and functions to associate a :c:expr:`void*` value per "
|
||||
"thread."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1900,8 +1900,8 @@ msgstr ""
|
|||
#: c-api/init.rst:1669
|
||||
msgid ""
|
||||
"None of these API functions handle memory management on behalf of the :c:"
|
||||
"type:`void*` values. You need to allocate and deallocate them yourself. If "
|
||||
"the :c:type:`void*` values happen to be :c:type:`PyObject*`, these functions "
|
||||
"expr:`void*` values. You need to allocate and deallocate them yourself. If "
|
||||
"the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions "
|
||||
"don't do refcount operations on them either."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1913,7 +1913,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"TSS API is introduced to supersede the use of the existing TLS API within "
|
||||
"the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` "
|
||||
"instead of :c:type:`int` to represent thread keys."
|
||||
"instead of :c:expr:`int` to represent thread keys."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/init.rst:1685
|
||||
|
@ -1961,12 +1961,12 @@ msgstr ""
|
|||
msgid ""
|
||||
"Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first "
|
||||
"calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals "
|
||||
"have been unassigned. This is a no-op if the *key* argument is `NULL`."
|
||||
"have been unassigned. This is a no-op if the *key* argument is ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/init.rst:1728
|
||||
msgid ""
|
||||
"A freed key becomes a dangling pointer, you should reset the key to `NULL`."
|
||||
"A freed key becomes a dangling pointer. You should reset the key to `NULL`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/init.rst:1733
|
||||
|
@ -2007,14 +2007,14 @@ msgstr ""
|
|||
|
||||
#: c-api/init.rst:1767
|
||||
msgid ""
|
||||
"Return a zero value to indicate successfully associating a :c:type:`void*` "
|
||||
"Return a zero value to indicate successfully associating a :c:expr:`void*` "
|
||||
"value with a TSS key in the current thread. Each thread has a distinct "
|
||||
"mapping of the key to a :c:type:`void*` value."
|
||||
"mapping of the key to a :c:expr:`void*` value."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/init.rst:1774
|
||||
msgid ""
|
||||
"Return the :c:type:`void*` value associated with a TSS key in the current "
|
||||
"Return the :c:expr:`void*` value associated with a TSS key in the current "
|
||||
"thread. This returns ``NULL`` if no value is associated with the key in the "
|
||||
"current thread."
|
||||
msgstr ""
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -272,13 +272,13 @@ msgstr ""
|
|||
#: c-api/intro.rst:231
|
||||
msgid ""
|
||||
"Most Python/C API functions have one or more arguments as well as a return "
|
||||
"value of type :c:type:`PyObject*`. This type is a pointer to an opaque data "
|
||||
"value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data "
|
||||
"type representing an arbitrary Python object. Since all Python object types "
|
||||
"are treated the same way by the Python language in most situations (e.g., "
|
||||
"assignments, scope rules, and argument passing), it is only fitting that "
|
||||
"they should be represented by a single C type. Almost all Python objects "
|
||||
"live on the heap: you never declare an automatic or static variable of type :"
|
||||
"c:type:`PyObject`, only pointer variables of type :c:type:`PyObject*` can "
|
||||
"c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` can "
|
||||
"be declared. The sole exception are the type objects; since these must "
|
||||
"never be deallocated, they are typically static :c:type:`PyTypeObject` "
|
||||
"objects."
|
||||
|
@ -491,19 +491,27 @@ msgstr ""
|
|||
#: c-api/intro.rst:497
|
||||
msgid ""
|
||||
"There are few other data types that play a significant role in the Python/C "
|
||||
"API; most are simple C types such as :c:type:`int`, :c:type:`long`, :c:type:"
|
||||
"`double` and :c:type:`char*`. A few structure types are used to describe "
|
||||
"API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, :c:expr:"
|
||||
"`double` and :c:expr:`char*`. A few structure types are used to describe "
|
||||
"static tables used to list the functions exported by a module or the data "
|
||||
"attributes of a new object type, and another is used to describe the value "
|
||||
"of a complex number. These will be discussed together with the functions "
|
||||
"that use them."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:509
|
||||
#: c-api/intro.rst:507
|
||||
msgid ""
|
||||
"A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. "
|
||||
"C99 doesn't define such a thing directly (size_t is an unsigned integral "
|
||||
"type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest "
|
||||
"positive value of type :c:type:`Py_ssize_t`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:516
|
||||
msgid "Exceptions"
|
||||
msgstr "Exceptions"
|
||||
|
||||
#: c-api/intro.rst:511
|
||||
#: c-api/intro.rst:518
|
||||
msgid ""
|
||||
"The Python programmer only needs to deal with exceptions if specific error "
|
||||
"handling is required; unhandled exceptions are automatically propagated to "
|
||||
|
@ -512,7 +520,7 @@ msgid ""
|
|||
"stack traceback."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:519
|
||||
#: c-api/intro.rst:526
|
||||
msgid ""
|
||||
"For C programmers, however, error checking always has to be explicit. All "
|
||||
"functions in the Python/C API can raise exceptions, unless an explicit claim "
|
||||
|
@ -527,7 +535,7 @@ msgid ""
|
|||
"explicitly documented."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:534
|
||||
#: c-api/intro.rst:541
|
||||
msgid ""
|
||||
"Exception state is maintained in per-thread storage (this is equivalent to "
|
||||
"using global storage in an unthreaded application). A thread can be in one "
|
||||
|
@ -540,7 +548,7 @@ msgid ""
|
|||
"clears the exception state."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:544
|
||||
#: c-api/intro.rst:551
|
||||
msgid ""
|
||||
"The full exception state consists of three objects (all of which can be "
|
||||
"``NULL``): the exception type, the corresponding exception value, and the "
|
||||
|
@ -553,7 +561,7 @@ msgid ""
|
|||
"``sys.exc_info()`` and friends."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:556
|
||||
#: c-api/intro.rst:563
|
||||
msgid ""
|
||||
"Note that starting with Python 1.5, the preferred, thread-safe way to access "
|
||||
"the exception state from Python code is to call the function :func:`sys."
|
||||
|
@ -567,7 +575,7 @@ msgid ""
|
|||
"referenced by the stack frames in the traceback."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:567
|
||||
#: c-api/intro.rst:574
|
||||
msgid ""
|
||||
"As a general principle, a function that calls another function to perform "
|
||||
"some task should check whether the called function raised an exception, and "
|
||||
|
@ -578,7 +586,7 @@ msgid ""
|
|||
"of the error."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:576
|
||||
#: c-api/intro.rst:583
|
||||
msgid ""
|
||||
"A simple example of detecting exceptions and passing them on is shown in "
|
||||
"the :c:func:`sum_sequence` example above. It so happens that this example "
|
||||
|
@ -587,11 +595,11 @@ msgid ""
|
|||
"why you like Python, we show the equivalent Python code::"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:591
|
||||
#: c-api/intro.rst:598
|
||||
msgid "Here is the corresponding C code, in all its glory::"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:643
|
||||
#: c-api/intro.rst:650
|
||||
msgid ""
|
||||
"This example represents an endorsed use of the ``goto`` statement in C! It "
|
||||
"illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:"
|
||||
|
@ -604,11 +612,11 @@ msgid ""
|
|||
"success after the final call made is successful."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:657
|
||||
#: c-api/intro.rst:664
|
||||
msgid "Embedding Python"
|
||||
msgstr "Embarquer Python"
|
||||
|
||||
#: c-api/intro.rst:659
|
||||
#: c-api/intro.rst:666
|
||||
msgid ""
|
||||
"The one important task that only embedders (as opposed to extension writers) "
|
||||
"of the Python interpreter have to worry about is the initialization, and "
|
||||
|
@ -616,7 +624,7 @@ msgid ""
|
|||
"the interpreter can only be used after the interpreter has been initialized."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:672
|
||||
#: c-api/intro.rst:679
|
||||
msgid ""
|
||||
"The basic initialization function is :c:func:`Py_Initialize`. This "
|
||||
"initializes the table of loaded modules, and creates the fundamental "
|
||||
|
@ -624,7 +632,7 @@ msgid ""
|
|||
"initializes the module search path (``sys.path``)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:679
|
||||
#: c-api/intro.rst:686
|
||||
msgid ""
|
||||
":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys."
|
||||
"argv``). If this variable is needed by Python code that will be executed "
|
||||
|
@ -632,7 +640,7 @@ msgid ""
|
|||
"argv, updatepath)`` after the call to :c:func:`Py_Initialize`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:684
|
||||
#: c-api/intro.rst:691
|
||||
msgid ""
|
||||
"On most systems (in particular, on Unix and Windows, although the details "
|
||||
"are slightly different), :c:func:`Py_Initialize` calculates the module "
|
||||
|
@ -644,7 +652,7 @@ msgid ""
|
|||
"on the shell command search path (the environment variable :envvar:`PATH`)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:693
|
||||
#: c-api/intro.rst:700
|
||||
msgid ""
|
||||
"For instance, if the Python executable is found in :file:`/usr/local/bin/"
|
||||
"python`, it will assume that the libraries are in :file:`/usr/local/lib/"
|
||||
|
@ -655,7 +663,7 @@ msgid ""
|
|||
"in front of the standard path by setting :envvar:`PYTHONPATH`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:708
|
||||
#: c-api/intro.rst:715
|
||||
msgid ""
|
||||
"The embedding application can steer the search by calling "
|
||||
"``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note "
|
||||
|
@ -666,7 +674,7 @@ msgid ""
|
|||
"func:`Py_GetProgramFullPath` (all defined in :file:`Modules/getpath.c`)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:718
|
||||
#: c-api/intro.rst:725
|
||||
msgid ""
|
||||
"Sometimes, it is desirable to \"uninitialize\" Python. For instance, the "
|
||||
"application may want to start over (make another call to :c:func:"
|
||||
|
@ -680,28 +688,28 @@ msgid ""
|
|||
"released."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:732
|
||||
#: c-api/intro.rst:739
|
||||
msgid "Debugging Builds"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:734
|
||||
#: c-api/intro.rst:741
|
||||
msgid ""
|
||||
"Python can be built with several macros to enable extra checks of the "
|
||||
"interpreter and extension modules. These checks tend to add a large amount "
|
||||
"of overhead to the runtime so they are not enabled by default."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:738
|
||||
#: c-api/intro.rst:745
|
||||
msgid ""
|
||||
"A full list of the various types of debugging builds is in the file :file:"
|
||||
"`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are "
|
||||
"available that support tracing of reference counts, debugging the memory "
|
||||
"allocator, or low-level profiling of the main interpreter loop. Only the "
|
||||
"most frequently-used builds will be described in the remainder of this "
|
||||
"most frequently used builds will be described in the remainder of this "
|
||||
"section."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:744
|
||||
#: c-api/intro.rst:751
|
||||
msgid ""
|
||||
"Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined "
|
||||
"produces what is generally meant by :ref:`a debug build of Python <debug-"
|
||||
|
@ -712,13 +720,13 @@ msgid ""
|
|||
"disabled."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:752
|
||||
#: c-api/intro.rst:759
|
||||
msgid ""
|
||||
"In addition to the reference count debugging described below, extra checks "
|
||||
"are performed, see :ref:`Python Debug Build <debug-build>`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:755
|
||||
#: c-api/intro.rst:762
|
||||
msgid ""
|
||||
"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the :option:"
|
||||
"`configure --with-trace-refs option <--with-trace-refs>`). When defined, a "
|
||||
|
@ -728,7 +736,7 @@ msgid ""
|
|||
"this happens after every statement run by the interpreter.)"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/intro.rst:762
|
||||
#: c-api/intro.rst:769
|
||||
msgid ""
|
||||
"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source "
|
||||
"distribution for more detailed information."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -32,8 +32,8 @@ msgstr "Renvoie vrai si l'objet *o* supporte le protocole d'itération."
|
|||
#: c-api/iter.rst:17
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Returns non-zero if the object 'obj' provides :class:`AsyncIterator` "
|
||||
"protocols, and ``0`` otherwise. This function always succeeds."
|
||||
"Return non-zero if the object *o* provides the :class:`AsyncIterator` "
|
||||
"protocol, and ``0`` otherwise. This function always succeeds."
|
||||
msgstr "Renvoie vrai si l'objet *o* supporte le protocole d'itération."
|
||||
|
||||
#: c-api/iter.rst:24
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -72,13 +72,13 @@ msgstr ""
|
|||
#: c-api/long.rst:43
|
||||
msgid ""
|
||||
"The current implementation keeps an array of integer objects for all "
|
||||
"integers between ``-5`` and ``256``, when you create an int in that range "
|
||||
"integers between ``-5`` and ``256``. When you create an int in that range "
|
||||
"you actually just get back a reference to the existing object."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:50
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, "
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, "
|
||||
"or ``NULL`` on failure."
|
||||
msgstr ""
|
||||
|
||||
|
@ -96,13 +96,13 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:68
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or "
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or "
|
||||
"``NULL`` on failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:74
|
||||
msgid ""
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long "
|
||||
"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long "
|
||||
"long`, or ``NULL`` on failure."
|
||||
msgstr ""
|
||||
|
||||
|
@ -139,7 +139,7 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:136
|
||||
msgid ""
|
||||
"Return a C :c:type:`long` representation of *obj*. If *obj* is not an "
|
||||
"Return a C :c:expr:`long` representation of *obj*. If *obj* is not an "
|
||||
"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method "
|
||||
"(if present) to convert it to a :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
@ -147,7 +147,7 @@ msgstr ""
|
|||
#: c-api/long.rst:122
|
||||
msgid ""
|
||||
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
|
||||
"type:`long`."
|
||||
"expr:`long`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:145 c-api/long.rst:186 c-api/long.rst:209
|
||||
|
@ -172,7 +172,7 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:177
|
||||
msgid ""
|
||||
"Return a C :c:type:`long long` representation of *obj*. If *obj* is not an "
|
||||
"Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an "
|
||||
"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method "
|
||||
"(if present) to convert it to a :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
@ -180,7 +180,7 @@ msgstr ""
|
|||
#: c-api/long.rst:163
|
||||
msgid ""
|
||||
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
|
||||
"type:`long long`."
|
||||
"expr:`long long`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:181
|
||||
|
@ -205,14 +205,14 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:218
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* "
|
||||
"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* "
|
||||
"must be an instance of :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:221
|
||||
msgid ""
|
||||
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
|
||||
"type:`unsigned long`."
|
||||
"expr:`unsigned long`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:224
|
||||
|
@ -241,14 +241,14 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:249
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long long` representation of *pylong*. "
|
||||
"Return a C :c:expr:`unsigned long long` representation of *pylong*. "
|
||||
"*pylong* must be an instance of :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:252
|
||||
msgid ""
|
||||
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :"
|
||||
"c:type:`unsigned long long`."
|
||||
"c:expr:`unsigned long long`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:255
|
||||
|
@ -264,14 +264,14 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:264
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not "
|
||||
"Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not "
|
||||
"an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` "
|
||||
"method (if present) to convert it to a :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:268
|
||||
msgid ""
|
||||
"If the value of *obj* is out of range for an :c:type:`unsigned long`, return "
|
||||
"If the value of *obj* is out of range for an :c:expr:`unsigned long`, return "
|
||||
"the reduction of that value modulo ``ULONG_MAX + 1``."
|
||||
msgstr ""
|
||||
|
||||
|
@ -283,14 +283,14 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:283
|
||||
msgid ""
|
||||
"Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* "
|
||||
"Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* "
|
||||
"is not an instance of :c:type:`PyLongObject`, first call its :meth:"
|
||||
"`__index__` method (if present) to convert it to a :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:288
|
||||
msgid ""
|
||||
"If the value of *obj* is out of range for an :c:type:`unsigned long long`, "
|
||||
"If the value of *obj* is out of range for an :c:expr:`unsigned long long`, "
|
||||
"return the reduction of that value modulo ``ULLONG_MAX + 1``."
|
||||
msgstr ""
|
||||
|
||||
|
@ -302,14 +302,14 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:303
|
||||
msgid ""
|
||||
"Return a C :c:type:`double` representation of *pylong*. *pylong* must be an "
|
||||
"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an "
|
||||
"instance of :c:type:`PyLongObject`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:306
|
||||
msgid ""
|
||||
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
|
||||
"type:`double`."
|
||||
"expr:`double`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/long.rst:309
|
||||
|
@ -319,9 +319,9 @@ msgstr ""
|
|||
|
||||
#: c-api/long.rst:314
|
||||
msgid ""
|
||||
"Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* "
|
||||
"Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* "
|
||||
"cannot be converted, an :exc:`OverflowError` will be raised. This is only "
|
||||
"assured to produce a usable :c:type:`void` pointer for values created with :"
|
||||
"assured to produce a usable :c:expr:`void` pointer for values created with :"
|
||||
"c:func:`PyLong_FromVoidPtr`."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2021-01-28 14:58+0100\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -32,11 +32,13 @@ msgstr ""
|
|||
# → pas correct en VO !
|
||||
# - "This function always succeeds." équivaut-il à "jamais d'erreur" ?
|
||||
#: c-api/mapping.rst:14
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return ``1`` if the object provides mapping protocol or supports slicing, "
|
||||
"and ``0`` otherwise. Note that it returns ``1`` for Python classes with a :"
|
||||
"meth:`__getitem__` method since in general case it is impossible to "
|
||||
"determine what type of keys it supports. This function always succeeds."
|
||||
"Return ``1`` if the object provides the mapping protocol or supports "
|
||||
"slicing, and ``0`` otherwise. Note that it returns ``1`` for Python classes "
|
||||
"with a :meth:`__getitem__` method, since in general it is impossible to "
|
||||
"determine what type of keys the class supports. This function always "
|
||||
"succeeds."
|
||||
msgstr ""
|
||||
"Renvoie ``1`` si l'objet prend en charge le protocole de correspondance ou "
|
||||
"le découpage en tranches et ``0`` sinon. Notez qu'elle renvoie ``1`` pour "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -41,9 +41,9 @@ msgstr ""
|
|||
|
||||
#: c-api/marshal.rst:24
|
||||
msgid ""
|
||||
"Marshal a :c:type:`long` integer, *value*, to *file*. This will only write "
|
||||
"Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write "
|
||||
"the least-significant 32 bits of *value*; regardless of the size of the "
|
||||
"native :c:type:`long` type. *version* indicates the file format."
|
||||
"native :c:expr:`long` type. *version* indicates the file format."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/marshal.rst:31
|
||||
|
@ -64,9 +64,9 @@ msgstr ""
|
|||
|
||||
#: c-api/marshal.rst:46
|
||||
msgid ""
|
||||
"Return a C :c:type:`long` from the data stream in a :c:type:`FILE*` opened "
|
||||
"Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened "
|
||||
"for reading. Only a 32-bit value can be read in using this function, "
|
||||
"regardless of the native size of :c:type:`long`."
|
||||
"regardless of the native size of :c:expr:`long`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/marshal.rst:60
|
||||
|
@ -77,14 +77,14 @@ msgstr ""
|
|||
|
||||
#: c-api/marshal.rst:56
|
||||
msgid ""
|
||||
"Return a C :c:type:`short` from the data stream in a :c:type:`FILE*` opened "
|
||||
"Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened "
|
||||
"for reading. Only a 16-bit value can be read in using this function, "
|
||||
"regardless of the native size of :c:type:`short`."
|
||||
"regardless of the native size of :c:expr:`short`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/marshal.rst:66
|
||||
msgid ""
|
||||
"Return a Python object from the data stream in a :c:type:`FILE*` opened for "
|
||||
"Return a Python object from the data stream in a :c:expr:`FILE*` opened for "
|
||||
"reading."
|
||||
msgstr ""
|
||||
|
||||
|
@ -96,7 +96,7 @@ msgstr ""
|
|||
|
||||
#: c-api/marshal.rst:75
|
||||
msgid ""
|
||||
"Return a Python object from the data stream in a :c:type:`FILE*` opened for "
|
||||
"Return a Python object from the data stream in a :c:expr:`FILE*` opened for "
|
||||
"reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function "
|
||||
"assumes that no further objects will be read from the file, allowing it to "
|
||||
"aggressively load file data into memory so that the de-serialization can "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -82,7 +82,7 @@ msgid ""
|
|||
"extended with new object types written in C. Another reason for using the "
|
||||
"Python heap is the desire to *inform* the Python memory manager about the "
|
||||
"memory needs of the extension module. Even when the requested memory is used "
|
||||
"exclusively for internal, highly-specific purposes, delegating all memory "
|
||||
"exclusively for internal, highly specific purposes, delegating all memory "
|
||||
"requests to the Python memory manager causes the interpreter to have a more "
|
||||
"accurate image of its memory footprint as a whole. Consequently, under "
|
||||
"certain circumstances, the Python memory manager may or may not trigger "
|
||||
|
@ -179,7 +179,7 @@ msgstr ""
|
|||
|
||||
#: c-api/memory.rst:215 c-api/memory.rst:323
|
||||
msgid ""
|
||||
"Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the "
|
||||
"Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the "
|
||||
"allocated memory, or ``NULL`` if the request fails."
|
||||
msgstr ""
|
||||
|
||||
|
@ -193,7 +193,7 @@ msgstr ""
|
|||
#: c-api/memory.rst:225 c-api/memory.rst:333
|
||||
msgid ""
|
||||
"Allocates *nelem* elements each whose size in bytes is *elsize* and returns "
|
||||
"a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if "
|
||||
"a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if "
|
||||
"the request fails. The memory is initialized to zeros."
|
||||
msgstr ""
|
||||
|
||||
|
@ -320,14 +320,14 @@ msgstr ""
|
|||
#: c-api/memory.rst:267
|
||||
msgid ""
|
||||
"Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes "
|
||||
"of memory. Returns a pointer cast to :c:type:`TYPE*`. The memory will not "
|
||||
"of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not "
|
||||
"have been initialized in any way."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/memory.rst:274
|
||||
msgid ""
|
||||
"Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * "
|
||||
"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE*`. On "
|
||||
"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On "
|
||||
"return, *p* will be a pointer to the new memory area, or ``NULL`` in the "
|
||||
"event of failure."
|
||||
msgstr ""
|
||||
|
@ -381,7 +381,7 @@ msgstr ""
|
|||
#: c-api/memory.rst:308
|
||||
msgid ""
|
||||
"There is no guarantee that the memory returned by these allocators can be "
|
||||
"successfully casted to a Python object when intercepting the allocating "
|
||||
"successfully cast to a Python object when intercepting the allocating "
|
||||
"functions in this domain by the methods described in the :ref:`Customize "
|
||||
"Memory Allocators <customize-memory-allocators>` section."
|
||||
msgstr ""
|
||||
|
@ -544,8 +544,8 @@ msgstr ""
|
|||
|
||||
#: c-api/memory.rst:405
|
||||
msgid ""
|
||||
"Structure used to describe a memory block allocator. The structure has four "
|
||||
"fields:"
|
||||
"Structure used to describe a memory block allocator. The structure has the "
|
||||
"following fields:"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/memory.rst:626
|
||||
|
@ -771,9 +771,9 @@ msgid ""
|
|||
"Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each "
|
||||
"block of *N* bytes requested. The memory layout is like so, where p "
|
||||
"represents the address returned by a malloc-like or realloc-like function "
|
||||
"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to ``*(p"
|
||||
"+j)`` exclusive; note that the treatment of negative indices differs from a "
|
||||
"Python slice):"
|
||||
"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to "
|
||||
"``*(p+j)`` exclusive; note that the treatment of negative indices differs "
|
||||
"from a Python slice):"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/memory.rst:532
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -40,7 +40,7 @@ msgstr ""
|
|||
|
||||
#: c-api/method.rst:30
|
||||
msgid ""
|
||||
"Return a new instance method object, with *func* being any callable object "
|
||||
"Return a new instance method object, with *func* being any callable object. "
|
||||
"*func* is the function that will be called when the instance method is "
|
||||
"called."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -65,9 +65,9 @@ msgstr ""
|
|||
|
||||
#: c-api/module.rst:67
|
||||
msgid ""
|
||||
"It is recommended extensions use other :c:func:`PyModule_\\*` and :c:func:"
|
||||
"`PyObject_\\*` functions rather than directly manipulate a module's :attr:"
|
||||
"`~object.__dict__`."
|
||||
"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` "
|
||||
"functions rather than directly manipulate a module's :attr:`~object."
|
||||
"__dict__`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/module.rst:78
|
||||
|
@ -510,7 +510,7 @@ msgstr ""
|
|||
|
||||
#: c-api/module.rst:506
|
||||
msgid "Example usage::"
|
||||
msgstr ""
|
||||
msgstr "Exemple d'utilisation ::"
|
||||
|
||||
#: c-api/module.rst:524
|
||||
msgid ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -55,7 +55,7 @@ msgstr ""
|
|||
#: c-api/number.rst:46
|
||||
msgid ""
|
||||
"Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is "
|
||||
"equivalent to the \"classic\" division of integers."
|
||||
"the equivalent of the Python expression ``o1 // o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:52
|
||||
|
@ -64,7 +64,8 @@ msgid ""
|
|||
"by *o2*, or ``NULL`` on failure. The return value is \"approximate\" "
|
||||
"because binary floating point numbers are approximate; it is not possible to "
|
||||
"represent all real numbers in base two. This function can return a floating "
|
||||
"point value when passed two integers."
|
||||
"point value when passed two integers. This is the equivalent of the Python "
|
||||
"expression ``o1 / o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:61
|
||||
|
@ -183,17 +184,18 @@ msgid ""
|
|||
"because binary floating point numbers are approximate; it is not possible to "
|
||||
"represent all real numbers in base two. This function can return a floating "
|
||||
"point value when passed two integers. The operation is done *in-place* when "
|
||||
"*o1* supports it."
|
||||
"*o1* supports it. This is the equivalent of the Python statement ``o1 /= "
|
||||
"o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:187
|
||||
#: c-api/number.rst:188
|
||||
msgid ""
|
||||
"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. The "
|
||||
"operation is done *in-place* when *o1* supports it. This is the equivalent "
|
||||
"of the Python statement ``o1 %= o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:196
|
||||
#: c-api/number.rst:197
|
||||
msgid ""
|
||||
"See the built-in function :func:`pow`. Returns ``NULL`` on failure. The "
|
||||
"operation is done *in-place* when *o1* supports it. This is the equivalent "
|
||||
|
@ -203,66 +205,66 @@ msgid ""
|
|||
"an illegal memory access)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:205
|
||||
#: c-api/number.rst:206
|
||||
msgid ""
|
||||
"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on "
|
||||
"failure. The operation is done *in-place* when *o1* supports it. This is "
|
||||
"the equivalent of the Python statement ``o1 <<= o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:212
|
||||
#: c-api/number.rst:213
|
||||
msgid ""
|
||||
"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on "
|
||||
"failure. The operation is done *in-place* when *o1* supports it. This is "
|
||||
"the equivalent of the Python statement ``o1 >>= o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:219
|
||||
#: c-api/number.rst:220
|
||||
msgid ""
|
||||
"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on "
|
||||
"failure. The operation is done *in-place* when *o1* supports it. This is "
|
||||
"the equivalent of the Python statement ``o1 &= o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:226
|
||||
#: c-api/number.rst:227
|
||||
msgid ""
|
||||
"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` "
|
||||
"on failure. The operation is done *in-place* when *o1* supports it. This "
|
||||
"is the equivalent of the Python statement ``o1 ^= o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:233
|
||||
#: c-api/number.rst:234
|
||||
msgid ""
|
||||
"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on "
|
||||
"failure. The operation is done *in-place* when *o1* supports it. This is "
|
||||
"the equivalent of the Python statement ``o1 |= o2``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:242
|
||||
#: c-api/number.rst:243
|
||||
msgid ""
|
||||
"Returns the *o* converted to an integer object on success, or ``NULL`` on "
|
||||
"failure. This is the equivalent of the Python expression ``int(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:250
|
||||
#: c-api/number.rst:251
|
||||
msgid ""
|
||||
"Returns the *o* converted to a float object on success, or ``NULL`` on "
|
||||
"failure. This is the equivalent of the Python expression ``float(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:256
|
||||
#: c-api/number.rst:257
|
||||
msgid ""
|
||||
"Returns the *o* converted to a Python int on success or ``NULL`` with a :exc:"
|
||||
"`TypeError` exception raised on failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:259
|
||||
#: c-api/number.rst:260
|
||||
msgid ""
|
||||
"The result always has exact type :class:`int`. Previously, the result could "
|
||||
"have been an instance of a subclass of ``int``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:266
|
||||
#: c-api/number.rst:267
|
||||
msgid ""
|
||||
"Returns the integer *n* converted to base *base* as a string. The *base* "
|
||||
"argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned "
|
||||
|
@ -271,25 +273,26 @@ msgid ""
|
|||
"`PyNumber_Index` first."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:275
|
||||
#: c-api/number.rst:276
|
||||
msgid ""
|
||||
"Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an "
|
||||
"integer. If the call fails, an exception is raised and ``-1`` is returned."
|
||||
"Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be "
|
||||
"interpreted as an integer. If the call fails, an exception is raised and "
|
||||
"``-1`` is returned."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:278
|
||||
#: c-api/number.rst:279
|
||||
msgid ""
|
||||
"If *o* can be converted to a Python int but the attempt to convert to a "
|
||||
"Py_ssize_t value would raise an :exc:`OverflowError`, then the *exc* "
|
||||
"If *o* can be converted to a Python int but the attempt to convert to a :c:"
|
||||
"type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the *exc* "
|
||||
"argument is the type of exception that will be raised (usually :exc:"
|
||||
"`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the "
|
||||
"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a "
|
||||
"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/number.rst:288
|
||||
#: c-api/number.rst:289
|
||||
msgid ""
|
||||
"Returns ``1`` if *o* is an index integer (has the nb_index slot of the "
|
||||
"tp_as_number structure filled in), and ``0`` otherwise. This function always "
|
||||
"succeeds."
|
||||
"Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the "
|
||||
"``tp_as_number`` structure filled in), and ``0`` otherwise. This function "
|
||||
"always succeeds."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2019-08-16 22:56+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -118,7 +118,7 @@ msgstr ""
|
|||
"attributs d'instance, contrairement aux autres descripteurs. Sinon, une :exc:"
|
||||
"`AttributeError` est levée."
|
||||
|
||||
#: c-api/object.rst:90
|
||||
#: c-api/object.rst:91
|
||||
msgid ""
|
||||
"Set the value of the attribute named *attr_name*, for object *o*, to the "
|
||||
"value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on "
|
||||
|
@ -132,22 +132,23 @@ msgstr ""
|
|||
#: c-api/object.rst:84
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If *v* is ``NULL``, the attribute is deleted, however this feature is "
|
||||
"deprecated in favour of using :c:func:`PyObject_DelAttr`."
|
||||
"If *v* is ``NULL``, the attribute is deleted. This behaviour is deprecated "
|
||||
"in favour of using :c:func:`PyObject_DelAttr`, but there are currently no "
|
||||
"plans to remove it."
|
||||
msgstr ""
|
||||
"Si *v* est *NULL*, l'attribut est supprimé. Cette fonctionnalité est "
|
||||
"obsolète,nous vous conseillons d'utiliser :c:func:`PyObject_DelAttr`."
|
||||
|
||||
#: c-api/object.rst:95
|
||||
#: c-api/object.rst:96
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If *v* is ``NULL``, the attribute is deleted, however this feature is "
|
||||
"deprecated in favour of using :c:func:`PyObject_DelAttrString`."
|
||||
"If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated "
|
||||
"in favour of using :c:func:`PyObject_DelAttrString`."
|
||||
msgstr ""
|
||||
"Si *v* est *NULL*, l'attribut est supprimé. Cette fonctionnalité est "
|
||||
"obsolète, nous vous conseillons d'utiliser :c:func:`PyObject_DelAttr`."
|
||||
|
||||
#: c-api/object.rst:101
|
||||
#: c-api/object.rst:102
|
||||
msgid ""
|
||||
"Generic attribute setter and deleter function that is meant to be put into a "
|
||||
"type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a "
|
||||
|
@ -167,7 +168,7 @@ msgstr ""
|
|||
"attr:`~object.__dict__` de l'objet (si présent). En cas de succès, ``0`` est "
|
||||
"renvoyé, sinon une :exc:`AttributeError` est levée et ``-1`` est renvoyé."
|
||||
|
||||
#: c-api/object.rst:119
|
||||
#: c-api/object.rst:120
|
||||
msgid ""
|
||||
"Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on "
|
||||
"failure. This is the equivalent of the Python statement ``del o.attr_name``."
|
||||
|
@ -176,7 +177,7 @@ msgstr ""
|
|||
"cas d'échec. Ceci est l'équivalent de l'expression Python ``del o."
|
||||
"attr_name``."
|
||||
|
||||
#: c-api/object.rst:125
|
||||
#: c-api/object.rst:126
|
||||
msgid ""
|
||||
"A generic implementation for the getter of a ``__dict__`` descriptor. It "
|
||||
"creates the dictionary if necessary."
|
||||
|
@ -184,7 +185,7 @@ msgstr ""
|
|||
"Une implémentation générique de l'accesseur d'un descripteur d'un "
|
||||
"``__dict__``. Crée le dictionnaire si nécessaire."
|
||||
|
||||
#: c-api/object.rst:133
|
||||
#: c-api/object.rst:134
|
||||
msgid ""
|
||||
"A generic implementation for the setter of a ``__dict__`` descriptor. This "
|
||||
"implementation does not allow the dictionary to be deleted."
|
||||
|
@ -192,7 +193,7 @@ msgstr ""
|
|||
"Une implémentation générique du mutateur d'un descripteur de ``__dict__``. "
|
||||
"Cette implémentation n'autorise pas la suppression du dictionnaire."
|
||||
|
||||
#: c-api/object.rst:141
|
||||
#: c-api/object.rst:142
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Compare the values of *o1* and *o2* using the operation specified by *opid*, "
|
||||
|
@ -211,7 +212,7 @@ msgstr ""
|
|||
"*opid*. Renvoie la valeur de la comparaison en cas de succès, ou *NULL* en "
|
||||
"cas d'échec."
|
||||
|
||||
#: c-api/object.rst:151
|
||||
#: c-api/object.rst:152
|
||||
msgid ""
|
||||
"Compare the values of *o1* and *o2* using the operation specified by *opid*, "
|
||||
"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:"
|
||||
|
@ -229,7 +230,7 @@ msgstr ""
|
|||
"l'équivalent de l'expression Python ``o1 op o2``, où ``op`` est l'opérateur "
|
||||
"correspondant à *opid*."
|
||||
|
||||
#: c-api/object.rst:160
|
||||
#: c-api/object.rst:161
|
||||
msgid ""
|
||||
"If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` "
|
||||
"will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`."
|
||||
|
@ -237,7 +238,7 @@ msgstr ""
|
|||
"Si *o1* et *o2* sont le même objet, :c:func:`PyObject_RichCompareBool` "
|
||||
"renvoie toujours ``1`` pour :const:`Py_EQ` et ``0`` pour :const:`Py_NE`."
|
||||
|
||||
#: c-api/object.rst:167
|
||||
#: c-api/object.rst:168
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Compute a string representation of object *o*. Returns the string "
|
||||
|
@ -250,7 +251,7 @@ msgstr ""
|
|||
"d'échec. Ceci est l'équivalent de l'expression Python ``repr(o)``. Appelé "
|
||||
"par la fonction native :func:`repr`."
|
||||
|
||||
#: c-api/object.rst:195
|
||||
#: c-api/object.rst:196
|
||||
msgid ""
|
||||
"This function now includes a debug assertion to help ensure that it does not "
|
||||
"silently discard an active exception."
|
||||
|
@ -258,7 +259,7 @@ msgstr ""
|
|||
"Cette fonction inclut maintenant une assertion de débogage afin d'assurer "
|
||||
"qu'elle ne passe pas sous silence une exception active."
|
||||
|
||||
#: c-api/object.rst:179
|
||||
#: c-api/object.rst:180
|
||||
msgid ""
|
||||
"As :c:func:`PyObject_Repr`, compute a string representation of object *o*, "
|
||||
"but escape the non-ASCII characters in the string returned by :c:func:"
|
||||
|
@ -268,12 +269,12 @@ msgid ""
|
|||
msgstr ""
|
||||
"Comme :c:Func:`PyObject_Repr`, calcule une représentation en chaîne de "
|
||||
"caractères de l'objet *o*, mais échappe les caractères non ASCII dans la "
|
||||
"chaîne de caractères renvoyée par :c:Func:`PyObject_Repr` avec' ``\\x``, ``"
|
||||
"\\u`` ou ``\\U``. Cela génère une chaîne de caractères similaire à celle "
|
||||
"chaîne de caractères renvoyée par :c:Func:`PyObject_Repr` avec' ``\\x``, "
|
||||
"``\\u`` ou ``\\U``. Cela génère une chaîne de caractères similaire à celle "
|
||||
"renvoyée par :c:func:`PyObject_Repr` en Python 2. Appelée par la fonction "
|
||||
"native :func:`ascii`."
|
||||
|
||||
#: c-api/object.rst:190
|
||||
#: c-api/object.rst:191
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Compute a string representation of object *o*. Returns the string "
|
||||
|
@ -287,7 +288,7 @@ msgstr ""
|
|||
"par la fonction native :func:`str`, et, par conséquent, par la fonction :"
|
||||
"func:`print`."
|
||||
|
||||
#: c-api/object.rst:204
|
||||
#: c-api/object.rst:205
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Compute a bytes representation of object *o*. ``NULL`` is returned on "
|
||||
|
@ -302,7 +303,7 @@ msgstr ""
|
|||
"entier. Contrairement à ``bytes(o)``, une exception *TypeError* est levée "
|
||||
"lorsque *o* est un entier au lieu d'un objet octet initialisé avec des zéros."
|
||||
|
||||
#: c-api/object.rst:213
|
||||
#: c-api/object.rst:214
|
||||
msgid ""
|
||||
"Return ``1`` if the class *derived* is identical to or derived from the "
|
||||
"class *cls*, otherwise return ``0``. In case of an error, return ``-1``."
|
||||
|
@ -310,7 +311,7 @@ msgstr ""
|
|||
"Renvoie ``1`` si la classe *derived* est identique à ou dérivée de la classe "
|
||||
"*cls*, renvoie ``0`` sinon. En cas d'erreur, renvoie ``-1``."
|
||||
|
||||
#: c-api/object.rst:235
|
||||
#: c-api/object.rst:236
|
||||
msgid ""
|
||||
"If *cls* is a tuple, the check will be done against every entry in *cls*. "
|
||||
"The result will be ``1`` when at least one of the checks returns ``1``, "
|
||||
|
@ -320,7 +321,7 @@ msgstr ""
|
|||
"*cls*. Le résultat sera ``1`` quand au moins une des vérifications renvoie "
|
||||
"``1``, sinon ce sera ``0``."
|
||||
|
||||
#: c-api/object.rst:220
|
||||
#: c-api/object.rst:221
|
||||
msgid ""
|
||||
"If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to "
|
||||
"determine the subclass status as described in :pep:`3119`. Otherwise, "
|
||||
|
@ -332,7 +333,7 @@ msgstr ""
|
|||
"Sinon, *derived* est une sous-classe de *cls* si c'est une sous-classe "
|
||||
"directe ou indirecte, c'est-à-dire contenue dans ``cls.__mro__``."
|
||||
|
||||
#: c-api/object.rst:225
|
||||
#: c-api/object.rst:226
|
||||
msgid ""
|
||||
"Normally only class objects, i.e. instances of :class:`type` or a derived "
|
||||
"class, are considered classes. However, objects can override this by having "
|
||||
|
@ -343,7 +344,7 @@ msgstr ""
|
|||
"les objets peuvent surcharger cela en ayant un attribut :attr:`__bases__` "
|
||||
"(qui doit être un *n*-uplet de classes de bases)."
|
||||
|
||||
#: c-api/object.rst:232
|
||||
#: c-api/object.rst:233
|
||||
msgid ""
|
||||
"Return ``1`` if *inst* is an instance of the class *cls* or a subclass of "
|
||||
"*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception."
|
||||
|
@ -352,7 +353,7 @@ msgstr ""
|
|||
"classe de *cls*, ou ``0`` sinon. En cas d'erreur, renvoie ``-1`` et "
|
||||
"initialise une exception."
|
||||
|
||||
#: c-api/object.rst:239
|
||||
#: c-api/object.rst:240
|
||||
msgid ""
|
||||
"If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to "
|
||||
"determine the subclass status as described in :pep:`3119`. Otherwise, "
|
||||
|
@ -363,7 +364,7 @@ msgstr ""
|
|||
"Sinon, *inst* est une instance *cls* si sa classe est une sous-classe de "
|
||||
"*cls*."
|
||||
|
||||
#: c-api/object.rst:243
|
||||
#: c-api/object.rst:244
|
||||
msgid ""
|
||||
"An instance *inst* can override what is considered its class by having a :"
|
||||
"attr:`__class__` attribute."
|
||||
|
@ -371,7 +372,7 @@ msgstr ""
|
|||
"Une instance *inst* peut surcharger ce qui est considéré comme sa classe en "
|
||||
"ayant un attribut :attr:`__class__`."
|
||||
|
||||
#: c-api/object.rst:246
|
||||
#: c-api/object.rst:247
|
||||
msgid ""
|
||||
"An object *cls* can override if it is considered a class, and what its base "
|
||||
"classes are, by having a :attr:`__bases__` attribute (which must be a tuple "
|
||||
|
@ -381,19 +382,19 @@ msgstr ""
|
|||
"que ses classes de bases sont, en ayant un attribut :attr:`__bases__` (qui "
|
||||
"doit être un *n*-uplet des classes de base)."
|
||||
|
||||
#: c-api/object.rst:255
|
||||
#: c-api/object.rst:256
|
||||
msgid ""
|
||||
"Compute and return the hash value of an object *o*. On failure, return "
|
||||
"``-1``. This is the equivalent of the Python expression ``hash(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:258
|
||||
#: c-api/object.rst:259
|
||||
msgid ""
|
||||
"The return type is now Py_hash_t. This is a signed integer the same size as "
|
||||
"Py_ssize_t."
|
||||
"The return type is now Py_hash_t. This is a signed integer the same size "
|
||||
"as :c:type:`Py_ssize_t`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:265
|
||||
#: c-api/object.rst:266
|
||||
msgid ""
|
||||
"Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and "
|
||||
"return ``-1``. This function receives special treatment when stored in a "
|
||||
|
@ -401,38 +402,38 @@ msgid ""
|
|||
"that it is not hashable."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:273
|
||||
#: c-api/object.rst:274
|
||||
msgid ""
|
||||
"Returns ``1`` if the object *o* is considered to be true, and ``0`` "
|
||||
"otherwise. This is equivalent to the Python expression ``not not o``. On "
|
||||
"failure, return ``-1``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:280
|
||||
#: c-api/object.rst:281
|
||||
msgid ""
|
||||
"Returns ``0`` if the object *o* is considered to be true, and ``1`` "
|
||||
"otherwise. This is equivalent to the Python expression ``not o``. On "
|
||||
"failure, return ``-1``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:289
|
||||
#: c-api/object.rst:290
|
||||
msgid ""
|
||||
"When *o* is non-``NULL``, returns a type object corresponding to the object "
|
||||
"type of object *o*. On failure, raises :exc:`SystemError` and returns "
|
||||
"``NULL``. This is equivalent to the Python expression ``type(o)``. This "
|
||||
"function increments the reference count of the return value. There's really "
|
||||
"no reason to use this function instead of the common expression ``o-"
|
||||
">ob_type``, which returns a pointer of type :c:type:`PyTypeObject*`, except "
|
||||
"when the incremented reference count is needed."
|
||||
"no reason to use this function instead of the :c:func:`Py_TYPE()` function, "
|
||||
"which returns a pointer of type :c:expr:`PyTypeObject*`, except when the "
|
||||
"incremented reference count is needed."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:300
|
||||
#: c-api/object.rst:301
|
||||
msgid ""
|
||||
"Return non-zero if the object *o* is of type *type* or a subtype of *type*, "
|
||||
"and ``0`` otherwise. Both parameters must be non-``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:309
|
||||
#: c-api/object.rst:310
|
||||
msgid ""
|
||||
"Return the length of object *o*. If the object *o* provides either the "
|
||||
"sequence and mapping protocols, the sequence length is returned. On error, "
|
||||
|
@ -440,7 +441,7 @@ msgid ""
|
|||
"``len(o)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:316
|
||||
#: c-api/object.rst:317
|
||||
msgid ""
|
||||
"Return an estimated length for the object *o*. First try to return its "
|
||||
"actual length, then an estimate using :meth:`~object.__length_hint__`, and "
|
||||
|
@ -449,7 +450,7 @@ msgid ""
|
|||
"defaultvalue)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:326
|
||||
#: c-api/object.rst:327
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Return element of *o* corresponding to the object *key* or ``NULL`` on "
|
||||
|
@ -459,7 +460,7 @@ msgstr ""
|
|||
"l'attribut en cas de succès, ou *NULL* en cas d'échec. Ceci est équivalent à "
|
||||
"l'expression Python ``o.attr_name``."
|
||||
|
||||
#: c-api/object.rst:332
|
||||
#: c-api/object.rst:333
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Map the object *key* to the value *v*. Raise an exception and return ``-1`` "
|
||||
|
@ -471,7 +472,7 @@ msgstr ""
|
|||
"``0`` en cas de succès. Ceci est équivalent à l'instruction Python ``o."
|
||||
"attr_name = v``."
|
||||
|
||||
#: c-api/object.rst:340
|
||||
#: c-api/object.rst:341
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Remove the mapping for the object *key* from the object *o*. Return ``-1`` "
|
||||
|
@ -481,7 +482,7 @@ msgstr ""
|
|||
"Renvoie ``-1`` en cas d'échec. C'est l'équivalent de la commande Python "
|
||||
"``del o[key]``."
|
||||
|
||||
#: c-api/object.rst:346
|
||||
#: c-api/object.rst:347
|
||||
msgid ""
|
||||
"This is equivalent to the Python expression ``dir(o)``, returning a "
|
||||
"(possibly empty) list of strings appropriate for the object argument, or "
|
||||
|
@ -491,7 +492,7 @@ msgid ""
|
|||
"`PyErr_Occurred` will return false."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:355
|
||||
#: c-api/object.rst:356
|
||||
msgid ""
|
||||
"This is equivalent to the Python expression ``iter(o)``. It returns a new "
|
||||
"iterator for the object argument, or the object itself if the object is "
|
||||
|
@ -499,7 +500,7 @@ msgid ""
|
|||
"object cannot be iterated."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/object.rst:363
|
||||
#: c-api/object.rst:364
|
||||
msgid ""
|
||||
"This is the equivalent to the Python expression ``aiter(o)``. Takes an :"
|
||||
"class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -71,7 +71,7 @@ msgstr ""
|
|||
|
||||
#: c-api/refcounting.rst:45
|
||||
msgid "For example::"
|
||||
msgstr ""
|
||||
msgstr "Par exemple ::"
|
||||
|
||||
#: c-api/refcounting.rst:50
|
||||
msgid "can be written as::"
|
||||
|
@ -147,15 +147,19 @@ msgid ""
|
|||
"count of an object that might be traversed during garbage collection."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/refcounting.rst:113
|
||||
#: c-api/refcounting.rst:114
|
||||
msgid ""
|
||||
"The following functions are for runtime dynamic embedding of Python: "
|
||||
"``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply "
|
||||
"exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`, "
|
||||
"respectively."
|
||||
"Increment the reference count for object *o*. A function version of :c:func:"
|
||||
"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/refcounting.rst:118
|
||||
#: c-api/refcounting.rst:120
|
||||
msgid ""
|
||||
"Decrement the reference count for object *o*. A function version of :c:func:"
|
||||
"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/refcounting.rst:124
|
||||
msgid ""
|
||||
"The following functions or macros are only for use within the interpreter "
|
||||
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-03-18 17:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-26 12:01+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -105,6 +105,6 @@ msgid ""
|
|||
msgstr ""
|
||||
"Renvoie une description en chaîne de caractères, en fonction du type de "
|
||||
"*func*. Les valeurs renvoyées peuvent être ``\"()\"`` pour les fonction et "
|
||||
"les méthodes, ``\\\" constructor\\\"``, ``\\\" instance\\\"``, ``\\\" object"
|
||||
"\\\"``. Concaténé avec le résultat de :c:func:`PyEval_GetFuncName`, le "
|
||||
"les méthodes, ``\\\" constructor\\\"``, ``\\\" instance\\\"``, ``\\\" "
|
||||
"object\\\"``. Concaténé avec le résultat de :c:func:`PyEval_GetFuncName`, le "
|
||||
"résultat sera une description de *func*"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -20,11 +20,11 @@ msgstr ""
|
|||
|
||||
#: c-api/sequence.rst:11
|
||||
msgid ""
|
||||
"Return ``1`` if the object provides sequence protocol, and ``0`` otherwise. "
|
||||
"Note that it returns ``1`` for Python classes with a :meth:`__getitem__` "
|
||||
"method unless they are :class:`dict` subclasses since in general case it is "
|
||||
"impossible to determine what the type of keys it supports. This function "
|
||||
"always succeeds."
|
||||
"Return ``1`` if the object provides the sequence protocol, and ``0`` "
|
||||
"otherwise. Note that it returns ``1`` for Python classes with a :meth:"
|
||||
"`__getitem__` method, unless they are :class:`dict` subclasses, since in "
|
||||
"general it is impossible to determine what type of keys the class supports. "
|
||||
"This function always succeeds."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sequence.rst:23
|
||||
|
@ -85,8 +85,8 @@ msgstr ""
|
|||
|
||||
#: c-api/sequence.rst:72
|
||||
msgid ""
|
||||
"If *v* is ``NULL``, the element is deleted, however this feature is "
|
||||
"deprecated in favour of using :c:func:`PySequence_DelItem`."
|
||||
"If *v* is ``NULL``, the element is deleted, but this feature is deprecated "
|
||||
"in favour of using :c:func:`PySequence_DelItem`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sequence.rst:78
|
||||
|
@ -166,8 +166,8 @@ msgstr ""
|
|||
#: c-api/sequence.rst:148
|
||||
msgid ""
|
||||
"Returns the length of *o*, assuming that *o* was returned by :c:func:"
|
||||
"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be gotten "
|
||||
"by calling :c:func:`PySequence_Size` on *o*, but :c:func:"
|
||||
"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be "
|
||||
"retrieved by calling :c:func:`PySequence_Size` on *o*, but :c:func:"
|
||||
"`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a list or "
|
||||
"tuple."
|
||||
msgstr ""
|
||||
|
|
26
c-api/set.po
26
c-api/set.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -21,14 +21,14 @@ msgstr ""
|
|||
#: c-api/set.rst:15
|
||||
msgid ""
|
||||
"This section details the public API for :class:`set` and :class:`frozenset` "
|
||||
"objects. Any functionality not listed below is best accessed using the "
|
||||
"either the abstract object protocol (including :c:func:"
|
||||
"`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:"
|
||||
"`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:"
|
||||
"`PyObject_Print`, and :c:func:`PyObject_GetIter`) or the abstract number "
|
||||
"protocol (including :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:"
|
||||
"func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :"
|
||||
"c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:"
|
||||
"objects. Any functionality not listed below is best accessed using either "
|
||||
"the abstract object protocol (including :c:func:`PyObject_CallMethod`, :c:"
|
||||
"func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:"
|
||||
"`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, and :c:"
|
||||
"func:`PyObject_GetIter`) or the abstract number protocol (including :c:func:"
|
||||
"`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:"
|
||||
"`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:"
|
||||
"`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:"
|
||||
"`PyNumber_InPlaceXor`)."
|
||||
msgstr ""
|
||||
|
||||
|
@ -39,9 +39,9 @@ msgid ""
|
|||
"`PyDictObject` in that it is a fixed size for small sets (much like tuple "
|
||||
"storage) and will point to a separate, variable sized block of memory for "
|
||||
"medium and large sized sets (much like list storage). None of the fields of "
|
||||
"this structure should be considered public and are subject to change. All "
|
||||
"access should be done through the documented API rather than by manipulating "
|
||||
"the values in the structure."
|
||||
"this structure should be considered public and all are subject to change. "
|
||||
"All access should be done through the documented API rather than by "
|
||||
"manipulating the values in the structure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/set.rst:40
|
||||
|
@ -151,7 +151,7 @@ msgstr ""
|
|||
#: c-api/set.rst:133
|
||||
msgid ""
|
||||
"Add *key* to a :class:`set` instance. Also works with :class:`frozenset` "
|
||||
"instances (like :c:func:`PyTuple_SetItem` it can be used to fill-in the "
|
||||
"instances (like :c:func:`PyTuple_SetItem` it can be used to fill in the "
|
||||
"values of brand new frozensets before they are exposed to other code). "
|
||||
"Return ``0`` on success or ``-1`` on failure. Raise a :exc:`TypeError` if "
|
||||
"the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -45,7 +45,7 @@ msgid ""
|
|||
"In a normal \"release\" build, it contains only the object's reference count "
|
||||
"and a pointer to the corresponding type object. Nothing is actually declared "
|
||||
"to be a :c:type:`PyObject`, but every pointer to a Python object can be cast "
|
||||
"to a :c:type:`PyObject*`. Access to the members must be done by using the "
|
||||
"to a :c:expr:`PyObject*`. Access to the members must be done by using the "
|
||||
"macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`."
|
||||
msgstr ""
|
||||
|
||||
|
@ -111,7 +111,7 @@ msgid "Return a :term:`borrowed reference`."
|
|||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:102
|
||||
msgid "The :c:func:`Py_SET_TYPE` function must be used to set an object type."
|
||||
msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:107
|
||||
|
@ -143,7 +143,7 @@ msgid "Get the size of the Python object *o*."
|
|||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:140
|
||||
msgid "The :c:func:`Py_SET_SIZE` function must be used to set an object size."
|
||||
msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:145
|
||||
|
@ -170,7 +170,7 @@ msgstr ""
|
|||
#: c-api/structures.rst:174
|
||||
msgid ""
|
||||
"Type of the functions used to implement most Python callables in C. "
|
||||
"Functions of this type take two :c:type:`PyObject*` parameters and return "
|
||||
"Functions of this type take two :c:expr:`PyObject*` parameters and return "
|
||||
"one such value. If the return value is ``NULL``, an exception shall have "
|
||||
"been set. If not ``NULL``, the return value is interpreted as the return "
|
||||
"value of the function as exposed in Python. The function must return a new "
|
||||
|
@ -212,24 +212,24 @@ msgid ""
|
|||
"has four fields:"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:397 c-api/structures.rst:493
|
||||
#: c-api/structures.rst:395 c-api/structures.rst:491
|
||||
msgid "Field"
|
||||
msgstr "Champ"
|
||||
|
||||
#: c-api/structures.rst:397 c-api/structures.rst:493
|
||||
#: c-api/structures.rst:395 c-api/structures.rst:491
|
||||
msgid "C Type"
|
||||
msgstr "Type C"
|
||||
|
||||
#: c-api/structures.rst:397 c-api/structures.rst:493
|
||||
#: c-api/structures.rst:395 c-api/structures.rst:491
|
||||
msgid "Meaning"
|
||||
msgstr "Signification"
|
||||
|
||||
#: c-api/structures.rst:241
|
||||
msgid ":attr:`ml_name`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`ml_name`"
|
||||
|
||||
#: c-api/structures.rst:249 c-api/structures.rst:412 c-api/structures.rst:495
|
||||
#: c-api/structures.rst:503
|
||||
#: c-api/structures.rst:249 c-api/structures.rst:410 c-api/structures.rst:493
|
||||
#: c-api/structures.rst:501
|
||||
msgid "const char \\*"
|
||||
msgstr ""
|
||||
|
||||
|
@ -239,7 +239,7 @@ msgstr ""
|
|||
|
||||
#: c-api/structures.rst:243
|
||||
msgid ":attr:`ml_meth`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`ml_meth`"
|
||||
|
||||
#: c-api/structures.rst:243
|
||||
msgid "PyCFunction"
|
||||
|
@ -251,9 +251,9 @@ msgstr ""
|
|||
|
||||
#: c-api/structures.rst:246
|
||||
msgid ":attr:`ml_flags`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`ml_flags`"
|
||||
|
||||
#: c-api/structures.rst:401 c-api/structures.rst:424
|
||||
#: c-api/structures.rst:399 c-api/structures.rst:422
|
||||
msgid "int"
|
||||
msgstr "*int*"
|
||||
|
||||
|
@ -263,19 +263,19 @@ msgstr ""
|
|||
|
||||
#: c-api/structures.rst:249
|
||||
msgid ":attr:`ml_doc`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`ml_doc`"
|
||||
|
||||
#: c-api/structures.rst:412
|
||||
#: c-api/structures.rst:410
|
||||
msgid "points to the contents of the docstring"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:253
|
||||
msgid ""
|
||||
"The :attr:`ml_meth` is a C function pointer. The functions may be of "
|
||||
"different types, but they always return :c:type:`PyObject*`. If the "
|
||||
"different types, but they always return :c:expr:`PyObject*`. If the "
|
||||
"function is not of the :c:type:`PyCFunction`, the compiler will require a "
|
||||
"cast in the method table. Even though :c:type:`PyCFunction` defines the "
|
||||
"first parameter as :c:type:`PyObject*`, it is common that the method "
|
||||
"first parameter as :c:expr:`PyObject*`, it is common that the method "
|
||||
"implementation uses the specific C type of the *self* object."
|
||||
msgstr ""
|
||||
|
||||
|
@ -293,7 +293,7 @@ msgstr ""
|
|||
#: c-api/structures.rst:268
|
||||
msgid ""
|
||||
"This is the typical calling convention, where the methods have the type :c:"
|
||||
"type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. The "
|
||||
"type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The "
|
||||
"first one is the *self* object for methods; for module functions, it is the "
|
||||
"module object. The second parameter (often called *args*) is a tuple object "
|
||||
"representing all arguments. This parameter is typically processed using :c:"
|
||||
|
@ -313,7 +313,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Fast calling convention supporting only positional arguments. The methods "
|
||||
"have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the "
|
||||
"second parameter is a C array of :c:type:`PyObject*` values indicating the "
|
||||
"second parameter is a C array of :c:expr:`PyObject*` values indicating the "
|
||||
"arguments and the third parameter is the number of arguments (the length of "
|
||||
"the array)."
|
||||
msgstr ""
|
||||
|
@ -327,32 +327,28 @@ msgid ""
|
|||
"Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with "
|
||||
"methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments "
|
||||
"are passed the same way as in the :ref:`vectorcall protocol <vectorcall>`: "
|
||||
"there is an additional fourth :c:type:`PyObject*` parameter which is a tuple "
|
||||
"there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple "
|
||||
"representing the names of the keyword arguments (which are guaranteed to be "
|
||||
"strings) or possibly ``NULL`` if there are no keywords. The values of the "
|
||||
"keyword arguments are stored in the *args* array, after the positional "
|
||||
"arguments."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:312
|
||||
msgid "This is not part of the :ref:`limited API <stable>`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:319
|
||||
#: c-api/structures.rst:317
|
||||
msgid ""
|
||||
"Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining "
|
||||
"class*, that is, the class that contains the method in question. The "
|
||||
"defining class might be a superclass of ``Py_TYPE(self)``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:323
|
||||
#: c-api/structures.rst:321
|
||||
msgid ""
|
||||
"The method needs to be of type :c:type:`PyCMethod`, the same as for "
|
||||
"``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added "
|
||||
"after ``self``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:332
|
||||
#: c-api/structures.rst:330
|
||||
msgid ""
|
||||
"Methods without parameters don't need to check whether arguments are given "
|
||||
"if they are listed with the :const:`METH_NOARGS` flag. They need to be of "
|
||||
|
@ -361,16 +357,16 @@ msgid ""
|
|||
"the second parameter will be ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:341
|
||||
#: c-api/structures.rst:339
|
||||
msgid ""
|
||||
"Methods with a single object argument can be listed with the :const:`METH_O` "
|
||||
"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` "
|
||||
"argument. They have the type :c:type:`PyCFunction`, with the *self* "
|
||||
"parameter, and a :c:type:`PyObject*` parameter representing the single "
|
||||
"parameter, and a :c:expr:`PyObject*` parameter representing the single "
|
||||
"argument."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:347
|
||||
#: c-api/structures.rst:345
|
||||
msgid ""
|
||||
"These two constants are not used to indicate the calling convention but the "
|
||||
"binding when use with methods of classes. These may not be used for "
|
||||
|
@ -378,27 +374,27 @@ msgid ""
|
|||
"any given method."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:357
|
||||
#: c-api/structures.rst:355
|
||||
msgid ""
|
||||
"The method will be passed the type object as the first parameter rather than "
|
||||
"an instance of the type. This is used to create *class methods*, similar to "
|
||||
"what is created when using the :func:`classmethod` built-in function."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:367
|
||||
#: c-api/structures.rst:365
|
||||
msgid ""
|
||||
"The method will be passed ``NULL`` as the first parameter rather than an "
|
||||
"instance of the type. This is used to create *static methods*, similar to "
|
||||
"what is created when using the :func:`staticmethod` built-in function."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:371
|
||||
#: c-api/structures.rst:369
|
||||
msgid ""
|
||||
"One other constant controls whether a method is loaded in place of another "
|
||||
"definition with the same method name."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:377
|
||||
#: c-api/structures.rst:375
|
||||
msgid ""
|
||||
"The method will be loaded in place of existing definitions. Without "
|
||||
"*METH_COEXIST*, the default is to skip repeated definitions. Since slot "
|
||||
|
@ -411,193 +407,193 @@ msgid ""
|
|||
"calls."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:389
|
||||
#: c-api/structures.rst:387
|
||||
msgid "Accessing attributes of extension types"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:393
|
||||
#: c-api/structures.rst:391
|
||||
msgid ""
|
||||
"Structure which describes an attribute of a type which corresponds to a C "
|
||||
"struct member. Its fields are:"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:399
|
||||
#: c-api/structures.rst:397
|
||||
msgid ":attr:`name`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`name`"
|
||||
|
||||
#: c-api/structures.rst:399
|
||||
#: c-api/structures.rst:397
|
||||
msgid "name of the member"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:401
|
||||
#: c-api/structures.rst:399
|
||||
msgid ":attr:`!type`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`!type`"
|
||||
|
||||
#: c-api/structures.rst:401
|
||||
#: c-api/structures.rst:399
|
||||
msgid "the type of the member in the C struct"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:404
|
||||
#: c-api/structures.rst:402
|
||||
msgid ":attr:`offset`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`offset`"
|
||||
|
||||
#: c-api/structures.rst:440
|
||||
#: c-api/structures.rst:438
|
||||
msgid "Py_ssize_t"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:404
|
||||
#: c-api/structures.rst:402
|
||||
msgid ""
|
||||
"the offset in bytes that the member is located on the type's object struct"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:408
|
||||
#: c-api/structures.rst:406
|
||||
msgid ":attr:`flags`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`flags`"
|
||||
|
||||
#: c-api/structures.rst:408
|
||||
#: c-api/structures.rst:406
|
||||
msgid "flag bits indicating if the field should be read-only or writable"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:412
|
||||
#: c-api/structures.rst:410
|
||||
msgid ":attr:`doc`"
|
||||
msgstr ""
|
||||
msgstr ":attr:`doc`"
|
||||
|
||||
#: c-api/structures.rst:416
|
||||
#: c-api/structures.rst:414
|
||||
msgid ""
|
||||
":attr:`!type` can be one of many ``T_`` macros corresponding to various C "
|
||||
"types. When the member is accessed in Python, it will be converted to the "
|
||||
"equivalent Python type."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:421
|
||||
#: c-api/structures.rst:419
|
||||
msgid "Macro name"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:421
|
||||
#: c-api/structures.rst:419
|
||||
msgid "C type"
|
||||
msgstr "Type C"
|
||||
|
||||
#: c-api/structures.rst:423
|
||||
#: c-api/structures.rst:421
|
||||
msgid "T_SHORT"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:423
|
||||
#: c-api/structures.rst:421
|
||||
msgid "short"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:424
|
||||
#: c-api/structures.rst:422
|
||||
msgid "T_INT"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:425
|
||||
#: c-api/structures.rst:423
|
||||
msgid "T_LONG"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:425
|
||||
#: c-api/structures.rst:423
|
||||
msgid "long"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:426
|
||||
#: c-api/structures.rst:424
|
||||
msgid "T_FLOAT"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:426
|
||||
#: c-api/structures.rst:424
|
||||
msgid "float"
|
||||
msgstr "*float*"
|
||||
|
||||
#: c-api/structures.rst:427
|
||||
#: c-api/structures.rst:425
|
||||
msgid "T_DOUBLE"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:427
|
||||
#: c-api/structures.rst:425
|
||||
msgid "double"
|
||||
msgstr "double"
|
||||
|
||||
#: c-api/structures.rst:428
|
||||
#: c-api/structures.rst:426
|
||||
msgid "T_STRING"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:429
|
||||
#: c-api/structures.rst:427
|
||||
msgid "T_OBJECT"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:430
|
||||
#: c-api/structures.rst:428
|
||||
msgid "PyObject \\*"
|
||||
msgstr "PyObject \\*"
|
||||
|
||||
#: c-api/structures.rst:430
|
||||
#: c-api/structures.rst:428
|
||||
msgid "T_OBJECT_EX"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:431
|
||||
#: c-api/structures.rst:429
|
||||
msgid "T_CHAR"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:432 c-api/structures.rst:437
|
||||
#: c-api/structures.rst:430 c-api/structures.rst:435
|
||||
msgid "char"
|
||||
msgstr "char"
|
||||
|
||||
#: c-api/structures.rst:432
|
||||
#: c-api/structures.rst:430
|
||||
msgid "T_BYTE"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:433
|
||||
#: c-api/structures.rst:431
|
||||
msgid "T_UBYTE"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:433
|
||||
#: c-api/structures.rst:431
|
||||
msgid "unsigned char"
|
||||
msgstr "``unsigned char``"
|
||||
|
||||
#: c-api/structures.rst:434
|
||||
#: c-api/structures.rst:432
|
||||
msgid "T_UINT"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:434
|
||||
#: c-api/structures.rst:432
|
||||
msgid "unsigned int"
|
||||
msgstr "``unsigned int``"
|
||||
|
||||
#: c-api/structures.rst:435
|
||||
#: c-api/structures.rst:433
|
||||
msgid "T_USHORT"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:435
|
||||
#: c-api/structures.rst:433
|
||||
msgid "unsigned short"
|
||||
msgstr "``unsigned short``"
|
||||
|
||||
#: c-api/structures.rst:436
|
||||
#: c-api/structures.rst:434
|
||||
msgid "T_ULONG"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:436
|
||||
#: c-api/structures.rst:434
|
||||
msgid "unsigned long"
|
||||
msgstr "``unsigned long``"
|
||||
|
||||
#: c-api/structures.rst:437
|
||||
#: c-api/structures.rst:435
|
||||
msgid "T_BOOL"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:438
|
||||
#: c-api/structures.rst:436
|
||||
msgid "T_LONGLONG"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:438
|
||||
#: c-api/structures.rst:436
|
||||
msgid "long long"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:439
|
||||
#: c-api/structures.rst:437
|
||||
msgid "T_ULONGLONG"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:439
|
||||
#: c-api/structures.rst:437
|
||||
msgid "unsigned long long"
|
||||
msgstr "``unsigned long long``"
|
||||
|
||||
#: c-api/structures.rst:440
|
||||
#: c-api/structures.rst:438
|
||||
msgid "T_PYSSIZET"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:443
|
||||
#: c-api/structures.rst:441
|
||||
msgid ""
|
||||
":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:"
|
||||
"`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:"
|
||||
|
@ -607,7 +603,7 @@ msgid ""
|
|||
"than :c:macro:`T_OBJECT`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:450
|
||||
#: c-api/structures.rst:448
|
||||
msgid ""
|
||||
":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` "
|
||||
"for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:"
|
||||
|
@ -616,7 +612,7 @@ msgid ""
|
|||
"are set to ``NULL``)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:458
|
||||
#: c-api/structures.rst:456
|
||||
msgid ""
|
||||
"Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), "
|
||||
"``PyMemberDef`` may contain definitions for the special members "
|
||||
|
@ -627,99 +623,99 @@ msgid ""
|
|||
"``T_PYSSIZET`` and ``READONLY``, for example::"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:475
|
||||
#: c-api/structures.rst:473
|
||||
msgid ""
|
||||
"Get an attribute belonging to the object at address *obj_addr*. The "
|
||||
"attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:482
|
||||
#: c-api/structures.rst:480
|
||||
msgid ""
|
||||
"Set an attribute belonging to the object at address *obj_addr* to object "
|
||||
"*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns "
|
||||
"``0`` if successful and a negative value on failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:489
|
||||
#: c-api/structures.rst:487
|
||||
msgid ""
|
||||
"Structure to define property-like access for a type. See also description of "
|
||||
"the :c:member:`PyTypeObject.tp_getset` slot."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:495
|
||||
#: c-api/structures.rst:493
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:495
|
||||
#: c-api/structures.rst:493
|
||||
msgid "attribute name"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:497
|
||||
#: c-api/structures.rst:495
|
||||
msgid "get"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:497
|
||||
#: c-api/structures.rst:495
|
||||
msgid "getter"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:497
|
||||
msgid "C Function to get the attribute"
|
||||
#: c-api/structures.rst:495
|
||||
msgid "C function to get the attribute"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:499
|
||||
#: c-api/structures.rst:497
|
||||
msgid "set"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:499
|
||||
#: c-api/structures.rst:497
|
||||
msgid "setter"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:499
|
||||
#: c-api/structures.rst:497
|
||||
msgid ""
|
||||
"optional C function to set or delete the attribute, if omitted the attribute "
|
||||
"is readonly"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:503
|
||||
#: c-api/structures.rst:501
|
||||
msgid "doc"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:503
|
||||
#: c-api/structures.rst:501
|
||||
msgid "optional docstring"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:505
|
||||
#: c-api/structures.rst:503
|
||||
msgid "closure"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:505
|
||||
#: c-api/structures.rst:503
|
||||
msgid "void \\*"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:505
|
||||
#: c-api/structures.rst:503
|
||||
msgid ""
|
||||
"optional function pointer, providing additional data for getter and setter"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:510
|
||||
#: c-api/structures.rst:508
|
||||
msgid ""
|
||||
"The ``get`` function takes one :c:type:`PyObject*` parameter (the instance) "
|
||||
"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) "
|
||||
"and a function pointer (the associated ``closure``)::"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:515
|
||||
#: c-api/structures.rst:513
|
||||
msgid ""
|
||||
"It should return a new reference on success or ``NULL`` with a set exception "
|
||||
"on failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:518
|
||||
#: c-api/structures.rst:516
|
||||
msgid ""
|
||||
"``set`` functions take two :c:type:`PyObject*` parameters (the instance and "
|
||||
"``set`` functions take two :c:expr:`PyObject*` parameters (the instance and "
|
||||
"the value to be set) and a function pointer (the associated ``closure``)::"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/structures.rst:523
|
||||
#: c-api/structures.rst:521
|
||||
msgid ""
|
||||
"In case the attribute should be deleted the second parameter is ``NULL``. "
|
||||
"Should return ``0`` on success or ``-1`` with a set exception on failure."
|
||||
|
|
30
c-api/sys.po
30
c-api/sys.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -118,7 +118,7 @@ msgid ""
|
|||
"Return the current signal handler for signal *i*. This is a thin wrapper "
|
||||
"around either :c:func:`sigaction` or :c:func:`signal`. Do not call those "
|
||||
"functions directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:"
|
||||
"type:`void (\\*)(int)`."
|
||||
"expr:`void (\\*)(int)`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:114
|
||||
|
@ -126,7 +126,7 @@ msgid ""
|
|||
"Set the signal handler for signal *i* to be *h*; return the old signal "
|
||||
"handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:"
|
||||
"`signal`. Do not call those functions directly! :c:type:"
|
||||
"`PyOS_sighandler_t` is a typedef alias for :c:type:`void (\\*)(int)`."
|
||||
"`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\\*)(int)`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:122
|
||||
|
@ -147,8 +147,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"Decode a byte string from the :term:`filesystem encoding and error handler`. "
|
||||
"If the error handler is :ref:`surrogateescape error handler "
|
||||
"<surrogateescape>`, undecodable bytes are decoded as characters in range U"
|
||||
"+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate "
|
||||
"<surrogateescape>`, undecodable bytes are decoded as characters in range "
|
||||
"U+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate "
|
||||
"character, the bytes are escaped using the surrogateescape error handler "
|
||||
"instead of decoding them."
|
||||
msgstr ""
|
||||
|
@ -197,7 +197,7 @@ msgid ""
|
|||
"<utf8-mode>`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:208
|
||||
#: c-api/sys.rst:166
|
||||
msgid ""
|
||||
"The function now uses the UTF-8 encoding on Windows if :c:data:"
|
||||
"`Py_LegacyWindowsFSEncodingFlag` is zero;"
|
||||
|
@ -215,7 +215,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` "
|
||||
"to free the memory. Return ``NULL`` on encoding error or memory allocation "
|
||||
"error"
|
||||
"error."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:182
|
||||
|
@ -236,6 +236,12 @@ msgid ""
|
|||
"functions."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:208
|
||||
msgid ""
|
||||
"The function now uses the UTF-8 encoding on Windows if :c:data:"
|
||||
"`Py_LegacyWindowsFSEncodingFlag` is zero."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:216
|
||||
msgid "System Functions"
|
||||
msgstr ""
|
||||
|
@ -367,8 +373,8 @@ msgstr ""
|
|||
|
||||
#: c-api/sys.rst:325
|
||||
msgid ""
|
||||
"Note that ``#`` format characters should always be treated as "
|
||||
"``Py_ssize_t``, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined."
|
||||
"Note that ``#`` format characters should always be treated as :c:type:"
|
||||
"`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:328
|
||||
|
@ -377,14 +383,14 @@ msgstr ""
|
|||
|
||||
#: c-api/sys.rst:334
|
||||
msgid ""
|
||||
"Require ``Py_ssize_t`` for ``#`` format characters. Previously, an "
|
||||
"Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an "
|
||||
"unavoidable deprecation warning was raised."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/sys.rst:340
|
||||
msgid ""
|
||||
"Append the callable *hook* to the list of active auditing hooks. Return zero "
|
||||
"for success and non-zero on failure. If the runtime has been initialized, "
|
||||
"on success and non-zero on failure. If the runtime has been initialized, "
|
||||
"also set an error on failure. Hooks added through this API are called for "
|
||||
"all interpreters created by the runtime."
|
||||
msgstr ""
|
||||
|
@ -406,7 +412,7 @@ msgstr ""
|
|||
|
||||
#: c-api/sys.rst:355
|
||||
msgid ""
|
||||
"The hook function is of type :c:type:`int (*)(const char *event, PyObject "
|
||||
"The hook function is of type :c:expr:`int (*)(const char *event, PyObject "
|
||||
"*args, void *userData)`, where *args* is guaranteed to be a :c:type:"
|
||||
"`PyTupleObject`. The hook function is always called with the GIL held by the "
|
||||
"Python interpreter that raised the event."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -218,7 +218,7 @@ msgstr ""
|
|||
#: c-api/tuple.rst:163
|
||||
msgid ""
|
||||
"Describes a field of a struct sequence. As a struct sequence is modeled as a "
|
||||
"tuple, all fields are typed as :c:type:`PyObject*`. The index in the :attr:"
|
||||
"tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :attr:"
|
||||
"`fields` array of the :c:type:`PyStructSequence_Desc` determines which field "
|
||||
"of the struct sequence is described."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -49,7 +49,7 @@ msgstr ""
|
|||
#: c-api/type.rst:42
|
||||
msgid ""
|
||||
"Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This "
|
||||
"function is primarily meant for use with `Py_LIMITED_API`; the individual "
|
||||
"function is primarily meant for use with ``Py_LIMITED_API``; the individual "
|
||||
"flag bits are guaranteed to be stable across Python releases, but access to :"
|
||||
"c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API."
|
||||
msgstr ""
|
||||
|
@ -356,7 +356,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#: c-api/type.rst:275
|
||||
msgid "Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API."
|
||||
msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/type.rst:279
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -30,8 +30,8 @@ msgid ""
|
|||
"Create a :ref:`GenericAlias <types-genericalias>` object. Equivalent to "
|
||||
"calling the Python class :class:`types.GenericAlias`. The *origin* and "
|
||||
"*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and "
|
||||
"``__args__`` attributes respectively. *origin* should be a :c:type:"
|
||||
"`PyTypeObject*`, and *args* can be a :c:type:`PyTupleObject*` or any "
|
||||
"``__args__`` attributes respectively. *origin* should be a :c:expr:"
|
||||
"`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any "
|
||||
"``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically "
|
||||
"constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done "
|
||||
"for the arguments, so the function will succeed even if *origin* is not a "
|
||||
|
|
754
c-api/typeobj.po
754
c-api/typeobj.po
File diff suppressed because it is too large
Load Diff
368
c-api/unicode.po
368
c-api/unicode.po
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -35,12 +35,12 @@ msgstr ""
|
|||
|
||||
#: c-api/veryhigh.rst:19
|
||||
msgid ""
|
||||
"Note also that several of these functions take :c:type:`FILE*` parameters. "
|
||||
"One particular issue which needs to be handled carefully is that the :c:type:"
|
||||
"Note also that several of these functions take :c:expr:`FILE*` parameters. "
|
||||
"One particular issue which needs to be handled carefully is that the :c:expr:"
|
||||
"`FILE` structure for different C libraries can be different and "
|
||||
"incompatible. Under Windows (at least), it is possible for dynamically "
|
||||
"linked extensions to actually use different libraries, so care should be "
|
||||
"taken that :c:type:`FILE*` parameters are only passed to these functions if "
|
||||
"taken that :c:expr:`FILE*` parameters are only passed to these functions if "
|
||||
"it is certain that they were created by the same library that the Python "
|
||||
"runtime is using."
|
||||
msgstr ""
|
||||
|
@ -94,16 +94,17 @@ msgid ""
|
|||
"`PyRun_InteractiveLoop`, otherwise return the result of :c:func:"
|
||||
"`PyRun_SimpleFile`. *filename* is decoded from the filesystem encoding (:"
|
||||
"func:`sys.getfilesystemencoding`). If *filename* is ``NULL``, this function "
|
||||
"uses ``\"???\"`` as the filename."
|
||||
"uses ``\"???\"`` as the filename. If *closeit* is true, the file is closed "
|
||||
"before ``PyRun_SimpleFileExFlags()`` returns."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:82
|
||||
#: c-api/veryhigh.rst:84
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, "
|
||||
"leaving the :c:type:`PyCompilerFlags`\\* argument set to ``NULL``."
|
||||
"leaving the :c:struct:`PyCompilerFlags`\\* argument set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:88
|
||||
#: c-api/veryhigh.rst:90
|
||||
msgid ""
|
||||
"Executes the Python source code from *command* in the :mod:`__main__` module "
|
||||
"according to the *flags* argument. If :mod:`__main__` does not already "
|
||||
|
@ -112,26 +113,26 @@ msgid ""
|
|||
"information. For the meaning of *flags*, see below."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:94
|
||||
#: c-api/veryhigh.rst:96
|
||||
msgid ""
|
||||
"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this "
|
||||
"function will not return ``-1``, but exit the process, as long as "
|
||||
"``Py_InspectFlag`` is not set."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:101
|
||||
#: c-api/veryhigh.rst:103
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, "
|
||||
"leaving *closeit* set to ``0`` and *flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:107
|
||||
#: c-api/veryhigh.rst:109
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, "
|
||||
"leaving *flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:113
|
||||
#: c-api/veryhigh.rst:115
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code is "
|
||||
"read from *fp* instead of an in-memory string. *filename* should be the name "
|
||||
|
@ -140,20 +141,20 @@ msgid ""
|
|||
"``PyRun_SimpleFileExFlags()`` returns."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:120
|
||||
#: c-api/veryhigh.rst:122
|
||||
msgid ""
|
||||
"On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, \"rb"
|
||||
"\")``). Otherwise, Python may not handle script file with LF line ending "
|
||||
"On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, "
|
||||
"\"rb\")``). Otherwise, Python may not handle script file with LF line ending "
|
||||
"correctly."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:126
|
||||
#: c-api/veryhigh.rst:128
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_InteractiveOneFlags` below, "
|
||||
"leaving *flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:132
|
||||
#: c-api/veryhigh.rst:134
|
||||
msgid ""
|
||||
"Read and execute a single statement from a file associated with an "
|
||||
"interactive device according to the *flags* argument. The user will be "
|
||||
|
@ -161,7 +162,7 @@ msgid ""
|
|||
"term:`filesystem encoding and error handler`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:137
|
||||
#: c-api/veryhigh.rst:139
|
||||
msgid ""
|
||||
"Returns ``0`` when the input was executed successfully, ``-1`` if there was "
|
||||
"an exception, or an error code from the :file:`errcode.h` include file "
|
||||
|
@ -170,13 +171,13 @@ msgid ""
|
|||
"specifically if needed.)"
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:146
|
||||
#: c-api/veryhigh.rst:148
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_InteractiveLoopFlags` "
|
||||
"below, leaving *flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:152
|
||||
#: c-api/veryhigh.rst:154
|
||||
msgid ""
|
||||
"Read and execute statements from a file associated with an interactive "
|
||||
"device until EOF is reached. The user will be prompted using ``sys.ps1`` "
|
||||
|
@ -184,7 +185,7 @@ msgid ""
|
|||
"and error handler`. Returns ``0`` at EOF or a negative number upon failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:160
|
||||
#: c-api/veryhigh.rst:162
|
||||
msgid ""
|
||||
"Can be set to point to a function with the prototype ``int func(void)``. "
|
||||
"The function will be called when Python's interpreter prompt is about to "
|
||||
|
@ -194,7 +195,7 @@ msgid ""
|
|||
"the Python source code."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:171
|
||||
#: c-api/veryhigh.rst:173
|
||||
msgid ""
|
||||
"Can be set to point to a function with the prototype ``char *func(FILE "
|
||||
"*stdin, FILE *stdout, char *prompt)``, overriding the default function used "
|
||||
|
@ -205,26 +206,26 @@ msgid ""
|
|||
"line-editing and tab-completion features."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:180
|
||||
#: c-api/veryhigh.rst:182
|
||||
msgid ""
|
||||
"The result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:"
|
||||
"func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:183
|
||||
#: c-api/veryhigh.rst:185
|
||||
msgid ""
|
||||
"The result must be allocated by :c:func:`PyMem_RawMalloc` or :c:func:"
|
||||
"`PyMem_RawRealloc`, instead of being allocated by :c:func:`PyMem_Malloc` or :"
|
||||
"c:func:`PyMem_Realloc`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:190
|
||||
#: c-api/veryhigh.rst:192
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving "
|
||||
"*flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:196
|
||||
#: c-api/veryhigh.rst:198
|
||||
msgid ""
|
||||
"Execute Python source code from *str* in the context specified by the "
|
||||
"objects *globals* and *locals* with the compiler flags specified by "
|
||||
|
@ -233,31 +234,31 @@ msgid ""
|
|||
"token that should be used to parse the source code."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:202
|
||||
#: c-api/veryhigh.rst:204
|
||||
msgid ""
|
||||
"Returns the result of executing the code as a Python object, or ``NULL`` if "
|
||||
"an exception was raised."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:208
|
||||
#: c-api/veryhigh.rst:210
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
|
||||
"*closeit* set to ``0`` and *flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:214
|
||||
#: c-api/veryhigh.rst:216
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
|
||||
"*flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:220
|
||||
#: c-api/veryhigh.rst:222
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
|
||||
"*closeit* set to ``0``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:226
|
||||
#: c-api/veryhigh.rst:228
|
||||
msgid ""
|
||||
"Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read "
|
||||
"from *fp* instead of an in-memory string. *filename* should be the name of "
|
||||
|
@ -266,19 +267,19 @@ msgid ""
|
|||
"`PyRun_FileExFlags` returns."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:235
|
||||
#: c-api/veryhigh.rst:237
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`Py_CompileStringFlags` below, "
|
||||
"leaving *flags* set to ``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:241
|
||||
#: c-api/veryhigh.rst:243
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, "
|
||||
"with *optimize* set to ``-1``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:247
|
||||
#: c-api/veryhigh.rst:249
|
||||
msgid ""
|
||||
"Parse and compile the Python source code in *str*, returning the resulting "
|
||||
"code object. The start token is given by *start*; this can be used to "
|
||||
|
@ -289,7 +290,7 @@ msgid ""
|
|||
"returns ``NULL`` if the code cannot be parsed or compiled."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:255
|
||||
#: c-api/veryhigh.rst:257
|
||||
msgid ""
|
||||
"The integer *optimize* specifies the optimization level of the compiler; a "
|
||||
"value of ``-1`` selects the optimization level of the interpreter as given "
|
||||
|
@ -298,20 +299,20 @@ msgid ""
|
|||
"or ``2`` (docstrings are removed too)."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:266
|
||||
#: c-api/veryhigh.rst:268
|
||||
msgid ""
|
||||
"Like :c:func:`Py_CompileStringObject`, but *filename* is a byte string "
|
||||
"decoded from the :term:`filesystem encoding and error handler`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:273
|
||||
#: c-api/veryhigh.rst:275
|
||||
msgid ""
|
||||
"This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the "
|
||||
"code object, and global and local variables. The other arguments are set to "
|
||||
"``NULL``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:280
|
||||
#: c-api/veryhigh.rst:282
|
||||
msgid ""
|
||||
"Evaluate a precompiled code object, given a particular environment for its "
|
||||
"evaluation. This environment consists of a dictionary of global variables, "
|
||||
|
@ -320,7 +321,7 @@ msgid ""
|
|||
"only_parameter>` arguments and a closure tuple of cells."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:289
|
||||
#: c-api/veryhigh.rst:291
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The C structure of the objects used to describe frame objects. The fields of "
|
||||
|
@ -329,13 +330,13 @@ msgstr ""
|
|||
"La structure C utilisée pour décrire les objets *Code*. Les attributs de "
|
||||
"cette structure sont sujets à changer à tout moment."
|
||||
|
||||
#: c-api/veryhigh.rst:295
|
||||
#: c-api/veryhigh.rst:297
|
||||
msgid ""
|
||||
"Evaluate an execution frame. This is a simplified interface to :c:func:"
|
||||
"`PyEval_EvalFrameEx`, for backward compatibility."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:301
|
||||
#: c-api/veryhigh.rst:303
|
||||
msgid ""
|
||||
"This is the main, unvarnished function of Python interpretation. The code "
|
||||
"object associated with the execution frame *f* is executed, interpreting "
|
||||
|
@ -345,7 +346,7 @@ msgid ""
|
|||
"of generator objects."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:308
|
||||
#: c-api/veryhigh.rst:310
|
||||
msgid ""
|
||||
"This function now includes a debug assertion to help ensure that it does not "
|
||||
"silently discard an active exception."
|
||||
|
@ -353,33 +354,33 @@ msgstr ""
|
|||
"Cette fonction inclut maintenant une assertion de débogage afin d'assurer "
|
||||
"qu'elle ne passe pas sous silence une exception active."
|
||||
|
||||
#: c-api/veryhigh.rst:315
|
||||
#: c-api/veryhigh.rst:317
|
||||
msgid ""
|
||||
"This function changes the flags of the current evaluation frame, and returns "
|
||||
"true on success, false on failure."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:323
|
||||
#: c-api/veryhigh.rst:325
|
||||
msgid ""
|
||||
"The start symbol from the Python grammar for isolated expressions; for use "
|
||||
"with :c:func:`Py_CompileString`."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:331
|
||||
#: c-api/veryhigh.rst:333
|
||||
msgid ""
|
||||
"The start symbol from the Python grammar for sequences of statements as read "
|
||||
"from a file or other source; for use with :c:func:`Py_CompileString`. This "
|
||||
"is the symbol to use when compiling arbitrarily long Python source code."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:340
|
||||
#: c-api/veryhigh.rst:342
|
||||
msgid ""
|
||||
"The start symbol from the Python grammar for a single statement; for use "
|
||||
"with :c:func:`Py_CompileString`. This is the symbol used for the interactive "
|
||||
"interpreter loop."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:347
|
||||
#: c-api/veryhigh.rst:349
|
||||
msgid ""
|
||||
"This is the structure used to hold compiler flags. In cases where code is "
|
||||
"only being compiled, it is passed as ``int flags``, and in cases where code "
|
||||
|
@ -387,34 +388,34 @@ msgid ""
|
|||
"case, ``from __future__ import`` can modify *flags*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:352
|
||||
#: c-api/veryhigh.rst:354
|
||||
msgid ""
|
||||
"Whenever ``PyCompilerFlags *flags`` is ``NULL``, :attr:`cf_flags` is treated "
|
||||
"as equal to ``0``, and any modification due to ``from __future__ import`` is "
|
||||
"discarded."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:358
|
||||
#: c-api/veryhigh.rst:360
|
||||
msgid "Compiler flags."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:362
|
||||
#: c-api/veryhigh.rst:364
|
||||
msgid ""
|
||||
"*cf_feature_version* is the minor Python version. It should be initialized "
|
||||
"to ``PY_MINOR_VERSION``."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:365
|
||||
#: c-api/veryhigh.rst:367
|
||||
msgid ""
|
||||
"The field is ignored by default, it is used if and only if ``PyCF_ONLY_AST`` "
|
||||
"flag is set in *cf_flags*."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:368
|
||||
#: c-api/veryhigh.rst:370
|
||||
msgid "Added *cf_feature_version* field."
|
||||
msgstr ""
|
||||
|
||||
#: c-api/veryhigh.rst:374
|
||||
#: c-api/veryhigh.rst:376
|
||||
msgid ""
|
||||
"This bit can be set in *flags* to cause division operator ``/`` to be "
|
||||
"interpreted as \"true division\" according to :pep:`238`."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-16 17:25+0100\n"
|
||||
"Last-Translator: Andy Kwok <andy.kwok.work@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -58,7 +58,7 @@ msgid ""
|
|||
"a callable object that receives notification when *ob* is garbage collected; "
|
||||
"it should accept a single parameter, which will be the weak reference object "
|
||||
"itself. *callback* may also be ``None`` or ``NULL``. If *ob* is not a "
|
||||
"weakly-referencable object, or if *callback* is not callable, ``None``, or "
|
||||
"weakly referencable object, or if *callback* is not callable, ``None``, or "
|
||||
"``NULL``, this will return ``NULL`` and raise :exc:`TypeError`."
|
||||
msgstr ""
|
||||
"Retourne un objet de référence faible pour l'objet *ob*. Elle renvoie "
|
||||
|
@ -81,7 +81,7 @@ msgid ""
|
|||
"can be a callable object that receives notification when *ob* is garbage "
|
||||
"collected; it should accept a single parameter, which will be the weak "
|
||||
"reference object itself. *callback* may also be ``None`` or ``NULL``. If "
|
||||
"*ob* is not a weakly-referencable object, or if *callback* is not callable, "
|
||||
"*ob* is not a weakly referencable object, or if *callback* is not callable, "
|
||||
"``None``, or ``NULL``, this will return ``NULL`` and raise :exc:`TypeError`."
|
||||
msgstr ""
|
||||
"Retourne un objet mandataire à référence faible pour l'objet *ob*. Ceci "
|
||||
|
|
12
copyright.po
12
copyright.po
|
@ -5,15 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
|
||||
"PO-Revision-Date: 2021-01-28 14:22+0100\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"POT-Creation-Date: 2022-03-18 17:06+0100\n"
|
||||
"PO-Revision-Date: 2022-04-07 14:48-0400\n"
|
||||
"Last-Translator: Jean-Michel Laprise <jmichel.dev@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.4.2\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: copyright.rst:3
|
||||
msgid "Copyright"
|
||||
|
@ -24,9 +24,9 @@ msgid "Python and this documentation is:"
|
|||
msgstr "Python et cette documentation sont :"
|
||||
|
||||
#: copyright.rst:7
|
||||
msgid "Copyright © 2001-2021 Python Software Foundation. All rights reserved."
|
||||
msgid "Copyright © 2001-2022 Python Software Foundation. All rights reserved."
|
||||
msgstr ""
|
||||
"Copyright © 2001-2021 Python Software Foundation. Tous droits réservés."
|
||||
"Copyright © 2001-2022 Python Software Foundation. Tous droits réservés."
|
||||
|
||||
#: copyright.rst:9
|
||||
msgid "Copyright © 2000 BeOpen.com. All rights reserved."
|
||||
|
|
3
dict
3
dict
|
@ -25,6 +25,7 @@ c99
|
|||
chacha20
|
||||
cadriciel
|
||||
cadriciels
|
||||
capturants
|
||||
catucci
|
||||
cobjects
|
||||
composabilité
|
||||
|
@ -36,6 +37,7 @@ contribués
|
|||
coroutine
|
||||
coroutines
|
||||
cpython
|
||||
CSV
|
||||
curryfication
|
||||
cython
|
||||
d'allocateurs
|
||||
|
@ -66,6 +68,7 @@ désérialisées
|
|||
Distutils
|
||||
encodable
|
||||
ethnomathématiques
|
||||
Excel
|
||||
farrugia
|
||||
finaliseur
|
||||
frederik
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:30+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:23+0200\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -1369,8 +1369,8 @@ msgid ""
|
|||
"component). These are on top of the system default and those supplied to :"
|
||||
"meth:`add_library_dir` and/or :meth:`set_library_dirs`. "
|
||||
"*runtime_library_dirs* is a list of directories that will be embedded into "
|
||||
"the shared library and used to search for other shared libraries that \\*it"
|
||||
"\\* depends on at run-time. (This may only be relevant on Unix.)"
|
||||
"the shared library and used to search for other shared libraries that "
|
||||
"\\*it\\* depends on at run-time. (This may only be relevant on Unix.)"
|
||||
msgstr ""
|
||||
"*library_dirs*, s'il est fourni, doit être une liste de répertoires à "
|
||||
"rechercher pour les bibliothèques qui ont été spécifiées comme des "
|
||||
|
@ -2253,8 +2253,9 @@ msgstr ""
|
|||
"environ``."
|
||||
|
||||
#: distutils/apiref.rst:1201
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Note that this is not a fully-fledged string interpolation function. A valid "
|
||||
"Note that this is not a full-fledged string interpolation function. A valid "
|
||||
"``$variable`` can consist only of upper and lower case letters, numbers and "
|
||||
"an underscore. No { } or ( ) style quoting is available."
|
||||
msgstr ""
|
||||
|
@ -2555,7 +2556,7 @@ msgid ""
|
|||
"a corresponding *short_option*. All option tuples must have long options."
|
||||
msgstr ""
|
||||
"Si une option prend un argument, sa *long_option* doit se terminer par "
|
||||
"``'='``. *short_option* doit être un seul caractère, jamais ``':'`'. "
|
||||
"``'='``. *short_option* doit être un seul caractère, jamais ``':'``. "
|
||||
"*short_option* doit être ``None`` si l'option n'a pas de forme courte "
|
||||
"correspondante. Tous les triplets d'options doivent avoir des options "
|
||||
"longues."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:33+0100\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -39,12 +39,12 @@ msgid ""
|
|||
"word is already spoken for in Python. (And \"installer\" is a term specific "
|
||||
"to the world of mainstream desktop systems.)"
|
||||
msgstr ""
|
||||
"Une \"distribution compilée\" vous fait sûrement penser à un \"paquet binaire"
|
||||
"\" ou à un \"installateur\" (tout dépend de votre environnement). Ce n'est "
|
||||
"cependant pas forcément un binaire, il peut ne contenir que des sources "
|
||||
"Python et / ou du *byte-code* ; et nous n'appelons pas ça un *package* parce "
|
||||
"que ce mot est déjà utilisé dans Python (et \"installateur\" est un terme "
|
||||
"spécifique au monde des systèmes de bureau)."
|
||||
"Une \"distribution compilée\" vous fait sûrement penser à un \"paquet "
|
||||
"binaire\" ou à un \"installateur\" (tout dépend de votre environnement). Ce "
|
||||
"n'est cependant pas forcément un binaire, il peut ne contenir que des "
|
||||
"sources Python et / ou du *byte-code* ; et nous n'appelons pas ça un "
|
||||
"*package* parce que ce mot est déjà utilisé dans Python (et \"installateur\" "
|
||||
"est un terme spécifique au monde des systèmes de bureau)."
|
||||
|
||||
#: distutils/builtdist.rst:16
|
||||
msgid ""
|
||||
|
@ -324,12 +324,12 @@ msgstr ""
|
|||
msgid ""
|
||||
"You don't have to use the :command:`bdist` command with the :option:`!--"
|
||||
"formats` option; you can also use the command that directly implements the "
|
||||
"format you're interested in. Some of these :command:`bdist` \"sub-commands"
|
||||
"\" actually generate several similar formats; for instance, the :command:"
|
||||
"`bdist_dumb` command generates all the \"dumb\" archive formats (``tar``, "
|
||||
"``gztar``, ``bztar``, ``xztar``, ``ztar``, and ``zip``), and :command:"
|
||||
"`bdist_rpm` generates both binary and source RPMs. The :command:`bdist` sub-"
|
||||
"commands, and the formats generated by each, are:"
|
||||
"format you're interested in. Some of these :command:`bdist` \"sub-"
|
||||
"commands\" actually generate several similar formats; for instance, the :"
|
||||
"command:`bdist_dumb` command generates all the \"dumb\" archive formats "
|
||||
"(``tar``, ``gztar``, ``bztar``, ``xztar``, ``ztar``, and ``zip``), and :"
|
||||
"command:`bdist_rpm` generates both binary and source RPMs. The :command:"
|
||||
"`bdist` sub-commands, and the formats generated by each, are:"
|
||||
msgstr ""
|
||||
"Vous ne devez pas utiliser la commande :command:`bdist` avec l'option :"
|
||||
"option:`!--formats` ; Vous pouvez également utiliser la commande qui "
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:42+0100\n"
|
||||
"POT-Creation-Date: 2022-03-18 17:06+0100\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:31+0200\n"
|
||||
"Last-Translator: Eric Régnier <utopman@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -119,7 +119,7 @@ msgstr ""
|
|||
"pas ?). Veillez d'ailleurs à ne pas surcharger ce script avec des opérations "
|
||||
"coûteuses car, contrairement aux scripts de configuration façon Autoconf, le "
|
||||
"script d'installation peut être amené à être exécuté plusieurs fois au cours "
|
||||
"de la compilation et de l'installation du module. "
|
||||
"de la compilation et de l'installation du module."
|
||||
|
||||
#: distutils/introduction.rst:58
|
||||
msgid ""
|
||||
|
@ -150,7 +150,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"ces arguments nommés tombent dans deux catégories : métadonnées du paquet "
|
||||
"(nom, numéro de version) et des informations sur le contenu du paquet paquet "
|
||||
"(une liste de purs modules Python, dans ce cas) ; "
|
||||
"(une liste de purs modules Python, dans ce cas) ;"
|
||||
|
||||
#: distutils/introduction.rst:76
|
||||
msgid ""
|
||||
|
@ -325,13 +325,13 @@ msgid ""
|
|||
"(Note that currently, the Distutils only handles C/C++ extensions for "
|
||||
"Python.)"
|
||||
msgstr ""
|
||||
"un module écrit dans un langage de bas niveau de l'implémentation Python: C/C"
|
||||
"++ pour Python, Java pour Jython. Typiquement contenu dans un unique fichier "
|
||||
"pré-compilé chargeable, p. ex. un fichier objet partagé (:file:`.so`) pour "
|
||||
"des extensions Python sous Unix, un fichier DLL (étant donné l'extension :"
|
||||
"file:`.pyd`) pour les extensions Python sous Windows, ou un fichier de "
|
||||
"classe Java pour les extensions Jython (notez qu'actuellement, Distutils "
|
||||
"gère seulement les extensions Python C/C++)."
|
||||
"un module écrit dans un langage de bas niveau de l'implémentation Python: C/"
|
||||
"C++ pour Python, Java pour Jython. Typiquement contenu dans un unique "
|
||||
"fichier pré-compilé chargeable, p. ex. un fichier objet partagé (:file:`."
|
||||
"so`) pour des extensions Python sous Unix, un fichier DLL (étant donné "
|
||||
"l'extension :file:`.pyd`) pour les extensions Python sous Windows, ou un "
|
||||
"fichier de classe Java pour les extensions Jython (notez qu'actuellement, "
|
||||
"Distutils gère seulement les extensions Python C/C++)."
|
||||
|
||||
#: distutils/introduction.rst:164
|
||||
msgid "package"
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:42+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 16:06+0200\n"
|
||||
"Last-Translator: Philippe GALVAN\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -894,7 +894,7 @@ msgstr ""
|
|||
"au répertoire contenant le paquet (l'information du mappage ``package_dir`` "
|
||||
"est utilisée le cas échéant) ; ceci étant, il convient que les fichiers "
|
||||
"fassent partie du répertoire source du paquet. Ils peuvent également "
|
||||
"contenir des motifs `glob`."
|
||||
"contenir des motifs ``glob``."
|
||||
|
||||
#: distutils/setupscript.rst:484
|
||||
msgid ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-12-31 11:33+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2020-02-04 21:21+0100\n"
|
||||
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -112,7 +112,7 @@ msgstr "Fichier *tar* compressé par *bzip2* (:file:`.tar.bz2`)"
|
|||
|
||||
#: distutils/sourcedist.rst:37 distutils/sourcedist.rst:43
|
||||
msgid "\\(5)"
|
||||
msgstr ""
|
||||
msgstr "\\(5)"
|
||||
|
||||
#: distutils/sourcedist.rst:37
|
||||
msgid "``xztar``"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:46+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -44,8 +44,9 @@ 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` "
|
||||
"It returns either a fully initialized module, or a :c:type:`PyModuleDef` "
|
||||
"instance. See :ref:`initializing-modules` for details."
|
||||
msgstr ""
|
||||
"Elle doit donner soit un module entièrement initialisé, soit une instance "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 12:50+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -143,19 +143,19 @@ msgstr ""
|
|||
msgid ""
|
||||
"All user-visible symbols defined by :file:`Python.h` have a prefix of ``Py`` "
|
||||
"or ``PY``, except those defined in standard header files. For convenience, "
|
||||
"and since they are used extensively by the Python interpreter, ``\"Python.h"
|
||||
"\"`` includes a few standard header files: ``<stdio.h>``, ``<string.h>``, "
|
||||
"and since they are used extensively by the Python interpreter, ``\"Python."
|
||||
"h\"`` includes a few standard header files: ``<stdio.h>``, ``<string.h>``, "
|
||||
"``<errno.h>``, and ``<stdlib.h>``. If the latter header file does not exist "
|
||||
"on your system, it declares the functions :c:func:`malloc`, :c:func:`free` "
|
||||
"and :c:func:`realloc` directly."
|
||||
msgstr ""
|
||||
"Tous les symboles exposés par :file:`Python.h` sont préfixés de ``Py`` ou "
|
||||
"``PY``, sauf ceux qui sont définis dans les en-têtes standard. Pour le "
|
||||
"confort, et comme ils sont largement utilisés par l'interpréteur Python, ``"
|
||||
"\"Python.h\"`` inclut lui-même quelques d'en-têtes standard : ``<stdio.h>``, "
|
||||
"``<string.h>``, ``<errno.h>`` et ``<stdlib.h>``. Si ce dernier n'existe pas "
|
||||
"sur votre système, il déclare les fonctions :c:func:`malloc`, :c:func:`free` "
|
||||
"et :c:func:`realloc` directement."
|
||||
"confort, et comme ils sont largement utilisés par l'interpréteur Python, "
|
||||
"``\"Python.h\"`` inclut lui-même quelques d'en-têtes standard : ``<stdio."
|
||||
"h>``, ``<string.h>``, ``<errno.h>`` et ``<stdlib.h>``. Si ce dernier "
|
||||
"n'existe pas sur votre système, il déclare les fonctions :c:func:`malloc`, :"
|
||||
"c:func:`free` et :c:func:`realloc` directement."
|
||||
|
||||
#: extending/extending.rst:83
|
||||
msgid ""
|
||||
|
@ -311,14 +311,13 @@ msgstr ""
|
|||
msgid ""
|
||||
"When a function *f* that calls another function *g* detects that the latter "
|
||||
"fails, *f* should itself return an error value (usually ``NULL`` or "
|
||||
"``-1``). It should *not* call one of the :c:func:`PyErr_\\*` functions --- "
|
||||
"one has already been called by *g*. *f*'s caller is then supposed to also "
|
||||
"return an error indication to *its* caller, again *without* calling :c:func:"
|
||||
"`PyErr_\\*`, and so on --- the most detailed cause of the error was already "
|
||||
"reported by the function that first detected it. Once the error reaches the "
|
||||
"Python interpreter's main loop, this aborts the currently executing Python "
|
||||
"code and tries to find an exception handler specified by the Python "
|
||||
"programmer."
|
||||
"``-1``). It should *not* call one of the ``PyErr_*`` functions --- one has "
|
||||
"already been called by *g*. *f*'s caller is then supposed to also return an "
|
||||
"error indication to *its* caller, again *without* calling ``PyErr_*``, and "
|
||||
"so on --- the most detailed cause of the error was already reported by the "
|
||||
"function that first detected it. Once the error reaches the Python "
|
||||
"interpreter's main loop, this aborts the currently executing Python code and "
|
||||
"tries to find an exception handler specified by the Python programmer."
|
||||
msgstr ""
|
||||
"Lorsqu'une fonction *f* ayant appelé une autre fonction *g* détecte que "
|
||||
"cette dernière a échoué, *f* devrait donner une valeur d'erreur à son tour "
|
||||
|
@ -333,12 +332,13 @@ msgstr ""
|
|||
"d'exception spécifié par le développeur Python."
|
||||
|
||||
#: extending/extending.rst:168
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"(There are situations where a module can actually give a more detailed error "
|
||||
"message by calling another :c:func:`PyErr_\\*` function, and in such cases "
|
||||
"it is fine to do so. As a general rule, however, this is not necessary, and "
|
||||
"can cause information about the cause of the error to be lost: most "
|
||||
"operations can fail for a variety of reasons.)"
|
||||
"message by calling another ``PyErr_*`` function, and in such cases it is "
|
||||
"fine to do so. As a general rule, however, this is not necessary, and can "
|
||||
"cause information about the cause of the error to be lost: most operations "
|
||||
"can fail for a variety of reasons.)"
|
||||
msgstr ""
|
||||
"(Il y a des situations où un module peut effectivement donner un message "
|
||||
"d'erreur plus détaillé en appelant une autre fonction :c:func:`PyErr_\\*`, "
|
||||
|
@ -543,9 +543,10 @@ msgstr ""
|
|||
"objets dans le tas en Python !)"
|
||||
|
||||
#: extending/extending.rst:300
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If you have a C function that returns no useful argument (a function "
|
||||
"returning :c:type:`void`), the corresponding Python function must return "
|
||||
"returning :c:expr:`void`), the corresponding Python function must return "
|
||||
"``None``. You need this idiom to do so (which is implemented by the :c:"
|
||||
"macro:`Py_RETURN_NONE` macro)::"
|
||||
msgstr ""
|
||||
|
@ -1615,7 +1616,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Python provides a special mechanism to pass C-level information (pointers) "
|
||||
"from one extension module to another one: Capsules. A Capsule is a Python "
|
||||
"data type which stores a pointer (:c:type:`void \\*`). Capsules can only be "
|
||||
"data type which stores a pointer (:c:expr:`void \\*`). Capsules can only be "
|
||||
"created and accessed via their C API, but they can be passed around like any "
|
||||
"other Python object. In particular, they can be assigned to a name in an "
|
||||
"extension module's namespace. Other extension modules can then import this "
|
||||
|
@ -1644,7 +1645,7 @@ msgstr ""
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
"Whichever method you choose, it's important to name your Capsules properly. "
|
||||
"The function :c:func:`PyCapsule_New` takes a name parameter (:c:type:`const "
|
||||
"The function :c:func:`PyCapsule_New` takes a name parameter (:c:expr:`const "
|
||||
"char \\*`); you're permitted to pass in a ``NULL`` name, but we strongly "
|
||||
"encourage you to specify a name. Properly named Capsules provide a degree "
|
||||
"of runtime type-safety; there is no feasible way to tell one unnamed Capsule "
|
||||
|
@ -1679,11 +1680,12 @@ msgstr ""
|
|||
"chargent contient l'API C correcte."
|
||||
|
||||
#: extending/extending.rst:1203
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The following example demonstrates an approach that puts most of the burden "
|
||||
"on the writer of the exporting module, which is appropriate for commonly "
|
||||
"used library modules. It stores all C API pointers (just one in the "
|
||||
"example!) in an array of :c:type:`void` pointers which becomes the value of "
|
||||
"example!) in an array of :c:expr:`void` pointers which becomes the value of "
|
||||
"a Capsule. The header file corresponding to the module provides a macro that "
|
||||
"takes care of importing the module and retrieving its C API pointers; client "
|
||||
"modules only have to call this macro before accessing the C API."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2018-07-04 11:38+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -67,10 +67,11 @@ msgid "Recommended third party tools"
|
|||
msgstr "Les outils tiers recommandés"
|
||||
|
||||
#: extending/index.rst:28
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This guide only covers the basic tools for creating extensions provided as "
|
||||
"part of this version of CPython. Third party tools like `Cython <http://"
|
||||
"cython.org/>`_, `cffi <https://cffi.readthedocs.io>`_, `SWIG <http://www."
|
||||
"part of this version of CPython. Third party tools like `Cython <https://"
|
||||
"cython.org/>`_, `cffi <https://cffi.readthedocs.io>`_, `SWIG <https://www."
|
||||
"swig.org>`_ and `Numba <https://numba.pydata.org/>`_ offer both simpler and "
|
||||
"more sophisticated approaches to creating C and C++ extensions for Python."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-02-07 20:03+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -161,7 +161,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the "
|
||||
"interpreter will supply a representation that uses the type's :c:member:"
|
||||
"`~PyTypeObject.tp_name` and a uniquely-identifying value for the object."
|
||||
"`~PyTypeObject.tp_name` and a uniquely identifying value for the object."
|
||||
msgstr ""
|
||||
|
||||
#: extending/newtypes.rst:181
|
||||
|
@ -197,16 +197,16 @@ msgstr ""
|
|||
msgid ""
|
||||
"Python supports two pairs of attribute handlers; a type that supports "
|
||||
"attributes only needs to implement the functions for one pair. The "
|
||||
"difference is that one pair takes the name of the attribute as a :c:type:"
|
||||
"`char\\*`, while the other accepts a :c:type:`PyObject\\*`. Each type can "
|
||||
"use whichever pair makes more sense for the implementation's convenience. ::"
|
||||
"difference is that one pair takes the name of the attribute as a :c:expr:"
|
||||
"`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each type can use "
|
||||
"whichever pair makes more sense for the implementation's convenience. ::"
|
||||
msgstr ""
|
||||
|
||||
#: extending/newtypes.rst:220
|
||||
msgid ""
|
||||
"If accessing attributes of an object is always a simple operation (this will "
|
||||
"be explained shortly), there are generic implementations which can be used "
|
||||
"to provide the :c:type:`PyObject\\*` version of the attribute management "
|
||||
"to provide the :c:expr:`PyObject*` version of the attribute management "
|
||||
"functions. The actual need for type-specific attribute handlers almost "
|
||||
"completely disappeared starting with Python 2.2, though there are many "
|
||||
"examples which have not been updated to use some of the new generic "
|
||||
|
@ -364,9 +364,9 @@ msgstr "Gestion des attributs de type spécifiques"
|
|||
|
||||
#: extending/newtypes.rst:342
|
||||
msgid ""
|
||||
"For simplicity, only the :c:type:`char\\*` version will be demonstrated "
|
||||
"For simplicity, only the :c:expr:`char\\*` version will be demonstrated "
|
||||
"here; the type of the name parameter is the only difference between the :c:"
|
||||
"type:`char\\*` and :c:type:`PyObject\\*` flavors of the interface. This "
|
||||
"expr:`char\\*` and :c:expr:`PyObject*` flavors of the interface. This "
|
||||
"example effectively does the same thing as the generic example above, but "
|
||||
"does not use the generic support added in Python 2.2. It explains how the "
|
||||
"handler functions are called, so that if you do need to extend their "
|
||||
|
@ -593,8 +593,9 @@ msgstr ""
|
|||
"faire deux choses :"
|
||||
|
||||
#: extending/newtypes.rst:575
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Include a :c:type:`PyObject\\*` field in the C object structure dedicated to "
|
||||
"Include a :c:expr:`PyObject*` field in the C object structure dedicated to "
|
||||
"the weak reference mechanism. The object's constructor should leave it "
|
||||
"``NULL`` (which is automatic when using the default :c:member:`~PyTypeObject."
|
||||
"tp_alloc`)."
|
||||
|
@ -624,7 +625,8 @@ msgstr ""
|
|||
"par le champ requis ::"
|
||||
|
||||
#: extending/newtypes.rst:592
|
||||
msgid "And the corresponding member in the statically-declared type object::"
|
||||
#, fuzzy
|
||||
msgid "And the corresponding member in the statically declared type object::"
|
||||
msgstr ""
|
||||
"Et le membre correspondant dans l'objet de type déclaré statiquement ::"
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-09-25 11:25+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:22+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -37,9 +37,10 @@ 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:"
|
||||
"type:`PyObject\\*`, which serves as a \"base type\" for all Python objects. "
|
||||
"expr:`PyObject*`, which serves as a \"base type\" for all Python objects. "
|
||||
"The :c:type:`PyObject` structure itself only contains the object's :term:"
|
||||
"`reference count` and a pointer to the object's \"type object\". This is "
|
||||
"where the action is; the type object determines which (C) functions get "
|
||||
|
@ -73,7 +74,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Ce genre de chose ne s'explique correctement qu'avec des exemples, voici "
|
||||
"donc un module minimaliste mais suffisant qui définit un nouveau type nommé :"
|
||||
"class:`Custom` dans le module d'extension :mod:`custom` : "
|
||||
"class:`Custom` dans le module d'extension :mod:`custom` :"
|
||||
|
||||
#: extending/newtypes_tutorial.rst:43
|
||||
msgid ""
|
||||
|
@ -127,12 +128,13 @@ 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 "
|
||||
"type :c:type:`PyObject`, containing a pointer to a type object and a "
|
||||
"reference count (these can be accessed using the macros :c:macro:`Py_REFCNT` "
|
||||
"and :c:macro:`Py_TYPE` respectively). The reason for the macro is to "
|
||||
"reference count (these can be accessed using the macros :c:macro:`Py_TYPE` "
|
||||
"and :c:macro:`Py_REFCNT` respectively). The reason for the macro is to "
|
||||
"abstract away the layout and to enable additional fields in :ref:`debug "
|
||||
"builds <debug-build>`."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: 2020-06-28 15:18+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -215,16 +215,16 @@ 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 (though Borland seems to). The rest of this section is MSVC+"
|
||||
"+ specific."
|
||||
"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++."
|
||||
|
||||
#: extending/windows.rst:112
|
||||
#: extending/windows.rst:111
|
||||
msgid ""
|
||||
"When creating DLLs in Windows, you must pass :file:`pythonXY.lib` to the "
|
||||
"linker. To build two DLLs, spam and ni (which uses C functions found in "
|
||||
|
@ -234,7 +234,7 @@ msgstr ""
|
|||
"`pythonXY.lib` au lieur. Pour construire deux DLL, spam et ni (qui utilisent "
|
||||
"des fonctions C trouvées dans spam), vous pouvez utiliser ces commandes ::"
|
||||
|
||||
#: extending/windows.rst:119
|
||||
#: extending/windows.rst:118
|
||||
msgid ""
|
||||
"The first command created three files: :file:`spam.obj`, :file:`spam.dll` "
|
||||
"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python "
|
||||
|
@ -246,7 +246,7 @@ msgstr ""
|
|||
"Python (telles que :c:func:`PyArg_ParseTuple`), mais il sait comment trouver "
|
||||
"le code Python grâce à :file:`pythonXY.lib`."
|
||||
|
||||
#: extending/windows.rst:124
|
||||
#: extending/windows.rst:123
|
||||
msgid ""
|
||||
"The second command created :file:`ni.dll` (and :file:`.obj` and :file:`."
|
||||
"lib`), which knows how to find the necessary functions from spam, and also "
|
||||
|
@ -256,7 +256,7 @@ msgstr ""
|
|||
"qui sait comment trouver les fonctions nécessaires dans spam, ainsi qu'à "
|
||||
"partir de l'exécutable Python."
|
||||
|
||||
#: extending/windows.rst:128
|
||||
#: extending/windows.rst:127
|
||||
msgid ""
|
||||
"Not every identifier is exported to the lookup table. If you want any other "
|
||||
"modules (including Python) to be able to see your identifiers, you have to "
|
||||
|
@ -269,7 +269,7 @@ msgstr ""
|
|||
"``void _declspec(dllexport) initspam(void)`` ou ``PyObject "
|
||||
"_declspec(dllexport) *NiGetSpamData(void)``."
|
||||
|
||||
#: extending/windows.rst:133
|
||||
#: extending/windows.rst:132
|
||||
msgid ""
|
||||
"Developer Studio will throw in a lot of import libraries that you do not "
|
||||
"really need, adding about 100K to your executable. To get rid of them, use "
|
||||
|
|
213
faq/design.po
213
faq/design.po
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 13:18+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 16:08+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -315,12 +315,13 @@ msgid "Starting in Python 3.8, you can!"
|
|||
msgstr "Depuis Python 3.8, c'est possible !"
|
||||
|
||||
#: faq/design.rst:158
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Assignment expressions using the walrus operator `:=` assign a variable in "
|
||||
"Assignment expressions using the walrus operator ``:=`` assign a variable in "
|
||||
"an expression::"
|
||||
msgstr ""
|
||||
"Les expressions d'affectation qui utilisent l'opérateur morse `:=` affectent "
|
||||
"une variable dans une expression ::"
|
||||
"Les expressions d'affectation qui utilisent l'opérateur morse ``:=`` "
|
||||
"affectent une variable dans une expression ::"
|
||||
|
||||
#: faq/design.rst:164
|
||||
msgid "See :pep:`572` for more information."
|
||||
|
@ -374,7 +375,7 @@ msgstr ""
|
|||
"``key()``, ou quand un objet qui n'est pas un fichier implémente une méthode "
|
||||
"``write()``."
|
||||
|
||||
#: faq/design.rst:207
|
||||
#: faq/design.rst:189
|
||||
msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html"
|
||||
msgstr ""
|
||||
"https://mail.python.org/pipermail/python-3000/2006-November/004643.html"
|
||||
|
@ -520,7 +521,7 @@ msgstr ""
|
|||
"possibilités, vous pouvez créer un dictionnaire faisant correspondre des "
|
||||
"valeurs à des fonctions à appeler. Par exemple ::"
|
||||
|
||||
#: faq/design.rst:279
|
||||
#: faq/design.rst:276
|
||||
msgid ""
|
||||
"For calling methods on objects, you can simplify yet further by using the :"
|
||||
"func:`getattr` built-in to retrieve methods with a particular name::"
|
||||
|
@ -529,7 +530,7 @@ msgstr ""
|
|||
"en utilisant la fonction native :func:`getattr` pour récupérer les méthodes "
|
||||
"avec un nom donné ::"
|
||||
|
||||
#: faq/design.rst:291
|
||||
#: faq/design.rst:288
|
||||
msgid ""
|
||||
"It's suggested that you use a prefix for the method names, such as "
|
||||
"``visit_`` in this example. Without such a prefix, if values are coming "
|
||||
|
@ -541,7 +542,7 @@ msgstr ""
|
|||
"proviennent d'une source non fiable, un attaquant serait en mesure d'appeler "
|
||||
"n'importe quelle méthode sur votre objet."
|
||||
|
||||
#: faq/design.rst:297
|
||||
#: faq/design.rst:294
|
||||
msgid ""
|
||||
"Can't you emulate threads in the interpreter instead of relying on an OS-"
|
||||
"specific thread implementation?"
|
||||
|
@ -549,7 +550,7 @@ msgstr ""
|
|||
"Est-il possible d'émuler des fils d'exécution dans l'interpréteur plutôt que "
|
||||
"se baser sur les implémentations spécifiques aux systèmes d'exploitation ?"
|
||||
|
||||
#: faq/design.rst:299
|
||||
#: faq/design.rst:296
|
||||
msgid ""
|
||||
"Answer 1: Unfortunately, the interpreter pushes at least one C stack frame "
|
||||
"for each Python stack frame. Also, extensions can call back into Python at "
|
||||
|
@ -562,7 +563,7 @@ msgstr ""
|
|||
"conséquent, une implémentation complète des fils d'exécution nécessiterait "
|
||||
"une gestion complète pour le C."
|
||||
|
||||
#: faq/design.rst:304
|
||||
#: faq/design.rst:301
|
||||
msgid ""
|
||||
"Answer 2: Fortunately, there is `Stackless Python <https://github.com/"
|
||||
"stackless-dev/stackless/wiki>`_, which has a completely redesigned "
|
||||
|
@ -572,12 +573,12 @@ msgstr ""
|
|||
"stackless-dev/stackless/wiki>`_, qui a complètement ré-architecturé la "
|
||||
"boucle principale de l'interpréteur afin de ne pas utiliser la pile C."
|
||||
|
||||
#: faq/design.rst:309
|
||||
#: faq/design.rst:306
|
||||
msgid "Why can't lambda expressions contain statements?"
|
||||
msgstr ""
|
||||
"Pourquoi les expressions lambda ne peuvent pas contenir d'instructions ?"
|
||||
|
||||
#: faq/design.rst:311
|
||||
#: faq/design.rst:308
|
||||
msgid ""
|
||||
"Python lambda expressions cannot contain statements because Python's "
|
||||
"syntactic framework can't handle statements nested inside expressions. "
|
||||
|
@ -593,11 +594,12 @@ msgstr ""
|
|||
"Python sont seulement une notation concise si vous êtes trop paresseux pour "
|
||||
"définir une fonction."
|
||||
|
||||
#: faq/design.rst:317
|
||||
#: faq/design.rst:314
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Functions are already first class objects in Python, and can be declared in "
|
||||
"a local scope. Therefore the only advantage of using a lambda instead of a "
|
||||
"locally-defined function is that you don't need to invent a name for the "
|
||||
"locally defined function is that you don't need to invent a name for the "
|
||||
"function -- but that's just a local variable to which the function object "
|
||||
"(which is exactly the same type of object that a lambda expression yields) "
|
||||
"is assigned!"
|
||||
|
@ -609,18 +611,18 @@ msgstr ""
|
|||
"variable locale à laquelle est affecté l'objet fonction (qui est exactement "
|
||||
"le même type d'objet que celui renvoyé par une expression lambda) !"
|
||||
|
||||
#: faq/design.rst:325
|
||||
#: faq/design.rst:322
|
||||
msgid "Can Python be compiled to machine code, C or some other language?"
|
||||
msgstr ""
|
||||
"Python peut-il être compilé en code machine, en C ou dans un autre langage ?"
|
||||
|
||||
#: faq/design.rst:327
|
||||
#: faq/design.rst:324
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`Cython <http://cython.org/>`_ compiles a modified version of Python with "
|
||||
"optional annotations into C extensions. `Nuitka <http://www.nuitka.net/>`_ "
|
||||
"`Cython <https://cython.org/>`_ compiles a modified version of Python with "
|
||||
"optional annotations into C extensions. `Nuitka <https://www.nuitka.net/>`_ "
|
||||
"is an up-and-coming compiler of Python into C++ code, aiming to support the "
|
||||
"full Python language. For compiling to Java you can consider `VOC <https://"
|
||||
"voc.readthedocs.io>`_."
|
||||
"full Python language."
|
||||
msgstr ""
|
||||
"`Cython <http://cython.org/>`_ compile une version modifiée de Python avec "
|
||||
"des annotations optionnelles en extensions C. `Nuitka <http://www.nuitka.net/"
|
||||
|
@ -628,11 +630,11 @@ msgstr ""
|
|||
"langage Python entièrement. Pour compiler en Java, vous pouvez regarder `VOC "
|
||||
"<https://voc.readthedocs.io>`_."
|
||||
|
||||
#: faq/design.rst:335
|
||||
#: faq/design.rst:331
|
||||
msgid "How does Python manage memory?"
|
||||
msgstr "Comment Python gère la mémoire ?"
|
||||
|
||||
#: faq/design.rst:337
|
||||
#: faq/design.rst:333
|
||||
msgid ""
|
||||
"The details of Python memory management depend on the implementation. The "
|
||||
"standard implementation of Python, :term:`CPython`, uses reference counting "
|
||||
|
@ -651,11 +653,12 @@ msgstr ""
|
|||
"module :mod:`gc` fournit des fonctions pour lancer le ramasse-miettes, "
|
||||
"d'obtenir des statistiques de débogage et ajuster ses paramètres."
|
||||
|
||||
#: faq/design.rst:345
|
||||
#: faq/design.rst:341
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Other implementations (such as `Jython <http://www.jython.org>`_ or `PyPy "
|
||||
"<http://www.pypy.org>`_), however, can rely on a different mechanism such as "
|
||||
"a full-blown garbage collector. This difference can cause some subtle "
|
||||
"Other implementations (such as `Jython <https://www.jython.org>`_ or `PyPy "
|
||||
"<https://www.pypy.org>`_), however, can rely on a different mechanism such "
|
||||
"as a full-blown garbage collector. This difference can cause some subtle "
|
||||
"porting problems if your Python code depends on the behavior of the "
|
||||
"reference counting implementation."
|
||||
msgstr ""
|
||||
|
@ -665,7 +668,7 @@ msgstr ""
|
|||
"de subtils problèmes de portabilité si votre code Python dépend du "
|
||||
"comportement de l'implémentation du compteur de références."
|
||||
|
||||
#: faq/design.rst:351
|
||||
#: faq/design.rst:347
|
||||
msgid ""
|
||||
"In some Python implementations, the following code (which is fine in "
|
||||
"CPython) will probably run out of file descriptors::"
|
||||
|
@ -674,7 +677,7 @@ msgstr ""
|
|||
"parfaitement avec *CPython*) aurait probablement manqué de descripteurs de "
|
||||
"fichiers ::"
|
||||
|
||||
#: faq/design.rst:358
|
||||
#: faq/design.rst:354
|
||||
msgid ""
|
||||
"Indeed, using CPython's reference counting and destructor scheme, each new "
|
||||
"assignment to *f* closes the previous file. With a traditional GC, however, "
|
||||
|
@ -686,7 +689,7 @@ msgstr ""
|
|||
"Cependant, avec un ramasse-miettes classique, ces objets sont collectés (et "
|
||||
"fermés) à intervalles irréguliers, et potentiellement longs."
|
||||
|
||||
#: faq/design.rst:363
|
||||
#: faq/design.rst:359
|
||||
msgid ""
|
||||
"If you want to write code that will work with any Python implementation, you "
|
||||
"should explicitly close the file or use the :keyword:`with` statement; this "
|
||||
|
@ -697,13 +700,13 @@ msgstr ""
|
|||
"utiliser l'instruction :keyword:`with` ; ceci fonctionne indépendamment du "
|
||||
"système de gestion de la mémoire ::"
|
||||
|
||||
#: faq/design.rst:373
|
||||
#: faq/design.rst:369
|
||||
msgid "Why doesn't CPython use a more traditional garbage collection scheme?"
|
||||
msgstr ""
|
||||
"Pourquoi CPython n'utilise-t-il pas un modèle de ramasse-miettes plus "
|
||||
"traditionnel ?"
|
||||
|
||||
#: faq/design.rst:375
|
||||
#: faq/design.rst:371
|
||||
msgid ""
|
||||
"For one thing, this is not a C standard feature and hence it's not portable. "
|
||||
"(Yes, we know about the Boehm GC library. It has bits of assembler code for "
|
||||
|
@ -718,7 +721,7 @@ msgstr ""
|
|||
"transparente, elle ne l'est pas complètement ; des correctifs sont "
|
||||
"nécessaires afin que Python fonctionne correctement avec.)"
|
||||
|
||||
#: faq/design.rst:381
|
||||
#: faq/design.rst:377
|
||||
msgid ""
|
||||
"Traditional GC also becomes a problem when Python is embedded into other "
|
||||
"applications. While in a standalone Python it's fine to replace the "
|
||||
|
@ -736,12 +739,12 @@ msgstr ""
|
|||
"de Python. À l'heure actuelle, CPython fonctionne avec n'importe quelle "
|
||||
"implémentation correcte de ``malloc()`` et ``free()``."
|
||||
|
||||
#: faq/design.rst:390
|
||||
#: faq/design.rst:386
|
||||
msgid "Why isn't all memory freed when CPython exits?"
|
||||
msgstr ""
|
||||
"Pourquoi toute la mémoire n'est pas libérée lorsque *CPython* s'arrête ?"
|
||||
|
||||
#: faq/design.rst:392
|
||||
#: faq/design.rst:388
|
||||
msgid ""
|
||||
"Objects referenced from the global namespaces of Python modules are not "
|
||||
"always deallocated when Python exits. This may happen if there are circular "
|
||||
|
@ -758,7 +761,7 @@ msgstr ""
|
|||
"cependant, agressif sur le nettoyage de la mémoire en quittant et cherche à "
|
||||
"détruire chaque objet."
|
||||
|
||||
#: faq/design.rst:399
|
||||
#: faq/design.rst:395
|
||||
msgid ""
|
||||
"If you want to force Python to delete certain things on deallocation use "
|
||||
"the :mod:`atexit` module to run a function that will force those deletions."
|
||||
|
@ -767,12 +770,12 @@ msgstr ""
|
|||
"utilisez le module :mod:`atexit` pour exécuter une fonction qui va forcer "
|
||||
"ces destructions."
|
||||
|
||||
#: faq/design.rst:404
|
||||
#: faq/design.rst:400
|
||||
msgid "Why are there separate tuple and list data types?"
|
||||
msgstr ""
|
||||
"Pourquoi les *n*-uplets et les *list* sont deux types de données séparés ?"
|
||||
|
||||
#: faq/design.rst:406
|
||||
#: faq/design.rst:402
|
||||
msgid ""
|
||||
"Lists and tuples, while similar in many respects, are generally used in "
|
||||
"fundamentally different ways. Tuples can be thought of as being similar to "
|
||||
|
@ -789,7 +792,7 @@ msgstr ""
|
|||
"des coordonnées cartésiennes sont correctement représentées par un *n*-uplet "
|
||||
"de deux ou trois nombres."
|
||||
|
||||
#: faq/design.rst:413
|
||||
#: faq/design.rst:409
|
||||
msgid ""
|
||||
"Lists, on the other hand, are more like arrays in other languages. They "
|
||||
"tend to hold a varying number of objects all of which have the same type and "
|
||||
|
@ -806,7 +809,7 @@ msgstr ""
|
|||
"problème que vous ajoutiez un ou deux fichiers supplémentaires dans le "
|
||||
"dossier."
|
||||
|
||||
#: faq/design.rst:420
|
||||
#: faq/design.rst:416
|
||||
msgid ""
|
||||
"Tuples are immutable, meaning that once a tuple has been created, you can't "
|
||||
"replace any of its elements with a new value. Lists are mutable, meaning "
|
||||
|
@ -821,11 +824,11 @@ msgstr ""
|
|||
"utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul "
|
||||
"des *n*-uplets peuvent être utilisés comme clés."
|
||||
|
||||
#: faq/design.rst:427
|
||||
#: faq/design.rst:423
|
||||
msgid "How are lists implemented in CPython?"
|
||||
msgstr "Comment les listes sont-elles implémentées dans CPython ?"
|
||||
|
||||
#: faq/design.rst:429
|
||||
#: faq/design.rst:425
|
||||
msgid ""
|
||||
"CPython's lists are really variable-length arrays, not Lisp-style linked "
|
||||
"lists. The implementation uses a contiguous array of references to other "
|
||||
|
@ -838,7 +841,7 @@ msgstr ""
|
|||
"Elle conserve également un pointeur vers ce tableau et la longueur du "
|
||||
"tableau dans une structure de tête de liste."
|
||||
|
||||
#: faq/design.rst:433
|
||||
#: faq/design.rst:429
|
||||
msgid ""
|
||||
"This makes indexing a list ``a[i]`` an operation whose cost is independent "
|
||||
"of the size of the list or the value of the index."
|
||||
|
@ -846,7 +849,7 @@ msgstr ""
|
|||
"Cela rend l'indexation d'une liste ``a[i]`` une opération dont le coût est "
|
||||
"indépendant de la taille de la liste ou de la valeur de l'indice."
|
||||
|
||||
#: faq/design.rst:436
|
||||
#: faq/design.rst:432
|
||||
msgid ""
|
||||
"When items are appended or inserted, the array of references is resized. "
|
||||
"Some cleverness is applied to improve the performance of appending items "
|
||||
|
@ -859,11 +862,11 @@ msgstr ""
|
|||
"être étendu, un certain espace supplémentaire est alloué de sorte que pour "
|
||||
"la prochaine fois, ceci ne nécessite plus un redimensionnement effectif."
|
||||
|
||||
#: faq/design.rst:443
|
||||
#: faq/design.rst:439
|
||||
msgid "How are dictionaries implemented in CPython?"
|
||||
msgstr "Comment les dictionnaires sont-ils implémentés dans CPython ?"
|
||||
|
||||
#: faq/design.rst:445
|
||||
#: faq/design.rst:441
|
||||
msgid ""
|
||||
"CPython's dictionaries are implemented as resizable hash tables. Compared "
|
||||
"to B-trees, this gives better performance for lookup (the most common "
|
||||
|
@ -875,7 +878,7 @@ msgstr ""
|
|||
"performances pour la recherche (l'opération la plus courante de loin) dans "
|
||||
"la plupart des circonstances, et leur implémentation est plus simple."
|
||||
|
||||
#: faq/design.rst:449
|
||||
#: faq/design.rst:445
|
||||
msgid ""
|
||||
"Dictionaries work by computing a hash code for each key stored in the "
|
||||
"dictionary using the :func:`hash` built-in function. The hash code varies "
|
||||
|
@ -891,19 +894,19 @@ msgstr ""
|
|||
"stockée dans le dictionnaire à l'aide de la fonction :func:`hash`. La valeur "
|
||||
"du condensat varie grandement en fonction de la clé et de la graine utilisée "
|
||||
"par le processus ; par exemple, la chaîne de caractère \"Python\" pourrait "
|
||||
"avoir comme condensat la valeur – 539 294 296 tandis que la chaîne \"python"
|
||||
"\",qui diffère de la première par un seul bit, pourrait avoir comme "
|
||||
"avoir comme condensat la valeur – 539 294 296 tandis que la chaîne "
|
||||
"\"python\",qui diffère de la première par un seul bit, pourrait avoir comme "
|
||||
"condensat la valeur 1 142 331 976. Le condensat est ensuite utilisé pour "
|
||||
"déterminer un emplacement dans le tableau interne où la valeur est stockée. "
|
||||
"Dans l'hypothèse où vous stockez les clés qui ont toutes des condensats "
|
||||
"différents, cela signifie que le temps pour récupérer une clé est constant — "
|
||||
"O(1), en notation grand O de Landau."
|
||||
|
||||
#: faq/design.rst:460
|
||||
#: faq/design.rst:456
|
||||
msgid "Why must dictionary keys be immutable?"
|
||||
msgstr "Pourquoi les clés du dictionnaire sont immuables ?"
|
||||
|
||||
#: faq/design.rst:462
|
||||
#: faq/design.rst:458
|
||||
msgid ""
|
||||
"The hash table implementation of dictionaries uses a hash value calculated "
|
||||
"from the key value to find the key. If the key were a mutable object, its "
|
||||
|
@ -926,7 +929,7 @@ msgstr ""
|
|||
"chercher l'ancienne valeur, elle serait également introuvable car la valeur "
|
||||
"de l'objet trouvé dans cet emplacement de hachage serait différente."
|
||||
|
||||
#: faq/design.rst:471
|
||||
#: faq/design.rst:467
|
||||
msgid ""
|
||||
"If you want a dictionary indexed with a list, simply convert the list to a "
|
||||
"tuple first; the function ``tuple(L)`` creates a tuple with the same entries "
|
||||
|
@ -938,11 +941,11 @@ msgstr ""
|
|||
"uplet avec les mêmes entrées que la liste ``L``. Les *n*-uplets sont "
|
||||
"immuables et peuvent donc être utilisés comme clés du dictionnaire."
|
||||
|
||||
#: faq/design.rst:475
|
||||
#: faq/design.rst:471
|
||||
msgid "Some unacceptable solutions that have been proposed:"
|
||||
msgstr "Certaines solutions insatisfaisantes ont été proposées :"
|
||||
|
||||
#: faq/design.rst:477
|
||||
#: faq/design.rst:473
|
||||
msgid ""
|
||||
"Hash lists by their address (object ID). This doesn't work because if you "
|
||||
"construct a new list with the same value it won't be found; e.g.::"
|
||||
|
@ -951,7 +954,7 @@ msgstr ""
|
|||
"parce que si vous créez une nouvelle liste avec la même valeur, elle ne sera "
|
||||
"pas retrouvée ; par exemple ::"
|
||||
|
||||
#: faq/design.rst:483
|
||||
#: faq/design.rst:479
|
||||
msgid ""
|
||||
"would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` "
|
||||
"used in the second line differs from that in the first line. In other "
|
||||
|
@ -963,7 +966,7 @@ msgstr ""
|
|||
"les clés de dictionnaire doivent être comparées à l'aide du comparateur "
|
||||
"``==`` et non à l'aide du mot clé :keyword:`is`."
|
||||
|
||||
#: faq/design.rst:487
|
||||
#: faq/design.rst:483
|
||||
msgid ""
|
||||
"Make a copy when using a list as a key. This doesn't work because the list, "
|
||||
"being a mutable object, could contain a reference to itself, and then the "
|
||||
|
@ -974,7 +977,7 @@ msgstr ""
|
|||
"une référence à elle-même ou avoir une boucle infinie au niveau du code "
|
||||
"copié."
|
||||
|
||||
#: faq/design.rst:491
|
||||
#: faq/design.rst:487
|
||||
msgid ""
|
||||
"Allow lists as keys but tell the user not to modify them. This would allow "
|
||||
"a class of hard-to-track bugs in programs when you forgot or modified a list "
|
||||
|
@ -987,7 +990,7 @@ msgstr ""
|
|||
"accident. Cela casse également un impératif important des dictionnaires : "
|
||||
"chaque valeur de ``d.keys()`` est utilisable comme clé du dictionnaire."
|
||||
|
||||
#: faq/design.rst:496
|
||||
#: faq/design.rst:492
|
||||
msgid ""
|
||||
"Mark lists as read-only once they are used as a dictionary key. The problem "
|
||||
"is that it's not just the top-level object that could change its value; you "
|
||||
|
@ -1005,7 +1008,7 @@ msgstr ""
|
|||
"encore une fois, les objets se faisant référence pourraient provoquer une "
|
||||
"boucle infinie."
|
||||
|
||||
#: faq/design.rst:502
|
||||
#: faq/design.rst:498
|
||||
msgid ""
|
||||
"There is a trick to get around this if you need to, but use it at your own "
|
||||
"risk: You can wrap a mutable structure inside a class instance which has "
|
||||
|
@ -1022,7 +1025,7 @@ msgstr ""
|
|||
"(ou une autre structure basée sur le hachage), restent fixes pendant que "
|
||||
"l'objet est dans le dictionnaire (ou une autre structure). ::"
|
||||
|
||||
#: faq/design.rst:526
|
||||
#: faq/design.rst:522
|
||||
msgid ""
|
||||
"Note that the hash computation is complicated by the possibility that some "
|
||||
"members of the list may be unhashable and also by the possibility of "
|
||||
|
@ -1032,7 +1035,7 @@ msgstr ""
|
|||
"certains membres de la liste soient impossibles à hacher et aussi par la "
|
||||
"possibilité de débordement arithmétique."
|
||||
|
||||
#: faq/design.rst:530
|
||||
#: faq/design.rst:526
|
||||
msgid ""
|
||||
"Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1."
|
||||
"__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == "
|
||||
|
@ -1046,7 +1049,7 @@ msgstr ""
|
|||
"ne remplissez pas ces conditions, les dictionnaires et autres structures "
|
||||
"basées sur le hachage se comporteront mal."
|
||||
|
||||
#: faq/design.rst:535
|
||||
#: faq/design.rst:531
|
||||
msgid ""
|
||||
"In the case of ListWrapper, whenever the wrapper object is in a dictionary "
|
||||
"the wrapped list must not change to avoid anomalies. Don't do this unless "
|
||||
|
@ -1059,11 +1062,11 @@ msgstr ""
|
|||
"conséquences de ne pas satisfaire entièrement ces conditions. Vous avez été "
|
||||
"prévenus."
|
||||
|
||||
#: faq/design.rst:542
|
||||
#: faq/design.rst:538
|
||||
msgid "Why doesn't list.sort() return the sorted list?"
|
||||
msgstr "Pourquoi ``list.sort()`` ne renvoie pas la liste triée ?"
|
||||
|
||||
#: faq/design.rst:544
|
||||
#: faq/design.rst:540
|
||||
msgid ""
|
||||
"In situations where performance matters, making a copy of the list just to "
|
||||
"sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in "
|
||||
|
@ -1079,7 +1082,7 @@ msgstr ""
|
|||
"écrasant accidentellement une liste lorsque vous avez besoin d’une copie "
|
||||
"triée tout en gardant sous la main la version non triée."
|
||||
|
||||
#: faq/design.rst:550
|
||||
#: faq/design.rst:546
|
||||
msgid ""
|
||||
"If you want to return a new list, use the built-in :func:`sorted` function "
|
||||
"instead. This function creates a new list from a provided iterable, sorts "
|
||||
|
@ -1091,13 +1094,13 @@ msgstr ""
|
|||
"partir d’un itérable fourni, la classe et la renvoie. Par exemple, voici "
|
||||
"comment itérer dans l’ordre sur les clés d’un dictionnaire ::"
|
||||
|
||||
#: faq/design.rst:560
|
||||
#: faq/design.rst:556
|
||||
msgid "How do you specify and enforce an interface spec in Python?"
|
||||
msgstr ""
|
||||
"Comment spécifier une interface et appliquer une spécification d’interface "
|
||||
"en Python ?"
|
||||
|
||||
#: faq/design.rst:562
|
||||
#: faq/design.rst:558
|
||||
msgid ""
|
||||
"An interface specification for a module as provided by languages such as C++ "
|
||||
"and Java describes the prototypes for the methods and functions of the "
|
||||
|
@ -1109,7 +1112,7 @@ msgstr ""
|
|||
"module. Beaucoup estiment que la vérification au moment de la compilation "
|
||||
"des spécifications d'interface facilite la construction de grands programmes."
|
||||
|
||||
#: faq/design.rst:567
|
||||
#: faq/design.rst:563
|
||||
msgid ""
|
||||
"Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base "
|
||||
"Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` "
|
||||
|
@ -1126,7 +1129,7 @@ msgstr ""
|
|||
"class:`~collections.abc.Iterable`, :class:`~collections.abc.Container` et :"
|
||||
"class:`collections.abc.MutableMapping`."
|
||||
|
||||
#: faq/design.rst:574
|
||||
#: faq/design.rst:570
|
||||
msgid ""
|
||||
"For Python, many of the advantages of interface specifications can be "
|
||||
"obtained by an appropriate test discipline for components."
|
||||
|
@ -1134,7 +1137,7 @@ msgstr ""
|
|||
"Pour Python, la plupart des avantages des spécifications d'interface peuvent "
|
||||
"être obtenus par une discipline de test appropriée pour les composants."
|
||||
|
||||
#: faq/design.rst:577
|
||||
#: faq/design.rst:573
|
||||
msgid ""
|
||||
"A good test suite for a module can both provide a regression test and serve "
|
||||
"as a module interface specification and a set of examples. Many Python "
|
||||
|
@ -1155,7 +1158,7 @@ msgstr ""
|
|||
"test tiers peuvent être utilisés pour construire des suites de tests "
|
||||
"exhaustives qui éprouvent chaque ligne de code dans un module."
|
||||
|
||||
#: faq/design.rst:585
|
||||
#: faq/design.rst:581
|
||||
msgid ""
|
||||
"An appropriate testing discipline can help build large complex applications "
|
||||
"in Python as well as having interface specifications would. In fact, it can "
|
||||
|
@ -1175,7 +1178,7 @@ msgstr ""
|
|||
"réellement le faire correctement, mais il est trivial de vérifier cette "
|
||||
"propriété dans une suite de tests."
|
||||
|
||||
#: faq/design.rst:593
|
||||
#: faq/design.rst:589
|
||||
msgid ""
|
||||
"Writing test suites is very helpful, and you might want to design your code "
|
||||
"to make it easily tested. One increasingly popular technique, test-driven "
|
||||
|
@ -1190,11 +1193,11 @@ msgstr ""
|
|||
"le code réel. Bien sûr, Python vous permet d'être laxiste et de ne pas "
|
||||
"écrire de test du tout."
|
||||
|
||||
#: faq/design.rst:601
|
||||
#: faq/design.rst:597
|
||||
msgid "Why is there no goto?"
|
||||
msgstr "Pourquoi n'y a-t-il pas de ``goto`` en Python ?"
|
||||
|
||||
#: faq/design.rst:603
|
||||
#: faq/design.rst:599
|
||||
msgid ""
|
||||
"In the 1970s people realized that unrestricted goto could lead to messy "
|
||||
"\"spaghetti\" code that was hard to understand and revise. In a high-level "
|
||||
|
@ -1211,7 +1214,7 @@ msgstr ""
|
|||
"boucler (avec les instructions ``while`` et ``for``, qui peuvent contenir "
|
||||
"des ``continue`` et ``break``)."
|
||||
|
||||
#: faq/design.rst:610
|
||||
#: faq/design.rst:606
|
||||
msgid ""
|
||||
"One can also use exceptions to provide a \"structured goto\" that works even "
|
||||
"across function calls. Many feel that exceptions can conveniently emulate "
|
||||
|
@ -1224,7 +1227,7 @@ msgstr ""
|
|||
"l'utilisation raisonnable des constructions *go* ou *goto* du C, du Fortran "
|
||||
"ou d'autres langages de programmation. Par exemple ::"
|
||||
|
||||
#: faq/design.rst:626
|
||||
#: faq/design.rst:622
|
||||
msgid ""
|
||||
"This doesn't allow you to jump into the middle of a loop, but that's usually "
|
||||
"considered an abuse of goto anyway. Use sparingly."
|
||||
|
@ -1233,13 +1236,13 @@ msgstr ""
|
|||
"toute façon généralement considéré comme un abus de ``goto``. À Utiliser "
|
||||
"avec parcimonie."
|
||||
|
||||
#: faq/design.rst:631
|
||||
#: faq/design.rst:627
|
||||
msgid "Why can't raw strings (r-strings) end with a backslash?"
|
||||
msgstr ""
|
||||
"Pourquoi les chaînes de caractères brutes (r-strings) ne peuvent-elles pas "
|
||||
"se terminer par un *backslash* ?"
|
||||
|
||||
#: faq/design.rst:633
|
||||
#: faq/design.rst:629
|
||||
msgid ""
|
||||
"More precisely, they can't end with an odd number of backslashes: the "
|
||||
"unpaired backslash at the end escapes the closing quote character, leaving "
|
||||
|
@ -1249,7 +1252,7 @@ msgstr ""
|
|||
"*backslashes* : le *backslash* non appairé à la fin échappe le caractère de "
|
||||
"guillemet final, laissant la chaîne non terminée."
|
||||
|
||||
#: faq/design.rst:637
|
||||
#: faq/design.rst:633
|
||||
msgid ""
|
||||
"Raw strings were designed to ease creating input for processors (chiefly "
|
||||
"regular expression engines) that want to do their own backslash escape "
|
||||
|
@ -1267,7 +1270,7 @@ msgstr ""
|
|||
"chaîne en l'échappant avec un *antislash*. Ces règles fonctionnent bien "
|
||||
"lorsque les chaînes brutes sont utilisées pour leur but premier."
|
||||
|
||||
#: faq/design.rst:644
|
||||
#: faq/design.rst:640
|
||||
msgid ""
|
||||
"If you're trying to build Windows pathnames, note that all Windows system "
|
||||
"calls accept forward slashes too::"
|
||||
|
@ -1276,20 +1279,20 @@ msgstr ""
|
|||
"les appels système Windows acceptent également les *slashes* "
|
||||
"« classiques » ::"
|
||||
|
||||
#: faq/design.rst:649
|
||||
#: faq/design.rst:645
|
||||
msgid ""
|
||||
"If you're trying to build a pathname for a DOS command, try e.g. one of ::"
|
||||
msgstr ""
|
||||
"Si vous essayez de construire un chemin d'accès pour une commande DOS, "
|
||||
"essayez par exemple l'un de ceux-ci ::"
|
||||
|
||||
#: faq/design.rst:657
|
||||
#: faq/design.rst:653
|
||||
msgid "Why doesn't Python have a \"with\" statement for attribute assignments?"
|
||||
msgstr ""
|
||||
"Pourquoi la déclaration ``with`` pour les assignations d'attributs n'existe "
|
||||
"pas en Python ?"
|
||||
|
||||
#: faq/design.rst:659
|
||||
#: faq/design.rst:655
|
||||
msgid ""
|
||||
"Python has a 'with' statement that wraps the execution of a block, calling "
|
||||
"code on the entrance and exit from the block. Some languages have a "
|
||||
|
@ -1299,11 +1302,11 @@ msgstr ""
|
|||
"appelant du code à l'entrée et la sortie du bloc. Certains langages "
|
||||
"possèdent une construction qui ressemble à ceci ::"
|
||||
|
||||
#: faq/design.rst:667
|
||||
#: faq/design.rst:663
|
||||
msgid "In Python, such a construct would be ambiguous."
|
||||
msgstr "En Python, une telle construction serait ambiguë."
|
||||
|
||||
#: faq/design.rst:669
|
||||
#: faq/design.rst:665
|
||||
msgid ""
|
||||
"Other languages, such as Object Pascal, Delphi, and C++, use static types, "
|
||||
"so it's possible to know, in an unambiguous way, what member is being "
|
||||
|
@ -1316,7 +1319,7 @@ msgstr ""
|
|||
"le compilateur connaît *toujours* la portée de toutes les variables au "
|
||||
"moment de la compilation."
|
||||
|
||||
#: faq/design.rst:674
|
||||
#: faq/design.rst:670
|
||||
msgid ""
|
||||
"Python uses dynamic types. It is impossible to know in advance which "
|
||||
"attribute will be referenced at runtime. Member attributes may be added or "
|
||||
|
@ -1330,11 +1333,11 @@ msgstr ""
|
|||
"impossible de savoir, d'une simple lecture, quel attribut est référencé : "
|
||||
"s'il est local, global ou un attribut membre ?"
|
||||
|
||||
#: faq/design.rst:680
|
||||
#: faq/design.rst:676
|
||||
msgid "For instance, take the following incomplete snippet::"
|
||||
msgstr "Prenons par exemple l'extrait incomplet suivant ::"
|
||||
|
||||
#: faq/design.rst:686
|
||||
#: faq/design.rst:682
|
||||
msgid ""
|
||||
"The snippet assumes that \"a\" must have a member attribute called \"x\". "
|
||||
"However, there is nothing in Python that tells the interpreter this. What "
|
||||
|
@ -1348,7 +1351,7 @@ msgstr ""
|
|||
"« x » existe, est-elle utilisée dans le bloc ``with`` ? Comme vous voyez, "
|
||||
"la nature dynamique du Python rend ces choix beaucoup plus difficiles."
|
||||
|
||||
#: faq/design.rst:692
|
||||
#: faq/design.rst:688
|
||||
msgid ""
|
||||
"The primary benefit of \"with\" and similar language features (reduction of "
|
||||
"code volume) can, however, easily be achieved in Python by assignment. "
|
||||
|
@ -1358,11 +1361,11 @@ msgstr ""
|
|||
"similaires (réduction du volume de code) peut, cependant, être facilement "
|
||||
"réalisé en Python par assignation. Au lieu de ::"
|
||||
|
||||
#: faq/design.rst:699
|
||||
#: faq/design.rst:695
|
||||
msgid "write this::"
|
||||
msgstr "écrivez ceci ::"
|
||||
|
||||
#: faq/design.rst:706
|
||||
#: faq/design.rst:702
|
||||
msgid ""
|
||||
"This also has the side-effect of increasing execution speed because name "
|
||||
"bindings are resolved at run-time in Python, and the second version only "
|
||||
|
@ -1372,12 +1375,12 @@ msgstr ""
|
|||
"car les liaisons de noms sont résolues au moment de l'exécution en Python, "
|
||||
"et la deuxième version n'a besoin d'exécuter la résolution qu'une seule fois."
|
||||
|
||||
#: faq/design.rst:712
|
||||
#: faq/design.rst:708
|
||||
msgid "Why don't generators support the with statement?"
|
||||
msgstr ""
|
||||
"Pourquoi l'instruction ``with`` ne prend-elle pas en charge les générateurs ?"
|
||||
|
||||
#: faq/design.rst:714
|
||||
#: faq/design.rst:710
|
||||
msgid ""
|
||||
"For technical reasons, a generator used directly as a context manager would "
|
||||
"not work correctly. When, as is most common, a generator is used as an "
|
||||
|
@ -1390,13 +1393,13 @@ msgstr ""
|
|||
"besoin de le fermer. Sinon, on peut toujours mettre ``contextlib."
|
||||
"closing(générateur)`` dans la ligne du ``with``."
|
||||
|
||||
#: faq/design.rst:721
|
||||
#: faq/design.rst:717
|
||||
msgid "Why are colons required for the if/while/def/class statements?"
|
||||
msgstr ""
|
||||
"Pourquoi les deux-points sont-ils nécessaires pour les déclarations ``if/"
|
||||
"while/def/class`` ?"
|
||||
|
||||
#: faq/design.rst:723
|
||||
#: faq/design.rst:719
|
||||
msgid ""
|
||||
"The colon is required primarily to enhance readability (one of the results "
|
||||
"of the experimental ABC language). Consider this::"
|
||||
|
@ -1404,11 +1407,11 @@ msgstr ""
|
|||
"Le deux-points est principalement nécessaire pour améliorer la lisibilité "
|
||||
"(l'un des résultats du langage expérimental ABC). Considérez ceci ::"
|
||||
|
||||
#: faq/design.rst:729
|
||||
#: faq/design.rst:725
|
||||
msgid "versus ::"
|
||||
msgstr "et cela ::"
|
||||
|
||||
#: faq/design.rst:734
|
||||
#: faq/design.rst:730
|
||||
msgid ""
|
||||
"Notice how the second one is slightly easier to read. Notice further how a "
|
||||
"colon sets off the example in this FAQ answer; it's a standard usage in "
|
||||
|
@ -1418,7 +1421,7 @@ msgstr ""
|
|||
"aussi comment un deux-points introduit l'exemple dans cette réponse à la "
|
||||
"FAQ ; c'est un usage standard en français (et en anglais)."
|
||||
|
||||
#: faq/design.rst:737
|
||||
#: faq/design.rst:733
|
||||
msgid ""
|
||||
"Another minor reason is that the colon makes it easier for editors with "
|
||||
"syntax highlighting; they can look for colons to decide when indentation "
|
||||
|
@ -1430,13 +1433,13 @@ msgstr ""
|
|||
"pour décider quand l'indentation doit être augmentée au lieu d'avoir à faire "
|
||||
"une analyse plus élaborée du texte du programme."
|
||||
|
||||
#: faq/design.rst:743
|
||||
#: faq/design.rst:739
|
||||
msgid "Why does Python allow commas at the end of lists and tuples?"
|
||||
msgstr ""
|
||||
"Pourquoi Python permet-il les virgules à la fin des listes et des *n*-"
|
||||
"uplets ?"
|
||||
|
||||
#: faq/design.rst:745
|
||||
#: faq/design.rst:741
|
||||
msgid ""
|
||||
"Python lets you add a trailing comma at the end of lists, tuples, and "
|
||||
"dictionaries::"
|
||||
|
@ -1444,11 +1447,11 @@ msgstr ""
|
|||
"Python vous permet d'ajouter une virgule à la fin des listes, des *n*-uplets "
|
||||
"et des dictionnaires ::"
|
||||
|
||||
#: faq/design.rst:756
|
||||
#: faq/design.rst:752
|
||||
msgid "There are several reasons to allow this."
|
||||
msgstr "Il y a plusieurs raisons d'accepter cela."
|
||||
|
||||
#: faq/design.rst:758
|
||||
#: faq/design.rst:754
|
||||
msgid ""
|
||||
"When you have a literal value for a list, tuple, or dictionary spread across "
|
||||
"multiple lines, it's easier to add more elements because you don't have to "
|
||||
|
@ -1461,7 +1464,7 @@ msgstr ""
|
|||
"virgule à la ligne précédente. Les lignes peuvent aussi être réorganisées "
|
||||
"sans créer une erreur de syntaxe."
|
||||
|
||||
#: faq/design.rst:763
|
||||
#: faq/design.rst:759
|
||||
msgid ""
|
||||
"Accidentally omitting the comma can lead to errors that are hard to "
|
||||
"diagnose. For example::"
|
||||
|
@ -1469,7 +1472,7 @@ msgstr ""
|
|||
"L'omission accidentelle de la virgule peut entraîner des erreurs difficiles "
|
||||
"à diagnostiquer, par exemple ::"
|
||||
|
||||
#: faq/design.rst:773
|
||||
#: faq/design.rst:769
|
||||
msgid ""
|
||||
"This list looks like it has four elements, but it actually contains three: "
|
||||
"\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source "
|
||||
|
@ -1479,7 +1482,7 @@ msgstr ""
|
|||
"trois : \"*fee*\", \"*fiefoo*\" et \"*fum*\". Toujours ajouter la virgule "
|
||||
"permet d'éviter cette source d'erreur."
|
||||
|
||||
#: faq/design.rst:776
|
||||
#: faq/design.rst:772
|
||||
msgid ""
|
||||
"Allowing the trailing comma may also make programmatic code generation "
|
||||
"easier."
|
||||
|
|
102
faq/extending.po
102
faq/extending.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-10-17 18:37+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -49,10 +49,10 @@ msgstr "Puis-je créer mes propres fonctions en C++ ?"
|
|||
|
||||
#: faq/extending.rst:28
|
||||
msgid ""
|
||||
"Yes, using the C compatibility features found in C++. Place ``extern \"C"
|
||||
"\" { ... }`` around the Python include files and put ``extern \"C\"`` before "
|
||||
"each function that is going to be called by the Python interpreter. Global "
|
||||
"or static C++ objects with constructors are probably not a good idea."
|
||||
"Yes, using the C compatibility features found in C++. Place ``extern "
|
||||
"\"C\" { ... }`` around the Python include files and put ``extern \"C\"`` "
|
||||
"before each function that is going to be called by the Python interpreter. "
|
||||
"Global or static C++ objects with constructors are probably not a good idea."
|
||||
msgstr ""
|
||||
"Oui, en utilisant les fonctionnalités de compatibilité C existantes en C++. "
|
||||
"Placez ``extern \"C\" { ... }`` autour des fichiers Python inclus et mettez "
|
||||
|
@ -73,8 +73,9 @@ msgstr ""
|
|||
"d'écrire vos propres extensions C, selon ce que vous essayez de faire."
|
||||
|
||||
#: faq/extending.rst:44
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`Cython <http://cython.org>`_ and its relative `Pyrex <https://www.cosc."
|
||||
"`Cython <https://cython.org>`_ and its relative `Pyrex <https://www.cosc."
|
||||
"canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are compilers that accept a "
|
||||
"slightly modified form of Python and generate the corresponding C code. "
|
||||
"Cython and Pyrex make it possible to write an extension without having to "
|
||||
|
@ -87,12 +88,13 @@ msgstr ""
|
|||
"à connaître l'API C de Python."
|
||||
|
||||
#: faq/extending.rst:50
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If you need to interface to some C or C++ library for which no Python "
|
||||
"extension currently exists, you can try wrapping the library's data types "
|
||||
"and functions with a tool such as `SWIG <http://www.swig.org>`_. `SIP "
|
||||
"<https://riverbankcomputing.com/software/sip/intro>`__, `CXX <http://cxx."
|
||||
"sourceforge.net/>`_ `Boost <http://www.boost.org/libs/python/doc/index."
|
||||
"and functions with a tool such as `SWIG <https://www.swig.org>`_. `SIP "
|
||||
"<https://riverbankcomputing.com/software/sip/intro>`__, `CXX <https://cxx."
|
||||
"sourceforge.net/>`_ `Boost <https://www.boost.org/libs/python/doc/index."
|
||||
"html>`_, or `Weave <https://github.com/scipy/weave>`_ are also alternatives "
|
||||
"for wrapping C++ libraries."
|
||||
msgstr ""
|
||||
|
@ -337,10 +339,10 @@ msgid ""
|
|||
"work for C++ objects."
|
||||
msgstr ""
|
||||
"Selon vos besoins, de nombreuses approches sont possibles. Pour le faire "
|
||||
"manuellement, commencez par lire :ref:`le document \"Extension et intégration"
|
||||
"\" <extending-index>`. Sachez que pour le système d'exécution Python, il n'y "
|
||||
"a pas beaucoup de différence entre C et C++ — donc la méthode pour "
|
||||
"construire un nouveau type Python à partir d'une structure C (pointeur) "
|
||||
"manuellement, commencez par lire :ref:`le document \"Extension et "
|
||||
"intégration\" <extending-index>`. Sachez que pour le système d'exécution "
|
||||
"Python, il n'y a pas beaucoup de différence entre C et C++ — donc la méthode "
|
||||
"pour construire un nouveau type Python à partir d'une structure C (pointeur) "
|
||||
"fonctionne également avec des objets en C++."
|
||||
|
||||
#: faq/extending.rst:212
|
||||
|
@ -414,13 +416,13 @@ msgstr ""
|
|||
msgid "For Debian, run ``apt-get install python-dev``."
|
||||
msgstr "Pour Debian, exécutez ``apt-get install python-dev``."
|
||||
|
||||
#: faq/extending.rst:259
|
||||
#: faq/extending.rst:258
|
||||
msgid "How do I tell \"incomplete input\" from \"invalid input\"?"
|
||||
msgstr ""
|
||||
"Comment distinguer une « entrée incomplète » (*incomplete input*) d'une "
|
||||
"« entrée invalide » (*invalid input*) ?"
|
||||
|
||||
#: faq/extending.rst:261
|
||||
#: faq/extending.rst:260
|
||||
msgid ""
|
||||
"Sometimes you want to emulate the Python interactive interpreter's behavior, "
|
||||
"where it gives you a continuation prompt when the input is incomplete (e.g. "
|
||||
|
@ -434,7 +436,7 @@ msgstr ""
|
|||
"vous n'avez pas fermé vos parenthèses ou triple guillemets) mais il vous "
|
||||
"renvoie immédiatement une erreur syntaxique quand la saisie est incorrecte."
|
||||
|
||||
#: faq/extending.rst:267
|
||||
#: faq/extending.rst:266
|
||||
msgid ""
|
||||
"In Python you can use the :mod:`codeop` module, which approximates the "
|
||||
"parser's behavior sufficiently. IDLE uses this, for example."
|
||||
|
@ -442,7 +444,7 @@ msgstr ""
|
|||
"En Python, vous pouvez utiliser le module :mod:`codeop`, qui se rapproche "
|
||||
"assez du comportement de l'analyseur. Par exemple, IDLE l'utilise."
|
||||
|
||||
#: faq/extending.rst:270
|
||||
#: faq/extending.rst:269
|
||||
msgid ""
|
||||
"The easiest way to do it in C is to call :c:func:`PyRun_InteractiveLoop` "
|
||||
"(perhaps in a separate thread) and let the Python interpreter handle the "
|
||||
|
@ -458,39 +460,12 @@ msgstr ""
|
|||
"myreadline.c`` pour plus de conseils."
|
||||
|
||||
#: faq/extending.rst:276
|
||||
msgid ""
|
||||
"However sometimes you have to run the embedded Python interpreter in the "
|
||||
"same thread as your rest application and you can't allow the :c:func:"
|
||||
"`PyRun_InteractiveLoop` to stop while waiting for user input. A solution is "
|
||||
"trying to compile the received string with :c:func:`Py_CompileString`. If it "
|
||||
"compiles without errors, try to execute the returned code object by calling :"
|
||||
"c:func:`PyEval_EvalCode`. Otherwise save the input for later. If the "
|
||||
"compilation fails, find out if it's an error or just more input is required "
|
||||
"- by extracting the message string from the exception tuple and comparing it "
|
||||
"to the string \"unexpected EOF while parsing\". Here is a complete example "
|
||||
"using the GNU readline library (you may want to ignore **SIGINT** while "
|
||||
"calling readline())::"
|
||||
msgstr ""
|
||||
"Cependant, il arrive qu'il soit nécessaire d'exécuter l'interpréteur Python "
|
||||
"embarqué dans le même fil d'exécution que le reste de l'application, et que :"
|
||||
"c:func:`PyRun_InteractiveLoop` ne puisse pas être utilisée car elle bloque "
|
||||
"le fil en attendant l'entrée de l'utilisateur. Une solution est d'essayer de "
|
||||
"compiler la chaîne reçue avec :c:func:`Py_CompileString`. Si cela se compile "
|
||||
"sans erreur, essayez d'exécuter l'objet code renvoyé en appelant :c:func:"
|
||||
"`PyEval_EvalCode`. Sinon, enregistrez l'entrée pour plus tard. Si la "
|
||||
"compilation échoue, vérifiez s'il s'agit d'une erreur ou s'il faut juste "
|
||||
"plus de données — en extrayant la chaîne de message du *n*-uplet d'exception "
|
||||
"et en la comparant à la chaîne *\"unexpected EOF while parsing\"*. Voici un "
|
||||
"exemple complet d'utilisation de la bibliothèque *readline* de GNU (il peut "
|
||||
"être préférable d'ignorer **SIGINT** lors de l'appel à ``readline()``) ::"
|
||||
|
||||
#: faq/extending.rst:401
|
||||
msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?"
|
||||
msgstr ""
|
||||
"Comment puis-je trouver les symboles g++ indéfinis ``__builtin_new`` ou "
|
||||
"``__pure_virtual`` ?"
|
||||
|
||||
#: faq/extending.rst:403
|
||||
#: faq/extending.rst:278
|
||||
msgid ""
|
||||
"To dynamically load g++ extension modules, you must recompile Python, relink "
|
||||
"it using g++ (change LINKCC in the Python Modules Makefile), and link your "
|
||||
|
@ -502,7 +477,7 @@ msgstr ""
|
|||
"de votre module d'extension avec g++ (par exemple, ``g++ -shared -o mymodule."
|
||||
"so mymodule.o``)."
|
||||
|
||||
#: faq/extending.rst:409
|
||||
#: faq/extending.rst:284
|
||||
msgid ""
|
||||
"Can I create an object class with some methods implemented in C and others "
|
||||
"in Python (e.g. through inheritance)?"
|
||||
|
@ -510,7 +485,7 @@ msgstr ""
|
|||
"Puis-je créer une classe d'objets avec certaines méthodes implémentées en C "
|
||||
"et d'autres en Python (p. ex. en utilisant l'héritage) ?"
|
||||
|
||||
#: faq/extending.rst:411
|
||||
#: faq/extending.rst:286
|
||||
msgid ""
|
||||
"Yes, you can inherit from built-in classes such as :class:`int`, :class:"
|
||||
"`list`, :class:`dict`, etc."
|
||||
|
@ -518,9 +493,10 @@ msgstr ""
|
|||
"Oui, vous pouvez hériter de classes intégrées telles que :class:`int`, :"
|
||||
"class:`list`, :class:`dict`, etc."
|
||||
|
||||
#: faq/extending.rst:414
|
||||
#: faq/extending.rst:289
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index."
|
||||
"The Boost Python Library (BPL, https://www.boost.org/libs/python/doc/index."
|
||||
"html) provides a way of doing this from C++ (i.e. you can inherit from an "
|
||||
"extension class written in C++ using the BPL)."
|
||||
msgstr ""
|
||||
|
@ -528,6 +504,34 @@ msgstr ""
|
|||
"python/doc/index.html) fournit un moyen de le faire depuis C++ (c.-à-d. que "
|
||||
"vous pouvez hériter d'une classe d'extension écrite en C++ en utilisant BPL)."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "However sometimes you have to run the embedded Python interpreter in the "
|
||||
#~ "same thread as your rest application and you can't allow the :c:func:"
|
||||
#~ "`PyRun_InteractiveLoop` to stop while waiting for user input. A solution "
|
||||
#~ "is trying to compile the received string with :c:func:`Py_CompileString`. "
|
||||
#~ "If it compiles without errors, try to execute the returned code object by "
|
||||
#~ "calling :c:func:`PyEval_EvalCode`. Otherwise save the input for later. If "
|
||||
#~ "the compilation fails, find out if it's an error or just more input is "
|
||||
#~ "required - by extracting the message string from the exception tuple and "
|
||||
#~ "comparing it to the string \"unexpected EOF while parsing\". Here is a "
|
||||
#~ "complete example using the GNU readline library (you may want to ignore "
|
||||
#~ "**SIGINT** while calling readline())::"
|
||||
#~ msgstr ""
|
||||
#~ "Cependant, il arrive qu'il soit nécessaire d'exécuter l'interpréteur "
|
||||
#~ "Python embarqué dans le même fil d'exécution que le reste de "
|
||||
#~ "l'application, et que :c:func:`PyRun_InteractiveLoop` ne puisse pas être "
|
||||
#~ "utilisée car elle bloque le fil en attendant l'entrée de l'utilisateur. "
|
||||
#~ "Une solution est d'essayer de compiler la chaîne reçue avec :c:func:"
|
||||
#~ "`Py_CompileString`. Si cela se compile sans erreur, essayez d'exécuter "
|
||||
#~ "l'objet code renvoyé en appelant :c:func:`PyEval_EvalCode`. Sinon, "
|
||||
#~ "enregistrez l'entrée pour plus tard. Si la compilation échoue, vérifiez "
|
||||
#~ "s'il s'agit d'une erreur ou s'il faut juste plus de données — en "
|
||||
#~ "extrayant la chaîne de message du *n*-uplet d'exception et en la "
|
||||
#~ "comparant à la chaîne *\"unexpected EOF while parsing\"*. Voici un "
|
||||
#~ "exemple complet d'utilisation de la bibliothèque *readline* de GNU (il "
|
||||
#~ "peut être préférable d'ignorer **SIGINT** lors de l'appel à "
|
||||
#~ "``readline()``) ::"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "However sometimes you have to run the embedded Python interpreter in the "
|
||||
#~ "same thread as your rest application and you can't allow the :c:func:"
|
||||
|
|
253
faq/general.po
253
faq/general.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-16 02:40+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -283,21 +283,32 @@ msgid "How does the Python version numbering scheme work?"
|
|||
msgstr "Comment fonctionne le numérotage des versions de Python ?"
|
||||
|
||||
#: faq/general.rst:128
|
||||
msgid ""
|
||||
"Python versions are numbered A.B.C or A.B. A is the major version number -- "
|
||||
"it is only incremented for really major changes in the language. B is the "
|
||||
"minor version number, incremented for less earth-shattering changes. C is "
|
||||
"the micro-level -- it is incremented for each bugfix release. See :pep:`6` "
|
||||
"for more information about bugfix releases."
|
||||
msgid "Python versions are numbered \"A.B.C\" or \"A.B\":"
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:130
|
||||
msgid ""
|
||||
"*A* is the major version number -- it is only incremented for really major "
|
||||
"changes in the language."
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:132
|
||||
msgid ""
|
||||
"*B* is the minor version number -- it is incremented for less earth-"
|
||||
"shattering changes."
|
||||
msgstr ""
|
||||
"Les versions de Python sont numérotées A.B.C ou A.B. A est une version "
|
||||
"majeure -- elle est augmentée seulement lorsqu'il y a des changements "
|
||||
"conséquents dans le langage. B est une version mineure, elle est augmentée "
|
||||
"lors de changements de moindre importance. C est un micro-niveau -- elle est "
|
||||
"augmentée à chaque sortie de correctifs de bogue."
|
||||
|
||||
#: faq/general.rst:134
|
||||
msgid ""
|
||||
"*C* is the micro version number -- it is incremented for each bugfix release."
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:136
|
||||
msgid "See :pep:`6` for more information about bugfix releases."
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:138
|
||||
msgid ""
|
||||
"Not all releases are bugfix releases. In the run-up to a new major release, "
|
||||
"a series of development releases are made, denoted as alpha, beta, or "
|
||||
"release candidate. Alphas are early releases in which interfaces aren't yet "
|
||||
|
@ -316,24 +327,31 @@ msgstr ""
|
|||
"modules, les *release candidate* sont figées, elles ne font aucun changement "
|
||||
"à l'exception de ceux nécessaires pour corriger des bogues critiques."
|
||||
|
||||
#: faq/general.rst:142
|
||||
msgid ""
|
||||
"Alpha, beta and release candidate versions have an additional suffix. The "
|
||||
"suffix for an alpha version is \"aN\" for some small number N, the suffix "
|
||||
"for a beta version is \"bN\" for some small number N, and the suffix for a "
|
||||
"release candidate version is \"rcN\" for some small number N. In other "
|
||||
"words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which "
|
||||
"precede versions labeled 2.0rcN, and *those* precede 2.0."
|
||||
#: faq/general.rst:146
|
||||
msgid "Alpha, beta and release candidate versions have an additional suffix:"
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:148
|
||||
msgid "The suffix for an alpha version is \"aN\" for some small number *N*."
|
||||
msgstr ""
|
||||
"Les versions *alpha*, *beta* et *release candidate* ont un suffixe "
|
||||
"supplémentaire. Le suffixe pour une version alpha est « aN » où N est un "
|
||||
"petit nombre, le suffixe pour une version *beta* est *bN* où N est un petit "
|
||||
"nombre, et le suffixe pour une *release candidate* est *rcN* où N est un "
|
||||
"petit nombre. En d'autres mots, toutes les versions nommées *2.0.aN* "
|
||||
"précèdent les versions *2.0.bN*, qui elles-mêmes précèdent 2.0rcN, et "
|
||||
"*celles-ci* précèdent la version 2.0."
|
||||
|
||||
#: faq/general.rst:149
|
||||
msgid "The suffix for a beta version is \"bN\" for some small number *N*."
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:150
|
||||
msgid ""
|
||||
"The suffix for a release candidate version is \"rcN\" for some small number "
|
||||
"*N*."
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:152
|
||||
msgid ""
|
||||
"In other words, all versions labeled *2.0aN* precede the versions labeled "
|
||||
"*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0."
|
||||
msgstr ""
|
||||
|
||||
#: faq/general.rst:155
|
||||
msgid ""
|
||||
"You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These "
|
||||
"are unreleased versions, built directly from the CPython development "
|
||||
|
@ -347,7 +365,7 @@ msgstr ""
|
|||
"finale d'une version mineure, la version est augmentée à la prochaine "
|
||||
"version mineure, qui devient la version *a0*, c'est-à-dire *2.4a0*."
|
||||
|
||||
#: faq/general.rst:154
|
||||
#: faq/general.rst:160
|
||||
msgid ""
|
||||
"See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, "
|
||||
"and :data:`sys.version_info`."
|
||||
|
@ -355,11 +373,11 @@ msgstr ""
|
|||
"Voir aussi la documentation pour for :data:`sys.version`, :data:`sys."
|
||||
"hexversion`, et :data:`sys.version_info`."
|
||||
|
||||
#: faq/general.rst:159
|
||||
#: faq/general.rst:165
|
||||
msgid "How do I obtain a copy of the Python source?"
|
||||
msgstr "Comment obtenir une copie du code source de Python ?"
|
||||
|
||||
#: faq/general.rst:161
|
||||
#: faq/general.rst:167
|
||||
msgid ""
|
||||
"The latest Python source distribution is always available from python.org, "
|
||||
"at https://www.python.org/downloads/. The latest development sources can be "
|
||||
|
@ -370,7 +388,7 @@ msgstr ""
|
|||
"dernière version en développement peut être obtenue à https://github.com/"
|
||||
"python/cpython/."
|
||||
|
||||
#: faq/general.rst:165
|
||||
#: faq/general.rst:171
|
||||
msgid ""
|
||||
"The source distribution is a gzipped tar file containing the complete C "
|
||||
"source, Sphinx-formatted documentation, Python library modules, example "
|
||||
|
@ -383,7 +401,7 @@ msgstr ""
|
|||
"utiles distribuables librement. Le code source sera compilé et prêt à "
|
||||
"fonctionner immédiatement sur la plupart des plateformes UNIX."
|
||||
|
||||
#: faq/general.rst:170
|
||||
#: faq/general.rst:176
|
||||
msgid ""
|
||||
"Consult the `Getting Started section of the Python Developer's Guide "
|
||||
"<https://devguide.python.org/setup/>`__ for more information on getting the "
|
||||
|
@ -393,11 +411,11 @@ msgstr ""
|
|||
"devguide.python.org/setup/>`__ pour plus d'informations sur comment obtenir "
|
||||
"le code source et le compiler."
|
||||
|
||||
#: faq/general.rst:176
|
||||
#: faq/general.rst:182
|
||||
msgid "How do I get documentation on Python?"
|
||||
msgstr "Comment obtenir la documentation de Python ?"
|
||||
|
||||
#: faq/general.rst:180
|
||||
#: faq/general.rst:186
|
||||
msgid ""
|
||||
"The standard documentation for the current stable version of Python is "
|
||||
"available at https://docs.python.org/3/. PDF, plain text, and downloadable "
|
||||
|
@ -407,22 +425,24 @@ msgstr ""
|
|||
"https://docs.python.org/3/. Des versions aux formats PDF, texte et HTML "
|
||||
"sont aussi disponibles à https://docs.python.org/3/download.html."
|
||||
|
||||
#: faq/general.rst:184
|
||||
#: faq/general.rst:190
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The documentation is written in reStructuredText and processed by `the "
|
||||
"Sphinx documentation tool <http://sphinx-doc.org/>`__. The reStructuredText "
|
||||
"source for the documentation is part of the Python source distribution."
|
||||
"Sphinx documentation tool <https://www.sphinx-doc.org/>`__. The "
|
||||
"reStructuredText source for the documentation is part of the Python source "
|
||||
"distribution."
|
||||
msgstr ""
|
||||
"La documentation est écrite au format *reStructuredText* et traitée par "
|
||||
"l'outil de documentation `Sphinx <http://sphinx-doc.org/>`__. La source du "
|
||||
"*reStructuredText* pour la documentation constitue une partie des sources de "
|
||||
"Python."
|
||||
|
||||
#: faq/general.rst:190
|
||||
#: faq/general.rst:196
|
||||
msgid "I've never programmed before. Is there a Python tutorial?"
|
||||
msgstr "Je n'ai jamais programmé avant. Existe-t-il un tutoriel Python ?"
|
||||
|
||||
#: faq/general.rst:192
|
||||
#: faq/general.rst:198
|
||||
msgid ""
|
||||
"There are numerous tutorials and books available. The standard "
|
||||
"documentation includes :ref:`tutorial-index`."
|
||||
|
@ -430,7 +450,7 @@ msgstr ""
|
|||
"Il y a de nombreux tutoriels et livres disponibles. La documentation "
|
||||
"standard inclut :ref:`tutorial-index`."
|
||||
|
||||
#: faq/general.rst:195
|
||||
#: faq/general.rst:201
|
||||
msgid ""
|
||||
"Consult `the Beginner's Guide <https://wiki.python.org/moin/"
|
||||
"BeginnersGuide>`_ to find information for beginning Python programmers, "
|
||||
|
@ -440,11 +460,11 @@ msgstr ""
|
|||
"BeginnersGuide>`_ afin de trouver des informations pour les développeurs "
|
||||
"Python débutants, incluant une liste de tutoriels."
|
||||
|
||||
#: faq/general.rst:200
|
||||
#: faq/general.rst:206
|
||||
msgid "Is there a newsgroup or mailing list devoted to Python?"
|
||||
msgstr "Y a-t-il un forum ou une liste de diffusion dédié à Python ?"
|
||||
|
||||
#: faq/general.rst:202
|
||||
#: faq/general.rst:208
|
||||
msgid ""
|
||||
"There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, "
|
||||
"`python-list <https://mail.python.org/mailman/listinfo/python-list>`_. The "
|
||||
|
@ -461,7 +481,7 @@ msgstr ""
|
|||
"des centaines de messages chaque jour, et les lecteurs du réseau Usenet sont "
|
||||
"souvent plus capables de faire face à ce volume."
|
||||
|
||||
#: faq/general.rst:209
|
||||
#: faq/general.rst:215
|
||||
msgid ""
|
||||
"Announcements of new software releases and events can be found in comp.lang."
|
||||
"python.announce, a low-traffic moderated list that receives about five "
|
||||
|
@ -474,7 +494,7 @@ msgstr ""
|
|||
"des annonces Python <https://mail.python.org/mailman/listinfo/python-"
|
||||
"announce-list>`_."
|
||||
|
||||
#: faq/general.rst:214
|
||||
#: faq/general.rst:220
|
||||
msgid ""
|
||||
"More info about other mailing lists and newsgroups can be found at https://"
|
||||
"www.python.org/community/lists/."
|
||||
|
@ -482,11 +502,11 @@ msgstr ""
|
|||
"Plus d'informations à propos des autres listes de diffusion et forums "
|
||||
"peuvent être trouvées à https://www.python.org/community/lists/."
|
||||
|
||||
#: faq/general.rst:219
|
||||
#: faq/general.rst:225
|
||||
msgid "How do I get a beta test version of Python?"
|
||||
msgstr "Comment obtenir une version bêta test de Python ?"
|
||||
|
||||
#: faq/general.rst:221
|
||||
#: faq/general.rst:227
|
||||
msgid ""
|
||||
"Alpha and beta releases are available from https://www.python.org/"
|
||||
"downloads/. All releases are announced on the comp.lang.python and comp."
|
||||
|
@ -499,7 +519,7 @@ msgstr ""
|
|||
"de Python à https://www.python.org/; un flux RSS d'actualités y est aussi "
|
||||
"disponible."
|
||||
|
||||
#: faq/general.rst:226
|
||||
#: faq/general.rst:232
|
||||
msgid ""
|
||||
"You can also access the development version of Python through Git. See `The "
|
||||
"Python Developer's Guide <https://devguide.python.org/>`_ for details."
|
||||
|
@ -508,11 +528,11 @@ msgstr ""
|
|||
"`Le Guide du Développeur Python <https://devguide.python.org/>`_ pour plus "
|
||||
"de détails."
|
||||
|
||||
#: faq/general.rst:231
|
||||
#: faq/general.rst:237
|
||||
msgid "How do I submit bug reports and patches for Python?"
|
||||
msgstr "Comment soumettre un rapport de bogues ou un correctif pour Python ?"
|
||||
|
||||
#: faq/general.rst:233
|
||||
#: faq/general.rst:239
|
||||
msgid ""
|
||||
"To report a bug or submit a patch, please use the Roundup installation at "
|
||||
"https://bugs.python.org/."
|
||||
|
@ -520,7 +540,7 @@ msgstr ""
|
|||
"Pour reporter un bogue ou soumettre un correctif, merci d'utiliser https://"
|
||||
"bugs.python.org/."
|
||||
|
||||
#: faq/general.rst:236
|
||||
#: faq/general.rst:242
|
||||
msgid ""
|
||||
"You must have a Roundup account to report bugs; this makes it possible for "
|
||||
"us to contact you if we have follow-up questions. It will also enable "
|
||||
|
@ -537,7 +557,7 @@ msgstr ""
|
|||
"réinitialisation de mot de passe de Roundup <https://bugs.python.org/user?"
|
||||
"@template=forgotten>`_."
|
||||
|
||||
#: faq/general.rst:242
|
||||
#: faq/general.rst:248
|
||||
msgid ""
|
||||
"For more information on how Python is developed, consult `the Python "
|
||||
"Developer's Guide <https://devguide.python.org/>`_."
|
||||
|
@ -545,19 +565,19 @@ msgstr ""
|
|||
"Pour davantage d'informations sur comment Python est développé, consultez "
|
||||
"`le Guide du Développeur Python <https://devguide.python.org/>`_."
|
||||
|
||||
#: faq/general.rst:247
|
||||
#: faq/general.rst:253
|
||||
msgid "Are there any published articles about Python that I can reference?"
|
||||
msgstr ""
|
||||
"Existe-t-il des articles publiés au sujet de Python auxquels je peux me "
|
||||
"référer ?"
|
||||
|
||||
#: faq/general.rst:249
|
||||
#: faq/general.rst:255
|
||||
msgid "It's probably best to cite your favorite book about Python."
|
||||
msgstr ""
|
||||
"C'est probablement mieux de vous référer à votre livre favori à propos de "
|
||||
"Python."
|
||||
|
||||
#: faq/general.rst:251
|
||||
#: faq/general.rst:257
|
||||
msgid ""
|
||||
"The very first article about Python was written in 1991 and is now quite "
|
||||
"outdated."
|
||||
|
@ -565,7 +585,7 @@ msgstr ""
|
|||
"Le tout premier article à propos de Python a été écrit en 1991 et est "
|
||||
"maintenant obsolète."
|
||||
|
||||
#: faq/general.rst:254
|
||||
#: faq/general.rst:260
|
||||
msgid ""
|
||||
"Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers "
|
||||
"Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 "
|
||||
|
@ -575,11 +595,11 @@ msgstr ""
|
|||
"Using the Python Programming Language* », CWI Quarterly, Volume 4, Issue 4 "
|
||||
"(December 1991), Amsterdam, pp 283--303."
|
||||
|
||||
#: faq/general.rst:260
|
||||
#: faq/general.rst:266
|
||||
msgid "Are there any books on Python?"
|
||||
msgstr "Y a-t-il des livres au sujet de Python ?"
|
||||
|
||||
#: faq/general.rst:262
|
||||
#: faq/general.rst:268
|
||||
msgid ""
|
||||
"Yes, there are many, and more are being published. See the python.org wiki "
|
||||
"at https://wiki.python.org/moin/PythonBooks for a list."
|
||||
|
@ -587,7 +607,7 @@ msgstr ""
|
|||
"Oui, il y en a beaucoup, et d'autres sont en cours de publication. Voir le "
|
||||
"wiki python à https://wiki.python.org/moin/PythonBooks pour avoir une liste."
|
||||
|
||||
#: faq/general.rst:265
|
||||
#: faq/general.rst:271
|
||||
msgid ""
|
||||
"You can also search online bookstores for \"Python\" and filter out the "
|
||||
"Monty Python references; or perhaps search for \"Python\" and \"language\"."
|
||||
|
@ -596,25 +616,26 @@ msgstr ""
|
|||
"terme « Python » et éliminer les références concernant les Monty Python, ou "
|
||||
"peut-être faire une recherche avec les termes « langage » et « Python »."
|
||||
|
||||
#: faq/general.rst:270
|
||||
#: faq/general.rst:276
|
||||
msgid "Where in the world is www.python.org located?"
|
||||
msgstr "Où www.python.org est-il localisé dans le monde ?"
|
||||
|
||||
#: faq/general.rst:272
|
||||
#: faq/general.rst:278
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The Python project's infrastructure is located all over the world and is "
|
||||
"managed by the Python Infrastructure Team. Details `here <http://infra.psf."
|
||||
"managed by the Python Infrastructure Team. Details `here <https://infra.psf."
|
||||
"io>`__."
|
||||
msgstr ""
|
||||
"L'infrastructure du projet Python est située dans le monde entier et est "
|
||||
"gérée par l'équipe de l'infrastructure Python. Plus de détails `ici <http://"
|
||||
"infra.psf.io>`__."
|
||||
|
||||
#: faq/general.rst:277
|
||||
#: faq/general.rst:283
|
||||
msgid "Why is it called Python?"
|
||||
msgstr "Pourquoi le nom Python ?"
|
||||
|
||||
#: faq/general.rst:279
|
||||
#: faq/general.rst:285
|
||||
msgid ""
|
||||
"When he began implementing Python, Guido van Rossum was also reading the "
|
||||
"published scripts from `\"Monty Python's Flying Circus\" <https://en."
|
||||
|
@ -628,23 +649,23 @@ msgstr ""
|
|||
"BBC. Van Rossum a pensé qu'il avait besoin d'un nom court, unique, et un peu "
|
||||
"mystérieux, donc il a décidé de l'appeler le langage Python."
|
||||
|
||||
#: faq/general.rst:287
|
||||
#: faq/general.rst:293
|
||||
msgid "Do I have to like \"Monty Python's Flying Circus\"?"
|
||||
msgstr "Dois-je aimer \"Monty Python's Flying Circus\" ?"
|
||||
|
||||
#: faq/general.rst:289
|
||||
#: faq/general.rst:295
|
||||
msgid "No, but it helps. :)"
|
||||
msgstr "Non, mais ça peut aider. :)"
|
||||
|
||||
#: faq/general.rst:293
|
||||
#: faq/general.rst:299
|
||||
msgid "Python in the real world"
|
||||
msgstr "Python c'est le monde réel"
|
||||
|
||||
#: faq/general.rst:296
|
||||
#: faq/general.rst:302
|
||||
msgid "How stable is Python?"
|
||||
msgstr "Quel est le niveau de stabilité de Python ?"
|
||||
|
||||
#: faq/general.rst:298
|
||||
#: faq/general.rst:304
|
||||
msgid ""
|
||||
"Very stable. New, stable releases have been coming out roughly every 6 to "
|
||||
"18 months since 1991, and this seems likely to continue. As of version 3.9, "
|
||||
|
@ -654,7 +675,7 @@ msgstr ""
|
|||
"depuis 1991, et il semble probable que ça continue. À partir de la version "
|
||||
"3.9, Python aura une nouvelle version majeure tous les 12 mois (:pep:`602`)."
|
||||
|
||||
#: faq/general.rst:302
|
||||
#: faq/general.rst:308
|
||||
msgid ""
|
||||
"The developers issue \"bugfix\" releases of older versions, so the stability "
|
||||
"of existing releases gradually improves. Bugfix releases, indicated by a "
|
||||
|
@ -671,7 +692,7 @@ msgstr ""
|
|||
"garanti que les interfaces resteront les mêmes tout au long de la série de "
|
||||
"versions correctives."
|
||||
|
||||
#: faq/general.rst:309
|
||||
#: faq/general.rst:315
|
||||
msgid ""
|
||||
"The latest stable releases can always be found on the `Python download page "
|
||||
"<https://www.python.org/downloads/>`_. There are two production-ready "
|
||||
|
@ -686,11 +707,11 @@ msgstr ""
|
|||
"largement utilisées. Bien que Python 2 soit encore utilisé, `il n'est "
|
||||
"désormais plus maintenu <https://www.python.org/dev/peps/pep-0373/>`_."
|
||||
|
||||
#: faq/general.rst:316
|
||||
#: faq/general.rst:322
|
||||
msgid "How many people are using Python?"
|
||||
msgstr "Combien de personnes utilisent Python ?"
|
||||
|
||||
#: faq/general.rst:318
|
||||
#: faq/general.rst:324
|
||||
msgid ""
|
||||
"There are probably millions of users, though it's difficult to obtain an "
|
||||
"exact count."
|
||||
|
@ -698,7 +719,7 @@ msgstr ""
|
|||
"Il y a probablement des millions d'utilisateurs, bien qu'il soit difficile "
|
||||
"d'en déterminer le nombre exact."
|
||||
|
||||
#: faq/general.rst:321
|
||||
#: faq/general.rst:327
|
||||
msgid ""
|
||||
"Python is available for free download, so there are no sales figures, and "
|
||||
"it's available from many different sites and packaged with many Linux "
|
||||
|
@ -709,7 +730,7 @@ msgstr ""
|
|||
"il est inclus avec de beaucoup de distributions Linux, donc les statistiques "
|
||||
"de téléchargement ne donnent pas la totalité non plus."
|
||||
|
||||
#: faq/general.rst:325
|
||||
#: faq/general.rst:331
|
||||
msgid ""
|
||||
"The comp.lang.python newsgroup is very active, but not all Python users post "
|
||||
"to the group or even read it."
|
||||
|
@ -717,11 +738,11 @@ msgstr ""
|
|||
"Le forum *comp.lang.python* est très actif, mais tous les utilisateurs de "
|
||||
"Python ne laissent pas de messages dessus ou même ne le lisent pas."
|
||||
|
||||
#: faq/general.rst:330
|
||||
#: faq/general.rst:336
|
||||
msgid "Have any significant projects been done in Python?"
|
||||
msgstr "Y a-t-il un nombre de projets significatif réalisés en Python ?"
|
||||
|
||||
#: faq/general.rst:332
|
||||
#: faq/general.rst:338
|
||||
msgid ""
|
||||
"See https://www.python.org/about/success for a list of projects that use "
|
||||
"Python. Consulting the proceedings for `past Python conferences <https://www."
|
||||
|
@ -734,11 +755,12 @@ msgstr ""
|
|||
"s'avère que les contributions proviennent de nombreux organismes et "
|
||||
"entreprises divers."
|
||||
|
||||
#: faq/general.rst:337
|
||||
#: faq/general.rst:343
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"High-profile Python projects include `the Mailman mailing list manager "
|
||||
"<http://www.list.org>`_ and `the Zope application server <http://www.zope."
|
||||
"org>`_. Several Linux distributions, most notably `Red Hat <https://www."
|
||||
"<https://www.list.org>`_ and `the Zope application server <https://www.zope."
|
||||
"dev>`_. Several Linux distributions, most notably `Red Hat <https://www."
|
||||
"redhat.com>`_, have written part or all of their installer and system "
|
||||
"administration software in Python. Companies that use Python internally "
|
||||
"include Google, Yahoo, and Lucasfilm Ltd."
|
||||
|
@ -750,11 +772,11 @@ msgstr ""
|
|||
"logiciel d'administration système en Python. Les entreprises qui utilisent "
|
||||
"Python en interne comprennent Google, Yahoo, et Lucasfilm Ltd."
|
||||
|
||||
#: faq/general.rst:346
|
||||
#: faq/general.rst:352
|
||||
msgid "What new developments are expected for Python in the future?"
|
||||
msgstr "Quelles sont les nouveautés en développement attendues pour Python ?"
|
||||
|
||||
#: faq/general.rst:348
|
||||
#: faq/general.rst:354
|
||||
msgid ""
|
||||
"See https://www.python.org/dev/peps/ for the Python Enhancement Proposals "
|
||||
"(PEPs). PEPs are design documents describing a suggested new feature for "
|
||||
|
@ -769,7 +791,7 @@ msgstr ""
|
|||
"logique. Recherchez une PEP intitulée \"Python X.Y Release Schedule\", où X."
|
||||
"Y est la version qui n'a pas encore été publiée."
|
||||
|
||||
#: faq/general.rst:354
|
||||
#: faq/general.rst:360
|
||||
msgid ""
|
||||
"New development is discussed on `the python-dev mailing list <https://mail."
|
||||
"python.org/mailman/listinfo/python-dev/>`_."
|
||||
|
@ -777,12 +799,12 @@ msgstr ""
|
|||
"Le nouveau développement est discuté sur `la liste de diffusion python-dev "
|
||||
"<https://mail.python.org/mailman/listinfo/python-dev/>`_."
|
||||
|
||||
#: faq/general.rst:359
|
||||
#: faq/general.rst:365
|
||||
msgid "Is it reasonable to propose incompatible changes to Python?"
|
||||
msgstr ""
|
||||
"Est-il raisonnable de proposer des changements incompatibles dans Python ?"
|
||||
|
||||
#: faq/general.rst:361
|
||||
#: faq/general.rst:367
|
||||
msgid ""
|
||||
"In general, no. There are already millions of lines of Python code around "
|
||||
"the world, so any change in the language that invalidates more than a very "
|
||||
|
@ -799,7 +821,7 @@ msgstr ""
|
|||
"documentations, beaucoup de livres ont été écrits au sujet de Python, et "
|
||||
"nous ne voulons pas les rendre invalides soudainement."
|
||||
|
||||
#: faq/general.rst:368
|
||||
#: faq/general.rst:374
|
||||
msgid ""
|
||||
"Providing a gradual upgrade path is necessary if a feature has to be "
|
||||
"changed. :pep:`5` describes the procedure followed for introducing backward-"
|
||||
|
@ -808,17 +830,17 @@ msgstr ""
|
|||
"En fournissant un rythme de mise à jour progressif qui est obligatoire si "
|
||||
"une fonctionnalité doit être changée."
|
||||
|
||||
#: faq/general.rst:374
|
||||
#: faq/general.rst:380
|
||||
msgid "Is Python a good language for beginning programmers?"
|
||||
msgstr ""
|
||||
"Existe-t-il un meilleur langage de programmation pour les programmeurs "
|
||||
"débutants ?"
|
||||
|
||||
#: faq/general.rst:376
|
||||
#: faq/general.rst:382
|
||||
msgid "Yes."
|
||||
msgstr "Oui."
|
||||
|
||||
#: faq/general.rst:378
|
||||
#: faq/general.rst:384
|
||||
msgid ""
|
||||
"It is still common to start students with a procedural and statically typed "
|
||||
"language such as Pascal, C, or a subset of C++ or Java. Students may be "
|
||||
|
@ -842,7 +864,7 @@ msgstr ""
|
|||
"peuvent même probablement travailler avec des objets définis dans leurs "
|
||||
"premiers cours."
|
||||
|
||||
#: faq/general.rst:388
|
||||
#: faq/general.rst:394
|
||||
msgid ""
|
||||
"For a student who has never programmed before, using a statically typed "
|
||||
"language seems unnatural. It presents additional complexity that the "
|
||||
|
@ -862,7 +884,7 @@ msgstr ""
|
|||
"terme, ce n'est pas nécessairement la meilleure idée pour s'adresser aux "
|
||||
"étudiants durant leur tout premier cours."
|
||||
|
||||
#: faq/general.rst:396
|
||||
#: faq/general.rst:402
|
||||
msgid ""
|
||||
"Many other aspects of Python make it a good first language. Like Java, "
|
||||
"Python has a large standard library so that students can be assigned "
|
||||
|
@ -885,7 +907,7 @@ msgstr ""
|
|||
"réutilisation de code. Les modules tiers tels que PyGame sont aussi très "
|
||||
"utiles pour étendre les compétences des étudiants."
|
||||
|
||||
#: faq/general.rst:405
|
||||
#: faq/general.rst:411
|
||||
msgid ""
|
||||
"Python's interactive interpreter enables students to test language features "
|
||||
"while they're programming. They can keep a window with the interpreter "
|
||||
|
@ -899,7 +921,7 @@ msgstr ""
|
|||
"souvenir des méthodes pour une liste, ils peuvent faire quelque chose comme "
|
||||
"ça ::"
|
||||
|
||||
#: faq/general.rst:434
|
||||
#: faq/general.rst:440
|
||||
msgid ""
|
||||
"With the interpreter, documentation is never far from the student as they "
|
||||
"are programming."
|
||||
|
@ -907,15 +929,16 @@ msgstr ""
|
|||
"Avec l'interpréteur, la documentation n'est jamais loin des étudiants quand "
|
||||
"ils travaillent."
|
||||
|
||||
#: faq/general.rst:437
|
||||
#: faq/general.rst:443
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"There are also good IDEs for Python. IDLE is a cross-platform IDE for "
|
||||
"Python that is written in Python using Tkinter. PythonWin is a Windows-"
|
||||
"specific IDE. Emacs users will be happy to know that there is a very good "
|
||||
"Python mode for Emacs. All of these programming environments provide syntax "
|
||||
"highlighting, auto-indenting, and access to the interactive interpreter "
|
||||
"while coding. Consult `the Python wiki <https://wiki.python.org/moin/"
|
||||
"PythonEditors>`_ for a full list of Python editing environments."
|
||||
"Python that is written in Python using Tkinter. Emacs users will be happy to "
|
||||
"know that there is a very good Python mode for Emacs. All of these "
|
||||
"programming environments provide syntax highlighting, auto-indenting, and "
|
||||
"access to the interactive interpreter while coding. Consult `the Python "
|
||||
"wiki <https://wiki.python.org/moin/PythonEditors>`_ for a full list of "
|
||||
"Python editing environments."
|
||||
msgstr ""
|
||||
"Il y a aussi de bons environnements de développement intégrés (EDIs) pour "
|
||||
"Python. IDLE est un EDI multiplateformes pour Python qui est écrit en Python "
|
||||
|
@ -927,7 +950,7 @@ msgstr ""
|
|||
"<https://wiki.python.org/moin/PythonEditors>`_ pour une liste complète des "
|
||||
"environnements de développement intégrés."
|
||||
|
||||
#: faq/general.rst:445
|
||||
#: faq/general.rst:451
|
||||
msgid ""
|
||||
"If you want to discuss Python's use in education, you may be interested in "
|
||||
"joining `the edu-sig mailing list <https://www.python.org/community/sigs/"
|
||||
|
@ -936,3 +959,33 @@ msgstr ""
|
|||
"Si vous voulez discuter de l'usage de Python dans l'éducation, vous devriez "
|
||||
"intéressé pour rejoindre `la liste de diffusion pour l'enseignement <https://"
|
||||
"www.python.org/community/sigs/current/edu-sig>`_."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Python versions are numbered A.B.C or A.B. A is the major version number "
|
||||
#~ "-- it is only incremented for really major changes in the language. B is "
|
||||
#~ "the minor version number, incremented for less earth-shattering changes. "
|
||||
#~ "C is the micro-level -- it is incremented for each bugfix release. See :"
|
||||
#~ "pep:`6` for more information about bugfix releases."
|
||||
#~ msgstr ""
|
||||
#~ "Les versions de Python sont numérotées A.B.C ou A.B. A est une version "
|
||||
#~ "majeure -- elle est augmentée seulement lorsqu'il y a des changements "
|
||||
#~ "conséquents dans le langage. B est une version mineure, elle est "
|
||||
#~ "augmentée lors de changements de moindre importance. C est un micro-"
|
||||
#~ "niveau -- elle est augmentée à chaque sortie de correctifs de bogue."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Alpha, beta and release candidate versions have an additional suffix. "
|
||||
#~ "The suffix for an alpha version is \"aN\" for some small number N, the "
|
||||
#~ "suffix for a beta version is \"bN\" for some small number N, and the "
|
||||
#~ "suffix for a release candidate version is \"rcN\" for some small number "
|
||||
#~ "N. In other words, all versions labeled 2.0aN precede the versions "
|
||||
#~ "labeled 2.0bN, which precede versions labeled 2.0rcN, and *those* precede "
|
||||
#~ "2.0."
|
||||
#~ msgstr ""
|
||||
#~ "Les versions *alpha*, *beta* et *release candidate* ont un suffixe "
|
||||
#~ "supplémentaire. Le suffixe pour une version alpha est « aN » où N est un "
|
||||
#~ "petit nombre, le suffixe pour une version *beta* est *bN* où N est un "
|
||||
#~ "petit nombre, et le suffixe pour une *release candidate* est *rcN* où N "
|
||||
#~ "est un petit nombre. En d'autres mots, toutes les versions nommées *2.0."
|
||||
#~ "aN* précèdent les versions *2.0.bN*, qui elles-mêmes précèdent 2.0rcN, et "
|
||||
#~ "*celles-ci* précèdent la version 2.0."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-16 02:34+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -93,10 +93,11 @@ msgstr ""
|
|||
"d'environnement :envvar:`TCL_LIBRARY` et :envvar:`TK_LIBRARY`."
|
||||
|
||||
#: faq/gui.rst:49
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To get truly stand-alone applications, the Tcl scripts that form the library "
|
||||
"have to be integrated into the application as well. One tool supporting that "
|
||||
"is SAM (stand-alone modules), which is part of the Tix distribution (http://"
|
||||
"is SAM (stand-alone modules), which is part of the Tix distribution (https://"
|
||||
"tix.sourceforge.net/)."
|
||||
msgstr ""
|
||||
"Pour obtenir des applications vraiment autonomes, les scripts *Tcl* qui "
|
||||
|
|
278
faq/library.po
278
faq/library.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-06 20:15+0100\n"
|
||||
"Last-Translator: Fipaddict <fipaddict@protonmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -210,19 +210,11 @@ msgstr ""
|
|||
"qui n'ont que le *curses* de BSD mais, de nos jours, de tels systèmes "
|
||||
"d'exploitation ne semblent plus exister ou être maintenus."
|
||||
|
||||
#: faq/library.rst:109
|
||||
msgid ""
|
||||
"For Windows: use `the consolelib module <http://effbot.org/zone/console-"
|
||||
"index.htm>`_."
|
||||
msgstr ""
|
||||
"Pour Windows : utilisez le module `consolelib <http://effbot.org/zone/"
|
||||
"console-index.htm>`_."
|
||||
|
||||
#: faq/library.rst:114
|
||||
#: faq/library.rst:111
|
||||
msgid "Is there an equivalent to C's onexit() in Python?"
|
||||
msgstr "Existe-t-il un équivalent à la fonction C ``onexit()`` en Python ?"
|
||||
|
||||
#: faq/library.rst:116
|
||||
#: faq/library.rst:113
|
||||
msgid ""
|
||||
"The :mod:`atexit` module provides a register function that is similar to "
|
||||
"C's :c:func:`onexit`."
|
||||
|
@ -230,11 +222,11 @@ msgstr ""
|
|||
"Le module :mod:`atexit` fournit une fonction d'enregistrement similaire à la "
|
||||
"fonction C :c:func:`onexit`."
|
||||
|
||||
#: faq/library.rst:121
|
||||
#: faq/library.rst:118
|
||||
msgid "Why don't my signal handlers work?"
|
||||
msgstr "Pourquoi mes gestionnaires de signaux ne fonctionnent-ils pas ?"
|
||||
|
||||
#: faq/library.rst:123
|
||||
#: faq/library.rst:120
|
||||
msgid ""
|
||||
"The most common problem is that the signal handler is declared with the "
|
||||
"wrong argument list. It is called as ::"
|
||||
|
@ -242,19 +234,19 @@ msgstr ""
|
|||
"Le problème le plus courant est d'appeler le gestionnaire de signaux avec "
|
||||
"les mauvais arguments. Un gestionnaire est appelé de la façon suivante ::"
|
||||
|
||||
#: faq/library.rst:128
|
||||
#: faq/library.rst:125
|
||||
msgid "so it should be declared with two parameters::"
|
||||
msgstr "donc il doit être déclaré avec deux paramètres ::"
|
||||
|
||||
#: faq/library.rst:135
|
||||
#: faq/library.rst:132
|
||||
msgid "Common tasks"
|
||||
msgstr "Tâches fréquentes"
|
||||
|
||||
#: faq/library.rst:138
|
||||
#: faq/library.rst:135
|
||||
msgid "How do I test a Python program or component?"
|
||||
msgstr "Comment tester un programme ou un composant Python ?"
|
||||
|
||||
#: faq/library.rst:140
|
||||
#: faq/library.rst:137
|
||||
msgid ""
|
||||
"Python comes with two testing frameworks. The :mod:`doctest` module finds "
|
||||
"examples in the docstrings for a module and runs them, comparing the output "
|
||||
|
@ -264,7 +256,7 @@ msgstr ""
|
|||
"exemples dans les *docstrings* d'un module et les exécute. Il compare alors "
|
||||
"la sortie avec la sortie attendue, telle que définie dans la *docstring*."
|
||||
|
||||
#: faq/library.rst:144
|
||||
#: faq/library.rst:141
|
||||
msgid ""
|
||||
"The :mod:`unittest` module is a fancier testing framework modelled on Java "
|
||||
"and Smalltalk testing frameworks."
|
||||
|
@ -272,7 +264,7 @@ msgstr ""
|
|||
"Le module :mod:`unittest` est un cadriciel un peu plus élaboré basé sur les "
|
||||
"cadriciels de test de Java et de Smalltalk."
|
||||
|
||||
#: faq/library.rst:147
|
||||
#: faq/library.rst:144
|
||||
msgid ""
|
||||
"To make testing easier, you should use good modular design in your program. "
|
||||
"Your program should have almost all functionality encapsulated in either "
|
||||
|
@ -291,16 +283,16 @@ msgstr ""
|
|||
"manipuler des variables globales, car ceci rend le test beaucoup plus "
|
||||
"difficile."
|
||||
|
||||
#: faq/library.rst:155
|
||||
#: faq/library.rst:152
|
||||
msgid "The \"global main logic\" of your program may be as simple as ::"
|
||||
msgstr ""
|
||||
"La « logique générale » d'un programme devrait être aussi simple que ::"
|
||||
|
||||
#: faq/library.rst:160
|
||||
#: faq/library.rst:157
|
||||
msgid "at the bottom of the main module of your program."
|
||||
msgstr "à la fin du module principal du programme."
|
||||
|
||||
#: faq/library.rst:162
|
||||
#: faq/library.rst:159
|
||||
msgid ""
|
||||
"Once your program is organized as a tractable collection of function and "
|
||||
"class behaviours, you should write test functions that exercise the "
|
||||
|
@ -322,7 +314,7 @@ msgstr ""
|
|||
"amusant, car ceci permet de trouver des bogues, voire des défauts de "
|
||||
"conception, plus facilement."
|
||||
|
||||
#: faq/library.rst:170
|
||||
#: faq/library.rst:167
|
||||
msgid ""
|
||||
"\"Support modules\" that are not intended to be the main module of a program "
|
||||
"may include a self-test of the module. ::"
|
||||
|
@ -330,7 +322,7 @@ msgstr ""
|
|||
"Les « modules auxiliaires » qui n'ont pas vocation à être le module "
|
||||
"principal du programme peuvent inclure un test pour se vérifier eux-mêmes. ::"
|
||||
|
||||
#: faq/library.rst:176
|
||||
#: faq/library.rst:173
|
||||
msgid ""
|
||||
"Even programs that interact with complex external interfaces may be tested "
|
||||
"when the external interfaces are unavailable by using \"fake\" interfaces "
|
||||
|
@ -340,16 +332,17 @@ msgstr ""
|
|||
"peuvent être testés même quand ces interfaces ne sont pas disponibles, en "
|
||||
"utilisant des interfaces « simulacres » implémentées en Python."
|
||||
|
||||
#: faq/library.rst:182
|
||||
#: faq/library.rst:179
|
||||
msgid "How do I create documentation from doc strings?"
|
||||
msgstr "Comment générer la documentation à partir des *docstrings* ?"
|
||||
|
||||
#: faq/library.rst:184
|
||||
#: faq/library.rst:181
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The :mod:`pydoc` module can create HTML from the doc strings in your Python "
|
||||
"source code. An alternative for creating API documentation purely from "
|
||||
"docstrings is `epydoc <http://epydoc.sourceforge.net/>`_. `Sphinx <http://"
|
||||
"sphinx-doc.org>`_ can also include docstring content."
|
||||
"docstrings is `epydoc <https://epydoc.sourceforge.net/>`_. `Sphinx <https://"
|
||||
"www.sphinx-doc.org>`_ can also include docstring content."
|
||||
msgstr ""
|
||||
"Le module :mod:`pydoc` peut générer du HTML à partir des *docstrings* du "
|
||||
"code source Python. Il est aussi possible de documenter une API uniquement à "
|
||||
|
@ -357,11 +350,11 @@ msgstr ""
|
|||
">`_. `Sphinx <http://sphinx-doc.org>`_ peut également inclure du contenu "
|
||||
"provenant de *docstrings*."
|
||||
|
||||
#: faq/library.rst:191
|
||||
#: faq/library.rst:188
|
||||
msgid "How do I get a single keypress at a time?"
|
||||
msgstr "Comment détecter qu'une touche est pressée ?"
|
||||
|
||||
#: faq/library.rst:193
|
||||
#: faq/library.rst:190
|
||||
msgid ""
|
||||
"For Unix variants there are several solutions. It's straightforward to do "
|
||||
"this using curses, but curses is a fairly large module to learn."
|
||||
|
@ -370,15 +363,15 @@ msgstr ""
|
|||
"en utilisant le module *curses*, mais *curses* est un module assez "
|
||||
"conséquent à apprendre."
|
||||
|
||||
#: faq/library.rst:237
|
||||
#: faq/library.rst:234
|
||||
msgid "Threads"
|
||||
msgstr "Fils d'exécution"
|
||||
|
||||
#: faq/library.rst:240
|
||||
#: faq/library.rst:237
|
||||
msgid "How do I program using threads?"
|
||||
msgstr "Comment programmer avec des fils d'exécution ?"
|
||||
|
||||
#: faq/library.rst:242
|
||||
#: faq/library.rst:239
|
||||
msgid ""
|
||||
"Be sure to use the :mod:`threading` module and not the :mod:`_thread` "
|
||||
"module. The :mod:`threading` module builds convenient abstractions on top of "
|
||||
|
@ -388,11 +381,11 @@ msgstr ""
|
|||
"`_thread`. Le module :mod:`threading` fournit une abstraction plus facile à "
|
||||
"manipuler que les primitives de bas-niveau du module :mod:`_thread`."
|
||||
|
||||
#: faq/library.rst:248
|
||||
#: faq/library.rst:245
|
||||
msgid "None of my threads seem to run: why?"
|
||||
msgstr "Aucun de mes fils ne semble s'exécuter : pourquoi ?"
|
||||
|
||||
#: faq/library.rst:250
|
||||
#: faq/library.rst:247
|
||||
msgid ""
|
||||
"As soon as the main thread exits, all threads are killed. Your main thread "
|
||||
"is running too quickly, giving the threads no time to do any work."
|
||||
|
@ -401,7 +394,7 @@ msgstr ""
|
|||
"fil principal s'exécute trop rapidement, sans laisser le temps aux autres "
|
||||
"fils de faire quoi que ce soit."
|
||||
|
||||
#: faq/library.rst:253
|
||||
#: faq/library.rst:250
|
||||
msgid ""
|
||||
"A simple fix is to add a sleep to the end of the program that's long enough "
|
||||
"for all the threads to finish::"
|
||||
|
@ -409,7 +402,7 @@ msgstr ""
|
|||
"Une correction simple consiste à ajouter un temps d'attente suffisamment "
|
||||
"long à la fin du programme pour que tous les fils puissent se terminer ::"
|
||||
|
||||
#: faq/library.rst:268
|
||||
#: faq/library.rst:265
|
||||
msgid ""
|
||||
"But now (on many platforms) the threads don't run in parallel, but appear to "
|
||||
"run sequentially, one at a time! The reason is that the OS thread scheduler "
|
||||
|
@ -420,13 +413,13 @@ msgstr ""
|
|||
"l'autre ! En réalité, l'ordonnanceur de fils du système d'exploitation ne "
|
||||
"démarre pas de nouveau fil avant que le précédent ne soit bloqué."
|
||||
|
||||
#: faq/library.rst:272
|
||||
#: faq/library.rst:269
|
||||
msgid "A simple fix is to add a tiny sleep to the start of the run function::"
|
||||
msgstr ""
|
||||
"Une correction simple consiste à ajouter un petit temps d'attente au début "
|
||||
"de la fonction ::"
|
||||
|
||||
#: faq/library.rst:285
|
||||
#: faq/library.rst:282
|
||||
msgid ""
|
||||
"Instead of trying to guess a good delay value for :func:`time.sleep`, it's "
|
||||
"better to use some kind of semaphore mechanism. One idea is to use the :mod:"
|
||||
|
@ -441,13 +434,13 @@ msgstr ""
|
|||
"quand il se termine, et que le fil principal retire autant de jetons de la "
|
||||
"file qu'il y a de fils."
|
||||
|
||||
#: faq/library.rst:293
|
||||
#: faq/library.rst:290
|
||||
msgid "How do I parcel out work among a bunch of worker threads?"
|
||||
msgstr ""
|
||||
"Comment découper et répartir une tâche au sein d'un ensemble de fils "
|
||||
"d'exécutions ?"
|
||||
|
||||
#: faq/library.rst:295
|
||||
#: faq/library.rst:292
|
||||
msgid ""
|
||||
"The easiest way is to use the :mod:`concurrent.futures` module, especially "
|
||||
"the :mod:`~concurrent.futures.ThreadPoolExecutor` class."
|
||||
|
@ -456,7 +449,7 @@ msgstr ""
|
|||
"futures`, en particulier la classe :mod:`~concurrent.futures."
|
||||
"ThreadPoolExecutor`."
|
||||
|
||||
#: faq/library.rst:298
|
||||
#: faq/library.rst:295
|
||||
msgid ""
|
||||
"Or, if you want fine control over the dispatching algorithm, you can write "
|
||||
"your own logic manually. Use the :mod:`queue` module to create a queue "
|
||||
|
@ -473,15 +466,15 @@ msgstr ""
|
|||
"pour les récupérer. La classe s'occupe de gérer les verrous pour que chaque "
|
||||
"tâche soit exécutée une et une seule fois."
|
||||
|
||||
#: faq/library.rst:305
|
||||
#: faq/library.rst:302
|
||||
msgid "Here's a trivial example::"
|
||||
msgstr "Voici un exemple trivial ::"
|
||||
|
||||
#: faq/library.rst:343
|
||||
#: faq/library.rst:340
|
||||
msgid "When run, this will produce the following output:"
|
||||
msgstr "Quand celui-ci est exécuté, il produit la sortie suivante :"
|
||||
|
||||
#: faq/library.rst:361
|
||||
#: faq/library.rst:358
|
||||
msgid ""
|
||||
"Consult the module's documentation for more details; the :class:`~queue."
|
||||
"Queue` class provides a featureful interface."
|
||||
|
@ -489,13 +482,13 @@ msgstr ""
|
|||
"Consultez la documentation du module pour plus de détails ; la classe :class:"
|
||||
"`~queue.Queue` fournit une interface pleine de fonctionnalités."
|
||||
|
||||
#: faq/library.rst:366
|
||||
#: faq/library.rst:363
|
||||
msgid "What kinds of global value mutation are thread-safe?"
|
||||
msgstr ""
|
||||
"Quels types de mutations sur des variables globales sont compatibles avec "
|
||||
"les programmes à fils d'exécution multiples ? sécurisé ?"
|
||||
|
||||
#: faq/library.rst:368
|
||||
#: faq/library.rst:365
|
||||
msgid ""
|
||||
"A :term:`global interpreter lock` (GIL) is used internally to ensure that "
|
||||
"only one thread runs in the Python VM at a time. In general, Python offers "
|
||||
|
@ -513,7 +506,7 @@ msgstr ""
|
|||
"intermédiaire, et, par conséquent, tout le code C appelé par cette "
|
||||
"instruction est donc atomique du point de vue d'un programme Python."
|
||||
|
||||
#: faq/library.rst:375
|
||||
#: faq/library.rst:372
|
||||
msgid ""
|
||||
"In theory, this means an exact accounting requires an exact understanding of "
|
||||
"the PVM bytecode implementation. In practice, it means that operations on "
|
||||
|
@ -526,7 +519,7 @@ msgstr ""
|
|||
"listes, les dictionnaires, etc.) qui « semblent atomiques » le sont "
|
||||
"réellement."
|
||||
|
||||
#: faq/library.rst:380
|
||||
#: faq/library.rst:377
|
||||
msgid ""
|
||||
"For example, the following operations are all atomic (L, L1, L2 are lists, "
|
||||
"D, D1, D2 are dicts, x, y are objects, i, j are ints)::"
|
||||
|
@ -535,11 +528,11 @@ msgstr ""
|
|||
"*L2* sont des listes, *D*, *D1* et *D2* sont des dictionnaires, *x* et *y* "
|
||||
"sont des objets, *i* et *j* des entiers) ::"
|
||||
|
||||
#: faq/library.rst:395
|
||||
#: faq/library.rst:392
|
||||
msgid "These aren't::"
|
||||
msgstr "Les suivantes ne le sont pas ::"
|
||||
|
||||
#: faq/library.rst:402
|
||||
#: faq/library.rst:399
|
||||
msgid ""
|
||||
"Operations that replace other objects may invoke those other objects' :meth:"
|
||||
"`__del__` method when their reference count reaches zero, and that can "
|
||||
|
@ -552,11 +545,11 @@ msgstr ""
|
|||
"changements massifs sur des dictionnaires ou des listes. En cas de doute, il "
|
||||
"vaut mieux utiliser un mutex !"
|
||||
|
||||
#: faq/library.rst:409
|
||||
#: faq/library.rst:406
|
||||
msgid "Can't we get rid of the Global Interpreter Lock?"
|
||||
msgstr "Pourquoi ne pas se débarrasser du verrou global de l'interpréteur ?"
|
||||
|
||||
#: faq/library.rst:413
|
||||
#: faq/library.rst:410
|
||||
msgid ""
|
||||
"The :term:`global interpreter lock` (GIL) is often seen as a hindrance to "
|
||||
"Python's deployment on high-end multiprocessor server machines, because a "
|
||||
|
@ -570,7 +563,7 @@ msgstr ""
|
|||
"Presque tout le code Python ne peut en effet être exécuté qu'avec le GIL "
|
||||
"acquis."
|
||||
|
||||
#: faq/library.rst:418
|
||||
#: faq/library.rst:415
|
||||
msgid ""
|
||||
"Back in the days of Python 1.5, Greg Stein actually implemented a "
|
||||
"comprehensive patch set (the \"free threading\" patches) that removed the "
|
||||
|
@ -590,7 +583,7 @@ msgstr ""
|
|||
"un seul fil d'exécution, à cause de la quantité de verrouillage plus "
|
||||
"granulaire nécessaire pour contrebalancer la suppression du GIL."
|
||||
|
||||
#: faq/library.rst:426
|
||||
#: faq/library.rst:423
|
||||
msgid ""
|
||||
"This doesn't mean that you can't make good use of Python on multi-CPU "
|
||||
"machines! You just have to be creative with dividing the work up between "
|
||||
|
@ -608,7 +601,7 @@ msgstr ""
|
|||
"le module :mod:`multiprocessing` fournit une API de plus bas-niveau pour un "
|
||||
"meilleur contrôle sur la distribution des tâches."
|
||||
|
||||
#: faq/library.rst:434
|
||||
#: faq/library.rst:431
|
||||
msgid ""
|
||||
"Judicious use of C extensions will also help; if you use a C extension to "
|
||||
"perform a time-consuming task, the extension can release the GIL while the "
|
||||
|
@ -622,7 +615,7 @@ msgstr ""
|
|||
"fils travailler. Des modules de la bibliothèque standard comme :mod:`zlib` "
|
||||
"ou :mod:`hashlib` utilisent cette technique."
|
||||
|
||||
#: faq/library.rst:440
|
||||
#: faq/library.rst:437
|
||||
msgid ""
|
||||
"It has been suggested that the GIL should be a per-interpreter-state lock "
|
||||
"rather than truly global; interpreters then wouldn't be able to share "
|
||||
|
@ -643,7 +636,7 @@ msgstr ""
|
|||
"ont leur propre liste de suppression, ces listes devraient être déplacées au "
|
||||
"niveau de l'interpréteur et ainsi de suite."
|
||||
|
||||
#: faq/library.rst:449
|
||||
#: faq/library.rst:446
|
||||
msgid ""
|
||||
"And I doubt that it can even be done in finite time, because the same "
|
||||
"problem exists for 3rd party extensions. It is likely that 3rd party "
|
||||
|
@ -655,7 +648,7 @@ msgstr ""
|
|||
"qu'il ne soit possible de les corriger pour les faire stocker leur état au "
|
||||
"niveau de l'interpréteur et non plus au niveau global."
|
||||
|
||||
#: faq/library.rst:454
|
||||
#: faq/library.rst:451
|
||||
msgid ""
|
||||
"And finally, once you have multiple interpreters not sharing any state, what "
|
||||
"have you gained over running each interpreter in a separate process?"
|
||||
|
@ -664,15 +657,15 @@ msgstr ""
|
|||
"partagent pas d'état, par rapport à faire tourner chaque interpréteur dans "
|
||||
"un processus différent ?"
|
||||
|
||||
#: faq/library.rst:459
|
||||
#: faq/library.rst:456
|
||||
msgid "Input and Output"
|
||||
msgstr "Les entrées/sorties"
|
||||
|
||||
#: faq/library.rst:462
|
||||
#: faq/library.rst:459
|
||||
msgid "How do I delete a file? (And other file questions...)"
|
||||
msgstr "Comment supprimer un fichier ? (et autres questions sur les fichiers…)"
|
||||
|
||||
#: faq/library.rst:464
|
||||
#: faq/library.rst:461
|
||||
msgid ""
|
||||
"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, "
|
||||
"see the :mod:`os` module. The two functions are identical; :func:`~os."
|
||||
|
@ -683,7 +676,7 @@ msgstr ""
|
|||
"identiques, :func:`~os.unlink` n'est tout simplement que le nom de l'appel "
|
||||
"système à cette fonction sous Unix."
|
||||
|
||||
#: faq/library.rst:468
|
||||
#: faq/library.rst:465
|
||||
msgid ""
|
||||
"To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create "
|
||||
"one. ``os.makedirs(path)`` will create any intermediate directories in "
|
||||
|
@ -697,12 +690,12 @@ msgstr ""
|
|||
"supprime les dossiers intermédiaires si ceux-ci sont vides. Pour supprimer "
|
||||
"une arborescence et tout son contenu, utilisez :func:`shutil.rmtree`."
|
||||
|
||||
#: faq/library.rst:474
|
||||
#: faq/library.rst:471
|
||||
msgid "To rename a file, use ``os.rename(old_path, new_path)``."
|
||||
msgstr ""
|
||||
"``os.rename(ancien_chemin, nouveau_chemin)`` permet de renommer un fichier."
|
||||
|
||||
#: faq/library.rst:476
|
||||
#: faq/library.rst:473
|
||||
msgid ""
|
||||
"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use "
|
||||
"``f.truncate(offset)``; offset defaults to the current seek position. "
|
||||
|
@ -715,7 +708,7 @@ msgstr ""
|
|||
"existe aussi ``os.ftruncate(df, décalage)`` pour les fichiers ouverts avec :"
|
||||
"func:`os.open`, où *df* est le descripteur de fichier (un entier court)."
|
||||
|
||||
#: faq/library.rst:481
|
||||
#: faq/library.rst:478
|
||||
msgid ""
|
||||
"The :mod:`shutil` module also contains a number of functions to work on "
|
||||
"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :"
|
||||
|
@ -725,24 +718,26 @@ msgstr ""
|
|||
"effectuer des opérations sur des fichiers comme :func:`~shutil.copyfile`, :"
|
||||
"func:`~shutil.copytree` et :func:`~shutil.rmtree`."
|
||||
|
||||
#: faq/library.rst:487
|
||||
#: faq/library.rst:484
|
||||
msgid "How do I copy a file?"
|
||||
msgstr "Comment copier un fichier ?"
|
||||
|
||||
#: faq/library.rst:489
|
||||
#: faq/library.rst:486
|
||||
msgid ""
|
||||
"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note "
|
||||
"that on MacOS 9 it doesn't copy the resource fork and Finder info."
|
||||
"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note "
|
||||
"that on Windows NTFS volumes, it does not copy `alternate data streams "
|
||||
"<https://en.wikipedia.org/wiki/NTFS#Alternate_data_stream_(ADS)>`_ nor "
|
||||
"`resource forks <https://en.wikipedia.org/wiki/Resource_fork>`__ on macOS "
|
||||
"HFS+ volumes, though both are now rarely used. It also doesn't copy file "
|
||||
"permissions and metadata, though using :func:`shutil.copy2` instead will "
|
||||
"preserve most (though not all) of it."
|
||||
msgstr ""
|
||||
"Le module :mod:`shutil` fournit la fonction :func:`~shutil.copyfile`. Sous "
|
||||
"MacOS 9, celle-ci ne copie pas le clonage de ressources ni les informations "
|
||||
"du chercheur."
|
||||
|
||||
#: faq/library.rst:494
|
||||
#: faq/library.rst:497
|
||||
msgid "How do I read (or write) binary data?"
|
||||
msgstr "Comment lire (ou écrire) des données binaires ?"
|
||||
|
||||
#: faq/library.rst:496
|
||||
#: faq/library.rst:499
|
||||
msgid ""
|
||||
"To read or write complex binary data formats, it's best to use the :mod:"
|
||||
"`struct` module. It allows you to take a string containing binary data "
|
||||
|
@ -753,7 +748,7 @@ msgstr ""
|
|||
"une chaîne de caractères qui contient des données binaires, souvent des "
|
||||
"nombres, en objets Python, et vice-versa."
|
||||
|
||||
#: faq/library.rst:500
|
||||
#: faq/library.rst:503
|
||||
msgid ""
|
||||
"For example, the following code reads two 2-byte integers and one 4-byte "
|
||||
"integer in big-endian format from a file::"
|
||||
|
@ -761,7 +756,7 @@ msgstr ""
|
|||
"Par exemple, le code suivant lit, depuis un fichier, deux entiers codés sur "
|
||||
"2 octets et un entier codé sur 4 octets, en format gros-boutiste ::"
|
||||
|
||||
#: faq/library.rst:509
|
||||
#: faq/library.rst:512
|
||||
msgid ""
|
||||
"The '>' in the format string forces big-endian data; the letter 'h' reads "
|
||||
"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 "
|
||||
|
@ -771,7 +766,7 @@ msgstr ""
|
|||
"mode gros-boutiste, la lettre « h » indique un entier court (2 octets) et la "
|
||||
"lettre « l » indique un entier long (4 octets)."
|
||||
|
||||
#: faq/library.rst:513
|
||||
#: faq/library.rst:516
|
||||
msgid ""
|
||||
"For data that is more regular (e.g. a homogeneous list of ints or floats), "
|
||||
"you can also use the :mod:`array` module."
|
||||
|
@ -780,7 +775,7 @@ msgstr ""
|
|||
"nombres à virgule flottante), il est possible d'utiliser le module :mod:"
|
||||
"`array`."
|
||||
|
||||
#: faq/library.rst:518
|
||||
#: faq/library.rst:521
|
||||
msgid ""
|
||||
"To read and write binary data, it is mandatory to open the file in binary "
|
||||
"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` "
|
||||
|
@ -793,13 +788,13 @@ msgstr ""
|
|||
"en mode textuel et ``f.read()`` renvoie des objets :class:`str` au lieu "
|
||||
"d'objets :class:`bytes`."
|
||||
|
||||
#: faq/library.rst:526
|
||||
#: faq/library.rst:529
|
||||
msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?"
|
||||
msgstr ""
|
||||
"Il me semble impossible d'utiliser ``os.read()`` sur un tube créé avec ``os."
|
||||
"popen()`` ; pourquoi ?"
|
||||
|
||||
#: faq/library.rst:528
|
||||
#: faq/library.rst:531
|
||||
msgid ""
|
||||
":func:`os.read` is a low-level function which takes a file descriptor, a "
|
||||
"small integer representing the opened file. :func:`os.popen` creates a high-"
|
||||
|
@ -814,34 +809,34 @@ msgstr ""
|
|||
"octets d'un tube *p* créé avec :func:`os.popen`, il faut utiliser ``p."
|
||||
"read(n)``."
|
||||
|
||||
#: faq/library.rst:615
|
||||
#: faq/library.rst:618
|
||||
msgid "How do I access the serial (RS232) port?"
|
||||
msgstr "Comment accéder au port de transmission en série (RS-232) ?"
|
||||
|
||||
#: faq/library.rst:617
|
||||
#: faq/library.rst:620
|
||||
msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:"
|
||||
msgstr "Pour Win32, OSX, Linux, BSD, Jython et IronPython :"
|
||||
|
||||
#: faq/library.rst:619
|
||||
#: faq/library.rst:622
|
||||
msgid "https://pypi.org/project/pyserial/"
|
||||
msgstr "https://pypi.org/project/pyserial/"
|
||||
|
||||
#: faq/library.rst:621
|
||||
#: faq/library.rst:624
|
||||
msgid "For Unix, see a Usenet post by Mitch Chapman:"
|
||||
msgstr ""
|
||||
"Pour Unix, référez-vous à une publication sur Usenet de Mitch Chapman :"
|
||||
|
||||
#: faq/library.rst:623
|
||||
#: faq/library.rst:626
|
||||
msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com"
|
||||
msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com"
|
||||
|
||||
#: faq/library.rst:627
|
||||
#: faq/library.rst:630
|
||||
msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?"
|
||||
msgstr ""
|
||||
"Pourquoi fermer *sys.stdout*, *sys.stdin*, *sys.stderr* ne les ferme pas "
|
||||
"réellement ?"
|
||||
|
||||
#: faq/library.rst:629
|
||||
#: faq/library.rst:632
|
||||
msgid ""
|
||||
"Python :term:`file objects <file object>` are a high-level layer of "
|
||||
"abstraction on low-level C file descriptors."
|
||||
|
@ -849,7 +844,7 @@ msgstr ""
|
|||
"Les :term:`objets fichiers <file object>` en Python sont des abstractions de "
|
||||
"haut niveau sur les descripteurs de fichier C de bas niveau."
|
||||
|
||||
#: faq/library.rst:632
|
||||
#: faq/library.rst:635
|
||||
msgid ""
|
||||
"For most file objects you create in Python via the built-in :func:`open` "
|
||||
"function, ``f.close()`` marks the Python file object as being closed from "
|
||||
|
@ -863,7 +858,7 @@ msgstr ""
|
|||
"enclenché automatiquement dans le destructeur de ``f``, lorsque ``f`` est "
|
||||
"recyclé."
|
||||
|
||||
#: faq/library.rst:638
|
||||
#: faq/library.rst:641
|
||||
msgid ""
|
||||
"But stdin, stdout and stderr are treated specially by Python, because of the "
|
||||
"special status also given to them by C. Running ``sys.stdout.close()`` "
|
||||
|
@ -875,7 +870,7 @@ msgstr ""
|
|||
"close()`` marque l'objet fichier comme fermé du point de vue de Python, mais "
|
||||
"le descripteur de fichier C associé n'est *pas* fermé."
|
||||
|
||||
#: faq/library.rst:643
|
||||
#: faq/library.rst:646
|
||||
msgid ""
|
||||
"To close the underlying C file descriptor for one of these three, you should "
|
||||
"first be sure that's what you really want to do (e.g., you may confuse "
|
||||
|
@ -886,21 +881,21 @@ msgstr ""
|
|||
"exemple, perturber le bon fonctionnement de modules qui font des opérations "
|
||||
"d'entrée-sortie). Si c'est le cas, utilisez :func:`os.close` ::"
|
||||
|
||||
#: faq/library.rst:651
|
||||
#: faq/library.rst:654
|
||||
msgid "Or you can use the numeric constants 0, 1 and 2, respectively."
|
||||
msgstr ""
|
||||
"Il est aussi possible de fermer respectivement les constantes numériques 0, "
|
||||
"1 ou 2."
|
||||
|
||||
#: faq/library.rst:655
|
||||
#: faq/library.rst:658
|
||||
msgid "Network/Internet Programming"
|
||||
msgstr "Programmation réseau et Internet"
|
||||
|
||||
#: faq/library.rst:658
|
||||
#: faq/library.rst:661
|
||||
msgid "What WWW tools are there for Python?"
|
||||
msgstr "Quels sont les outils Python dédiés à la Toile ?"
|
||||
|
||||
#: faq/library.rst:660
|
||||
#: faq/library.rst:663
|
||||
msgid ""
|
||||
"See the chapters titled :ref:`internet` and :ref:`netdata` in the Library "
|
||||
"Reference Manual. Python has many modules that will help you build server-"
|
||||
|
@ -910,7 +905,7 @@ msgstr ""
|
|||
"le manuel de référence de la bibliothèque. Python a de nombreux modules pour "
|
||||
"construire des applications de Toile côté client comme côté serveur."
|
||||
|
||||
#: faq/library.rst:666
|
||||
#: faq/library.rst:669
|
||||
msgid ""
|
||||
"A summary of available frameworks is maintained by Paul Boddie at https://"
|
||||
"wiki.python.org/moin/WebProgramming\\ ."
|
||||
|
@ -918,20 +913,22 @@ msgstr ""
|
|||
"Un résumé des cadriciels disponibles est maintenu par Paul Boddie à "
|
||||
"l'adresse https://wiki.python.org/moin/WebProgramming\\ ."
|
||||
|
||||
#: faq/library.rst:669
|
||||
#: faq/library.rst:672
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Cameron Laird maintains a useful set of pages about Python web technologies "
|
||||
"at http://phaseit.net/claird/comp.lang.python/web_python."
|
||||
"at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp."
|
||||
"lang.python/web_python."
|
||||
msgstr ""
|
||||
"Cameron Laird maintient un ensemble intéressant d'articles sur les "
|
||||
"technologies Python dédiées à la Toile à l'adresse http://phaseit.net/claird/"
|
||||
"comp.lang.python/web_python."
|
||||
|
||||
#: faq/library.rst:674
|
||||
#: faq/library.rst:677
|
||||
msgid "How can I mimic CGI form submission (METHOD=POST)?"
|
||||
msgstr "Comment reproduire un envoi de formulaire CGI (``METHOD=POST``) ?"
|
||||
|
||||
#: faq/library.rst:676
|
||||
#: faq/library.rst:679
|
||||
msgid ""
|
||||
"I would like to retrieve web pages that are the result of POSTing a form. Is "
|
||||
"there existing code that would let me do this easily?"
|
||||
|
@ -939,11 +936,11 @@ msgstr ""
|
|||
"J'aimerais récupérer la page de retour d'un envoi de formulaire sur la "
|
||||
"Toile. Existe-t-il déjà du code qui pourrait m'aider à le faire facilement ?"
|
||||
|
||||
#: faq/library.rst:679
|
||||
#: faq/library.rst:682
|
||||
msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::"
|
||||
msgstr "Oui. Voici un exemple simple d'utilisation de :mod:`urllib.request` ::"
|
||||
|
||||
#: faq/library.rst:694
|
||||
#: faq/library.rst:697
|
||||
msgid ""
|
||||
"Note that in general for percent-encoded POST operations, query strings must "
|
||||
"be quoted using :func:`urllib.parse.urlencode`. For example, to send "
|
||||
|
@ -954,15 +951,15 @@ msgstr ""
|
|||
"`urllib.parse.urlencode`. Par exemple pour envoyer ``name=Guy Steele, Jr."
|
||||
"`` ::"
|
||||
|
||||
#: faq/library.rst:702
|
||||
#: faq/library.rst:705
|
||||
msgid ":ref:`urllib-howto` for extensive examples."
|
||||
msgstr ":ref:`urllib-howto` pour des exemples complets."
|
||||
|
||||
#: faq/library.rst:706
|
||||
#: faq/library.rst:709
|
||||
msgid "What module should I use to help with generating HTML?"
|
||||
msgstr "Quel module utiliser pour générer du HTML ?"
|
||||
|
||||
#: faq/library.rst:710
|
||||
#: faq/library.rst:713
|
||||
msgid ""
|
||||
"You can find a collection of useful links on the `Web Programming wiki page "
|
||||
"<https://wiki.python.org/moin/WebProgramming>`_."
|
||||
|
@ -970,15 +967,15 @@ msgstr ""
|
|||
"La `page wiki de la programmation Toile <https://wiki.python.org/moin/"
|
||||
"WebProgramming>`_ (en anglais) répertorie un ensemble de liens pertinents."
|
||||
|
||||
#: faq/library.rst:715
|
||||
#: faq/library.rst:718
|
||||
msgid "How do I send mail from a Python script?"
|
||||
msgstr "Comment envoyer un courriel avec un script Python ?"
|
||||
|
||||
#: faq/library.rst:717
|
||||
#: faq/library.rst:720
|
||||
msgid "Use the standard library module :mod:`smtplib`."
|
||||
msgstr "Utilisez le module :mod:`smtplib` de la bibliothèque standard."
|
||||
|
||||
#: faq/library.rst:719
|
||||
#: faq/library.rst:722
|
||||
msgid ""
|
||||
"Here's a very simple interactive mail sender that uses it. This method will "
|
||||
"work on any host that supports an SMTP listener. ::"
|
||||
|
@ -986,7 +983,7 @@ msgstr ""
|
|||
"Voici un exemple très simple d'un envoyeur de courriel qui l'utilise. Cette "
|
||||
"méthode fonctionne sur tous les serveurs qui implémentent SMTP. ::"
|
||||
|
||||
#: faq/library.rst:739
|
||||
#: faq/library.rst:742
|
||||
msgid ""
|
||||
"A Unix-only alternative uses sendmail. The location of the sendmail program "
|
||||
"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/"
|
||||
|
@ -998,13 +995,13 @@ msgstr ""
|
|||
"sendmail`` ou ``/usr/sbin/sendmail``, la page de manuel de *sendmail* peut "
|
||||
"vous aider. Par exemple ::"
|
||||
|
||||
#: faq/library.rst:759
|
||||
#: faq/library.rst:762
|
||||
msgid "How do I avoid blocking in the connect() method of a socket?"
|
||||
msgstr ""
|
||||
"Comment éviter de bloquer dans la méthode ``connect()`` d'un connecteur "
|
||||
"réseau ?"
|
||||
|
||||
#: faq/library.rst:761
|
||||
#: faq/library.rst:764
|
||||
msgid ""
|
||||
"The :mod:`select` module is commonly used to help with asynchronous I/O on "
|
||||
"sockets."
|
||||
|
@ -1012,7 +1009,7 @@ msgstr ""
|
|||
"Le module :mod:`select` est fréquemment utilisé pour effectuer des entrées-"
|
||||
"sorties asynchrones sur des connecteurs réseaux."
|
||||
|
||||
#: faq/library.rst:764
|
||||
#: faq/library.rst:767
|
||||
msgid ""
|
||||
"To prevent the TCP connect from blocking, you can set the socket to non-"
|
||||
"blocking mode. Then when you do the :meth:`socket.connect`, you will either "
|
||||
|
@ -1029,7 +1026,7 @@ msgstr ""
|
|||
"n'a pas encore aboutie. La valeur dépend du système d'exploitation, donc "
|
||||
"renseignez-vous sur la valeur utilisée par votre système."
|
||||
|
||||
#: faq/library.rst:771
|
||||
#: faq/library.rst:774
|
||||
msgid ""
|
||||
"You can use the :meth:`socket.connect_ex` method to avoid creating an "
|
||||
"exception. It will just return the errno value. To poll, you can call :"
|
||||
|
@ -1044,7 +1041,7 @@ msgstr ""
|
|||
"argument de :meth:`select.select` pour vérifier si le connecteur est prêt à "
|
||||
"recevoir des entrées."
|
||||
|
||||
#: faq/library.rst:777
|
||||
#: faq/library.rst:780
|
||||
msgid ""
|
||||
"The :mod:`asyncio` module provides a general purpose single-threaded and "
|
||||
"concurrent asynchronous library, which can be used for writing non-blocking "
|
||||
|
@ -1056,20 +1053,20 @@ msgstr ""
|
|||
"`Twisted <https://twistedmatrix.com/trac/>`_ en est une alternative "
|
||||
"plébiscitée, avec un grand nombre de fonctionnalités."
|
||||
|
||||
#: faq/library.rst:785
|
||||
#: faq/library.rst:788
|
||||
msgid "Databases"
|
||||
msgstr "Bases de données"
|
||||
|
||||
#: faq/library.rst:788
|
||||
#: faq/library.rst:791
|
||||
msgid "Are there any interfaces to database packages in Python?"
|
||||
msgstr ""
|
||||
"Existe-t-il des modules Python pour s'interfacer avec des bases de données ?"
|
||||
|
||||
#: faq/library.rst:790
|
||||
#: faq/library.rst:793
|
||||
msgid "Yes."
|
||||
msgstr "Oui."
|
||||
|
||||
#: faq/library.rst:792
|
||||
#: faq/library.rst:795
|
||||
msgid ""
|
||||
"Interfaces to disk-based hashes such as :mod:`DBM <dbm.ndbm>` and :mod:`GDBM "
|
||||
"<dbm.gnu>` are also included with standard Python. There is also the :mod:"
|
||||
|
@ -1081,7 +1078,7 @@ msgstr ""
|
|||
"aussi le module :mod:`sqlite3` qui implémente une base de données "
|
||||
"relationnelle légère sur disque."
|
||||
|
||||
#: faq/library.rst:797
|
||||
#: faq/library.rst:800
|
||||
msgid ""
|
||||
"Support for most relational databases is available. See the "
|
||||
"`DatabaseProgramming wiki page <https://wiki.python.org/moin/"
|
||||
|
@ -1091,11 +1088,11 @@ msgstr ""
|
|||
"Voir la page wiki `DatabaseProgramming <https://wiki.python.org/moin/"
|
||||
"DatabaseProgramming>`_ pour plus de détails."
|
||||
|
||||
#: faq/library.rst:803
|
||||
#: faq/library.rst:806
|
||||
msgid "How do you implement persistent objects in Python?"
|
||||
msgstr "Comment implémenter la persistance d'objets en Python ?"
|
||||
|
||||
#: faq/library.rst:805
|
||||
#: faq/library.rst:808
|
||||
msgid ""
|
||||
"The :mod:`pickle` library module solves this in a very general way (though "
|
||||
"you still can't store things like open files, sockets or windows), and the :"
|
||||
|
@ -1107,15 +1104,15 @@ msgstr ""
|
|||
"fenêtres par exemple), et le module :mod:`shelve` de la bibliothèque utilise "
|
||||
"*pickle* et *(g)dbm* pour créer des liens persistants vers des objets Python."
|
||||
|
||||
#: faq/library.rst:812
|
||||
#: faq/library.rst:815
|
||||
msgid "Mathematics and Numerics"
|
||||
msgstr "Mathématiques et calcul numérique"
|
||||
|
||||
#: faq/library.rst:815
|
||||
#: faq/library.rst:818
|
||||
msgid "How do I generate random numbers in Python?"
|
||||
msgstr "Comment générer des nombres aléatoires en Python ?"
|
||||
|
||||
#: faq/library.rst:817
|
||||
#: faq/library.rst:820
|
||||
msgid ""
|
||||
"The standard module :mod:`random` implements a random number generator. "
|
||||
"Usage is simple::"
|
||||
|
@ -1123,48 +1120,48 @@ msgstr ""
|
|||
"Le module :mod:`random` de la bibliothèque standard comprend un générateur "
|
||||
"de nombres aléatoires. Son utilisation est simple ::"
|
||||
|
||||
#: faq/library.rst:823
|
||||
#: faq/library.rst:826
|
||||
msgid "This returns a random floating point number in the range [0, 1)."
|
||||
msgstr ""
|
||||
"Le code précédent renvoie un nombre à virgule flottante aléatoire dans "
|
||||
"l'intervalle [0, 1[."
|
||||
|
||||
#: faq/library.rst:825
|
||||
#: faq/library.rst:828
|
||||
msgid ""
|
||||
"There are also many other specialized generators in this module, such as:"
|
||||
msgstr "Ce module fournit beaucoup d'autres générateurs spécialisés comme :"
|
||||
|
||||
#: faq/library.rst:827
|
||||
#: faq/library.rst:830
|
||||
msgid "``randrange(a, b)`` chooses an integer in the range [a, b)."
|
||||
msgstr "``randrange(a, b)`` génère un entier dans l'intervalle [a, b[."
|
||||
|
||||
#: faq/library.rst:828
|
||||
#: faq/library.rst:831
|
||||
msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)."
|
||||
msgstr ""
|
||||
"``uniform(a, b)`` génère un nombre à virgule flottante aléatoire dans "
|
||||
"l'intervalle [a, b[."
|
||||
|
||||
#: faq/library.rst:829
|
||||
#: faq/library.rst:832
|
||||
msgid ""
|
||||
"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution."
|
||||
msgstr "``normalvariate(mean, sdev)`` simule la loi normale (Gaussienne)."
|
||||
|
||||
#: faq/library.rst:831
|
||||
#: faq/library.rst:834
|
||||
msgid "Some higher-level functions operate on sequences directly, such as:"
|
||||
msgstr ""
|
||||
"Des fonctions de haut niveau opèrent directement sur des séquences comme :"
|
||||
|
||||
#: faq/library.rst:833
|
||||
#: faq/library.rst:836
|
||||
msgid "``choice(S)`` chooses a random element from a given sequence."
|
||||
msgstr "``choice(S)`` sélectionne au hasard un élément d'une séquence donnée."
|
||||
|
||||
#: faq/library.rst:834
|
||||
#: faq/library.rst:837
|
||||
msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly."
|
||||
msgstr ""
|
||||
"``shuffle(L)`` mélange une liste en-place, c.-à-d. lui applique une "
|
||||
"permutation aléatoire."
|
||||
|
||||
#: faq/library.rst:836
|
||||
#: faq/library.rst:839
|
||||
msgid ""
|
||||
"There's also a ``Random`` class you can instantiate to create independent "
|
||||
"multiple random number generators."
|
||||
|
@ -1172,6 +1169,21 @@ msgstr ""
|
|||
"Il existe aussi une classe ``Random`` qu'il est possible d'instancier pour "
|
||||
"créer des générateurs aléatoires indépendants."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. "
|
||||
#~ "Note that on MacOS 9 it doesn't copy the resource fork and Finder info."
|
||||
#~ msgstr ""
|
||||
#~ "Le module :mod:`shutil` fournit la fonction :func:`~shutil.copyfile`. "
|
||||
#~ "Sous MacOS 9, celle-ci ne copie pas le clonage de ressources ni les "
|
||||
#~ "informations du chercheur."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "For Windows: use `the consolelib module <http://effbot.org/zone/console-"
|
||||
#~ "index.htm>`_."
|
||||
#~ msgstr ""
|
||||
#~ "Pour Windows : utilisez le module `consolelib <http://effbot.org/zone/"
|
||||
#~ "console-index.htm>`_."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Aahz has a set of slides from his threading tutorial that are helpful; "
|
||||
#~ "see http://www.pythoncraft.com/OSCON2001/."
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,15 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-05-29 16:33+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 15:54+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-05-27 12:17+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 2.4.1\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: faq/windows.rst:9
|
||||
msgid "Python on Windows FAQ"
|
||||
|
@ -40,19 +40,19 @@ msgstr ""
|
|||
#: faq/windows.rst:28
|
||||
msgid ""
|
||||
"Unless you use some sort of integrated development environment, you will end "
|
||||
"up *typing* Windows commands into what is variously referred to as a \"DOS "
|
||||
"window\" or \"Command prompt window\". Usually you can create such a window "
|
||||
"from your search bar by searching for ``cmd``. You should be able to "
|
||||
"recognize when you have started such a window because you will see a Windows "
|
||||
"\"command prompt\", which usually looks like this:"
|
||||
"up *typing* Windows commands into what is referred to as a \"Command prompt "
|
||||
"window\". Usually you can create such a window from your search bar by "
|
||||
"searching for ``cmd``. You should be able to recognize when you have "
|
||||
"started such a window because you will see a Windows \"command prompt\", "
|
||||
"which usually looks like this:"
|
||||
msgstr ""
|
||||
"À moins que vous n'utilisiez une sorte d'environnement de développement, "
|
||||
"vous finirez par *taper* des commandes Windows dans ce qui est diversement "
|
||||
"appelé une \"fenêtre DOS\" ou \"invite de commande Windows\". En général "
|
||||
"vous pouvez ouvrir un telle fenêtre depuis votre barre de recherche en "
|
||||
"cherchant ``cmd``. Vous devriez être capable de reconnaître quand vous avez "
|
||||
"lancé une telle fenêtre parce que vous verrez une invite de commande "
|
||||
"Windows, qui en en général ressemble à ça :"
|
||||
"vous finirez par *taper* des commandes Windows dans ce qui est appelé une "
|
||||
"« invite de commande Windows ». En général vous pouvez ouvrir un telle "
|
||||
"fenêtre depuis votre barre de recherche en cherchant ``cmd``. Vous devriez "
|
||||
"être capable de reconnaître quand vous avez lancé une telle fenêtre parce "
|
||||
"que vous verrez une « invite de commande » Windows, qui en en général "
|
||||
"ressemble à ça :"
|
||||
|
||||
#: faq/windows.rst:39
|
||||
msgid ""
|
||||
|
@ -337,15 +337,7 @@ msgstr ""
|
|||
"peuvent rendre l'utilisation de ces pointeurs transparente à tout code C qui "
|
||||
"appelle des routines dans l'API C de Python."
|
||||
|
||||
#: faq/windows.rst:189
|
||||
msgid ""
|
||||
"Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
|
||||
"exe first."
|
||||
msgstr ""
|
||||
"Note Borland : convertir :file:`python{NN}.lib` au format OMF en utilisant "
|
||||
"*Coff2Omf.exe* en premier."
|
||||
|
||||
#: faq/windows.rst:194
|
||||
#: faq/windows.rst:191
|
||||
msgid ""
|
||||
"If you use SWIG, it is easy to create a Python \"extension module\" that "
|
||||
"will make the app's data and methods available to Python. SWIG will handle "
|
||||
|
@ -360,7 +352,7 @@ msgstr ""
|
|||
"n'avez **pas** besoin de créer un fichier DLL, et cela simplifie également "
|
||||
"la liaison."
|
||||
|
||||
#: faq/windows.rst:200
|
||||
#: faq/windows.rst:197
|
||||
msgid ""
|
||||
"SWIG will create an init function (a C function) whose name depends on the "
|
||||
"name of the extension module. For example, if the name of the module is "
|
||||
|
@ -375,7 +367,7 @@ msgstr ""
|
|||
"appelée *initleoc()*. Ceci initialise une classe auxiliaire invisible "
|
||||
"utilisée par la classe *shadow*."
|
||||
|
||||
#: faq/windows.rst:206
|
||||
#: faq/windows.rst:203
|
||||
msgid ""
|
||||
"The reason you can link the C code in step 2 into your .exe file is that "
|
||||
"calling the initialization function is equivalent to importing the module "
|
||||
|
@ -385,7 +377,7 @@ msgstr ""
|
|||
"*fichier.exe* est que l'appel de la fonction d'initialisation équivaut à "
|
||||
"importer le module dans Python ! (C'est le deuxième fait clé non documenté.)"
|
||||
|
||||
#: faq/windows.rst:210
|
||||
#: faq/windows.rst:207
|
||||
msgid ""
|
||||
"In short, you can use the following code to initialize the Python "
|
||||
"interpreter with your extension module."
|
||||
|
@ -393,7 +385,7 @@ msgstr ""
|
|||
"En bref, vous pouvez utiliser le code suivant pour initialiser "
|
||||
"l'interpréteur Python avec votre module d'extension."
|
||||
|
||||
#: faq/windows.rst:221
|
||||
#: faq/windows.rst:218
|
||||
msgid ""
|
||||
"There are two problems with Python's C API which will become apparent if you "
|
||||
"use a compiler other than MSVC, the compiler used to build pythonNN.dll."
|
||||
|
@ -402,7 +394,7 @@ msgstr ""
|
|||
"utilisez un compilateur autre que MSVC, le compilateur utilisé pour "
|
||||
"construire *pythonNN.dll*."
|
||||
|
||||
#: faq/windows.rst:224
|
||||
#: faq/windows.rst:221
|
||||
msgid ""
|
||||
"Problem 1: The so-called \"Very High Level\" functions that take FILE * "
|
||||
"arguments will not work in a multi-compiler environment because each "
|
||||
|
@ -415,7 +407,7 @@ msgstr ""
|
|||
"structure de FILE. Du point de vue de l'implémentation, il s'agit de "
|
||||
"fonctions de très bas niveau."
|
||||
|
||||
#: faq/windows.rst:229
|
||||
#: faq/windows.rst:226
|
||||
msgid ""
|
||||
"Problem 2: SWIG generates the following code when generating wrappers to "
|
||||
"void functions:"
|
||||
|
@ -423,7 +415,7 @@ msgstr ""
|
|||
"Problème 2 : SWIG génère le code suivant lors de la génération "
|
||||
"*d'encapsuleurs* pour annuler les fonctions :"
|
||||
|
||||
#: faq/windows.rst:238
|
||||
#: faq/windows.rst:235
|
||||
msgid ""
|
||||
"Alas, Py_None is a macro that expands to a reference to a complex data "
|
||||
"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will "
|
||||
|
@ -434,7 +426,7 @@ msgstr ""
|
|||
"une fois, ce code échouera dans un environnement multi-compilateur. "
|
||||
"Remplacez ce code par :"
|
||||
|
||||
#: faq/windows.rst:246
|
||||
#: faq/windows.rst:243
|
||||
msgid ""
|
||||
"It may be possible to use SWIG's ``%typemap`` command to make the change "
|
||||
"automatically, though I have not been able to get this to work (I'm a "
|
||||
|
@ -444,7 +436,7 @@ msgstr ""
|
|||
"le changement automatiquement, bien que je n'ai pas réussi à le faire "
|
||||
"fonctionner (je suis un débutant complet avec SWIG)."
|
||||
|
||||
#: faq/windows.rst:250
|
||||
#: faq/windows.rst:247
|
||||
msgid ""
|
||||
"Using a Python shell script to put up a Python interpreter window from "
|
||||
"inside your Windows app is not a good idea; the resulting window will be "
|
||||
|
@ -465,13 +457,13 @@ msgstr ""
|
|||
"dont vous avez besoin est un objet Python (défini dans votre module "
|
||||
"d'extension) qui contient les méthodes *read()* et *write()*."
|
||||
|
||||
#: faq/windows.rst:259
|
||||
#: faq/windows.rst:256
|
||||
msgid "How do I keep editors from inserting tabs into my Python source?"
|
||||
msgstr ""
|
||||
"Comment empêcher mon éditeur d'utiliser des tabulations dans mes fichiers "
|
||||
"Python ?"
|
||||
|
||||
#: faq/windows.rst:261
|
||||
#: faq/windows.rst:258
|
||||
msgid ""
|
||||
"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, "
|
||||
"recommends 4 spaces for distributed Python code; this is also the Emacs "
|
||||
|
@ -482,7 +474,7 @@ msgstr ""
|
|||
"dans les codes Python. C'est aussi le comportement par défaut d'Emacs avec "
|
||||
"Python."
|
||||
|
||||
#: faq/windows.rst:265
|
||||
#: faq/windows.rst:262
|
||||
msgid ""
|
||||
"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no "
|
||||
"different in this respect, and is easily configured to use spaces: Take :"
|
||||
|
@ -496,7 +488,7 @@ msgstr ""
|
|||
"Tabs` et pour le type de fichier par défaut, vous devez mettre *Tab size* et "
|
||||
"*Indent size* à 4, puis sélectionner *Insert spaces*."
|
||||
|
||||
#: faq/windows.rst:270
|
||||
#: faq/windows.rst:267
|
||||
msgid ""
|
||||
"Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and "
|
||||
"spaces are causing problems in leading whitespace. You may also run the :mod:"
|
||||
|
@ -506,13 +498,13 @@ msgstr ""
|
|||
"tabulation et d’indentation pose problème en début de ligne. Vous pouvez "
|
||||
"aussi utiliser le module :mod:`tabnanny` pour détecter ces erreurs."
|
||||
|
||||
#: faq/windows.rst:277
|
||||
#: faq/windows.rst:274
|
||||
msgid "How do I check for a keypress without blocking?"
|
||||
msgstr ""
|
||||
"Comment puis-je vérifier de manière non bloquante qu'une touche a été "
|
||||
"pressée ?"
|
||||
|
||||
#: faq/windows.rst:279
|
||||
#: faq/windows.rst:276
|
||||
msgid ""
|
||||
"Use the :mod:`msvcrt` module. This is a standard Windows-specific extension "
|
||||
"module. It defines a function ``kbhit()`` which checks whether a keyboard "
|
||||
|
@ -523,6 +515,26 @@ msgstr ""
|
|||
"touche s'est produite, et ``getch()`` qui récupère le caractère sans "
|
||||
"l'afficher."
|
||||
|
||||
#: faq/windows.rst:281
|
||||
msgid "How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?"
|
||||
msgstr ""
|
||||
|
||||
#: faq/windows.rst:283
|
||||
msgid ""
|
||||
"This can occur on Python 3.5 and later when using Windows 8.1 or earlier "
|
||||
"without all updates having been installed. First ensure your operating "
|
||||
"system is supported and is up to date, and if that does not resolve the "
|
||||
"issue, visit the `Microsoft support page <https://support.microsoft.com/en-"
|
||||
"us/help/3118401/>`_ for guidance on manually installing the C Runtime update."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
|
||||
#~ "exe first."
|
||||
#~ msgstr ""
|
||||
#~ "Note Borland : convertir :file:`python{NN}.lib` au format OMF en "
|
||||
#~ "utilisant *Coff2Omf.exe* en premier."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "See `cx_Freeze <https://cx-freeze.readthedocs.io/en/latest/>`_ for a "
|
||||
#~ "distutils extension that allows you to create console and GUI executables "
|
||||
|
|
736
glossary.po
736
glossary.po
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: 2021-12-31 11:33+0100\n"
|
||||
"PO-Revision-Date: 2021-10-17 14:16+0200\n"
|
||||
"PO-Revision-Date: 2022-05-12 09:43+0200\n"
|
||||
"Last-Translator: ZepmanBC <zepman@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.6\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: howto/annotations.rst:5
|
||||
msgid "Annotations Best Practices"
|
||||
|
@ -315,12 +315,11 @@ msgstr ""
|
|||
"*ne peuvent pas* être évaluées. Par exemple :"
|
||||
|
||||
#: howto/annotations.rst:159
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
":pep:`604` union types using ``|``, before support for this was added to "
|
||||
"Python 3.10."
|
||||
msgstr ""
|
||||
"Les types d'union de style :pep:`604` avec `|`, avant que cette prise en "
|
||||
"Les types d'union de style :pep:`604` avec ``|``, avant que cette prise en "
|
||||
"charge ne soit ajoutée à Python 3.10."
|
||||
|
||||
#: howto/annotations.rst:161
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 19:23+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:22+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -429,9 +429,9 @@ msgid ""
|
|||
"Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the "
|
||||
"previous version of our script. That should explain the complaint."
|
||||
msgstr ""
|
||||
"Oui, c'est maintenant d'avantage une option (similaire à ``action="
|
||||
"\"store_true\"``) de la version précédente de notre script. Cela devrait "
|
||||
"expliquer le message d'erreur."
|
||||
"Oui, c'est maintenant d'avantage une option (similaire à "
|
||||
"``action=\"store_true\"``) de la version précédente de notre script. Cela "
|
||||
"devrait expliquer le message d'erreur."
|
||||
|
||||
#: howto/argparse.rst:502
|
||||
msgid "It also behaves similar to \"store_true\" action."
|
||||
|
@ -610,7 +610,7 @@ msgid ""
|
|||
"tells us that we can either use ``-v`` or ``-q``, but not both at the same "
|
||||
"time:"
|
||||
msgstr ""
|
||||
"Notez cette nuance dans le texte d'utilisation. Les options `[-v | -q]`` "
|
||||
"Notez cette nuance dans le texte d'utilisation. Les options ``[-v | -q]`` "
|
||||
"nous disent que nous pouvons utiliser au choix ``-v`` ou ``-q``, mais pas "
|
||||
"les deux ensemble :"
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-06-04 15:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:29+0200\n"
|
||||
"Last-Translator: Mindiell <mindiell@mindiell.net>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -698,7 +698,7 @@ msgid ""
|
|||
"``;``, to provide usage help, this change is harmless—don't worry about it.)"
|
||||
msgstr ""
|
||||
"(Argument Clinic génère toujours ses chaînes de format avec ``:`` suivi du "
|
||||
"nom de la fonction. Si la chaîne de format du code existant termine par `` ;"
|
||||
"nom de la fonction. Si la chaîne de format du code existant termine par ``;"
|
||||
"``, pour fournir une aide sur l'utilisation, ce changement n'a aucun effet, "
|
||||
"ne vous en souciez pas.)"
|
||||
|
||||
|
@ -806,10 +806,11 @@ msgstr ""
|
|||
"*n'ajoutez pas* de virgule à la fin."
|
||||
|
||||
#: howto/clinic.rst:542
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Compile, then run the relevant portions of the regression-test suite. This "
|
||||
"change should not introduce any new compile-time warnings or errors, and "
|
||||
"there should be no externally-visible change to Python's behavior."
|
||||
"there should be no externally visible change to Python's behavior."
|
||||
msgstr ""
|
||||
"Compilez, puis faites tourner les portions idoines de la suite de tests de "
|
||||
"régressions. Ce changement ne doit introduire aucun nouveau message d'erreur "
|
||||
|
@ -1228,9 +1229,9 @@ msgstr "``c_default``"
|
|||
#: howto/clinic.rst:760
|
||||
msgid ""
|
||||
"The default value for this parameter when defined in C. Specifically, this "
|
||||
"will be the initializer for the variable declared in the \"parse function"
|
||||
"\". See :ref:`the section on default values <default_values>` for how to "
|
||||
"use this. Specified as a string."
|
||||
"will be the initializer for the variable declared in the \"parse "
|
||||
"function\". See :ref:`the section on default values <default_values>` for "
|
||||
"how to use this. Specified as a string."
|
||||
msgstr ""
|
||||
"La valeur par défaut de cet argument lorsqu'il est défini en C. Typiquement, "
|
||||
"il servira à initialiser la variable déclarée dans la « fonction "
|
||||
|
@ -1338,8 +1339,8 @@ msgstr "``type``"
|
|||
#: howto/clinic.rst:802
|
||||
msgid ""
|
||||
"Only supported for the ``object`` and ``self`` converters. Specifies the C "
|
||||
"type that will be used to declare the variable. Default value is ``"
|
||||
"\"PyObject *\"``."
|
||||
"type that will be used to declare the variable. Default value is "
|
||||
"``\"PyObject *\"``."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour les adaptateurs ``object`` et ``self``. Spécifie le "
|
||||
"type C qui sera utilisé pour déclarer la variable. La valeur par défaut est "
|
||||
|
@ -2110,7 +2111,7 @@ msgstr ""
|
|||
|
||||
#: howto/clinic.rst:1123
|
||||
msgid ""
|
||||
"Sorry, there's no syntax for partially-cloning a function, or cloning a "
|
||||
"Sorry, there's no syntax for partially cloning a function, or cloning a "
|
||||
"function then modifying it. Cloning is an all-or nothing proposition."
|
||||
msgstr ""
|
||||
|
||||
|
@ -2140,8 +2141,8 @@ msgstr ""
|
|||
#: howto/clinic.rst:1143
|
||||
msgid ""
|
||||
"All the code inside the Python block is executed at the time it's parsed. "
|
||||
"All text written to stdout inside the block is redirected into the \"output"
|
||||
"\" after the block."
|
||||
"All text written to stdout inside the block is redirected into the "
|
||||
"\"output\" after the block."
|
||||
msgstr ""
|
||||
|
||||
#: howto/clinic.rst:1147
|
||||
|
@ -2324,7 +2325,7 @@ msgid ""
|
|||
"The default value used to initialize the C variable when there is no "
|
||||
"default, but not specifying a default may result in an \"uninitialized "
|
||||
"variable\" warning. This can easily happen when using option groups—"
|
||||
"although properly-written code will never actually use this value, the "
|
||||
"although properly written code will never actually use this value, the "
|
||||
"variable does get passed in to the impl, and the C compiler will complain "
|
||||
"about the \"use\" of the uninitialized value. This value should always be a "
|
||||
"non-empty string."
|
||||
|
@ -2363,9 +2364,9 @@ msgstr ""
|
|||
#: howto/clinic.rst:1352
|
||||
msgid ""
|
||||
"This block adds a converter to Argument Clinic named ``ssize_t``. "
|
||||
"Parameters declared as ``ssize_t`` will be declared as type ``Py_ssize_t``, "
|
||||
"and will be parsed by the ``'O&'`` format unit, which will call the "
|
||||
"``ssize_t_converter`` converter function. ``ssize_t`` variables "
|
||||
"Parameters declared as ``ssize_t`` will be declared as type :c:type:"
|
||||
"`Py_ssize_t`, and will be parsed by the ``'O&'`` format unit, which will "
|
||||
"call the ``ssize_t_converter`` converter function. ``ssize_t`` variables "
|
||||
"automatically support default values."
|
||||
msgstr ""
|
||||
|
||||
|
@ -2506,9 +2507,9 @@ msgid ""
|
|||
"of statement the field is. Field names that end in ``\"_prototype\"`` "
|
||||
"represent forward declarations of that thing, without the actual body/data "
|
||||
"of the thing; field names that end in ``\"_definition\"`` represent the "
|
||||
"actual definition of the thing, with the body/data of the thing. (``"
|
||||
"\"methoddef\"`` is special, it's the only one that ends with ``\"_define"
|
||||
"\"``, representing that it's a preprocessor #define.)"
|
||||
"actual definition of the thing, with the body/data of the thing. "
|
||||
"(``\"methoddef\"`` is special, it's the only one that ends with "
|
||||
"``\"_define\"``, representing that it's a preprocessor #define.)"
|
||||
msgstr ""
|
||||
|
||||
#: howto/clinic.rst:1499
|
||||
|
|
226
howto/curses.po
226
howto/curses.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2020-09-04 23:34+0200\n"
|
||||
"Last-Translator: Khaïs COLIN <kh.col@orange.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -139,23 +139,14 @@ msgstr ""
|
|||
msgid ""
|
||||
"The Windows version of Python doesn't include the :mod:`curses` module. A "
|
||||
"ported version called `UniCurses <https://pypi.org/project/UniCurses>`_ is "
|
||||
"available. You could also try `the Console module <http://effbot.org/zone/"
|
||||
"console-index.htm>`_ written by Fredrik Lundh, which doesn't use the same "
|
||||
"API as curses but provides cursor-addressable text output and full support "
|
||||
"for mouse and keyboard input."
|
||||
"available."
|
||||
msgstr ""
|
||||
"La version Windows de Python n'inclut pas le module :mod:`curses`. Une "
|
||||
"version portée appelée `UniCurses <https://pypi.org/project/UniCurses>`_ est "
|
||||
"disponible. Vous pouvez également essayer le `Windows console driver <http://"
|
||||
"effbot.org/zone/console-index.htm>`_ écrit par Fredrik Lundh, qui n'utilise "
|
||||
"pas la même API que *curses*, mais fournit une sortie texte avec gestion du "
|
||||
"curseur et une prise en charge complète de la souris et du clavier."
|
||||
|
||||
#: howto/curses.rst:66
|
||||
#: howto/curses.rst:62
|
||||
msgid "The Python curses module"
|
||||
msgstr "Le module *curses* de Python"
|
||||
|
||||
#: howto/curses.rst:68
|
||||
#: howto/curses.rst:64
|
||||
msgid ""
|
||||
"The Python module is a fairly simple wrapper over the C functions provided "
|
||||
"by curses; if you're already familiar with curses programming in C, it's "
|
||||
|
@ -173,7 +164,7 @@ msgstr ""
|
|||
"`mvaddstr` et :c:func:`mvwaddstr` en une seule méthode :meth:`~curses.window."
|
||||
"addstr`. Nous voyons cela plus en détail ci-après."
|
||||
|
||||
#: howto/curses.rst:76
|
||||
#: howto/curses.rst:72
|
||||
msgid ""
|
||||
"This HOWTO is an introduction to writing text-mode programs with curses and "
|
||||
"Python. It doesn't attempt to be a complete guide to the curses API; for "
|
||||
|
@ -186,11 +177,11 @@ msgstr ""
|
|||
"Python sur *ncurses* et les pages du manuel C pour *ncurses*. Il vous donne "
|
||||
"cependant les idées de base."
|
||||
|
||||
#: howto/curses.rst:83
|
||||
#: howto/curses.rst:79
|
||||
msgid "Starting and ending a curses application"
|
||||
msgstr "Lancement et arrêt une application *curses*"
|
||||
|
||||
#: howto/curses.rst:85
|
||||
#: howto/curses.rst:81
|
||||
msgid ""
|
||||
"Before doing anything, curses must be initialized. This is done by calling "
|
||||
"the :func:`~curses.initscr` function, which will determine the terminal "
|
||||
|
@ -206,7 +197,7 @@ msgstr ""
|
|||
"renvoie un objet fenêtre représentant l'écran entier ; il est généralement "
|
||||
"appelé ``stdscr`` d'après le nom de la variable C correspondante. ::"
|
||||
|
||||
#: howto/curses.rst:96
|
||||
#: howto/curses.rst:92
|
||||
msgid ""
|
||||
"Usually curses applications turn off automatic echoing of keys to the "
|
||||
"screen, in order to be able to read keys and only display them under certain "
|
||||
|
@ -217,7 +208,7 @@ msgstr ""
|
|||
"dans certaines circonstances. Cela nécessite d'appeler la fonction :func:"
|
||||
"`~curses.noecho`. ::"
|
||||
|
||||
#: howto/curses.rst:103
|
||||
#: howto/curses.rst:99
|
||||
msgid ""
|
||||
"Applications will also commonly need to react to keys instantly, without "
|
||||
"requiring the Enter key to be pressed; this is called cbreak mode, as "
|
||||
|
@ -228,7 +219,7 @@ msgstr ""
|
|||
"qu'on appelle le mode *cbreak*, par opposition au mode d'entrée habituel "
|
||||
"avec un tampon. ::"
|
||||
|
||||
#: howto/curses.rst:109
|
||||
#: howto/curses.rst:105
|
||||
msgid ""
|
||||
"Terminals usually return special keys, such as the cursor keys or navigation "
|
||||
"keys such as Page Up and Home, as a multibyte escape sequence. While you "
|
||||
|
@ -245,7 +236,7 @@ msgstr ""
|
|||
"renvoyant une valeur spéciale telle que :const:`curses.KEY_LEFT`. Pour que "
|
||||
"*curses* fasse le travail, vous devez activer le mode *keypad*. ::"
|
||||
|
||||
#: howto/curses.rst:118
|
||||
#: howto/curses.rst:114
|
||||
msgid ""
|
||||
"Terminating a curses application is much easier than starting one. You'll "
|
||||
"need to call::"
|
||||
|
@ -253,7 +244,7 @@ msgstr ""
|
|||
"Arrêter une application *curses* est beaucoup plus facile que d'en démarrer "
|
||||
"une. Appelez ::"
|
||||
|
||||
#: howto/curses.rst:125
|
||||
#: howto/curses.rst:121
|
||||
msgid ""
|
||||
"to reverse the curses-friendly terminal settings. Then call the :func:"
|
||||
"`~curses.endwin` function to restore the terminal to its original operating "
|
||||
|
@ -263,7 +254,7 @@ msgstr ""
|
|||
"appelez la fonction :func:`~curses.enddwin` pour restaurer le terminal dans "
|
||||
"son mode de fonctionnement original. ::"
|
||||
|
||||
#: howto/curses.rst:131
|
||||
#: howto/curses.rst:127
|
||||
msgid ""
|
||||
"A common problem when debugging a curses application is to get your terminal "
|
||||
"messed up when the application dies without restoring the terminal to its "
|
||||
|
@ -279,7 +270,7 @@ msgstr ""
|
|||
"exemple, ce qui rend l'utilisation de l'interface de commande du *shell* "
|
||||
"difficile."
|
||||
|
||||
#: howto/curses.rst:137
|
||||
#: howto/curses.rst:133
|
||||
msgid ""
|
||||
"In Python you can avoid these complications and make debugging much easier "
|
||||
"by importing the :func:`curses.wrapper` function and using it like this::"
|
||||
|
@ -287,7 +278,7 @@ msgstr ""
|
|||
"En Python, vous pouvez éviter ces complications et faciliter le débogage en "
|
||||
"important la fonction :func:`curses.wrapper` et en l'utilisant comme suit ::"
|
||||
|
||||
#: howto/curses.rst:156
|
||||
#: howto/curses.rst:152
|
||||
msgid ""
|
||||
"The :func:`~curses.wrapper` function takes a callable object and does the "
|
||||
"initializations described above, also initializing colors if color support "
|
||||
|
@ -309,11 +300,11 @@ msgstr ""
|
|||
"pas dans un drôle d'état au moment de l'exception et vous pourrez lire le "
|
||||
"message de l'exception et la trace de la pile d'appels."
|
||||
|
||||
#: howto/curses.rst:168
|
||||
#: howto/curses.rst:164
|
||||
msgid "Windows and Pads"
|
||||
msgstr "Fenêtres et tampons (*pads* en anglais)"
|
||||
|
||||
#: howto/curses.rst:170
|
||||
#: howto/curses.rst:166
|
||||
msgid ""
|
||||
"Windows are the basic abstraction in curses. A window object represents a "
|
||||
"rectangular area of the screen, and supports methods to display text, erase "
|
||||
|
@ -324,7 +315,7 @@ msgstr ""
|
|||
"afficher du texte, l'effacer, permettre à l'utilisateur de saisir des "
|
||||
"chaînes, etc."
|
||||
|
||||
#: howto/curses.rst:174
|
||||
#: howto/curses.rst:170
|
||||
msgid ""
|
||||
"The ``stdscr`` object returned by the :func:`~curses.initscr` function is a "
|
||||
"window object that covers the entire screen. Many programs may need only "
|
||||
|
@ -340,7 +331,7 @@ msgstr ""
|
|||
"séparément. La fonction :func:`~curses.newwin` crée une nouvelle fenêtre "
|
||||
"d'une taille donnée, renvoyant le nouvel objet fenêtre. ::"
|
||||
|
||||
#: howto/curses.rst:185
|
||||
#: howto/curses.rst:181
|
||||
msgid ""
|
||||
"Note that the coordinate system used in curses is unusual. Coordinates are "
|
||||
"always passed in the order *y,x*, and the top-left corner of a window is "
|
||||
|
@ -357,7 +348,7 @@ msgstr ""
|
|||
"applications informatiques, mais elle fait partie de *curses* depuis qu'il a "
|
||||
"été écrit et il est trop tard pour changer les choses maintenant."
|
||||
|
||||
#: howto/curses.rst:193
|
||||
#: howto/curses.rst:189
|
||||
msgid ""
|
||||
"Your application can determine the size of the screen by using the :data:"
|
||||
"`curses.LINES` and :data:`curses.COLS` variables to obtain the *y* and *x* "
|
||||
|
@ -369,7 +360,7 @@ msgstr ""
|
|||
"tailles *y* et *x*. Les coordonnées licites s'étendent alors de ``(0,0)`` à "
|
||||
"``(curses.LINES - 1, curses.COLS - 1)``."
|
||||
|
||||
#: howto/curses.rst:198
|
||||
#: howto/curses.rst:194
|
||||
msgid ""
|
||||
"When you call a method to display or erase text, the effect doesn't "
|
||||
"immediately show up on the display. Instead you must call the :meth:"
|
||||
|
@ -379,7 +370,7 @@ msgstr ""
|
|||
"l'affichage ne le reflète pas immédiatement. Vous devez appeler la méthode :"
|
||||
"meth:`~curses.window.refresh` des objets fenêtre pour mettre à jour l'écran."
|
||||
|
||||
#: howto/curses.rst:203
|
||||
#: howto/curses.rst:199
|
||||
msgid ""
|
||||
"This is because curses was originally written with slow 300-baud terminal "
|
||||
"connections in mind; with these terminals, minimizing the time required to "
|
||||
|
@ -398,7 +389,7 @@ msgstr ""
|
|||
"fenêtre, il n'est pas nécessaire de l'afficher puisqu'il ne sera jamais "
|
||||
"visible."
|
||||
|
||||
#: howto/curses.rst:212
|
||||
#: howto/curses.rst:208
|
||||
msgid ""
|
||||
"In practice, explicitly telling curses to redraw a window doesn't really "
|
||||
"complicate programming with curses much. Most programs go into a flurry of "
|
||||
|
@ -416,7 +407,7 @@ msgstr ""
|
|||
"appelant d'abord ``stdscr.refresh()`` ou la méthode :meth:`refresh` de la "
|
||||
"fenêtre adéquate."
|
||||
|
||||
#: howto/curses.rst:220
|
||||
#: howto/curses.rst:216
|
||||
msgid ""
|
||||
"A pad is a special case of a window; it can be larger than the actual "
|
||||
"display screen, and only a portion of the pad displayed at a time. Creating "
|
||||
|
@ -431,7 +422,7 @@ msgstr ""
|
|||
"devez fournir les coordonnées de la zone de l'écran où une partie du tampon "
|
||||
"sera affichée."
|
||||
|
||||
#: howto/curses.rst:241
|
||||
#: howto/curses.rst:237
|
||||
msgid ""
|
||||
"The :meth:`refresh` call displays a section of the pad in the rectangle "
|
||||
"extending from coordinate (5,5) to coordinate (20,75) on the screen; the "
|
||||
|
@ -445,7 +436,7 @@ msgstr ""
|
|||
"tampon. À part cette différence, les tampons sont exactement comme les "
|
||||
"fenêtres ordinaires et gèrent les mêmes méthodes."
|
||||
|
||||
#: howto/curses.rst:247
|
||||
#: howto/curses.rst:243
|
||||
msgid ""
|
||||
"If you have multiple windows and pads on screen there is a more efficient "
|
||||
"way to update the screen and prevent annoying screen flicker as each part of "
|
||||
|
@ -455,7 +446,7 @@ msgstr ""
|
|||
"plus efficace pour rafraîchir l'écran et éviter des scintillements agaçants "
|
||||
"à chaque mise à jour. :meth:`refresh` effectue en fait deux choses :"
|
||||
|
||||
#: howto/curses.rst:252
|
||||
#: howto/curses.rst:248
|
||||
msgid ""
|
||||
"Calls the :meth:`~curses.window.noutrefresh` method of each window to update "
|
||||
"an underlying data structure representing the desired state of the screen."
|
||||
|
@ -464,7 +455,7 @@ msgstr ""
|
|||
"pour mettre à jour les données sous-jacentes qui permettent d'obtenir "
|
||||
"l'affichage voulu ;"
|
||||
|
||||
#: howto/curses.rst:255
|
||||
#: howto/curses.rst:251
|
||||
msgid ""
|
||||
"Calls the function :func:`~curses.doupdate` function to change the physical "
|
||||
"screen to match the desired state recorded in the data structure."
|
||||
|
@ -472,7 +463,7 @@ msgstr ""
|
|||
"elle appelle la fonction :func:`~curses.doupdate` pour modifier l'écran "
|
||||
"physique afin de correspondre à l'état défini par les données sous-jacentes."
|
||||
|
||||
#: howto/curses.rst:258
|
||||
#: howto/curses.rst:254
|
||||
msgid ""
|
||||
"Instead you can call :meth:`noutrefresh` on a number of windows to update "
|
||||
"the data structure, and then call :func:`doupdate` to update the screen."
|
||||
|
@ -481,11 +472,11 @@ msgstr ""
|
|||
"voulez mettre à jour des données, puis :func:`doupdate` pour mettre à jour "
|
||||
"l'écran."
|
||||
|
||||
#: howto/curses.rst:264
|
||||
#: howto/curses.rst:260
|
||||
msgid "Displaying Text"
|
||||
msgstr "Affichage de texte"
|
||||
|
||||
#: howto/curses.rst:266
|
||||
#: howto/curses.rst:262
|
||||
msgid ""
|
||||
"From a C programmer's point of view, curses may sometimes look like a twisty "
|
||||
"maze of functions, all subtly different. For example, :c:func:`addstr` "
|
||||
|
@ -504,7 +495,7 @@ msgstr ""
|
|||
"d'utiliser ``stdscr`` par défaut. :c:func:`mvwaddstr` permet de spécifier à "
|
||||
"la fois les coordonnées et la fenêtre."
|
||||
|
||||
#: howto/curses.rst:275
|
||||
#: howto/curses.rst:271
|
||||
msgid ""
|
||||
"Fortunately the Python interface hides all these details. ``stdscr`` is a "
|
||||
"window object like any other, and methods such as :meth:`~curses.window."
|
||||
|
@ -516,27 +507,27 @@ msgstr ""
|
|||
"window.addstr` acceptent leurs arguments sous de multiples formes, "
|
||||
"habituellement quatre."
|
||||
|
||||
#: howto/curses.rst:281
|
||||
#: howto/curses.rst:277
|
||||
msgid "Form"
|
||||
msgstr "Forme"
|
||||
|
||||
#: howto/curses.rst:350
|
||||
#: howto/curses.rst:346
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: howto/curses.rst:283
|
||||
#: howto/curses.rst:279
|
||||
msgid "*str* or *ch*"
|
||||
msgstr "*str* ou *ch*"
|
||||
|
||||
#: howto/curses.rst:283
|
||||
#: howto/curses.rst:279
|
||||
msgid "Display the string *str* or character *ch* at the current position"
|
||||
msgstr "Affiche la chaîne *str* ou le caractère *ch* à la position actuelle"
|
||||
|
||||
#: howto/curses.rst:286
|
||||
#: howto/curses.rst:282
|
||||
msgid "*str* or *ch*, *attr*"
|
||||
msgstr "*str* ou *ch*, *attr*"
|
||||
|
||||
#: howto/curses.rst:286
|
||||
#: howto/curses.rst:282
|
||||
msgid ""
|
||||
"Display the string *str* or character *ch*, using attribute *attr* at the "
|
||||
"current position"
|
||||
|
@ -544,21 +535,21 @@ msgstr ""
|
|||
"Affiche la chaîne *str* ou le caractère *ch*, en utilisant l'attribut *attr* "
|
||||
"à la position actuelle"
|
||||
|
||||
#: howto/curses.rst:290
|
||||
#: howto/curses.rst:286
|
||||
msgid "*y*, *x*, *str* or *ch*"
|
||||
msgstr "*y*, *x*, *str* ou *ch*"
|
||||
|
||||
#: howto/curses.rst:290
|
||||
#: howto/curses.rst:286
|
||||
msgid "Move to position *y,x* within the window, and display *str* or *ch*"
|
||||
msgstr ""
|
||||
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
|
||||
"le caractère *ch*"
|
||||
|
||||
#: howto/curses.rst:293
|
||||
#: howto/curses.rst:289
|
||||
msgid "*y*, *x*, *str* or *ch*, *attr*"
|
||||
msgstr "*y*, *x*, *str* ou *ch*, *attr*"
|
||||
|
||||
#: howto/curses.rst:293
|
||||
#: howto/curses.rst:289
|
||||
msgid ""
|
||||
"Move to position *y,x* within the window, and display *str* or *ch*, using "
|
||||
"attribute *attr*"
|
||||
|
@ -566,7 +557,7 @@ msgstr ""
|
|||
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
|
||||
"le caractère *ch* en utilisant l'attribut *attr*"
|
||||
|
||||
#: howto/curses.rst:297
|
||||
#: howto/curses.rst:293
|
||||
msgid ""
|
||||
"Attributes allow displaying text in highlighted forms such as boldface, "
|
||||
"underline, reverse code, or in color. They'll be explained in more detail "
|
||||
|
@ -576,7 +567,7 @@ msgstr ""
|
|||
"vidéo inversé ou en couleur. Nous les voyons plus en détail dans la section "
|
||||
"suivante."
|
||||
|
||||
#: howto/curses.rst:302
|
||||
#: howto/curses.rst:298
|
||||
msgid ""
|
||||
"The :meth:`~curses.window.addstr` method takes a Python string or bytestring "
|
||||
"as the value to be displayed. The contents of bytestrings are sent to the "
|
||||
|
@ -591,7 +582,7 @@ msgstr ""
|
|||
"l'encodage du système tel que renvoyé par :func:`locale."
|
||||
"getpreferredencoding`."
|
||||
|
||||
#: howto/curses.rst:309
|
||||
#: howto/curses.rst:305
|
||||
msgid ""
|
||||
"The :meth:`~curses.window.addch` methods take a character, which can be "
|
||||
"either a string of length 1, a bytestring of length 1, or an integer."
|
||||
|
@ -600,7 +591,7 @@ msgstr ""
|
|||
"la forme d'une chaîne de longueur 1, d'une chaîne d'octets de longueur 1 ou "
|
||||
"d'un entier."
|
||||
|
||||
#: howto/curses.rst:312
|
||||
#: howto/curses.rst:308
|
||||
msgid ""
|
||||
"Constants are provided for extension characters; these constants are "
|
||||
"integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/- "
|
||||
|
@ -613,7 +604,7 @@ msgstr ""
|
|||
"haut et à gauche d'une boîte (utile pour dessiner des encadrements). Vous "
|
||||
"pouvez aussi utiliser les caractères Unicode adéquats."
|
||||
|
||||
#: howto/curses.rst:318
|
||||
#: howto/curses.rst:314
|
||||
msgid ""
|
||||
"Windows remember where the cursor was left after the last operation, so if "
|
||||
"you leave out the *y,x* coordinates, the string or character will be "
|
||||
|
@ -632,7 +623,7 @@ msgstr ""
|
|||
"l'utilisateur (il peut être déroutant d'avoir un curseur qui clignote à des "
|
||||
"endroits apparemment aléatoires)."
|
||||
|
||||
#: howto/curses.rst:326
|
||||
#: howto/curses.rst:322
|
||||
msgid ""
|
||||
"If your application doesn't need a blinking cursor at all, you can call "
|
||||
"``curs_set(False)`` to make it invisible. For compatibility with older "
|
||||
|
@ -649,11 +640,11 @@ msgstr ""
|
|||
"curseur clignotant et vous n'avez plus besoin de vous soucier de le laisser "
|
||||
"trainer à des endroits bizarres."
|
||||
|
||||
#: howto/curses.rst:335
|
||||
#: howto/curses.rst:331
|
||||
msgid "Attributes and Color"
|
||||
msgstr "Attributs et couleurs"
|
||||
|
||||
#: howto/curses.rst:337
|
||||
#: howto/curses.rst:333
|
||||
msgid ""
|
||||
"Characters can be displayed in different ways. Status lines in a text-based "
|
||||
"application are commonly shown in reverse video, or a text viewer may need "
|
||||
|
@ -666,7 +657,7 @@ msgstr ""
|
|||
"À ces fins, *curses* vous permet de spécifier un attribut pour chaque "
|
||||
"caractère à l'écran."
|
||||
|
||||
#: howto/curses.rst:342
|
||||
#: howto/curses.rst:338
|
||||
msgid ""
|
||||
"An attribute is an integer, each bit representing a different attribute. "
|
||||
"You can try to display text with multiple attribute bits set, but curses "
|
||||
|
@ -683,59 +674,59 @@ msgstr ""
|
|||
"se cantonner aux attributs les plus communément utilisés, dont la liste est "
|
||||
"fournie ci-dessous."
|
||||
|
||||
#: howto/curses.rst:350
|
||||
#: howto/curses.rst:346
|
||||
msgid "Attribute"
|
||||
msgstr "Attribut"
|
||||
|
||||
#: howto/curses.rst:352
|
||||
#: howto/curses.rst:348
|
||||
msgid ":const:`A_BLINK`"
|
||||
msgstr ":const:`A_BLINK`"
|
||||
|
||||
#: howto/curses.rst:352
|
||||
#: howto/curses.rst:348
|
||||
msgid "Blinking text"
|
||||
msgstr "Texte clignotant"
|
||||
|
||||
#: howto/curses.rst:354
|
||||
#: howto/curses.rst:350
|
||||
msgid ":const:`A_BOLD`"
|
||||
msgstr ":const:`A_BOLD`"
|
||||
|
||||
#: howto/curses.rst:354
|
||||
#: howto/curses.rst:350
|
||||
msgid "Extra bright or bold text"
|
||||
msgstr "Texte en surbrillance ou en gras"
|
||||
|
||||
#: howto/curses.rst:356
|
||||
#: howto/curses.rst:352
|
||||
msgid ":const:`A_DIM`"
|
||||
msgstr ":const:`A_DIM`"
|
||||
|
||||
#: howto/curses.rst:356
|
||||
#: howto/curses.rst:352
|
||||
msgid "Half bright text"
|
||||
msgstr "Texte en demi-ton"
|
||||
|
||||
#: howto/curses.rst:358
|
||||
#: howto/curses.rst:354
|
||||
msgid ":const:`A_REVERSE`"
|
||||
msgstr ":const:`A_REVERSE`"
|
||||
|
||||
#: howto/curses.rst:358
|
||||
#: howto/curses.rst:354
|
||||
msgid "Reverse-video text"
|
||||
msgstr "Texte en mode vidéo inversé"
|
||||
|
||||
#: howto/curses.rst:360
|
||||
#: howto/curses.rst:356
|
||||
msgid ":const:`A_STANDOUT`"
|
||||
msgstr ":const:`A_STANDOUT`"
|
||||
|
||||
#: howto/curses.rst:360
|
||||
#: howto/curses.rst:356
|
||||
msgid "The best highlighting mode available"
|
||||
msgstr "Le meilleur mode de mis en valeur pour le texte"
|
||||
|
||||
#: howto/curses.rst:362
|
||||
#: howto/curses.rst:358
|
||||
msgid ":const:`A_UNDERLINE`"
|
||||
msgstr ":const:`A_UNDERLINE`"
|
||||
|
||||
#: howto/curses.rst:362
|
||||
#: howto/curses.rst:358
|
||||
msgid "Underlined text"
|
||||
msgstr "Texte souligné"
|
||||
|
||||
#: howto/curses.rst:365
|
||||
#: howto/curses.rst:361
|
||||
msgid ""
|
||||
"So, to display a reverse-video status line on the top line of the screen, "
|
||||
"you could code::"
|
||||
|
@ -743,7 +734,7 @@ msgstr ""
|
|||
"Ainsi, pour mettre la ligne de statut située en haut de l'écran en mode "
|
||||
"vidéo inversé, vous pouvez coder ::"
|
||||
|
||||
#: howto/curses.rst:372
|
||||
#: howto/curses.rst:368
|
||||
msgid ""
|
||||
"The curses library also supports color on those terminals that provide it. "
|
||||
"The most common such terminal is probably the Linux console, followed by "
|
||||
|
@ -753,7 +744,7 @@ msgstr ""
|
|||
"compatibles. Le plus répandu de ces terminaux est sûrement la console Linux, "
|
||||
"suivie par *xterm* en couleurs."
|
||||
|
||||
#: howto/curses.rst:376
|
||||
#: howto/curses.rst:372
|
||||
msgid ""
|
||||
"To use color, you must call the :func:`~curses.start_color` function soon "
|
||||
"after calling :func:`~curses.initscr`, to initialize the default color set "
|
||||
|
@ -773,7 +764,7 @@ msgstr ""
|
|||
"*colour* ; si vous êtes habitué à l'orthographe britannique, vous devrez "
|
||||
"vous résigner à mal l'orthographier tant que vous utilisez *curses*)."
|
||||
|
||||
#: howto/curses.rst:386
|
||||
#: howto/curses.rst:382
|
||||
msgid ""
|
||||
"The curses library maintains a finite number of color pairs, containing a "
|
||||
"foreground (or text) color and a background color. You can get the "
|
||||
|
@ -790,13 +781,13 @@ msgstr ""
|
|||
"autres attributs tels que :const:`A_REVERSE`,mais là encore, de telles "
|
||||
"combinaisons risquent de ne pas fonctionner sur tous les terminaux."
|
||||
|
||||
#: howto/curses.rst:393
|
||||
#: howto/curses.rst:389
|
||||
msgid "An example, which displays a line of text using color pair 1::"
|
||||
msgstr ""
|
||||
"Un exemple d'affichage d'une ligne de texte en utilisant la paire de couleur "
|
||||
"1 ::"
|
||||
|
||||
#: howto/curses.rst:398
|
||||
#: howto/curses.rst:394
|
||||
msgid ""
|
||||
"As I said before, a color pair consists of a foreground and background "
|
||||
"color. The ``init_pair(n, f, b)`` function changes the definition of color "
|
||||
|
@ -809,7 +800,7 @@ msgstr ""
|
|||
"texte à *f* et la couleur de fond à *b*. La paire de couleurs 0 est codée en "
|
||||
"dur à blanc sur noir et ne peut être modifiée."
|
||||
|
||||
#: howto/curses.rst:403
|
||||
#: howto/curses.rst:399
|
||||
msgid ""
|
||||
"Colors are numbered, and :func:`start_color` initializes 8 basic colors when "
|
||||
"it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, 4:"
|
||||
|
@ -825,14 +816,14 @@ msgstr ""
|
|||
"chacune de ces couleurs : :const:`curses.COLOR_BLACK`, :const:`curses."
|
||||
"COLOR_RED` et ainsi de suite."
|
||||
|
||||
#: howto/curses.rst:409
|
||||
#: howto/curses.rst:405
|
||||
msgid ""
|
||||
"Let's put all this together. To change color 1 to red text on a white "
|
||||
"background, you would call::"
|
||||
msgstr ""
|
||||
"Testons tout ça. Pour changer la couleur 1 à rouge sur fond blanc, appelez ::"
|
||||
|
||||
#: howto/curses.rst:414
|
||||
#: howto/curses.rst:410
|
||||
msgid ""
|
||||
"When you change a color pair, any text already displayed using that color "
|
||||
"pair will change to the new colors. You can also display new text in this "
|
||||
|
@ -842,7 +833,7 @@ msgstr ""
|
|||
"utilise cette paire de couleur voit les nouvelles couleurs s'appliquer à "
|
||||
"lui. Vous pouvez aussi afficher du nouveau texte dans cette couleur avec ::"
|
||||
|
||||
#: howto/curses.rst:420
|
||||
#: howto/curses.rst:416
|
||||
msgid ""
|
||||
"Very fancy terminals can change the definitions of the actual colors to a "
|
||||
"given RGB value. This lets you change color 1, which is usually red, to "
|
||||
|
@ -863,11 +854,11 @@ msgstr ""
|
|||
"chance d'avoir un terminal aussi perfectionné, consultez les pages du manuel "
|
||||
"de votre système pour obtenir plus d'informations."
|
||||
|
||||
#: howto/curses.rst:431
|
||||
#: howto/curses.rst:427
|
||||
msgid "User Input"
|
||||
msgstr "Entrées de l'utilisateur"
|
||||
|
||||
#: howto/curses.rst:433
|
||||
#: howto/curses.rst:429
|
||||
msgid ""
|
||||
"The C curses library offers only very simple input mechanisms. Python's :mod:"
|
||||
"`curses` module adds a basic text-input widget. (Other libraries such as "
|
||||
|
@ -879,11 +870,11 @@ msgstr ""
|
|||
"d'entrée de texte (d'autres bibliothèques telles que `Urwid <https://pypi."
|
||||
"org/project/urwid/>`_ ont un ensemble de *widgets* plus conséquent)."
|
||||
|
||||
#: howto/curses.rst:438
|
||||
#: howto/curses.rst:434
|
||||
msgid "There are two methods for getting input from a window:"
|
||||
msgstr "Il y a deux méthodes pour obtenir des entrées dans une fenêtre :"
|
||||
|
||||
#: howto/curses.rst:440
|
||||
#: howto/curses.rst:436
|
||||
msgid ""
|
||||
":meth:`~curses.window.getch` refreshes the screen and then waits for the "
|
||||
"user to hit a key, displaying the key if :func:`~curses.echo` has been "
|
||||
|
@ -895,7 +886,7 @@ msgstr ""
|
|||
"appelé auparavant. Vous pouvez en option spécifier des coordonnées où "
|
||||
"positionner le curseur avant la mise en pause ;"
|
||||
|
||||
#: howto/curses.rst:445
|
||||
#: howto/curses.rst:441
|
||||
msgid ""
|
||||
":meth:`~curses.window.getkey` does the same thing but converts the integer "
|
||||
"to a string. Individual characters are returned as 1-character strings, and "
|
||||
|
@ -908,7 +899,7 @@ msgstr ""
|
|||
"renvoient des chaînes plus longues contenant le nom de la touche (tel que "
|
||||
"``KEY_UP`` ou ``^G``)."
|
||||
|
||||
#: howto/curses.rst:450
|
||||
#: howto/curses.rst:446
|
||||
msgid ""
|
||||
"It's possible to not wait for the user using the :meth:`~curses.window."
|
||||
"nodelay` window method. After ``nodelay(True)``, :meth:`getch` and :meth:"
|
||||
|
@ -929,7 +920,7 @@ msgstr ""
|
|||
"aucune entrée n'est disponible dans le délai spécifié (mesuré en dixièmes de "
|
||||
"seconde), *curses* lève une exception."
|
||||
|
||||
#: howto/curses.rst:460
|
||||
#: howto/curses.rst:456
|
||||
msgid ""
|
||||
"The :meth:`getch` method returns an integer; if it's between 0 and 255, it "
|
||||
"represents the ASCII code of the key pressed. Values greater than 255 are "
|
||||
|
@ -946,7 +937,7 @@ msgstr ""
|
|||
"La boucle principale de votre programme pourrait ressembler à quelque chose "
|
||||
"comme ::"
|
||||
|
||||
#: howto/curses.rst:476
|
||||
#: howto/curses.rst:472
|
||||
msgid ""
|
||||
"The :mod:`curses.ascii` module supplies ASCII class membership functions "
|
||||
"that take either integer or 1-character string arguments; these may be "
|
||||
|
@ -963,7 +954,7 @@ msgstr ""
|
|||
"type correspondant au nom de la fonction. Par exemple, :func:`curses.ascii."
|
||||
"ctrl` renvoie le caractère de contrôle correspondant à son paramètre."
|
||||
|
||||
#: howto/curses.rst:483
|
||||
#: howto/curses.rst:479
|
||||
msgid ""
|
||||
"There's also a method to retrieve an entire string, :meth:`~curses.window."
|
||||
"getstr`. It isn't used very often, because its functionality is quite "
|
||||
|
@ -977,7 +968,7 @@ msgstr ""
|
|||
"arrière et la touche Entrée, qui termine la chaîne. Elle peut, en option, "
|
||||
"être limitée à un nombre fixé de caractères. ::"
|
||||
|
||||
#: howto/curses.rst:494
|
||||
#: howto/curses.rst:490
|
||||
msgid ""
|
||||
"The :mod:`curses.textpad` module supplies a text box that supports an Emacs-"
|
||||
"like set of keybindings. Various methods of the :class:`~curses.textpad."
|
||||
|
@ -990,18 +981,18 @@ msgstr ""
|
|||
"des entrées et le regroupement de l'entrée avec ou sans les espaces de début "
|
||||
"et de fin. Par exemple ::"
|
||||
|
||||
#: howto/curses.rst:518
|
||||
#: howto/curses.rst:514
|
||||
msgid ""
|
||||
"See the library documentation on :mod:`curses.textpad` for more details."
|
||||
msgstr ""
|
||||
"Consultez la documentation de la bibliothèque pour plus de détails sur :mod:"
|
||||
"`curses.textpad`."
|
||||
|
||||
#: howto/curses.rst:522
|
||||
#: howto/curses.rst:518
|
||||
msgid "For More Information"
|
||||
msgstr "Pour aller plus loin"
|
||||
|
||||
#: howto/curses.rst:524
|
||||
#: howto/curses.rst:520
|
||||
msgid ""
|
||||
"This HOWTO doesn't cover some advanced topics, such as reading the contents "
|
||||
"of the screen or capturing mouse events from an xterm instance, but the "
|
||||
|
@ -1014,7 +1005,7 @@ msgstr ""
|
|||
"`curses` est maintenant suffisamment complète. Nous vous encourageons à la "
|
||||
"parcourir."
|
||||
|
||||
#: howto/curses.rst:529
|
||||
#: howto/curses.rst:525
|
||||
msgid ""
|
||||
"If you're in doubt about the detailed behavior of the curses functions, "
|
||||
"consult the manual pages for your curses implementation, whether it's "
|
||||
|
@ -1029,7 +1020,7 @@ msgstr ""
|
|||
"listes complètes des fonctions, attributs et codes :const:`ACS_\\*` des "
|
||||
"caractères disponibles."
|
||||
|
||||
#: howto/curses.rst:536
|
||||
#: howto/curses.rst:532
|
||||
msgid ""
|
||||
"Because the curses API is so large, some functions aren't supported in the "
|
||||
"Python interface. Often this isn't because they're difficult to implement, "
|
||||
|
@ -1047,27 +1038,29 @@ msgstr ""
|
|||
"du développeur Python <https://devguide.python.org/>`_ pour apprendre "
|
||||
"comment soumettre des améliorations à Python."
|
||||
|
||||
#: howto/curses.rst:544
|
||||
#: howto/curses.rst:540
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
|
||||
"`Writing Programs with NCURSES <https://invisible-island.net/ncurses/ncurses-"
|
||||
"intro.html>`_: a lengthy tutorial for C programmers."
|
||||
msgstr ""
|
||||
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
|
||||
"intro.html>`_ : un long tutoriel pour les programmeurs C (ressource en "
|
||||
"anglais)."
|
||||
|
||||
#: howto/curses.rst:546
|
||||
#: howto/curses.rst:542
|
||||
msgid "`The ncurses man page <https://linux.die.net/man/3/ncurses>`_"
|
||||
msgstr "`La page de manuel ncurses <https://linux.die.net/man/3/ncurses>`_"
|
||||
|
||||
#: howto/curses.rst:547
|
||||
#: howto/curses.rst:543
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_"
|
||||
"`The ncurses FAQ <https://invisible-island.net/ncurses/ncurses.faq.html>`_"
|
||||
msgstr ""
|
||||
"`La FAQ ncurses <http://invisible-island.net/ncurses/ncurses.faq.html>`_ "
|
||||
"(ressource en anglais)"
|
||||
|
||||
#: howto/curses.rst:548
|
||||
#: howto/curses.rst:544
|
||||
msgid ""
|
||||
"`\"Use curses... don't swear\" <https://www.youtube.com/watch?"
|
||||
"v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using "
|
||||
|
@ -1077,12 +1070,29 @@ msgstr ""
|
|||
"v=eN1eZtjLEnU>`_ : vidéo d'une conférence lors de la PyCon 2013 sur la "
|
||||
"gestion des terminaux à l'aide de *curses* et *Urwid* (vidéo en anglais)."
|
||||
|
||||
#: howto/curses.rst:550
|
||||
#: howto/curses.rst:546
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`\"Console Applications with Urwid\" <http://www.pyvideo.org/video/1568/"
|
||||
"console-applications-with-urwid>`_: video of a PyCon CA 2012 talk "
|
||||
"demonstrating some applications written using Urwid."
|
||||
"`\"Console Applications with Urwid\" <https://pyvideo.org/video/1568/console-"
|
||||
"applications-with-urwid>`_: video of a PyCon CA 2012 talk demonstrating some "
|
||||
"applications written using Urwid."
|
||||
msgstr ""
|
||||
"`\"Console Applications with Urwid\" <http://www.pyvideo.org/video/1568/"
|
||||
"console-applications-with-urwid>`_ : vidéo d'une conférence lors de PyCon CA "
|
||||
"2012 montrant quelques applications utilisant *Urwid*."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Windows version of Python doesn't include the :mod:`curses` module. "
|
||||
#~ "A ported version called `UniCurses <https://pypi.org/project/UniCurses>`_ "
|
||||
#~ "is available. You could also try `the Console module <http://effbot.org/"
|
||||
#~ "zone/console-index.htm>`_ written by Fredrik Lundh, which doesn't use the "
|
||||
#~ "same API as curses but provides cursor-addressable text output and full "
|
||||
#~ "support for mouse and keyboard input."
|
||||
#~ msgstr ""
|
||||
#~ "La version Windows de Python n'inclut pas le module :mod:`curses`. Une "
|
||||
#~ "version portée appelée `UniCurses <https://pypi.org/project/UniCurses>`_ "
|
||||
#~ "est disponible. Vous pouvez également essayer le `Windows console driver "
|
||||
#~ "<http://effbot.org/zone/console-index.htm>`_ écrit par Fredrik Lundh, qui "
|
||||
#~ "n'utilise pas la même API que *curses*, mais fournit une sortie texte "
|
||||
#~ "avec gestion du curseur et une prise en charge complète de la souris et "
|
||||
#~ "du clavier."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-16 17:28+0100\n"
|
||||
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -570,32 +570,27 @@ msgid ""
|
|||
"is a pure Python equivalent:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:700
|
||||
#: howto/descriptor.rst:719
|
||||
msgid ""
|
||||
"Interestingly, attribute lookup doesn't call :meth:`object.__getattribute__` "
|
||||
"directly. Instead, both the dot operator and the :func:`getattr` function "
|
||||
"perform attribute lookup by way of a helper function:"
|
||||
"Note, there is no :meth:`__getattr__` hook in the :meth:`__getattribute__` "
|
||||
"code. That is why calling :meth:`__getattribute__` directly or with "
|
||||
"``super().__getattribute__`` will bypass :meth:`__getattr__` entirely."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:747
|
||||
#: howto/descriptor.rst:723
|
||||
msgid ""
|
||||
"So if :meth:`__getattr__` exists, it is called whenever :meth:"
|
||||
"`__getattribute__` raises :exc:`AttributeError` (either directly or in one "
|
||||
"of the descriptor calls)."
|
||||
"Instead, it is the dot operator and the :func:`getattr` function that are "
|
||||
"responsible for invoking :meth:`__getattr__` whenever :meth:"
|
||||
"`__getattribute__` raises an :exc:`AttributeError`. Their logic is "
|
||||
"encapsulated in a helper function:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:750
|
||||
msgid ""
|
||||
"Also, if a user calls :meth:`object.__getattribute__` directly, the :meth:"
|
||||
"`__getattr__` hook is bypassed entirely."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:755
|
||||
#: howto/descriptor.rst:773
|
||||
#, fuzzy
|
||||
msgid "Invocation from a class"
|
||||
msgstr "Appelé depuis un Classe"
|
||||
|
||||
#: howto/descriptor.rst:757
|
||||
#: howto/descriptor.rst:775
|
||||
msgid ""
|
||||
"The logic for a dotted lookup such as ``A.x`` is in :meth:`type."
|
||||
"__getattribute__`. The steps are similar to those for :meth:`object."
|
||||
|
@ -603,27 +598,27 @@ msgid ""
|
|||
"through the class's :term:`method resolution order`."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:762
|
||||
#: howto/descriptor.rst:780
|
||||
msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:764
|
||||
#: howto/descriptor.rst:782
|
||||
msgid ""
|
||||
"The full C implementation can be found in :c:func:`type_getattro()` and :c:"
|
||||
"func:`_PyType_Lookup()` in :source:`Objects/typeobject.c`."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:769
|
||||
#: howto/descriptor.rst:787
|
||||
msgid "Invocation from super"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:771
|
||||
#: howto/descriptor.rst:789
|
||||
msgid ""
|
||||
"The logic for super's dotted lookup is in the :meth:`__getattribute__` "
|
||||
"method for object returned by :class:`super()`."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:774
|
||||
#: howto/descriptor.rst:792
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__."
|
||||
|
@ -639,7 +634,7 @@ msgstr ""
|
|||
"inchangé. S'il n'est pas dans le dictionnaire, la recherche de ``m`` revient "
|
||||
"à une recherche utilisant :meth:`object.__getattribute__`."
|
||||
|
||||
#: howto/descriptor.rst:779
|
||||
#: howto/descriptor.rst:797
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The full C implementation can be found in :c:func:`super_getattro()` in :"
|
||||
|
@ -651,32 +646,32 @@ msgstr ""
|
|||
"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé "
|
||||
"dans `Guido's Tutorial`_."
|
||||
|
||||
#: howto/descriptor.rst:786
|
||||
#: howto/descriptor.rst:804
|
||||
msgid "Summary of invocation logic"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:788
|
||||
#: howto/descriptor.rst:806
|
||||
msgid ""
|
||||
"The mechanism for descriptors is embedded in the :meth:`__getattribute__()` "
|
||||
"methods for :class:`object`, :class:`type`, and :func:`super`."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:791
|
||||
#: howto/descriptor.rst:809
|
||||
msgid "The important points to remember are:"
|
||||
msgstr "Les points importants à retenir sont :"
|
||||
|
||||
#: howto/descriptor.rst:793
|
||||
#: howto/descriptor.rst:811
|
||||
#, fuzzy
|
||||
msgid "Descriptors are invoked by the :meth:`__getattribute__` method."
|
||||
msgstr "les descripteurs sont appelés par la méthode :meth:`__getattribute__`"
|
||||
|
||||
#: howto/descriptor.rst:795
|
||||
#: howto/descriptor.rst:813
|
||||
msgid ""
|
||||
"Classes inherit this machinery from :class:`object`, :class:`type`, or :func:"
|
||||
"`super`."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:798
|
||||
#: howto/descriptor.rst:816
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Overriding :meth:`__getattribute__` prevents automatic descriptor calls "
|
||||
|
@ -685,7 +680,7 @@ msgstr ""
|
|||
"redéfinir :meth:`__getattribute____` empêche les appels automatiques de "
|
||||
"descripteurs"
|
||||
|
||||
#: howto/descriptor.rst:801
|
||||
#: howto/descriptor.rst:819
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make "
|
||||
|
@ -696,25 +691,25 @@ msgstr ""
|
|||
":meth:`objet.__getattribute__` et :meth:`type.__getattribute__` font "
|
||||
"différents appels à :meth:`__get__`."
|
||||
|
||||
#: howto/descriptor.rst:806
|
||||
#: howto/descriptor.rst:824
|
||||
#, fuzzy
|
||||
msgid "Data descriptors always override instance dictionaries."
|
||||
msgstr ""
|
||||
"les descripteurs de données remplacent toujours les dictionnaires "
|
||||
"d'instances."
|
||||
|
||||
#: howto/descriptor.rst:808
|
||||
#: howto/descriptor.rst:826
|
||||
#, fuzzy
|
||||
msgid "Non-data descriptors may be overridden by instance dictionaries."
|
||||
msgstr ""
|
||||
"les descripteurs *non-data* peuvent être remplacés par des dictionnaires "
|
||||
"d'instance."
|
||||
|
||||
#: howto/descriptor.rst:812
|
||||
#: howto/descriptor.rst:830
|
||||
msgid "Automatic name notification"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:814
|
||||
#: howto/descriptor.rst:832
|
||||
msgid ""
|
||||
"Sometimes it is desirable for a descriptor to know what class variable name "
|
||||
"it was assigned to. When a new class is created, the :class:`type` "
|
||||
|
@ -724,7 +719,7 @@ msgid ""
|
|||
"and the *name* is the class variable the descriptor was assigned to."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:821
|
||||
#: howto/descriptor.rst:839
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The implementation details are in :c:func:`type_new()` and :c:func:"
|
||||
|
@ -734,59 +729,59 @@ msgstr ""
|
|||
"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé "
|
||||
"dans `Guido's Tutorial`_."
|
||||
|
||||
#: howto/descriptor.rst:824
|
||||
#: howto/descriptor.rst:842
|
||||
msgid ""
|
||||
"Since the update logic is in :meth:`type.__new__`, notifications only take "
|
||||
"place at the time of class creation. If descriptors are added to the class "
|
||||
"afterwards, :meth:`__set_name__` will need to be called manually."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:830
|
||||
#: howto/descriptor.rst:848
|
||||
msgid "ORM example"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:832
|
||||
#: howto/descriptor.rst:850
|
||||
msgid ""
|
||||
"The following code is simplified skeleton showing how data descriptors could "
|
||||
"be used to implement an `object relational mapping <https://en.wikipedia.org/"
|
||||
"wiki/Object%E2%80%93relational_mapping>`_."
|
||||
"The following code is a simplified skeleton showing how data descriptors "
|
||||
"could be used to implement an `object relational mapping <https://en."
|
||||
"wikipedia.org/wiki/Object%E2%80%93relational_mapping>`_."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:836
|
||||
#: howto/descriptor.rst:854
|
||||
msgid ""
|
||||
"The essential idea is that the data is stored in an external database. The "
|
||||
"Python instances only hold keys to the database's tables. Descriptors take "
|
||||
"care of lookups or updates:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:855
|
||||
#: howto/descriptor.rst:873
|
||||
msgid ""
|
||||
"We can use the :class:`Field` class to define `models <https://en.wikipedia."
|
||||
"org/wiki/Database_model>`_ that describe the schema for each table in a "
|
||||
"database:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:880
|
||||
#: howto/descriptor.rst:898
|
||||
msgid "To use the models, first connect to the database::"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:885
|
||||
#: howto/descriptor.rst:903
|
||||
msgid ""
|
||||
"An interactive session shows how data is retrieved from the database and how "
|
||||
"it can be updated:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:930
|
||||
#: howto/descriptor.rst:948
|
||||
msgid "Pure Python Equivalents"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:932
|
||||
#: howto/descriptor.rst:950
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The descriptor protocol is simple and offers exciting possibilities. "
|
||||
"Several use cases are so common that they have been prepackaged into built-"
|
||||
"in tools. Properties, bound methods, static methods, class methods, and \\_"
|
||||
"\\_slots\\_\\_ are all based on the descriptor protocol."
|
||||
"in tools. Properties, bound methods, static methods, class methods, and "
|
||||
"\\_\\_slots\\_\\_ are all based on the descriptor protocol."
|
||||
msgstr ""
|
||||
"Le protocole est simple et offre des possibilités passionnantes. Plusieurs "
|
||||
"cas d'utilisation sont si courants qu'ils ont été regroupés en appels de "
|
||||
|
@ -794,11 +789,11 @@ msgstr ""
|
|||
"statiques et les méthodes de classe sont toutes basées sur le protocole du "
|
||||
"descripteur."
|
||||
|
||||
#: howto/descriptor.rst:939
|
||||
#: howto/descriptor.rst:957
|
||||
msgid "Properties"
|
||||
msgstr "Propriétés"
|
||||
|
||||
#: howto/descriptor.rst:941
|
||||
#: howto/descriptor.rst:959
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Calling :func:`property` is a succinct way of building a data descriptor "
|
||||
|
@ -809,7 +804,7 @@ msgstr ""
|
|||
"descripteur de données qui déclenche des appels de fonction lors de l'accès "
|
||||
"à un attribut. Sa signature est ::"
|
||||
|
||||
#: howto/descriptor.rst:946
|
||||
#: howto/descriptor.rst:964
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The documentation shows a typical use to define a managed attribute ``x``:"
|
||||
|
@ -817,7 +812,7 @@ msgstr ""
|
|||
"La documentation montre une utilisation typique pour définir un attribut "
|
||||
"géré ``x`` ::"
|
||||
|
||||
#: howto/descriptor.rst:970
|
||||
#: howto/descriptor.rst:988
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To see how :func:`property` is implemented in terms of the descriptor "
|
||||
|
@ -826,7 +821,7 @@ msgstr ""
|
|||
"Pour voir comment :func:`property` est implémenté dans le protocole du "
|
||||
"descripteur, voici un un équivalent Python pur ::"
|
||||
|
||||
#: howto/descriptor.rst:1073
|
||||
#: howto/descriptor.rst:1091
|
||||
msgid ""
|
||||
"The :func:`property` builtin helps whenever a user interface has granted "
|
||||
"attribute access and then subsequent changes require the intervention of a "
|
||||
|
@ -836,7 +831,7 @@ msgstr ""
|
|||
"utilisateur a accordé l'accès à un attribut et que des modifications "
|
||||
"ultérieures nécessitent l'intervention d'une méthode."
|
||||
|
||||
#: howto/descriptor.rst:1077
|
||||
#: howto/descriptor.rst:1095
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For instance, a spreadsheet class may grant access to a cell value through "
|
||||
|
@ -853,18 +848,18 @@ msgstr ""
|
|||
"directement à l'attribut. La solution consiste à envelopper l'accès à "
|
||||
"l'attribut de valeur dans un descripteur de données de propriété ::"
|
||||
|
||||
#: howto/descriptor.rst:1094
|
||||
#: howto/descriptor.rst:1112
|
||||
msgid ""
|
||||
"Either the built-in :func:`property` or our :func:`Property` equivalent "
|
||||
"would work in this example."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1099
|
||||
#: howto/descriptor.rst:1117
|
||||
#, fuzzy
|
||||
msgid "Functions and methods"
|
||||
msgstr "Fonctions et méthodes"
|
||||
|
||||
#: howto/descriptor.rst:1101
|
||||
#: howto/descriptor.rst:1119
|
||||
msgid ""
|
||||
"Python's object oriented features are built upon a function based "
|
||||
"environment. Using non-data descriptors, the two are merged seamlessly."
|
||||
|
@ -873,7 +868,7 @@ msgstr ""
|
|||
"environnement basé sur des fonctions. À l'aide de descripteurs *non-data*, "
|
||||
"les deux sont fusionnés de façon transparente."
|
||||
|
||||
#: howto/descriptor.rst:1104
|
||||
#: howto/descriptor.rst:1122
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Functions stored in class dictionaries get turned into methods when invoked. "
|
||||
|
@ -889,13 +884,13 @@ msgstr ""
|
|||
"convention Python, la référence de l'instance est appelée *self* mais peut "
|
||||
"être appelée *this* ou tout autre nom de variable."
|
||||
|
||||
#: howto/descriptor.rst:1109
|
||||
#: howto/descriptor.rst:1127
|
||||
msgid ""
|
||||
"Methods can be created manually with :class:`types.MethodType` which is "
|
||||
"roughly equivalent to:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1126
|
||||
#: howto/descriptor.rst:1144
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To support automatic creation of methods, functions include the :meth:"
|
||||
|
@ -909,7 +904,7 @@ msgstr ""
|
|||
"*non-data* qui renvoient des méthodes liées lorsqu'elles sont appelées "
|
||||
"depuis un objet. En Python pur, il fonctionne comme ceci ::"
|
||||
|
||||
#: howto/descriptor.rst:1142
|
||||
#: howto/descriptor.rst:1160
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Running the following class in the interpreter shows how the function "
|
||||
|
@ -918,47 +913,47 @@ msgstr ""
|
|||
"L'exécution de l'interpréteur montre comment le descripteur de fonction se "
|
||||
"comporte dans la pratique ::"
|
||||
|
||||
#: howto/descriptor.rst:1151
|
||||
#: howto/descriptor.rst:1169
|
||||
msgid ""
|
||||
"The function has a :term:`qualified name` attribute to support introspection:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1158
|
||||
#: howto/descriptor.rst:1176
|
||||
msgid ""
|
||||
"Accessing the function through the class dictionary does not invoke :meth:"
|
||||
"`__get__`. Instead, it just returns the underlying function object::"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1164
|
||||
#: howto/descriptor.rst:1182
|
||||
msgid ""
|
||||
"Dotted access from a class calls :meth:`__get__` which just returns the "
|
||||
"underlying function unchanged::"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1170
|
||||
#: howto/descriptor.rst:1188
|
||||
msgid ""
|
||||
"The interesting behavior occurs during dotted access from an instance. The "
|
||||
"dotted lookup calls :meth:`__get__` which returns a bound method object::"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1177
|
||||
#: howto/descriptor.rst:1195
|
||||
msgid ""
|
||||
"Internally, the bound method stores the underlying function and the bound "
|
||||
"instance::"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1186
|
||||
#: howto/descriptor.rst:1204
|
||||
msgid ""
|
||||
"If you have ever wondered where *self* comes from in regular methods or "
|
||||
"where *cls* comes from in class methods, this is it!"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1191
|
||||
#: howto/descriptor.rst:1209
|
||||
#, fuzzy
|
||||
msgid "Kinds of methods"
|
||||
msgstr "Fonctions et méthodes"
|
||||
|
||||
#: howto/descriptor.rst:1193
|
||||
#: howto/descriptor.rst:1211
|
||||
msgid ""
|
||||
"Non-data descriptors provide a simple mechanism for variations on the usual "
|
||||
"patterns of binding functions into methods."
|
||||
|
@ -966,7 +961,7 @@ msgstr ""
|
|||
"Les descripteurs *non-data* fournissent un mécanisme simple pour les "
|
||||
"variations des patrons habituels des fonctions de liaison dans les méthodes."
|
||||
|
||||
#: howto/descriptor.rst:1196
|
||||
#: howto/descriptor.rst:1214
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To recap, functions have a :meth:`__get__` method so that they can be "
|
||||
|
@ -979,60 +974,60 @@ msgstr ""
|
|||
"descripteur *non-data* transforme un appel ``obj.f(*args)``en ``f(obj, "
|
||||
"*args)``. Appeler ``klass.f(*args)`` devient ``f(*args)``."
|
||||
|
||||
#: howto/descriptor.rst:1201
|
||||
#: howto/descriptor.rst:1219
|
||||
msgid "This chart summarizes the binding and its two most useful variants:"
|
||||
msgstr ""
|
||||
"Ce tableau résume le lien (*binding*) et ses deux variantes les plus "
|
||||
"utiles ::"
|
||||
|
||||
#: howto/descriptor.rst:1204
|
||||
#: howto/descriptor.rst:1222
|
||||
msgid "Transformation"
|
||||
msgstr "Transformation"
|
||||
|
||||
#: howto/descriptor.rst:1204
|
||||
#: howto/descriptor.rst:1222
|
||||
#, fuzzy
|
||||
msgid "Called from an object"
|
||||
msgstr "Appelé depuis un Objet"
|
||||
|
||||
#: howto/descriptor.rst:1204
|
||||
#: howto/descriptor.rst:1222
|
||||
#, fuzzy
|
||||
msgid "Called from a class"
|
||||
msgstr "Appelé depuis un Classe"
|
||||
|
||||
#: howto/descriptor.rst:1207
|
||||
#: howto/descriptor.rst:1225
|
||||
msgid "function"
|
||||
msgstr "fonction"
|
||||
|
||||
#: howto/descriptor.rst:1207
|
||||
#: howto/descriptor.rst:1225
|
||||
msgid "f(obj, \\*args)"
|
||||
msgstr "f(obj, \\*args)"
|
||||
|
||||
#: howto/descriptor.rst:1209
|
||||
#: howto/descriptor.rst:1227
|
||||
msgid "f(\\*args)"
|
||||
msgstr "f(\\*args)"
|
||||
|
||||
#: howto/descriptor.rst:1209
|
||||
#: howto/descriptor.rst:1227
|
||||
msgid "staticmethod"
|
||||
msgstr "méthode statique"
|
||||
|
||||
#: howto/descriptor.rst:1211
|
||||
#: howto/descriptor.rst:1229
|
||||
msgid "classmethod"
|
||||
msgstr "méthode de classe"
|
||||
|
||||
#: howto/descriptor.rst:1211
|
||||
#: howto/descriptor.rst:1229
|
||||
msgid "f(type(obj), \\*args)"
|
||||
msgstr "f(type(obj), \\*args)"
|
||||
|
||||
#: howto/descriptor.rst:1211
|
||||
#: howto/descriptor.rst:1229
|
||||
msgid "f(cls, \\*args)"
|
||||
msgstr "f(cls, \\*args)"
|
||||
|
||||
#: howto/descriptor.rst:1216
|
||||
#: howto/descriptor.rst:1234
|
||||
#, fuzzy
|
||||
msgid "Static methods"
|
||||
msgstr "méthode statique"
|
||||
|
||||
#: howto/descriptor.rst:1218
|
||||
#: howto/descriptor.rst:1236
|
||||
msgid ""
|
||||
"Static methods return the underlying function without changes. Calling "
|
||||
"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object."
|
||||
|
@ -1046,7 +1041,7 @@ msgstr ""
|
|||
"__getattribute__(C, \"f\")``. Par conséquent, la fonction devient accessible "
|
||||
"de manière identique à partir d'un objet ou d'une classe."
|
||||
|
||||
#: howto/descriptor.rst:1224
|
||||
#: howto/descriptor.rst:1242
|
||||
msgid ""
|
||||
"Good candidates for static methods are methods that do not reference the "
|
||||
"``self`` variable."
|
||||
|
@ -1054,7 +1049,7 @@ msgstr ""
|
|||
"Les bonnes candidates pour être méthode statique sont des méthodes qui ne "
|
||||
"font pas référence à la variable ``self``."
|
||||
|
||||
#: howto/descriptor.rst:1227
|
||||
#: howto/descriptor.rst:1245
|
||||
msgid ""
|
||||
"For instance, a statistics package may include a container class for "
|
||||
"experimental data. The class provides normal methods for computing the "
|
||||
|
@ -1076,7 +1071,7 @@ msgstr ""
|
|||
"appelée à partir d'un objet ou de la classe : ``s.erf(1.5) --> .9332`` ou "
|
||||
"``Sample.erf(1.5) --> .9332``."
|
||||
|
||||
#: howto/descriptor.rst:1236
|
||||
#: howto/descriptor.rst:1254
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Since static methods return the underlying function with no changes, the "
|
||||
|
@ -1085,7 +1080,7 @@ msgstr ""
|
|||
"Depuis que les méthodes statiques renvoient la fonction sous-jacente sans "
|
||||
"changement, les exemples d’appels ne sont pas excitants ::"
|
||||
|
||||
#: howto/descriptor.rst:1253
|
||||
#: howto/descriptor.rst:1271
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Using the non-data descriptor protocol, a pure Python version of :func:"
|
||||
|
@ -1094,12 +1089,12 @@ msgstr ""
|
|||
"En utilisant le protocole de descripteur *non-data*, une version Python pure "
|
||||
"de :func:`staticmethod` ressemblerait à ceci ::"
|
||||
|
||||
#: howto/descriptor.rst:1292
|
||||
#: howto/descriptor.rst:1310
|
||||
#, fuzzy
|
||||
msgid "Class methods"
|
||||
msgstr "méthode de classe"
|
||||
|
||||
#: howto/descriptor.rst:1294
|
||||
#: howto/descriptor.rst:1312
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Unlike static methods, class methods prepend the class reference to the "
|
||||
|
@ -1110,7 +1105,7 @@ msgstr ""
|
|||
"référence de classe dans la liste d'arguments avant d'appeler la fonction. "
|
||||
"Ce format est le même que l'appelant soit un objet ou une classe ::"
|
||||
|
||||
#: howto/descriptor.rst:1312
|
||||
#: howto/descriptor.rst:1330
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This behavior is useful whenever the method only needs to have a class "
|
||||
|
@ -1126,14 +1121,14 @@ msgstr ""
|
|||
"nouveau dictionnaire à partir d'une liste de clés. L'équivalent Python pur "
|
||||
"est ::"
|
||||
|
||||
#: howto/descriptor.rst:1329
|
||||
#: howto/descriptor.rst:1347
|
||||
#, fuzzy
|
||||
msgid "Now a new dictionary of unique keys can be constructed like this:"
|
||||
msgstr ""
|
||||
"Maintenant un nouveau dictionnaire de clés uniques peut être construit comme "
|
||||
"ceci ::"
|
||||
|
||||
#: howto/descriptor.rst:1339
|
||||
#: howto/descriptor.rst:1357
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Using the non-data descriptor protocol, a pure Python version of :func:"
|
||||
|
@ -1142,7 +1137,7 @@ msgstr ""
|
|||
"En utilisant le protocole de descripteur *non-data*, une version Python pure "
|
||||
"de :func:`classmethod` ressemblerait à ceci ::"
|
||||
|
||||
#: howto/descriptor.rst:1388
|
||||
#: howto/descriptor.rst:1406
|
||||
msgid ""
|
||||
"The code path for ``hasattr(type(self.f), '__get__')`` was added in Python "
|
||||
"3.9 and makes it possible for :func:`classmethod` to support chained "
|
||||
|
@ -1150,30 +1145,30 @@ msgid ""
|
|||
"together:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1408
|
||||
#: howto/descriptor.rst:1426
|
||||
msgid "Member objects and __slots__"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1410
|
||||
#: howto/descriptor.rst:1428
|
||||
msgid ""
|
||||
"When a class defines ``__slots__``, it replaces instance dictionaries with a "
|
||||
"fixed-length array of slot values. From a user point of view that has "
|
||||
"several effects:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1414
|
||||
#: howto/descriptor.rst:1432
|
||||
msgid ""
|
||||
"1. Provides immediate detection of bugs due to misspelled attribute "
|
||||
"assignments. Only attribute names specified in ``__slots__`` are allowed:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1430
|
||||
#: howto/descriptor.rst:1448
|
||||
msgid ""
|
||||
"2. Helps create immutable objects where descriptors manage access to private "
|
||||
"attributes stored in ``__slots__``:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1465
|
||||
#: howto/descriptor.rst:1483
|
||||
msgid ""
|
||||
"3. Saves memory. On a 64-bit Linux build, an instance with two attributes "
|
||||
"takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight "
|
||||
|
@ -1181,19 +1176,19 @@ msgid ""
|
|||
"only matters when a large number of instances are going to be created."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1470
|
||||
#: howto/descriptor.rst:1488
|
||||
msgid ""
|
||||
"4. Improves speed. Reading instance variables is 35% faster with "
|
||||
"``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)."
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1473
|
||||
#: howto/descriptor.rst:1491
|
||||
msgid ""
|
||||
"5. Blocks tools like :func:`functools.cached_property` which require an "
|
||||
"instance dictionary to function correctly:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1495
|
||||
#: howto/descriptor.rst:1513
|
||||
msgid ""
|
||||
"It is not possible to create an exact drop-in pure Python version of "
|
||||
"``__slots__`` because it requires direct access to C structures and control "
|
||||
|
@ -1203,37 +1198,37 @@ msgid ""
|
|||
"managed by member descriptors:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1538
|
||||
#: howto/descriptor.rst:1558
|
||||
msgid ""
|
||||
"The :meth:`type.__new__` method takes care of adding member objects to class "
|
||||
"variables:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1554
|
||||
#: howto/descriptor.rst:1574
|
||||
msgid ""
|
||||
"The :meth:`object.__new__` method takes care of creating instances that have "
|
||||
"slots instead of an instance dictionary. Here is a rough simulation in pure "
|
||||
"Python:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1589
|
||||
#: howto/descriptor.rst:1609
|
||||
msgid ""
|
||||
"To use the simulation in a real class, just inherit from :class:`Object` and "
|
||||
"set the :term:`metaclass` to :class:`Type`:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1603
|
||||
#: howto/descriptor.rst:1623
|
||||
msgid ""
|
||||
"At this point, the metaclass has loaded member objects for *x* and *y*::"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1624
|
||||
#: howto/descriptor.rst:1644
|
||||
msgid ""
|
||||
"When instances are created, they have a ``slot_values`` list where the "
|
||||
"attributes are stored:"
|
||||
msgstr ""
|
||||
|
||||
#: howto/descriptor.rst:1636
|
||||
#: howto/descriptor.rst:1656
|
||||
msgid "Misspelled or unassigned attributes will raise an exception:"
|
||||
msgstr ""
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 19:31+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -141,9 +141,10 @@ msgstr ""
|
|||
"métadonnées ::"
|
||||
|
||||
#: howto/instrumentation.rst:125
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The above metadata contains information for SystemTap describing how it can "
|
||||
"patch strategically-placed machine code instructions to enable the tracing "
|
||||
"patch strategically placed machine code instructions to enable the tracing "
|
||||
"hooks used by a SystemTap script."
|
||||
msgstr ""
|
||||
"Les métadonnées ci-dessus contiennent des informations pour *SystemTap* "
|
||||
|
@ -255,8 +256,8 @@ msgstr ""
|
|||
#: howto/instrumentation.rst:282
|
||||
msgid ""
|
||||
"The filename, function name, and line number are provided back to the "
|
||||
"tracing script as positional arguments, which must be accessed using ``"
|
||||
"$arg1``, ``$arg2``, ``$arg3``:"
|
||||
"tracing script as positional arguments, which must be accessed using "
|
||||
"``$arg1``, ``$arg2``, ``$arg3``:"
|
||||
msgstr ""
|
||||
"Le nom de fichier, le nom de la fonction et le numéro de ligne sont renvoyés "
|
||||
"au script de traçage sous forme d'arguments positionnels, auxquels il faut "
|
||||
|
@ -362,9 +363,9 @@ msgstr "*Tapsets* de *SystemTap*"
|
|||
|
||||
#: howto/instrumentation.rst:347
|
||||
msgid ""
|
||||
"The higher-level way to use the SystemTap integration is to use a \"tapset"
|
||||
"\": SystemTap's equivalent of a library, which hides some of the lower-level "
|
||||
"details of the static markers."
|
||||
"The higher-level way to use the SystemTap integration is to use a "
|
||||
"\"tapset\": SystemTap's equivalent of a library, which hides some of the "
|
||||
"lower-level details of the static markers."
|
||||
msgstr ""
|
||||
"La façon la plus simple d'utiliser l'intégration *SystemTap* est d'utiliser "
|
||||
"un *« tapset »*. L'équivalent pour *SystemTap* d'une bibliothèque, qui "
|
||||
|
@ -421,9 +422,10 @@ msgstr ""
|
|||
"statiques ::"
|
||||
|
||||
#: howto/instrumentation.rst:412
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The following script uses the tapset above to provide a top-like view of all "
|
||||
"running CPython code, showing the top 20 most frequently-entered bytecode "
|
||||
"running CPython code, showing the top 20 most frequently entered bytecode "
|
||||
"frames, each second, across the whole system:"
|
||||
msgstr ""
|
||||
"Le script suivant utilise le *tapset* ci-dessus pour fournir une vue de "
|
||||
|
|
|
@ -6,14 +6,14 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 16:19+0100\n"
|
||||
"PO-Revision-Date: 2022-05-12 09:42+0200\n"
|
||||
"Last-Translator: BAILLY Geoffroy <dev@zest-labs.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 2.0.2\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: howto/ipaddress.rst:9
|
||||
msgid "An introduction to the ipaddress module"
|
||||
|
@ -69,7 +69,6 @@ msgid "A Note on IP Versions"
|
|||
msgstr "Note sur les versions d'IP"
|
||||
|
||||
#: howto/ipaddress.rst:34
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"For readers that aren't particularly familiar with IP addressing, it's "
|
||||
"important to know that the Internet Protocol (IP) is currently in the "
|
||||
|
@ -80,10 +79,10 @@ msgid ""
|
|||
"internet."
|
||||
msgstr ""
|
||||
"Pour les lecteurs qui ne sont pas particulièrement familiers avec "
|
||||
"l'adressage IP il est important de savoir que le protocole IP est "
|
||||
"actuellement en évolution de la version 4 du protocole vers la version 6. "
|
||||
"Cette transition est largement due au fait que la version 4 du protocole ne "
|
||||
"fournit pas assez d'adresses pour gérer les besoins du monde entier, "
|
||||
"l'adressage IP il est important de savoir que le *protocole Internet* (IP) "
|
||||
"est actuellement en évolution de la version 4 du protocole vers la version "
|
||||
"6. Cette transition est largement due au fait que la version 4 du protocole "
|
||||
"ne fournit pas assez d'adresses pour gérer les besoins du monde entier, "
|
||||
"particulièrement à cause de la croissance des périphériques directement "
|
||||
"connectés à Internet."
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
420
howto/logging.po
420
howto/logging.po
File diff suppressed because it is too large
Load Diff
104
howto/regex.po
104
howto/regex.po
|
@ -5,15 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 16:43+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:27+0200\n"
|
||||
"Last-Translator: Nabil Bendafi <nabil@bendafi.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 2.2.3\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: howto/regex.rst:5
|
||||
msgid "Regular Expression HOWTO"
|
||||
|
@ -191,7 +191,7 @@ msgstr ""
|
|||
"utilisés pour spécifier une classe de caractères, qui forme un ensemble de "
|
||||
"caractères dont vous souhaitez trouver la correspondance. Les caractères "
|
||||
"peuvent être listés individuellement, ou une plage de caractères peut être "
|
||||
"indiquée en fournissant deux caractères séparés par un `'-'``. Par exemple, "
|
||||
"indiquée en fournissant deux caractères séparés par un ``'-'``. Par exemple, "
|
||||
"``[abc]`` correspond à n'importe quel caractère parmi ``a``, ``b`` ou "
|
||||
"``c`` ; c'est équivalent à ``[a-c]``, qui utilise une plage pour exprimer le "
|
||||
"même ensemble de caractères. Si vous voulez trouver une chaîne qui ne "
|
||||
|
@ -199,15 +199,16 @@ msgstr ""
|
|||
|
||||
#: howto/regex.rst:92
|
||||
msgid ""
|
||||
"Metacharacters are not active inside classes. For example, ``[akm$]`` will "
|
||||
"match any of the characters ``'a'``, ``'k'``, ``'m'``, or ``'$'``; ``'$'`` "
|
||||
"is usually a metacharacter, but inside a character class it's stripped of "
|
||||
"its special nature."
|
||||
"Metacharacters (except ``\\``) are not active inside classes. For example, "
|
||||
"``[akm$]`` will match any of the characters ``'a'``, ``'k'``, ``'m'``, or "
|
||||
"``'$'``; ``'$'`` is usually a metacharacter, but inside a character class "
|
||||
"it's stripped of its special nature."
|
||||
msgstr ""
|
||||
"Les métacaractères ne sont pas actifs dans les classes. Par exemple, ``[akm"
|
||||
"$]`` correspond à n'importe quel caractère parmi ``'a'``, ``'k'``, ``'m'`` "
|
||||
"ou ``'$'`` ; ``'$'`` est habituellement un métacaractère mais dans une "
|
||||
"classe de caractères, il est dépourvu de sa signification spéciale."
|
||||
"Les métacaractères (à l’exception de ``\\``) ne sont pas actifs dans les "
|
||||
"classes. Par exemple, ``[akm$]`` correspond à n'importe quel caractère parmi "
|
||||
"``'a'``, ``'k'``, ``'m'`` ou ``'$'`` ; ``'$'`` est habituellement un "
|
||||
"métacaractère mais dans une classe de caractères, il est dépourvu de sa "
|
||||
"signification spéciale."
|
||||
|
||||
#: howto/regex.rst:97
|
||||
msgid ""
|
||||
|
@ -270,9 +271,9 @@ msgstr ""
|
|||
"équivalent à la classe ``[a-zA-Z0-9_]``. Si l'expression régulière est une "
|
||||
"chaîne de caractères, ``\\w`` correspond à tous les caractères identifiés "
|
||||
"comme lettre dans la base de données Unicode fournie par le module :mod:"
|
||||
"`unicodedata`. Vous pouvez utiliser la définition plus restrictive de ``"
|
||||
"\\w`` dans un motif exprimé en chaîne de caractères en spécifiant l'option :"
|
||||
"const:`re.ASCII` lors de la compilation de l'expression régulière."
|
||||
"`unicodedata`. Vous pouvez utiliser la définition plus restrictive de "
|
||||
"``\\w`` dans un motif exprimé en chaîne de caractères en spécifiant "
|
||||
"l'option :const:`re.ASCII` lors de la compilation de l'expression régulière."
|
||||
|
||||
#: howto/regex.rst:123
|
||||
msgid ""
|
||||
|
@ -317,8 +318,8 @@ msgstr "``\\s``"
|
|||
|
||||
#: howto/regex.rst:137
|
||||
msgid ""
|
||||
"Matches any whitespace character; this is equivalent to the class ``[ \\t\\n"
|
||||
"\\r\\f\\v]``."
|
||||
"Matches any whitespace character; this is equivalent to the class "
|
||||
"``[ \\t\\n\\r\\f\\v]``."
|
||||
msgstr ""
|
||||
"Correspond à n'importe quel caractère « blanc » ; équivalent à la classe "
|
||||
"``[ \\t\\n\\r\\f\\v]``."
|
||||
|
@ -1192,8 +1193,8 @@ msgid ""
|
|||
"Makes several escapes like ``\\w``, ``\\b``, ``\\s`` and ``\\d`` match only "
|
||||
"on ASCII characters with the respective property."
|
||||
msgstr ""
|
||||
"Transforme plusieurs échappements tels que ``\\w``, ``\\b``, ``\\s`` et ``"
|
||||
"\\d`` de manière à ce qu'ils ne correspondent qu'à des caractères ASCII "
|
||||
"Transforme plusieurs échappements tels que ``\\w``, ``\\b``, ``\\s`` et "
|
||||
"``\\d`` de manière à ce qu'ils ne correspondent qu'à des caractères ASCII "
|
||||
"ayant la propriété demandée."
|
||||
|
||||
#: howto/regex.rst:543
|
||||
|
@ -1253,8 +1254,8 @@ msgid ""
|
|||
"z]`` or ``[A-Z]`` are used in combination with the :const:`IGNORECASE` flag, "
|
||||
"they will match the 52 ASCII letters and 4 additional non-ASCII letters: "
|
||||
"'İ' (U+0130, Latin capital letter I with dot above), 'ı' (U+0131, Latin "
|
||||
"small letter dotless i), 'ſ' (U+017F, Latin small letter long s) and 'K' (U"
|
||||
"+212A, Kelvin sign). ``Spam`` will match ``'Spam'``, ``'spam'``, "
|
||||
"small letter dotless i), 'ſ' (U+017F, Latin small letter long s) and "
|
||||
"'K' (U+212A, Kelvin sign). ``Spam`` will match ``'Spam'``, ``'spam'``, "
|
||||
"``'spAM'``, or ``'ſpam'`` (the latter is matched only in Unicode mode). This "
|
||||
"lowercasing doesn't take the current locale into account; it will if you "
|
||||
"also set the :const:`LOCALE` flag."
|
||||
|
@ -1269,7 +1270,7 @@ msgstr ""
|
|||
"lettres ASCII et 4 lettres non ASCII supplémentaires : 'İ' (U+0130, lettre I "
|
||||
"en majuscule latine avec un point au-dessus), 'ı' (U+0131, lettre minuscule "
|
||||
"latine i sans point au-dessus), 'ſ' (U+017F, lettre minuscule latine longue "
|
||||
"s) et 'K' (U+212A, signe du Kelvin). ``Spam`` correspond ainsi à ``'Spam'``, "
|
||||
"s) et 'K' (U+212A, signe du Kelvin). ``Spam`` correspond ainsi à ``'Spam'``, "
|
||||
"``'spam'``, ``'spAM'`` ou ``'ſpam'`` (ce dernier ne correspond qu'en mode "
|
||||
"Unicode). Le passage en minuscules ne prend pas en compte la configuration "
|
||||
"de région courante ; elle le fait si vous mettez aussi l'option :const:"
|
||||
|
@ -1314,13 +1315,13 @@ msgstr ""
|
|||
"certaines fonctions C diront à votre programme que l'octet codant ``é`` doit "
|
||||
"être considéré comme une lettre. Définir l'option :const:`LOCALE` lors de la "
|
||||
"compilation d'une expression régulière fait que l'objet compilé résultant "
|
||||
"utilise ces fonctions C pour ``\\w`` ; c'est plus lent mais cela permet à ``"
|
||||
"\\w+`` de correspondre avec les mots français tel qu'attendu. L'utilisation "
|
||||
"de cette option est déconseillée en Python 3 car le mécanisme de locale est "
|
||||
"très peu fiable, il ne gère qu'une seule « culture » à la fois et il ne "
|
||||
"fonctionne qu'avec des locales 8 bits. La correspondance Unicode est déjà "
|
||||
"activée par défaut dans Python 3 pour les motifs Unicode (type *str*) et "
|
||||
"elle est capable de gérer différentes configurations de régions."
|
||||
"utilise ces fonctions C pour ``\\w`` ; c'est plus lent mais cela permet à "
|
||||
"``\\w+`` de correspondre avec les mots français tel qu'attendu. "
|
||||
"L'utilisation de cette option est déconseillée en Python 3 car le mécanisme "
|
||||
"de locale est très peu fiable, il ne gère qu'une seule « culture » à la fois "
|
||||
"et il ne fonctionne qu'avec des locales 8 bits. La correspondance Unicode "
|
||||
"est déjà activée par défaut dans Python 3 pour les motifs Unicode (type "
|
||||
"*str*) et elle est capable de gérer différentes configurations de régions."
|
||||
|
||||
#: howto/regex.rst:605
|
||||
msgid ""
|
||||
|
@ -1593,8 +1594,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"There are two subtleties you should remember when using this special "
|
||||
"sequence. First, this is the worst collision between Python's string "
|
||||
"literals and regular expression sequences. In Python's string literals, ``"
|
||||
"\\b`` is the backspace character, ASCII value 8. If you're not using raw "
|
||||
"literals and regular expression sequences. In Python's string literals, "
|
||||
"``\\b`` is the backspace character, ASCII value 8. If you're not using raw "
|
||||
"strings, then Python will convert the ``\\b`` to a backspace, and your RE "
|
||||
"won't match as you expect it to. The following example looks the same as our "
|
||||
"previous RE, but omits the ``'r'`` in front of the RE string. ::"
|
||||
|
@ -1611,8 +1612,8 @@ msgstr ""
|
|||
|
||||
#: howto/regex.rst:774
|
||||
msgid ""
|
||||
"Second, inside a character class, where there's no use for this assertion, ``"
|
||||
"\\b`` represents the backspace character, for compatibility with Python's "
|
||||
"Second, inside a character class, where there's no use for this assertion, "
|
||||
"``\\b`` represents the backspace character, for compatibility with Python's "
|
||||
"string literals."
|
||||
msgstr ""
|
||||
"Ensuite, dans une classe de caractères, où cette assertion n'a pas lieu "
|
||||
|
@ -1667,8 +1668,8 @@ msgid ""
|
|||
"Groups are marked by the ``'('``, ``')'`` metacharacters. ``'('`` and "
|
||||
"``')'`` have much the same meaning as they do in mathematical expressions; "
|
||||
"they group together the expressions contained inside them, and you can "
|
||||
"repeat the contents of a group with a repeating qualifier, such as ``*``, ``"
|
||||
"+``, ``?``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more "
|
||||
"repeat the contents of a group with a repeating qualifier, such as ``*``, "
|
||||
"``+``, ``?``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more "
|
||||
"repetitions of ``ab``. ::"
|
||||
msgstr ""
|
||||
"Les groupes sont délimités par les métacaractères marqueurs ``'('`` et "
|
||||
|
@ -1788,8 +1789,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"Perl 5 is well known for its powerful additions to standard regular "
|
||||
"expressions. For these new features the Perl developers couldn't choose new "
|
||||
"single-keystroke metacharacters or new special sequences beginning with ``"
|
||||
"\\`` without making Perl's regular expressions confusingly different from "
|
||||
"single-keystroke metacharacters or new special sequences beginning with "
|
||||
"``\\`` without making Perl's regular expressions confusingly different from "
|
||||
"standard REs. If they chose ``&`` as a new metacharacter, for example, old "
|
||||
"expressions would be assuming that ``&`` was a regular character and "
|
||||
"wouldn't have escaped it by writing ``\\&`` or ``[&]``."
|
||||
|
@ -1916,8 +1917,9 @@ msgstr ""
|
|||
"meth:`~re.Match.groupdict` ::"
|
||||
|
||||
#: howto/regex.rst:952
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Named groups are handy because they let you use easily-remembered names, "
|
||||
"Named groups are handy because they let you use easily remembered names, "
|
||||
"instead of having to remember numbers. Here's an example RE from the :mod:"
|
||||
"`imaplib` module::"
|
||||
msgstr ""
|
||||
|
@ -1939,8 +1941,8 @@ msgid ""
|
|||
"name instead of the number. This is another Python extension: ``(?P=name)`` "
|
||||
"indicates that the contents of the group called *name* should again be "
|
||||
"matched at the current point. The regular expression for finding doubled "
|
||||
"words, ``\\b(\\w+)\\s+\\1\\b`` can also be written as ``\\b(?P<word>\\w+)\\s"
|
||||
"+(?P=word)\\b``::"
|
||||
"words, ``\\b(\\w+)\\s+\\1\\b`` can also be written as ``\\b(?"
|
||||
"P<word>\\w+)\\s+(?P=word)\\b``::"
|
||||
msgstr ""
|
||||
"La syntaxe des renvois dans une expression telle que ``(....)\\1`` fait "
|
||||
"référence au numéro du groupe. Il y a naturellement une variante qui utilise "
|
||||
|
@ -2109,11 +2111,11 @@ msgstr "Une assertion prédictive négative supprime toute cette confusion :"
|
|||
#: howto/regex.rst:1042
|
||||
msgid ""
|
||||
"``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression "
|
||||
"``bat`` doesn't match at this point, try the rest of the pattern; if ``bat"
|
||||
"$`` does match, the whole pattern will fail. The trailing ``$`` is required "
|
||||
"to ensure that something like ``sample.batch``, where the extension only "
|
||||
"starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that the "
|
||||
"pattern works when there are multiple dots in the filename."
|
||||
"``bat`` doesn't match at this point, try the rest of the pattern; if "
|
||||
"``bat$`` does match, the whole pattern will fail. The trailing ``$`` is "
|
||||
"required to ensure that something like ``sample.batch``, where the extension "
|
||||
"only starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that "
|
||||
"the pattern works when there are multiple dots in the filename."
|
||||
msgstr ""
|
||||
"``.*[.](?!bat$)[^.]*$`` Cette assertion prédictive négative signifie : si "
|
||||
"l'expression ``bat`` ne correspond pas à cet emplacement, essaie le reste du "
|
||||
|
@ -2319,9 +2321,9 @@ msgstr ""
|
|||
msgid ""
|
||||
"If *replacement* is a string, any backslash escapes in it are processed. "
|
||||
"That is, ``\\n`` is converted to a single newline character, ``\\r`` is "
|
||||
"converted to a carriage return, and so forth. Unknown escapes such as ``"
|
||||
"\\&`` are left alone. Backreferences, such as ``\\6``, are replaced with the "
|
||||
"substring matched by the corresponding group in the RE. This lets you "
|
||||
"converted to a carriage return, and so forth. Unknown escapes such as "
|
||||
"``\\&`` are left alone. Backreferences, such as ``\\6``, are replaced with "
|
||||
"the substring matched by the corresponding group in the RE. This lets you "
|
||||
"incorporate portions of the original text in the resulting replacement "
|
||||
"string."
|
||||
msgstr ""
|
||||
|
@ -2356,9 +2358,9 @@ msgstr ""
|
|||
"par la syntaxe ``(?P<nom>....)``. ``\\g<nom>`` utilise la sous-chaîne "
|
||||
"correspondante au groupe nommé ``nom`` et ``\\g<numéro>`` utilise le numéro "
|
||||
"de groupe correspondant. ``\\g<2>`` est donc l'équivalent de ``\\2``, mais "
|
||||
"n'est pas ambigu dans une chaîne de substitution telle que ``\\g<2>0`` (``"
|
||||
"\\20`` serait interprété comme une référence au groupe 20 et non comme une "
|
||||
"référence au groupe 2 suivie du caractère littéral ``'0'``). Les "
|
||||
"n'est pas ambigu dans une chaîne de substitution telle que ``\\g<2>0`` "
|
||||
"(``\\20`` serait interprété comme une référence au groupe 20 et non comme "
|
||||
"une référence au groupe 2 suivie du caractère littéral ``'0'``). Les "
|
||||
"substitutions suivantes sont toutes équivalentes mais utilisent les trois "
|
||||
"variantes de la chaîne de remplacement. ::"
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-12-16 02:37+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 12:27+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -472,13 +472,22 @@ msgstr "Données binaires"
|
|||
msgid ""
|
||||
"It is perfectly possible to send binary data over a socket. The major "
|
||||
"problem is that not all machines use the same formats for binary data. For "
|
||||
"example, a Motorola chip will represent a 16 bit integer with the value 1 as "
|
||||
"the two hex bytes 00 01. Intel and DEC, however, are byte-reversed - that "
|
||||
"same 1 is 01 00. Socket libraries have calls for converting 16 and 32 bit "
|
||||
"integers - ``ntohl, htonl, ntohs, htons`` where \"n\" means *network* and \"h"
|
||||
"\" means *host*, \"s\" means *short* and \"l\" means *long*. Where network "
|
||||
"order is host order, these do nothing, but where the machine is byte-"
|
||||
"reversed, these swap the bytes around appropriately."
|
||||
"example, `network byte order <https://en.wikipedia.org/wiki/"
|
||||
"Endianness#Networking>`_ is big-endian, with the most significant byte "
|
||||
"first, so a 16 bit integer with the value ``1`` would be the two hex bytes "
|
||||
"``00 01``. However, most common processors (x86/AMD64, ARM, RISC-V), are "
|
||||
"little-endian, with the least significant byte first - that same ``1`` would "
|
||||
"be ``01 00``."
|
||||
msgstr ""
|
||||
|
||||
#: howto/sockets.rst:262
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, "
|
||||
"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, "
|
||||
"\"s\" means *short* and \"l\" means *long*. Where network order is host "
|
||||
"order, these do nothing, but where the machine is byte-reversed, these swap "
|
||||
"the bytes around appropriately."
|
||||
msgstr ""
|
||||
"Il est parfaitement possible d’envoyer des données binaires sur un "
|
||||
"connecteur. Le gros problème est que toutes les machines n’utilisent pas les "
|
||||
|
@ -493,13 +502,15 @@ msgstr ""
|
|||
"utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière "
|
||||
"appropriée."
|
||||
|
||||
#: howto/sockets.rst:264
|
||||
#: howto/sockets.rst:268
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"In these days of 32 bit machines, the ascii representation of binary data is "
|
||||
"In these days of 64-bit machines, the ASCII representation of binary data is "
|
||||
"frequently smaller than the binary representation. That's because a "
|
||||
"surprising amount of the time, all those longs have the value 0, or maybe 1. "
|
||||
"The string \"0\" would be two bytes, while binary is four. Of course, this "
|
||||
"doesn't fit well with fixed-length messages. Decisions, decisions."
|
||||
"surprising amount of the time, most integers have the value 0, or maybe 1. "
|
||||
"The string ``\"0\"`` would be two bytes, while a full 64-bit integer would "
|
||||
"be 8. Of course, this doesn't fit well with fixed-length messages. "
|
||||
"Decisions, decisions."
|
||||
msgstr ""
|
||||
"De nos jours, avec les machines 32 bits, la représentation *ASCII* des "
|
||||
"données binaires est souvent plus compacte que la représentation binaire. "
|
||||
|
@ -509,11 +520,11 @@ msgstr ""
|
|||
"très bien avec les messages de longueur fixe. Ah, les décisions, les "
|
||||
"décisions…"
|
||||
|
||||
#: howto/sockets.rst:272
|
||||
#: howto/sockets.rst:277
|
||||
msgid "Disconnecting"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: howto/sockets.rst:274
|
||||
#: howto/sockets.rst:279
|
||||
msgid ""
|
||||
"Strictly speaking, you're supposed to use ``shutdown`` on a socket before "
|
||||
"you ``close`` it. The ``shutdown`` is an advisory to the socket at the "
|
||||
|
@ -534,7 +545,7 @@ msgstr ""
|
|||
"un ``close`` est équivalent à ``shutdown() ; close()``. Ainsi, dans la "
|
||||
"plupart des situations, un ``shutdown`` explicite n’est pas nécessaire."
|
||||
|
||||
#: howto/sockets.rst:282
|
||||
#: howto/sockets.rst:287
|
||||
msgid ""
|
||||
"One way to use ``shutdown`` effectively is in an HTTP-like exchange. The "
|
||||
"client sends a request and then does a ``shutdown(1)``. This tells the "
|
||||
|
@ -551,7 +562,7 @@ msgstr ""
|
|||
"serveur envoie une réponse. Si le ``send`` se termine avec succès, alors, en "
|
||||
"effet, le client était encore en train de recevoir."
|
||||
|
||||
#: howto/sockets.rst:289
|
||||
#: howto/sockets.rst:294
|
||||
msgid ""
|
||||
"Python takes the automatic shutdown a step further, and says that when a "
|
||||
"socket is garbage collected, it will automatically do a ``close`` if it's "
|
||||
|
@ -568,11 +579,11 @@ msgstr ""
|
|||
"suspendu indéfiniment, pensant que vous êtes juste lent. Fermez vos "
|
||||
"connecteurs quand vous avez terminé *s’il vous plaît*."
|
||||
|
||||
#: howto/sockets.rst:297
|
||||
#: howto/sockets.rst:302
|
||||
msgid "When Sockets Die"
|
||||
msgstr "Quand les connecteurs meurent"
|
||||
|
||||
#: howto/sockets.rst:299
|
||||
#: howto/sockets.rst:304
|
||||
msgid ""
|
||||
"Probably the worst thing about using blocking sockets is what happens when "
|
||||
"the other side comes down hard (without doing a ``close``). Your socket is "
|
||||
|
@ -600,11 +611,11 @@ msgstr ""
|
|||
"ressources. En d'autres termes, si vous parvenez à tuer le fil, tout votre "
|
||||
"processus risque d'être foutu."
|
||||
|
||||
#: howto/sockets.rst:313
|
||||
#: howto/sockets.rst:318
|
||||
msgid "Non-blocking Sockets"
|
||||
msgstr "Connecteurs non bloquants"
|
||||
|
||||
#: howto/sockets.rst:315
|
||||
#: howto/sockets.rst:320
|
||||
msgid ""
|
||||
"If you've understood the preceding, you already know most of what you need "
|
||||
"to know about the mechanics of using sockets. You'll still use the same "
|
||||
|
@ -616,7 +627,7 @@ msgstr ""
|
|||
"toujours les mêmes appels, de la même façon. Il n’y que ça. Si vous le "
|
||||
"faites bien, c’est presque dans la poche."
|
||||
|
||||
#: howto/sockets.rst:320
|
||||
#: howto/sockets.rst:325
|
||||
msgid ""
|
||||
"In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In "
|
||||
"C, it's more complex, (for one thing, you'll need to choose between the BSD "
|
||||
|
@ -633,7 +644,7 @@ msgstr ""
|
|||
"avoir créé le connecteur mais avant de l’utiliser (en fait, si vous êtes "
|
||||
"fou, vous pouvez alterner)."
|
||||
|
||||
#: howto/sockets.rst:327
|
||||
#: howto/sockets.rst:332
|
||||
msgid ""
|
||||
"The major mechanical difference is that ``send``, ``recv``, ``connect`` and "
|
||||
"``accept`` can return without having done anything. You have (of course) a "
|
||||
|
@ -642,7 +653,7 @@ msgid ""
|
|||
"will grow large, buggy and suck CPU. So let's skip the brain-dead solutions "
|
||||
"and do it right."
|
||||
msgstr ""
|
||||
"La différence majeure de fonctionnement est que `send``, ``recv``, "
|
||||
"La différence majeure de fonctionnement est que ``send``, ``recv``, "
|
||||
"``connect`` et ``accept`` peuvent rendre la main sans avoir rien fait. Vous "
|
||||
"avez (bien sûr) un certain nombre de choix. Vous pouvez vérifier le code de "
|
||||
"retour et les codes d'erreur et, en général, devenir fou. Si vous ne me "
|
||||
|
@ -650,11 +661,11 @@ msgstr ""
|
|||
"vampiriser le processeur. Alors, évitons les solutions vouées à l’échec dès "
|
||||
"le départ et faisons les choses correctement."
|
||||
|
||||
#: howto/sockets.rst:334
|
||||
#: howto/sockets.rst:339
|
||||
msgid "Use ``select``."
|
||||
msgstr "Utilisation de ``select``."
|
||||
|
||||
#: howto/sockets.rst:336
|
||||
#: howto/sockets.rst:341
|
||||
msgid ""
|
||||
"In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, "
|
||||
"but it's close enough to the C version that if you understand ``select`` in "
|
||||
|
@ -664,7 +675,7 @@ msgstr ""
|
|||
"mais c'est assez proche de la version C ; aussi, si vous comprenez "
|
||||
"``select`` en Python, vous aurez peu de problèmes en C ::"
|
||||
|
||||
#: howto/sockets.rst:347
|
||||
#: howto/sockets.rst:352
|
||||
msgid ""
|
||||
"You pass ``select`` three lists: the first contains all sockets that you "
|
||||
"might want to try reading; the second all the sockets you might want to try "
|
||||
|
@ -684,7 +695,7 @@ msgstr ""
|
|||
"d'attente (disons une minute), à moins que vous n'ayez une bonne raison de "
|
||||
"ne pas le faire."
|
||||
|
||||
#: howto/sockets.rst:355
|
||||
#: howto/sockets.rst:360
|
||||
msgid ""
|
||||
"In return, you will get three lists. They contain the sockets that are "
|
||||
"actually readable, writable and in error. Each of these lists is a subset "
|
||||
|
@ -695,7 +706,7 @@ msgstr ""
|
|||
"est un sous-ensemble (éventuellement vide) de la liste correspondante que "
|
||||
"vous avez transmise."
|
||||
|
||||
#: howto/sockets.rst:359
|
||||
#: howto/sockets.rst:364
|
||||
msgid ""
|
||||
"If a socket is in the output readable list, you can be as-close-to-certain-"
|
||||
"as-we-ever-get-in-this-business that a ``recv`` on that socket will return "
|
||||
|
@ -713,7 +724,7 @@ msgstr ""
|
|||
"des connecteurs inscriptibles — cela signifie simplement que l'espace tampon "
|
||||
"réseau sortant est disponible)."
|
||||
|
||||
#: howto/sockets.rst:366
|
||||
#: howto/sockets.rst:371
|
||||
msgid ""
|
||||
"If you have a \"server\" socket, put it in the potential_readers list. If it "
|
||||
"comes out in the readable list, your ``accept`` will (almost certainly) "
|
||||
|
@ -730,7 +741,7 @@ msgstr ""
|
|||
"dans la liste renvoyée des connecteurs sur lesquels vous pouvez écrire, vous "
|
||||
"avez une bonne chance qu'il se soit connecté."
|
||||
|
||||
#: howto/sockets.rst:372
|
||||
#: howto/sockets.rst:377
|
||||
msgid ""
|
||||
"Actually, ``select`` can be handy even with blocking sockets. It's one way "
|
||||
"of determining whether you will block - the socket returns as readable when "
|
||||
|
@ -744,7 +755,7 @@ msgstr ""
|
|||
"Cependant, cela n'aide pas encore à déterminer si l'autre extrémité a "
|
||||
"terminé, ou si elle est simplement occupée par autre chose."
|
||||
|
||||
#: howto/sockets.rst:377
|
||||
#: howto/sockets.rst:382
|
||||
msgid ""
|
||||
"**Portability alert**: On Unix, ``select`` works both with the sockets and "
|
||||
"files. Don't try this on Windows. On Windows, ``select`` works with sockets "
|
||||
|
|
|
@ -5,15 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 19:48+0100\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: 2022-07-08 17:51+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.0.1\n"
|
||||
|
||||
#: howto/sorting.rst:4
|
||||
msgid "Sorting HOW TO"
|
||||
|
@ -58,13 +58,12 @@ msgid "Sorting Basics"
|
|||
msgstr "Les bases du tri"
|
||||
|
||||
#: howto/sorting.rst:20
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"A simple ascending sort is very easy: just call the :func:`sorted` function. "
|
||||
"It returns a new sorted list:"
|
||||
msgstr ""
|
||||
"Un tri ascendant simple est très facile : il suffit d'appeler la fonction :"
|
||||
"func:`sorted`. Elle renvoie une nouvelle liste triée ::"
|
||||
"func:`sorted`. Elle renvoie une nouvelle liste triée :"
|
||||
|
||||
#: howto/sorting.rst:28
|
||||
msgid ""
|
||||
|
@ -419,17 +418,25 @@ msgstr ""
|
|||
|
||||
#: howto/sorting.rst:328
|
||||
msgid ""
|
||||
"The sort routines are guaranteed to use :meth:`__lt__` when making "
|
||||
"comparisons between two objects. So, it is easy to add a standard sort order "
|
||||
"to a class by defining an :meth:`__lt__` method:"
|
||||
"The sort routines use ``<`` when making comparisons between two objects. So, "
|
||||
"it is easy to add a standard sort order to a class by defining an :meth:"
|
||||
"`__lt__` method:"
|
||||
msgstr ""
|
||||
"Il est garanti que les routines de tri utilisent les méthodes :meth:`__lt__` "
|
||||
"lorsqu'elles effectuent des comparaisons entre deux objets. Donc il est "
|
||||
"facile d'ajouter un ordre de tri standard à une classe en définissant sa "
|
||||
"méthode :meth:`__lt__` ::"
|
||||
"Pour effectuer les comparaisons entre deux objets, les routines de tri "
|
||||
"utilisent l'opérateur ``<``. Il est donc facile d'ajouter un ordre de tri "
|
||||
"standard à une classe en définissant sa méthode :meth:`__lt__` ::"
|
||||
|
||||
#: howto/sorting.rst:338
|
||||
msgid ""
|
||||
"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:"
|
||||
"`__lt__` is not implemented (see :func:`object.__lt__`)."
|
||||
msgstr ""
|
||||
"Notez toutefois que l'opérateur ``<`` peut utiliser la méthode :meth:"
|
||||
"`__gt__` si :meth:`__lt__` n'est pas implémentée ; voir :func:`object."
|
||||
"__lt__`."
|
||||
|
||||
#: howto/sorting.rst:341
|
||||
msgid ""
|
||||
"Key functions need not depend directly on the objects being sorted. A key "
|
||||
"function can also access external resources. For instance, if the student "
|
||||
"grades are stored in a dictionary, they can be used to sort a separate list "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 17:16+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -111,8 +111,8 @@ msgstr ""
|
|||
"entre ``0`` et ``0x10FFFF`` (environ 1,1 million de valeurs possibles, le "
|
||||
"`nombre de valeurs réellement assignées <https://www.unicode.org/versions/"
|
||||
"latest/#Summary>`_ est inférieur à ce nombre). Dans le standard et dans le "
|
||||
"présent document, un point de code est écrit en utilisant la notation ``U"
|
||||
"+265E`` pour désigner le caractère avec la valeur ``0x265e`` (9 822 en "
|
||||
"présent document, un point de code est écrit en utilisant la notation "
|
||||
"``U+265E`` pour désigner le caractère avec la valeur ``0x265e`` (9 822 en "
|
||||
"décimal)."
|
||||
|
||||
#: howto/unicode.rst:50
|
||||
|
@ -357,9 +357,10 @@ msgstr ""
|
|||
"v=MijmeoH9LT4>`_ (9 minutes et 36 secondes)."
|
||||
|
||||
#: howto/unicode.rst:169
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To help understand the standard, Jukka Korpela has written `an introductory "
|
||||
"guide <http://jkorpela.fi/unicode/guide.html>`_ to reading the Unicode "
|
||||
"guide <https://jkorpela.fi/unicode/guide.html>`_ to reading the Unicode "
|
||||
"character tables."
|
||||
msgstr ""
|
||||
"Pour aider à comprendre le standard, Jukka Korpela a écrit `un guide "
|
||||
|
@ -535,8 +536,8 @@ msgstr ""
|
|||
"de ``'strict'``, ``'ignore'`` et ``'remplace'`` (qui dans ce cas insère un "
|
||||
"point d'interrogation au lieu du caractère non encodable), il y a aussi "
|
||||
"``'xmlcharrefreplace'`` (insère une référence XML), ``backslashreplace`` "
|
||||
"(insère une séquence ``\\uNNNN``) et ``namereplace`` (insère une séquence ``"
|
||||
"\\N{...}``)."
|
||||
"(insère une séquence ``\\uNNNN``) et ``namereplace`` (insère une séquence "
|
||||
"``\\N{...}``)."
|
||||
|
||||
#: howto/unicode.rst:280
|
||||
msgid "The following example shows the different results::"
|
||||
|
@ -572,8 +573,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Dans le code source Python, des points de code Unicode spécifiques peuvent "
|
||||
"être écrits en utilisant la séquence d'échappement ``\\u``, suivie de quatre "
|
||||
"chiffres hexadécimaux donnant le point de code. La séquence d'échappement ``"
|
||||
"\\U`` est similaire, mais attend huit chiffres hexadécimaux, pas quatre ::"
|
||||
"chiffres hexadécimaux donnant le point de code. La séquence d'échappement "
|
||||
"``\\U`` est similaire, mais attend huit chiffres hexadécimaux, pas quatre ::"
|
||||
|
||||
#: howto/unicode.rst:324
|
||||
msgid ""
|
||||
|
@ -709,11 +710,11 @@ msgstr ""
|
|||
"Unicode ajoute une certaine complication à la comparaison des chaînes de "
|
||||
"caractères, car le même jeu de caractères peut être représenté par "
|
||||
"différentes séquences de points de code. Par exemple, une lettre comme « ê » "
|
||||
"peut être représentée comme un point de code unique ``U+00EA``, ou comme ``U"
|
||||
"+0065 U+0302``, qui est le point de code pour « e » suivi d'un point de code "
|
||||
"pour ``COMBINING CIRCUMFLEX ACCENT``. Celles-ci produisent le même résultat "
|
||||
"lorsqu'elles sont affichées, mais l'une est une chaîne de caractères de "
|
||||
"longueur 1 et l'autre de longueur 2."
|
||||
"peut être représentée comme un point de code unique ``U+00EA``, ou comme "
|
||||
"``U+0065 U+0302``, qui est le point de code pour « e » suivi d'un point de "
|
||||
"code pour ``COMBINING CIRCUMFLEX ACCENT``. Celles-ci produisent le même "
|
||||
"résultat lorsqu'elles sont affichées, mais l'une est une chaîne de "
|
||||
"caractères de longueur 1 et l'autre de longueur 2."
|
||||
|
||||
#: howto/unicode.rst:412
|
||||
msgid ""
|
||||
|
@ -835,8 +836,9 @@ msgstr ""
|
|||
"sont :"
|
||||
|
||||
#: howto/unicode.rst:520
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency."
|
||||
"`Processing Text Files in Python 3 <https://python-notes.curiousefficiency."
|
||||
"org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan."
|
||||
msgstr ""
|
||||
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency."
|
||||
|
@ -1232,14 +1234,15 @@ msgid ""
|
|||
"error handler is used to encode the data and write it back out."
|
||||
msgstr ""
|
||||
"Le gestionnaire d'erreurs ``surrogateescape`` décode tous les octets non-"
|
||||
"ASCII comme points de code dans une plage spéciale allant de ``U+DC80`` à ``U"
|
||||
"+DCFF``. Ces points de code redeviennent alors les mêmes octets lorsque le "
|
||||
"gestionnaire d'erreurs ``surrogateescape`` est utilisé pour encoder les "
|
||||
"ASCII comme points de code dans une plage spéciale allant de ``U+DC80`` à "
|
||||
"``U+DCFF``. Ces points de code redeviennent alors les mêmes octets lorsque "
|
||||
"le gestionnaire d'erreurs ``surrogateescape`` est utilisé pour encoder les "
|
||||
"données et les réécrire."
|
||||
|
||||
#: howto/unicode.rst:737
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"One section of `Mastering Python 3 Input/Output <http://pyvideo.org/"
|
||||
"One section of `Mastering Python 3 Input/Output <https://pyvideo.org/"
|
||||
"video/289/pycon-2010--mastering-python-3-i-o>`_, a PyCon 2010 talk by David "
|
||||
"Beazley, discusses text processing and binary data handling."
|
||||
msgstr ""
|
||||
|
@ -1264,8 +1267,9 @@ msgstr ""
|
|||
"diapositives ne couvrent que Python 2.x."
|
||||
|
||||
#: howto/unicode.rst:747
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`The Guts of Unicode in Python <http://pyvideo.org/video/1768/the-guts-of-"
|
||||
"`The Guts of Unicode in Python <https://pyvideo.org/video/1768/the-guts-of-"
|
||||
"unicode-in-python>`_ is a PyCon 2013 talk by Benjamin Peterson that "
|
||||
"discusses the internal Unicode representation in Python 3.3."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-24 17:33+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -24,14 +24,15 @@ msgid "Author"
|
|||
msgstr "Auteur"
|
||||
|
||||
#: howto/urllib2.rst:7
|
||||
msgid "`Michael Foord <http://www.voidspace.org.uk/python/index.shtml>`_"
|
||||
msgid "`Michael Foord <https://agileabstractions.com/>`_"
|
||||
msgstr ""
|
||||
|
||||
#: howto/urllib2.rst:11
|
||||
msgid ""
|
||||
"There is a French translation of an earlier revision of this HOWTO, "
|
||||
"available at `urllib2 - Le Manuel manquant <http://www.voidspace.org.uk/"
|
||||
"python/articles/urllib2_francais.shtml>`_."
|
||||
"available at `urllib2 - Le Manuel manquant <https://web.archive.org/"
|
||||
"web/20200910051922/http://www.voidspace.org.uk/python/articles/"
|
||||
"urllib2_francais.shtml>`_."
|
||||
msgstr ""
|
||||
|
||||
#: howto/urllib2.rst:18
|
||||
|
@ -46,8 +47,8 @@ msgstr ""
|
|||
|
||||
#: howto/urllib2.rst:25
|
||||
msgid ""
|
||||
"`Basic Authentication <http://www.voidspace.org.uk/python/articles/"
|
||||
"authentication.shtml>`_"
|
||||
"`Basic Authentication <https://web.archive.org/web/20201215133350/http://www."
|
||||
"voidspace.org.uk/python/articles/authentication.shtml>`_"
|
||||
msgstr ""
|
||||
|
||||
#: howto/urllib2.rst:27
|
||||
|
@ -130,8 +131,8 @@ msgid ""
|
|||
"In the case of HTTP, there are two extra things that Request objects allow "
|
||||
"you to do: First, you can pass data to be sent to the server. Second, you "
|
||||
"can pass extra information (\"metadata\") *about* the data or about the "
|
||||
"request itself, to the server - this information is sent as HTTP \"headers"
|
||||
"\". Let's look at each of these in turn."
|
||||
"request itself, to the server - this information is sent as HTTP "
|
||||
"\"headers\". Let's look at each of these in turn."
|
||||
msgstr ""
|
||||
|
||||
#: howto/urllib2.rst:105
|
||||
|
@ -355,7 +356,7 @@ msgstr ""
|
|||
#: howto/urllib2.rst:413
|
||||
msgid ""
|
||||
"Typical headers include 'Content-length', 'Content-type', and so on. See the "
|
||||
"`Quick Reference to HTTP Headers <http://jkorpela.fi/http.html>`_ for a "
|
||||
"`Quick Reference to HTTP Headers <https://jkorpela.fi/http.html>`_ for a "
|
||||
"useful listing of HTTP headers with brief explanations of their meaning and "
|
||||
"use."
|
||||
msgstr ""
|
||||
|
@ -367,7 +368,7 @@ msgstr ""
|
|||
#: howto/urllib2.rst:422
|
||||
msgid ""
|
||||
"When you fetch a URL you use an opener (an instance of the perhaps "
|
||||
"confusingly-named :class:`urllib.request.OpenerDirector`). Normally we have "
|
||||
"confusingly named :class:`urllib.request.OpenerDirector`). Normally we have "
|
||||
"been using the default opener - via ``urlopen`` - but you can create custom "
|
||||
"openers. Openers use handlers. All the \"heavy lifting\" is done by the "
|
||||
"handlers. Each handler knows how to open URLs for a particular URL scheme "
|
||||
|
@ -481,10 +482,10 @@ msgstr ""
|
|||
#: howto/urllib2.rst:522
|
||||
msgid ""
|
||||
"``top_level_url`` is in fact *either* a full URL (including the 'http:' "
|
||||
"scheme component and the hostname and optionally the port number) e.g. ``"
|
||||
"\"http://example.com/\"`` *or* an \"authority\" (i.e. the hostname, "
|
||||
"optionally including the port number) e.g. ``\"example.com\"`` or ``"
|
||||
"\"example.com:8080\"`` (the latter example includes a port number). The "
|
||||
"scheme component and the hostname and optionally the port number) e.g. "
|
||||
"``\"http://example.com/\"`` *or* an \"authority\" (i.e. the hostname, "
|
||||
"optionally including the port number) e.g. ``\"example.com\"`` or "
|
||||
"``\"example.com:8080\"`` (the latter example includes a port number). The "
|
||||
"authority, if present, must NOT contain the \"userinfo\" component - for "
|
||||
"example ``\"joe:password@example.com\"`` is not correct."
|
||||
msgstr ""
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"PO-Revision-Date: 2021-12-11 17:18+0100\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 15:59+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -126,13 +126,14 @@ msgid "Distutils based source distributions"
|
|||
msgstr "Distributions basées sur *distutils*"
|
||||
|
||||
#: install/index.rst:64
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If you download a module source distribution, you can tell pretty quickly if "
|
||||
"it was packaged and distributed in the standard way, i.e. using the "
|
||||
"Distutils. First, the distribution's name and version number will be "
|
||||
"featured prominently in the name of the downloaded archive, e.g. :file:"
|
||||
"`foo-1.0.tar.gz` or :file:`widget-0.9.7.zip`. Next, the archive will unpack "
|
||||
"into a similarly-named directory: :file:`foo-1.0` or :file:`widget-0.9.7`. "
|
||||
"into a similarly named directory: :file:`foo-1.0` or :file:`widget-0.9.7`. "
|
||||
"Additionally, the distribution will contain a setup script :file:`setup.py`, "
|
||||
"and a file named :file:`README.txt` or possibly just :file:`README`, which "
|
||||
"should explain that building and installing the module distribution is a "
|
||||
|
@ -471,8 +472,8 @@ msgstr ""
|
|||
|
||||
#: install/index.rst:234
|
||||
msgid ""
|
||||
"The default installation directory on Windows was :file:`C:\\\\Program Files"
|
||||
"\\\\Python` under Python 1.6a1, 1.5.2, and earlier."
|
||||
"The default installation directory on Windows was :file:`C:\\\\Program "
|
||||
"Files\\\\Python` under Python 1.6a1, 1.5.2, and earlier."
|
||||
msgstr ""
|
||||
"Sous Windows, le dossier d'installation par défaut était : :file:`C:\\"
|
||||
"\\Program Files\\\\Python` sous Python 1.6a1, 1.5.2 et avant."
|
||||
|
@ -705,7 +706,7 @@ msgstr ""
|
|||
"ajouter :file:`{userbase}/include` dans les chemins où le compilateur "
|
||||
"recherche les fichiers d'en-têtes et :file:`{userbase}/lib` dans les chemins "
|
||||
"où le compilateur recherche les bibliothèques ainsi que les bibliothèques C "
|
||||
"partagées chargeables à l'exécution (`rpath`)."
|
||||
"partagées chargeables à l'exécution (``rpath``)."
|
||||
|
||||
#: install/index.rst:352
|
||||
msgid "Alternate installation: the home scheme"
|
||||
|
@ -1290,7 +1291,7 @@ msgstr ""
|
|||
|
||||
#: install/index.rst:744
|
||||
msgid ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`"
|
||||
msgstr ""
|
||||
msgstr ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`"
|
||||
|
||||
#: install/index.rst:758
|
||||
msgid "personal"
|
||||
|
@ -1298,7 +1299,7 @@ msgstr ""
|
|||
|
||||
#: install/index.rst:746
|
||||
msgid ":file:`$HOME/.pydistutils.cfg`"
|
||||
msgstr ""
|
||||
msgstr ":file:`$HOME/.pydistutils.cfg`"
|
||||
|
||||
#: install/index.rst:760
|
||||
msgid "local"
|
||||
|
@ -1306,7 +1307,7 @@ msgstr ""
|
|||
|
||||
#: install/index.rst:760
|
||||
msgid ":file:`setup.cfg`"
|
||||
msgstr ""
|
||||
msgstr ":file:`setup.cfg`"
|
||||
|
||||
#: install/index.rst:760
|
||||
msgid "\\(3)"
|
||||
|
@ -1318,7 +1319,7 @@ msgstr ""
|
|||
|
||||
#: install/index.rst:756
|
||||
msgid ":file:`{prefix}\\\\Lib\\\\distutils\\\\distutils.cfg`"
|
||||
msgstr ""
|
||||
msgstr ":file:`{prefix}\\\\Lib\\\\distutils\\\\distutils.cfg`"
|
||||
|
||||
#: install/index.rst:756
|
||||
msgid "\\(4)"
|
||||
|
@ -1326,7 +1327,7 @@ msgstr "\\(4)"
|
|||
|
||||
#: install/index.rst:758
|
||||
msgid ":file:`%HOME%\\\\pydistutils.cfg`"
|
||||
msgstr ""
|
||||
msgstr ":file:`%HOME%\\\\pydistutils.cfg`"
|
||||
|
||||
#: install/index.rst:758
|
||||
msgid "\\(5)"
|
||||
|
@ -1335,7 +1336,7 @@ msgstr "\\(5)"
|
|||
#: install/index.rst:763
|
||||
msgid ""
|
||||
"On all platforms, the \"personal\" file can be temporarily disabled by "
|
||||
"passing the `--no-user-cfg` option."
|
||||
"passing the ``--no-user-cfg`` option."
|
||||
msgstr ""
|
||||
|
||||
#: install/index.rst:769
|
||||
|
@ -1548,9 +1549,9 @@ msgid ""
|
|||
"appended to the proper command line, so in the above example the compiler "
|
||||
"will be passed the :option:`!-o32` option, and the linker will be passed :"
|
||||
"option:`!-shared`. If a compiler option requires an argument, you'll have "
|
||||
"to supply multiple :option:`!-Xcompiler` options; for example, to pass ``-x c"
|
||||
"++`` the :file:`Setup` file would have to contain ``-Xcompiler -x -Xcompiler "
|
||||
"c++``."
|
||||
"to supply multiple :option:`!-Xcompiler` options; for example, to pass ``-x "
|
||||
"c++`` the :file:`Setup` file would have to contain ``-Xcompiler -x -"
|
||||
"Xcompiler c++``."
|
||||
msgstr ""
|
||||
|
||||
#: install/index.rst:936
|
||||
|
@ -1721,8 +1722,8 @@ msgstr ""
|
|||
|
||||
#: install/index.rst:1065
|
||||
msgid ""
|
||||
"`Building Python modules on MS Windows platform with MinGW <http://old.zope."
|
||||
"org/Members/als/tips/win32_mingw_modules>`_"
|
||||
"`Building Python modules on MS Windows platform with MinGW <https://old.zope."
|
||||
"dev/Members/als/tips/win32_mingw_modules>`_"
|
||||
msgstr ""
|
||||
|
||||
#: install/index.rst:1066
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-02-23 18:50+0100\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -407,10 +407,11 @@ msgstr ""
|
|||
"est ::"
|
||||
|
||||
#: installing/index.rst:216
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"There are also additional resources for `installing pip. <https://packaging."
|
||||
"python.org/tutorials/installing-packages/#install-pip-setuptools-and-"
|
||||
"wheel>`__"
|
||||
"python.org/en/latest/tutorials/installing-packages/#ensure-pip-setuptools-"
|
||||
"and-wheel-are-up-to-date>`__"
|
||||
msgstr ""
|
||||
"Voir aussi `installing pip. <https://packaging.python.org/tutorials/"
|
||||
"installing-packages/#install-pip-setuptools-and-wheel>`__"
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
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-04-29 13:57+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-10-18 15:44+0200\n"
|
||||
"Last-Translator: Dimitri Merejkowsky <dimitri@dmerej.info>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -16,7 +16,8 @@ msgstr ""
|
|||
"X-Generator: Poedit 2.4.1\n"
|
||||
|
||||
#: library/2to3.rst:4
|
||||
msgid "2to3 - Automated Python 2 to 3 code translation"
|
||||
#, fuzzy
|
||||
msgid "2to3 --- Automated Python 2 to 3 code translation"
|
||||
msgstr "*2to3* — Traduction automatique de code en Python 2 vers Python 3"
|
||||
|
||||
#: library/2to3.rst:8
|
||||
|
@ -206,10 +207,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"L'option :option:`!-W` ou :option:`!—write-unchanged-files` indique à *2to3* "
|
||||
"de toujours écrire des fichiers de sortie même si aucun changement du "
|
||||
"fichier n'était nécessaire. Ceci est très utile avec `!-o` pour qu'un arbre "
|
||||
"des sources Python entier soit copié avec la traduction d'un répertoire à "
|
||||
"l'autre. Cette option implique :option:`!-w` sans quoi elle n'aurait pas de "
|
||||
"sens."
|
||||
"fichier n'était nécessaire. Ceci est très utile avec :option:`!-o` pour "
|
||||
"qu'un arbre des sources Python entier soit copié avec la traduction d'un "
|
||||
"répertoire à l'autre. Cette option implique :option:`!-w` sans quoi elle "
|
||||
"n'aurait pas de sens."
|
||||
|
||||
#: library/2to3.rst:119
|
||||
msgid "The :option:`!-W` flag was added."
|
||||
|
@ -767,7 +768,8 @@ msgstr ""
|
|||
"désactivé lorsque ``from future_builtins import zip`` apparaît."
|
||||
|
||||
#: library/2to3.rst:455
|
||||
msgid ":mod:`lib2to3` - 2to3's library"
|
||||
#, fuzzy
|
||||
msgid ":mod:`lib2to3` --- 2to3's library"
|
||||
msgstr ":mod:`lib2to3` — la bibliothèque de *2to3*"
|
||||
|
||||
#: library/2to3.rst:464
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 19:52+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -277,21 +277,35 @@ msgid "3.7.0b1"
|
|||
msgstr "3.7.0b1"
|
||||
|
||||
#: library/__future__.rst:93
|
||||
msgid "3.11"
|
||||
msgstr "3.11"
|
||||
msgid "TBD [1]_"
|
||||
msgstr ""
|
||||
|
||||
#: library/__future__.rst:93
|
||||
msgid ":pep:`563`: *Postponed evaluation of annotations*"
|
||||
msgstr ":pep:`563` : *Évaluation différée des annotations*"
|
||||
|
||||
#: library/__future__.rst:102
|
||||
#: library/__future__.rst:100
|
||||
msgid ""
|
||||
"``from __future__ import annotations`` was previously scheduled to become "
|
||||
"mandatory in Python 3.10, but the Python Steering Council twice decided to "
|
||||
"delay the change (`announcement for Python 3.10 <https://mail.python.org/"
|
||||
"archives/list/python-dev@python.org/message/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/"
|
||||
">`__; `announcement for Python 3.11 <https://mail.python.org/archives/list/"
|
||||
"python-dev@python.org/message/VIZEBX5EYMSYIJNDBF6DMUMZOCWHARSO/>`__). No "
|
||||
"final decision has been made yet. See also :pep:`563` and :pep:`649`."
|
||||
msgstr ""
|
||||
|
||||
#: library/__future__.rst:110
|
||||
msgid ":ref:`future`"
|
||||
msgstr ":ref:`future`"
|
||||
|
||||
#: library/__future__.rst:103
|
||||
#: library/__future__.rst:111
|
||||
msgid "How the compiler treats future imports."
|
||||
msgstr "Comment le compilateur gère les importations « futures »."
|
||||
|
||||
#~ msgid "3.11"
|
||||
#~ msgstr "3.11"
|
||||
|
||||
#~ msgid "3.10"
|
||||
#~ msgstr "3.10"
|
||||
|
||||
|
|
|
@ -5,15 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
|
||||
"PO-Revision-Date: 2021-10-28 17:30+0200\n"
|
||||
"POT-Creation-Date: 2022-03-18 17:06+0100\n"
|
||||
"PO-Revision-Date: 2022-05-18 13:39+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.0.1\n"
|
||||
|
||||
#: library/__main__.rst:2
|
||||
msgid ":mod:`__main__` --- Top-level code environment"
|
||||
|
@ -121,7 +121,9 @@ msgid ""
|
|||
msgstr ""
|
||||
"le module ou paquet passé à l'interpréteur avec l'option :option:`-m` :"
|
||||
|
||||
# Minuscule car toujours dans la même énumération, ignorez l'avertissement que Poedit affiche à cause de la majuscule à « Python ».
|
||||
# Minuscule car toujours dans la même énumération, ignorez
|
||||
# l'avertissement que Poedit affiche à cause de la majuscule à
|
||||
# « Python ».
|
||||
#: library/__main__.rst:75
|
||||
msgid "Python code read by the Python interpreter from standard input:"
|
||||
msgstr "le code lu par l'interpréteur depuis l'entrée standard :"
|
||||
|
@ -163,7 +165,6 @@ msgid "Idiomatic Usage"
|
|||
msgstr "Utilisation idiomatique"
|
||||
|
||||
#: library/__main__.rst:118
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Some modules contain code that is intended for script use only, like parsing "
|
||||
"command-line arguments or fetching data from standard input. If a module "
|
||||
|
@ -330,7 +331,6 @@ msgstr ""
|
|||
"données ::"
|
||||
|
||||
#: library/__main__.rst:233
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Note that ``from .student import search_students`` is an example of a "
|
||||
"relative import. This import style can be used when referencing modules "
|
||||
|
@ -369,11 +369,11 @@ msgstr ""
|
|||
msgid ""
|
||||
"This won't work for ``__main__.py`` files in the root directory of a .zip "
|
||||
"file though. Hence, for consistency, minimal ``__main__.py`` like the :mod:"
|
||||
"`venv` one mentioned above are preferred."
|
||||
"`venv` one mentioned below are preferred."
|
||||
msgstr ""
|
||||
"Malgré tout, cela ne fonctionne pas pour les fichiers ``__main__.py`` à la "
|
||||
"racine d'une archive ZIP. Aussi est-il préférable d'écrire des ``__main__."
|
||||
"py`` dans le style minimal de celui de :mod:`venv` mentionné ci-dessous."
|
||||
"py`` dans le style minimal de celui de :mod:`venv` mentionné ci-dessus."
|
||||
|
||||
#: library/__main__.rst:260
|
||||
msgid ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-11-06 20:06+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -262,11 +262,12 @@ msgstr ""
|
|||
"acquérir le verrou — c'est leur raison d'être)."
|
||||
|
||||
#: library/_thread.rst:164
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If the integer *waitflag* argument is present, the action depends on its "
|
||||
"value: if it is zero, the lock is only acquired if it can be acquired "
|
||||
"immediately without waiting, while if it is nonzero, the lock is acquired "
|
||||
"unconditionally as above."
|
||||
"If the *blocking* argument is present, the action depends on its value: if "
|
||||
"it is False, the lock is only acquired if it can be acquired immediately "
|
||||
"without waiting, while if it is True, the lock is acquired unconditionally "
|
||||
"as above."
|
||||
msgstr ""
|
||||
"Si l'argument *waitflag*, un entier, est présent, l'action dépend de sa "
|
||||
"valeur : si elle est de zéro, le verrou est seulement acquis s'il peut être "
|
||||
|
@ -274,11 +275,12 @@ msgstr ""
|
|||
"inconditionnellement comme ci-dessus."
|
||||
|
||||
#: library/_thread.rst:169
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"If the floating-point *timeout* argument is present and positive, it "
|
||||
"specifies the maximum wait time in seconds before returning. A negative "
|
||||
"*timeout* argument specifies an unbounded wait. You cannot specify a "
|
||||
"*timeout* if *waitflag* is zero."
|
||||
"*timeout* if *blocking* is False."
|
||||
msgstr ""
|
||||
"Si l'argument *timeout*, en virgule flottante, est présent et positif, il "
|
||||
"spécifie le temps d'attente maximum en secondes avant de renvoyer. Un "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-03-18 17:06+0100\n"
|
||||
"PO-Revision-Date: 2021-11-06 20:18+0100\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -106,9 +106,9 @@ msgstr ""
|
|||
"Utilisez cette métaclasse pour créer une ABC. Il est possible d'hériter "
|
||||
"d'une ABC directement, cette classe de base abstraite fonctionne alors comme "
|
||||
"une classe *mixin*. Vous pouvez également enregistrer une classe concrète "
|
||||
"sans lien (même une classe native) et des ABC comme \"sous-classes virtuelles"
|
||||
"\" -- celles-ci et leur descendantes seront considérées comme des sous-"
|
||||
"classes de la classe de base abstraite par la fonction native :func:"
|
||||
"sans lien (même une classe native) et des ABC comme \"sous-classes "
|
||||
"virtuelles\" -- celles-ci et leur descendantes seront considérées comme des "
|
||||
"sous-classes de la classe de base abstraite par la fonction native :func:"
|
||||
"`issubclass`, mais les ABC enregistrées n'apparaitront pas dans leur ordre "
|
||||
"de résolution des méthodes (*MRO* pour *Method Resolution Order* en "
|
||||
"anglais). Les implémentations de méthodes définies par l'ABC ne seront pas "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"POT-Creation-Date: 2022-05-21 16:37+0200\n"
|
||||
"PO-Revision-Date: 2020-12-11 15:56+0100\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -18,19 +18,25 @@ msgstr ""
|
|||
msgid ":mod:`aifc` --- Read and write AIFF and AIFC files"
|
||||
msgstr ":mod:`aifc` — Lis et écrit dans les fichiers AIFF et AIFC"
|
||||
|
||||
#: library/aifc.rst:7
|
||||
#: library/aifc.rst:8
|
||||
msgid "**Source code:** :source:`Lib/aifc.py`"
|
||||
msgstr "**Code source:** :source:`Lib/aifc.py`"
|
||||
|
||||
#: library/aifc.rst:16
|
||||
msgid ""
|
||||
"The :mod:`aifc` module is deprecated (see :pep:`PEP 594 <594#aifc>` for "
|
||||
"details)."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:22
|
||||
msgid ""
|
||||
"This module provides support for reading and writing AIFF and AIFF-C files. "
|
||||
"AIFF is Audio Interchange File Format, a format for storing digital audio "
|
||||
"samples in a file. AIFF-C is a newer version of the format that includes "
|
||||
"the ability to compress the audio data."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:21
|
||||
#: library/aifc.rst:27
|
||||
msgid ""
|
||||
"Audio files have a number of parameters that describe the audio data. The "
|
||||
"sampling rate or frame rate is the number of times per second the sound is "
|
||||
|
@ -41,7 +47,7 @@ msgid ""
|
|||
"samplesize * framerate`` bytes."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:29
|
||||
#: library/aifc.rst:35
|
||||
msgid ""
|
||||
"For example, CD quality audio has a sample size of two bytes (16 bits), uses "
|
||||
"two channels (stereo) and has a frame rate of 44,100 frames/second. This "
|
||||
|
@ -49,11 +55,11 @@ msgid ""
|
|||
"2\\*2\\*44100 bytes (176,400 bytes)."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:34
|
||||
#: library/aifc.rst:40
|
||||
msgid "Module :mod:`aifc` defines the following function:"
|
||||
msgstr "Le module :mod:`aifc` définit les fonctions suivantes :"
|
||||
|
||||
#: library/aifc.rst:39
|
||||
#: library/aifc.rst:45
|
||||
msgid ""
|
||||
"Open an AIFF or AIFF-C file and return an object instance with methods that "
|
||||
"are described below. The argument *file* is either a string naming a file "
|
||||
|
@ -67,48 +73,48 @@ msgid ""
|
|||
"keyword:`!with` block completes, the :meth:`~aifc.close` method is called."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:50
|
||||
#: library/aifc.rst:56
|
||||
msgid "Support for the :keyword:`with` statement was added."
|
||||
msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée."
|
||||
|
||||
#: library/aifc.rst:53
|
||||
#: library/aifc.rst:59
|
||||
msgid ""
|
||||
"Objects returned by :func:`.open` when a file is opened for reading have the "
|
||||
"following methods:"
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:59
|
||||
#: library/aifc.rst:65
|
||||
#, fuzzy
|
||||
msgid "Return the number of audio channels (1 for mono, 2 for stereo)."
|
||||
msgstr ""
|
||||
"Renvoie le nombre de canaux audio (``1`` pour mono, ``2`` pour stéréo)."
|
||||
|
||||
#: library/aifc.rst:64
|
||||
#: library/aifc.rst:70
|
||||
msgid "Return the size in bytes of individual samples."
|
||||
msgstr "Donne la taille en octets des échantillons, individuellement."
|
||||
|
||||
#: library/aifc.rst:69
|
||||
#: library/aifc.rst:75
|
||||
msgid "Return the sampling rate (number of audio frames per second)."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:74
|
||||
#: library/aifc.rst:80
|
||||
msgid "Return the number of audio frames in the file."
|
||||
msgstr "Donne le nombre de trames (*frames*) audio du fichier."
|
||||
|
||||
#: library/aifc.rst:79
|
||||
#: library/aifc.rst:85
|
||||
msgid ""
|
||||
"Return a bytes array of length 4 describing the type of compression used in "
|
||||
"the audio file. For AIFF files, the returned value is ``b'NONE'``."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:86
|
||||
#: library/aifc.rst:92
|
||||
msgid ""
|
||||
"Return a bytes array convertible to a human-readable description of the type "
|
||||
"of compression used in the audio file. For AIFF files, the returned value "
|
||||
"is ``b'not compressed'``."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:93
|
||||
#: library/aifc.rst:99
|
||||
msgid ""
|
||||
"Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, "
|
||||
"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:"
|
||||
|
@ -118,7 +124,7 @@ msgstr ""
|
|||
"framerate, nframes, comptype, compname)``, équivalent à la sortie des "
|
||||
"méthodes :meth:`get\\*`."
|
||||
|
||||
#: library/aifc.rst:100
|
||||
#: library/aifc.rst:106
|
||||
msgid ""
|
||||
"Return a list of markers in the audio file. A marker consists of a tuple of "
|
||||
"three elements. The first is the mark ID (an integer), the second is the "
|
||||
|
@ -126,40 +132,40 @@ msgid ""
|
|||
"third is the name of the mark (a string)."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:108
|
||||
#: library/aifc.rst:114
|
||||
msgid ""
|
||||
"Return the tuple as described in :meth:`getmarkers` for the mark with the "
|
||||
"given *id*."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:114
|
||||
#: library/aifc.rst:120
|
||||
msgid ""
|
||||
"Read and return the next *nframes* frames from the audio file. The returned "
|
||||
"data is a string containing for each frame the uncompressed samples of all "
|
||||
"channels."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:121
|
||||
#: library/aifc.rst:127
|
||||
msgid ""
|
||||
"Rewind the read pointer. The next :meth:`readframes` will start from the "
|
||||
"beginning."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:127
|
||||
#: library/aifc.rst:133
|
||||
msgid "Seek to the specified frame number."
|
||||
msgstr "Va à la trame de numéro donné."
|
||||
|
||||
#: library/aifc.rst:132
|
||||
#: library/aifc.rst:138
|
||||
msgid "Return the current frame number."
|
||||
msgstr "Donne le numéro de la trame courante."
|
||||
|
||||
#: library/aifc.rst:137
|
||||
#: library/aifc.rst:143
|
||||
msgid ""
|
||||
"Close the AIFF file. After calling this method, the object can no longer be "
|
||||
"used."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:140
|
||||
#: library/aifc.rst:146
|
||||
msgid ""
|
||||
"Objects returned by :func:`.open` when a file is opened for writing have all "
|
||||
"the above methods, except for :meth:`readframes` and :meth:`setpos`. In "
|
||||
|
@ -169,40 +175,40 @@ msgid ""
|
|||
"parameters except for the number of frames must be filled in."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:150
|
||||
#: library/aifc.rst:156
|
||||
msgid ""
|
||||
"Create an AIFF file. The default is that an AIFF-C file is created, unless "
|
||||
"the name of the file ends in ``'.aiff'`` in which case the default is an "
|
||||
"AIFF file."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:156
|
||||
#: library/aifc.rst:162
|
||||
msgid ""
|
||||
"Create an AIFF-C file. The default is that an AIFF-C file is created, "
|
||||
"unless the name of the file ends in ``'.aiff'`` in which case the default is "
|
||||
"an AIFF file."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:163
|
||||
#: library/aifc.rst:169
|
||||
msgid "Specify the number of channels in the audio file."
|
||||
msgstr "Définit le nombre de canaux du fichier audio."
|
||||
|
||||
#: library/aifc.rst:168
|
||||
#: library/aifc.rst:174
|
||||
msgid "Specify the size in bytes of audio samples."
|
||||
msgstr "Définit la taille en octets des échantillons audio."
|
||||
|
||||
#: library/aifc.rst:173
|
||||
#: library/aifc.rst:179
|
||||
msgid "Specify the sampling frequency in frames per second."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:178
|
||||
#: library/aifc.rst:184
|
||||
msgid ""
|
||||
"Specify the number of frames that are to be written to the audio file. If "
|
||||
"this parameter is not set, or not set correctly, the file needs to support "
|
||||
"seeking."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:189
|
||||
#: library/aifc.rst:195
|
||||
msgid ""
|
||||
"Specify the compression type. If not specified, the audio data will not be "
|
||||
"compressed. In AIFF files, compression is not possible. The name parameter "
|
||||
|
@ -212,42 +218,42 @@ msgid ""
|
|||
"``b'ALAW'``, ``b'G722'``."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:199
|
||||
#: library/aifc.rst:205
|
||||
msgid ""
|
||||
"Set all the above parameters at once. The argument is a tuple consisting of "
|
||||
"the various parameters. This means that it is possible to use the result of "
|
||||
"a :meth:`getparams` call as argument to :meth:`setparams`."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:206
|
||||
#: library/aifc.rst:212
|
||||
msgid ""
|
||||
"Add a mark with the given id (larger than 0), and the given name at the "
|
||||
"given position. This method can be called at any time before :meth:`close`."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:213
|
||||
#: library/aifc.rst:219
|
||||
msgid ""
|
||||
"Return the current write position in the output file. Useful in combination "
|
||||
"with :meth:`setmark`."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:219
|
||||
#: library/aifc.rst:225
|
||||
msgid ""
|
||||
"Write data to the output file. This method can only be called after the "
|
||||
"audio file parameters have been set."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:231
|
||||
#: library/aifc.rst:237
|
||||
msgid "Any :term:`bytes-like object` is now accepted."
|
||||
msgstr "N'importe quel :term:`bytes-like object` est maintenant accepté."
|
||||
|
||||
#: library/aifc.rst:228
|
||||
#: library/aifc.rst:234
|
||||
msgid ""
|
||||
"Like :meth:`writeframes`, except that the header of the audio file is not "
|
||||
"updated."
|
||||
msgstr ""
|
||||
|
||||
#: library/aifc.rst:238
|
||||
#: library/aifc.rst:244
|
||||
msgid ""
|
||||
"Close the AIFF file. The header of the file is updated to reflect the "
|
||||
"actual size of the audio data. After calling this method, the object can no "
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2019-10-31 12:47+0100\n"
|
||||
"Last-Translator: Cléo Buck <cleo.buck@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -200,7 +200,7 @@ msgstr ""
|
|||
#: library/array.rst:53
|
||||
msgid ""
|
||||
"``array('u')`` now uses ``wchar_t`` as C type instead of deprecated "
|
||||
"``Py_UNICODE``. This change doesn't affect to its behavior because "
|
||||
"``Py_UNICODE``. This change doesn't affect its behavior because "
|
||||
"``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3."
|
||||
msgstr ""
|
||||
|
||||
|
|
168
library/ast.po
168
library/ast.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2021-09-15 23:54+0200\n"
|
||||
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -65,10 +65,11 @@ msgid "Node classes"
|
|||
msgstr "Classes de nœuds"
|
||||
|
||||
#: library/ast.rst:46
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This is the base of all AST node classes. The actual node classes are "
|
||||
"derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:"
|
||||
"`below <abstract-grammar>`. They are defined in the :mod:`_ast` C module "
|
||||
"`above <abstract-grammar>`. They are defined in the :mod:`_ast` C module "
|
||||
"and re-exported in :mod:`ast`."
|
||||
msgstr ""
|
||||
"C'est la classe de base de toute classe de nœuds des d'arbres syntaxiques "
|
||||
|
@ -767,7 +768,9 @@ msgstr ""
|
|||
"Si une clause facultative comme ``else`` est absente, le champ correspondant "
|
||||
"dans l'arbre est une liste vide."
|
||||
|
||||
# Il faut développer un peu plus que l'original car le lecteur ne comprend pas forcément les termes « body » et « orelse ». La même considération s'applique à bien des descriptions par la suite.
|
||||
# Il faut développer un peu plus que l'original car le lecteur ne
|
||||
# comprend pas forcément les termes « body » et « orelse ». La même
|
||||
# considération s'applique à bien des descriptions par la suite.
|
||||
#: library/ast.rst:992
|
||||
msgid ""
|
||||
"An ``if`` statement. ``test`` holds a single node, such as a :class:"
|
||||
|
@ -1297,7 +1300,7 @@ msgid ""
|
|||
"compilation step does."
|
||||
msgstr ""
|
||||
|
||||
#: library/ast.rst:1973
|
||||
#: library/ast.rst:1934
|
||||
msgid ""
|
||||
"It is possible to crash the Python interpreter with a sufficiently large/"
|
||||
"complex string due to stack depth limitations in Python's AST compiler."
|
||||
|
@ -1340,8 +1343,8 @@ msgstr ""
|
|||
#: library/ast.rst:1962
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Safely evaluate an expression node or a string containing a Python literal "
|
||||
"or container display. The string or node provided may only consist of the "
|
||||
"Evaluate an expression node or a string containing only a Python literal or "
|
||||
"container display. The string or node provided may only consist of the "
|
||||
"following Python literal structures: strings, bytes, numbers, tuples, lists, "
|
||||
"dicts, sets, booleans, ``None`` and ``Ellipsis``."
|
||||
msgstr ""
|
||||
|
@ -1352,11 +1355,11 @@ msgstr ""
|
|||
"nombres, *n*-uplets, listes, dictionnaires, ensembles, booléens, et ``None``."
|
||||
|
||||
#: library/ast.rst:1967
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This can be used for safely evaluating strings containing Python values from "
|
||||
"untrusted sources without the need to parse the values oneself. It is not "
|
||||
"capable of evaluating arbitrarily complex expressions, for example involving "
|
||||
"operators or indexing."
|
||||
"This can be used for evaluating strings containing Python values without the "
|
||||
"need to parse the values oneself. It is not capable of evaluating "
|
||||
"arbitrarily complex expressions, for example involving operators or indexing."
|
||||
msgstr ""
|
||||
"Cela peut être utilisé pour évaluer de manière sûre la chaîne de caractères "
|
||||
"contenant des valeurs Python de source non fiable sans avoir besoin "
|
||||
|
@ -1364,25 +1367,47 @@ msgstr ""
|
|||
"d'évaluer des expressions arbitrairement complexes, par exemple impliquant "
|
||||
"des opérateurs ou de l'indiçage."
|
||||
|
||||
#: library/ast.rst:1977
|
||||
#: library/ast.rst:1972
|
||||
msgid ""
|
||||
"This function had been documented as \"safe\" in the past without defining "
|
||||
"what that meant. That was misleading. This is specifically designed not to "
|
||||
"execute Python code, unlike the more general :func:`eval`. There is no "
|
||||
"namespace, no name lookups, or ability to call out. But it is not free from "
|
||||
"attack: A relatively small input can lead to memory exhaustion or to C stack "
|
||||
"exhaustion, crashing the process. There is also the possibility for "
|
||||
"excessive CPU consumption denial of service on some inputs. Calling it on "
|
||||
"untrusted data is thus not recommended."
|
||||
msgstr ""
|
||||
|
||||
#: library/ast.rst:1982
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"It is possible to crash the Python interpreter due to stack depth "
|
||||
"limitations in Python's AST compiler."
|
||||
msgstr ""
|
||||
"Il est possible de faire planter l'interpréteur Python avec des chaînes "
|
||||
"suffisamment grandes ou complexes lors de la compilation d'un arbre "
|
||||
"syntaxique en raison de la limitation de la profondeur de la pile d'appels."
|
||||
|
||||
#: library/ast.rst:1985
|
||||
msgid ""
|
||||
"It can raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:"
|
||||
"`MemoryError` and :exc:`RecursionError` depending on the malformed input."
|
||||
msgstr ""
|
||||
|
||||
#: library/ast.rst:1981
|
||||
#: library/ast.rst:1989
|
||||
msgid "Now allows bytes and set literals."
|
||||
msgstr "accepte maintenant les octets et ensembles littéraux."
|
||||
|
||||
#: library/ast.rst:1984
|
||||
#: library/ast.rst:1992
|
||||
msgid "Now supports creating empty sets with ``'set()'``."
|
||||
msgstr "accepte ``set()`` pour les ensembles vides."
|
||||
|
||||
#: library/ast.rst:1987
|
||||
#: library/ast.rst:1995
|
||||
msgid "For string inputs, leading spaces and tabs are now stripped."
|
||||
msgstr ""
|
||||
|
||||
#: library/ast.rst:1993
|
||||
#: library/ast.rst:2001
|
||||
msgid ""
|
||||
"Return the docstring of the given *node* (which must be a :class:"
|
||||
"`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:"
|
||||
|
@ -1394,11 +1419,11 @@ msgstr ""
|
|||
"n'a pas de *docstring*. Si *clean* est vrai, cette fonction nettoie "
|
||||
"l'indentation de la *docstring* avec :func:`inspect.cleandoc`."
|
||||
|
||||
#: library/ast.rst:1999
|
||||
#: library/ast.rst:2007
|
||||
msgid ":class:`AsyncFunctionDef` is now supported."
|
||||
msgstr ":class:`AsyncFunctionDef` est maintenant gérée."
|
||||
|
||||
#: library/ast.rst:2005
|
||||
#: library/ast.rst:2013
|
||||
msgid ""
|
||||
"Get source code segment of the *source* that generated *node*. If some "
|
||||
"location information (:attr:`lineno`, :attr:`end_lineno`, :attr:"
|
||||
|
@ -1409,13 +1434,13 @@ msgstr ""
|
|||
"`end_lineno`, :attr:`col_offset` et :attr:`end_col_offset`) n'est pas "
|
||||
"rempli, cette fonction renvoie ``None``."
|
||||
|
||||
#: library/ast.rst:2009
|
||||
#: library/ast.rst:2017
|
||||
msgid ""
|
||||
"If *padded* is ``True``, the first line of a multi-line statement will be "
|
||||
"padded with spaces to match its original position."
|
||||
msgstr ""
|
||||
|
||||
#: library/ast.rst:2017
|
||||
#: library/ast.rst:2025
|
||||
msgid ""
|
||||
"When you compile a node tree with :func:`compile`, the compiler expects :"
|
||||
"attr:`lineno` and :attr:`col_offset` attributes for every node that supports "
|
||||
|
@ -1431,7 +1456,7 @@ msgstr ""
|
|||
"comme les valeurs du nœud parent. Elle fonctionne récursivement en démarrant "
|
||||
"de *node*."
|
||||
|
||||
#: library/ast.rst:2026
|
||||
#: library/ast.rst:2034
|
||||
msgid ""
|
||||
"Increment the line number and end line number of each node in the tree "
|
||||
"starting at *node* by *n*. This is useful to \"move code\" to a different "
|
||||
|
@ -1441,7 +1466,7 @@ msgstr ""
|
|||
"nœud dans l'arbre, en commençant par le nœud *node*. C'est utile pour "
|
||||
"« déplacer du code » à un endroit différent dans un fichier."
|
||||
|
||||
#: library/ast.rst:2033
|
||||
#: library/ast.rst:2041
|
||||
msgid ""
|
||||
"Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:"
|
||||
"`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if "
|
||||
|
@ -1452,7 +1477,7 @@ msgstr ""
|
|||
"*old_node* vers le nouveau nœud *new_node*, si possible, et renvoie "
|
||||
"*new_node*."
|
||||
|
||||
#: library/ast.rst:2040
|
||||
#: library/ast.rst:2048
|
||||
msgid ""
|
||||
"Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` "
|
||||
"that is present on *node*."
|
||||
|
@ -1460,7 +1485,7 @@ msgstr ""
|
|||
"Produit un *n*-uplet de couples ``(nom_du_champ, valeur)`` pour chaque champ "
|
||||
"de ``node._fields`` qui est présent dans *node*."
|
||||
|
||||
#: library/ast.rst:2046
|
||||
#: library/ast.rst:2054
|
||||
msgid ""
|
||||
"Yield all direct child nodes of *node*, that is, all fields that are nodes "
|
||||
"and all items of fields that are lists of nodes."
|
||||
|
@ -1469,7 +1494,7 @@ msgstr ""
|
|||
"champs qui sont des nœuds et tous les éléments des champs qui sont des "
|
||||
"listes de nœuds."
|
||||
|
||||
#: library/ast.rst:2052
|
||||
#: library/ast.rst:2060
|
||||
msgid ""
|
||||
"Recursively yield all descendant nodes in the tree starting at *node* "
|
||||
"(including *node* itself), in no specified order. This is useful if you "
|
||||
|
@ -1480,7 +1505,7 @@ msgstr ""
|
|||
"lorsque l'on souhaite modifier les nœuds sur place sans prêter attention au "
|
||||
"contexte."
|
||||
|
||||
#: library/ast.rst:2059
|
||||
#: library/ast.rst:2067
|
||||
msgid ""
|
||||
"A node visitor base class that walks the abstract syntax tree and calls a "
|
||||
"visitor function for every node found. This function may return a value "
|
||||
|
@ -1491,7 +1516,7 @@ msgstr ""
|
|||
"Cette fonction peut renvoyer une valeur, qui est transmise par la méthode :"
|
||||
"meth:`visit`."
|
||||
|
||||
#: library/ast.rst:2063
|
||||
#: library/ast.rst:2071
|
||||
msgid ""
|
||||
"This class is meant to be subclassed, with the subclass adding visitor "
|
||||
"methods."
|
||||
|
@ -1499,7 +1524,7 @@ msgstr ""
|
|||
"Cette classe est faite pour être dérivée, en ajoutant des méthodes de visite "
|
||||
"à la sous-classe."
|
||||
|
||||
#: library/ast.rst:2068
|
||||
#: library/ast.rst:2076
|
||||
msgid ""
|
||||
"Visit a node. The default implementation calls the method called :samp:"
|
||||
"`self.visit_{classname}` where *classname* is the name of the node class, "
|
||||
|
@ -1509,12 +1534,12 @@ msgstr ""
|
|||
"visit_{classe}` où *classe* représente le nom de la classe du nœud, ou :meth:"
|
||||
"`generic_visit` si cette méthode n'existe pas."
|
||||
|
||||
#: library/ast.rst:2074
|
||||
#: library/ast.rst:2082
|
||||
msgid "This visitor calls :meth:`visit` on all children of the node."
|
||||
msgstr ""
|
||||
"Le visiteur appelle la méthode :meth:`visit` de tous les enfants du nœud."
|
||||
|
||||
#: library/ast.rst:2076
|
||||
#: library/ast.rst:2084
|
||||
msgid ""
|
||||
"Note that child nodes of nodes that have a custom visitor method won't be "
|
||||
"visited unless the visitor calls :meth:`generic_visit` or visits them itself."
|
||||
|
@ -1523,7 +1548,7 @@ msgstr ""
|
|||
"sont pas visités à moins que le visiteur n'appelle la méthode :meth:"
|
||||
"`generic_visit` ou ne les visite lui-même."
|
||||
|
||||
#: library/ast.rst:2080
|
||||
#: library/ast.rst:2088
|
||||
msgid ""
|
||||
"Don't use the :class:`NodeVisitor` if you want to apply changes to nodes "
|
||||
"during traversal. For this a special visitor exists (:class:"
|
||||
|
@ -1533,7 +1558,7 @@ msgstr ""
|
|||
"changements sur les nœuds lors du parcours. Pour cela, un visiteur spécial "
|
||||
"existe (:class:`NodeTransformer`) qui permet les modifications."
|
||||
|
||||
#: library/ast.rst:2086
|
||||
#: library/ast.rst:2094
|
||||
msgid ""
|
||||
"Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:"
|
||||
"`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will "
|
||||
|
@ -1546,7 +1571,7 @@ msgstr ""
|
|||
"une méthode :meth:`visit_Constant` pour traiter tous les nœuds qui "
|
||||
"représentent des valeurs constantes."
|
||||
|
||||
#: library/ast.rst:2094
|
||||
#: library/ast.rst:2102
|
||||
msgid ""
|
||||
"A :class:`NodeVisitor` subclass that walks the abstract syntax tree and "
|
||||
"allows modification of nodes."
|
||||
|
@ -1554,7 +1579,7 @@ msgstr ""
|
|||
"Une sous-classe de :class:`NodeVisitor` qui traverse l'arbre syntaxique "
|
||||
"abstrait et permet de modifier les nœuds."
|
||||
|
||||
#: library/ast.rst:2097
|
||||
#: library/ast.rst:2105
|
||||
msgid ""
|
||||
"The :class:`NodeTransformer` will walk the AST and use the return value of "
|
||||
"the visitor methods to replace or remove the old node. If the return value "
|
||||
|
@ -1568,7 +1593,7 @@ msgstr ""
|
|||
"est supprimé de sa position, sinon il est remplacé par cette valeur. Elle "
|
||||
"peut être le nœud original, auquel cas il n'y a pas de remplacement."
|
||||
|
||||
#: library/ast.rst:2103
|
||||
#: library/ast.rst:2111
|
||||
msgid ""
|
||||
"Here is an example transformer that rewrites all occurrences of name lookups "
|
||||
"(``foo``) to ``data['foo']``::"
|
||||
|
@ -1576,7 +1601,7 @@ msgstr ""
|
|||
"Voici un exemple de transformation qui réécrit tous les accès à la valeur "
|
||||
"d'une variable ``toto`` en ``data['toto']`` ::"
|
||||
|
||||
#: library/ast.rst:2115
|
||||
#: library/ast.rst:2123
|
||||
msgid ""
|
||||
"Keep in mind that if the node you're operating on has child nodes you must "
|
||||
"either transform the child nodes yourself or call the :meth:`generic_visit` "
|
||||
|
@ -1586,7 +1611,7 @@ msgstr ""
|
|||
"enfants, vous devez transformer également ces nœuds enfants vous-même ou "
|
||||
"appeler d'abord la méthode :meth:`generic_visit` sur le nœud."
|
||||
|
||||
#: library/ast.rst:2119
|
||||
#: library/ast.rst:2127
|
||||
msgid ""
|
||||
"For nodes that were part of a collection of statements (that applies to all "
|
||||
"statement nodes), the visitor may also return a list of nodes rather than "
|
||||
|
@ -1596,7 +1621,7 @@ msgstr ""
|
|||
"instructions), le visiteur peut aussi renvoyer une liste des nœuds plutôt "
|
||||
"qu'un seul nœud."
|
||||
|
||||
#: library/ast.rst:2123
|
||||
#: library/ast.rst:2131
|
||||
msgid ""
|
||||
"If :class:`NodeTransformer` introduces new nodes (that weren't part of "
|
||||
"original tree) without giving them location information (such as :attr:"
|
||||
|
@ -1608,11 +1633,11 @@ msgstr ""
|
|||
"consorts), il faut passer le nouvel arbre (ou la nouvelle partie de l'arbre) "
|
||||
"à :func:`fix_missing_locations` pour calculer les positions manquantes :"
|
||||
|
||||
#: library/ast.rst:2131
|
||||
#: library/ast.rst:2139
|
||||
msgid "Usually you use the transformer like this::"
|
||||
msgstr "Utilisation typique des transformations ::"
|
||||
|
||||
#: library/ast.rst:2138
|
||||
#: library/ast.rst:2146
|
||||
msgid ""
|
||||
"Return a formatted dump of the tree in *node*. This is mainly useful for "
|
||||
"debugging purposes. If *annotate_fields* is true (by default), the returned "
|
||||
|
@ -1632,32 +1657,32 @@ msgstr ""
|
|||
"masqués par défaut, mais on peut les inclure en mettant *include_attributes* "
|
||||
"à ``True``."
|
||||
|
||||
#: library/ast.rst:2146
|
||||
#: library/ast.rst:2154
|
||||
msgid ""
|
||||
"If *indent* is a non-negative integer or string, then the tree will be "
|
||||
"pretty-printed with that indent level. An indent level of 0, negative, or ``"
|
||||
"\"\"`` will only insert newlines. ``None`` (the default) selects the single "
|
||||
"line representation. Using a positive integer indent indents that many "
|
||||
"spaces per level. If *indent* is a string (such as ``\"\\t\"``), that "
|
||||
"pretty-printed with that indent level. An indent level of 0, negative, or "
|
||||
"``\"\"`` will only insert newlines. ``None`` (the default) selects the "
|
||||
"single line representation. Using a positive integer indent indents that "
|
||||
"many spaces per level. If *indent* is a string (such as ``\"\\t\"``), that "
|
||||
"string is used to indent each level."
|
||||
msgstr ""
|
||||
"La représentation peut comprendre une indentation afin d'être plus lisible. "
|
||||
"Si *indent* est une chaîne de caractères (par exemple une tabulation ``\"\\t"
|
||||
"\"``), elle est insérée au début des lignes en la répétant autant de fois "
|
||||
"que le niveau d'indentation. Un entier positif équivaut à un certain nombre "
|
||||
"d'espaces. Un entier strictement négatif produit un effet identique à 0 ou "
|
||||
"la chaîne vide, c'est-à-dire des retours à la ligne sans indentation. Avec "
|
||||
"la valeur par défaut de ``None``, la sortie tient sur une seule ligne."
|
||||
"Si *indent* est une chaîne de caractères (par exemple une tabulation "
|
||||
"``\"\\t\"``), elle est insérée au début des lignes en la répétant autant de "
|
||||
"fois que le niveau d'indentation. Un entier positif équivaut à un certain "
|
||||
"nombre d'espaces. Un entier strictement négatif produit un effet identique à "
|
||||
"0 ou la chaîne vide, c'est-à-dire des retours à la ligne sans indentation. "
|
||||
"Avec la valeur par défaut de ``None``, la sortie tient sur une seule ligne."
|
||||
|
||||
#: library/ast.rst:2153
|
||||
#: library/ast.rst:2161
|
||||
msgid "Added the *indent* option."
|
||||
msgstr "ajout du paramètre *indent*."
|
||||
|
||||
#: library/ast.rst:2160
|
||||
#: library/ast.rst:2168
|
||||
msgid "Compiler Flags"
|
||||
msgstr "Options du compilateur"
|
||||
|
||||
#: library/ast.rst:2162
|
||||
#: library/ast.rst:2170
|
||||
msgid ""
|
||||
"The following flags may be passed to :func:`compile` in order to change "
|
||||
"effects on the compilation of a program:"
|
||||
|
@ -1665,7 +1690,7 @@ msgstr ""
|
|||
"Les options suivantes sont prises en charge par la fonction :func:`compile`. "
|
||||
"Elles permettent de modifier le comportement de la compilation."
|
||||
|
||||
#: library/ast.rst:2167
|
||||
#: library/ast.rst:2175
|
||||
msgid ""
|
||||
"Enables support for top-level ``await``, ``async for``, ``async with`` and "
|
||||
"async comprehensions."
|
||||
|
@ -1673,14 +1698,14 @@ msgstr ""
|
|||
"Active la reconnaissance de ``await``, ``async for``, ``async with`` et des "
|
||||
"compréhensions asynchrones au niveau le plus haut."
|
||||
|
||||
#: library/ast.rst:2174
|
||||
#: library/ast.rst:2182
|
||||
msgid ""
|
||||
"Generates and returns an abstract syntax tree instead of returning a "
|
||||
"compiled code object."
|
||||
msgstr ""
|
||||
"Génère et renvoie un arbre syntaxique au lieu d'un objet de code compilé."
|
||||
|
||||
#: library/ast.rst:2179
|
||||
#: library/ast.rst:2187
|
||||
msgid ""
|
||||
"Enables support for :pep:`484` and :pep:`526` style type comments (``# type: "
|
||||
"<type>``, ``# type: ignore <stuff>``)."
|
||||
|
@ -1688,11 +1713,11 @@ msgstr ""
|
|||
"Ajoute la prise en charge des commentaires de types tels que définis dans "
|
||||
"la :pep:`484` et la :pep:`526` (``# type: un_type`` et ``# type: ignore``)."
|
||||
|
||||
#: library/ast.rst:2188
|
||||
#: library/ast.rst:2196
|
||||
msgid "Command-Line Usage"
|
||||
msgstr "Utilisation en ligne de commande"
|
||||
|
||||
#: library/ast.rst:2192
|
||||
#: library/ast.rst:2200
|
||||
msgid ""
|
||||
"The :mod:`ast` module can be executed as a script from the command line. It "
|
||||
"is as simple as:"
|
||||
|
@ -1700,15 +1725,15 @@ msgstr ""
|
|||
"Le module :mod:`ast` peut être exécuté en tant que script en ligne de "
|
||||
"commande. C'est aussi simple que ceci :"
|
||||
|
||||
#: library/ast.rst:2199
|
||||
#: library/ast.rst:2207
|
||||
msgid "The following options are accepted:"
|
||||
msgstr "Les options suivantes sont acceptées :"
|
||||
|
||||
#: library/ast.rst:2205
|
||||
#: library/ast.rst:2213
|
||||
msgid "Show the help message and exit."
|
||||
msgstr "Affiche un message d'aide et quitte."
|
||||
|
||||
#: library/ast.rst:2210
|
||||
#: library/ast.rst:2218
|
||||
msgid ""
|
||||
"Specify what kind of code must be compiled, like the *mode* argument in :"
|
||||
"func:`parse`."
|
||||
|
@ -1716,21 +1741,21 @@ msgstr ""
|
|||
"Précise le type de code à compiler, comme l'argument *mode* de la fonction :"
|
||||
"func:`parse`."
|
||||
|
||||
#: library/ast.rst:2215
|
||||
#: library/ast.rst:2223
|
||||
msgid "Don't parse type comments."
|
||||
msgstr "Désactive la reconnaissance des commentaires de type."
|
||||
|
||||
#: library/ast.rst:2219
|
||||
#: library/ast.rst:2227
|
||||
msgid "Include attributes such as line numbers and column offsets."
|
||||
msgstr ""
|
||||
"Affiche les attributs comme les numéros de lignes et les décalages par "
|
||||
"rapport aux débuts des lignes."
|
||||
|
||||
#: library/ast.rst:2224
|
||||
#: library/ast.rst:2232
|
||||
msgid "Indentation of nodes in AST (number of spaces)."
|
||||
msgstr "Nombre d'espaces pour chaque niveau d'indentation dans la sortie."
|
||||
|
||||
#: library/ast.rst:2226
|
||||
#: library/ast.rst:2234
|
||||
msgid ""
|
||||
"If :file:`infile` is specified its contents are parsed to AST and dumped to "
|
||||
"stdout. Otherwise, the content is read from stdin."
|
||||
|
@ -1739,7 +1764,7 @@ msgstr ""
|
|||
"standard sinon. Le code source est transformé en un arbre syntaxique, qui "
|
||||
"est affiché sur la sortie standard."
|
||||
|
||||
#: library/ast.rst:2232
|
||||
#: library/ast.rst:2240
|
||||
msgid ""
|
||||
"`Green Tree Snakes <https://greentreesnakes.readthedocs.io/>`_, an external "
|
||||
"documentation resource, has good details on working with Python ASTs."
|
||||
|
@ -1748,7 +1773,7 @@ msgstr ""
|
|||
"ressource documentaire externe, qui possède plus de détails pour travailler "
|
||||
"avec des arbres syntaxiques Python."
|
||||
|
||||
#: library/ast.rst:2235
|
||||
#: library/ast.rst:2243
|
||||
msgid ""
|
||||
"`ASTTokens <https://asttokens.readthedocs.io/en/latest/user-guide.html>`_ "
|
||||
"annotates Python ASTs with the positions of tokens and text in the source "
|
||||
|
@ -1760,9 +1785,10 @@ msgstr ""
|
|||
"extraits de code source à partir desquels ils sont produits. Ceci est utile "
|
||||
"pour les outils qui transforment du code source."
|
||||
|
||||
#: library/ast.rst:2240
|
||||
#: library/ast.rst:2248
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"`leoAst.py <http://leoeditor.com/appendices.html#leoast-py>`_ unifies the "
|
||||
"`leoAst.py <https://leoeditor.com/appendices.html#leoast-py>`_ unifies the "
|
||||
"token-based and parse-tree-based views of python programs by inserting two-"
|
||||
"way links between tokens and ast nodes."
|
||||
msgstr ""
|
||||
|
@ -1770,7 +1796,7 @@ msgstr ""
|
|||
"visions des lexèmes et des arbres syntaxiques en insérant des liens "
|
||||
"bidirectionnels entre les deux."
|
||||
|
||||
#: library/ast.rst:2244
|
||||
#: library/ast.rst:2252
|
||||
msgid ""
|
||||
"`LibCST <https://libcst.readthedocs.io/>`_ parses code as a Concrete Syntax "
|
||||
"Tree that looks like an ast tree and keeps all formatting details. It's "
|
||||
|
@ -1781,7 +1807,7 @@ msgstr ""
|
|||
"abstraits et conservent tous les détails du formatage. Cette bibliothèque "
|
||||
"est utile aux outils de réusinage et d'analyse de code."
|
||||
|
||||
#: library/ast.rst:2249
|
||||
#: library/ast.rst:2257
|
||||
msgid ""
|
||||
"`Parso <https://parso.readthedocs.io>`_ is a Python parser that supports "
|
||||
"error recovery and round-trip parsing for different Python versions (in "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2018-10-06 17:04+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -21,15 +21,17 @@ msgstr ""
|
|||
":mod:`asynchat` --- Gestionnaire d'interfaces de connexion (*socket*) "
|
||||
"commande/réponse asynchrones"
|
||||
|
||||
#: library/asynchat.rst:10
|
||||
#: library/asynchat.rst:11
|
||||
msgid "**Source code:** :source:`Lib/asynchat.py`"
|
||||
msgstr "*Code source :** :source:`Lib/asynchat.py`"
|
||||
|
||||
#: library/asynchat.rst:12
|
||||
msgid "Please use :mod:`asyncio` instead."
|
||||
msgstr "Utilisez :mod:`asyncio` à la place."
|
||||
#: library/asynchat.rst:13
|
||||
msgid ""
|
||||
":mod:`asynchat` will be removed in Python 3.12 (see :pep:`PEP 594 "
|
||||
"<594#asynchat>` for details). Please use :mod:`asyncio` instead."
|
||||
msgstr ""
|
||||
|
||||
#: library/asynchat.rst:19
|
||||
#: library/asynchat.rst:22
|
||||
msgid ""
|
||||
"This module exists for backwards compatibility only. For new code we "
|
||||
"recommend using :mod:`asyncio`."
|
||||
|
@ -37,7 +39,7 @@ msgstr ""
|
|||
"Ce module n'existe que pour des raisons de rétrocompatibilité. Pour du code "
|
||||
"nouveau, l'utilisation de :mod:`asyncio` est recommandée."
|
||||
|
||||
#: library/asynchat.rst:22
|
||||
#: library/asynchat.rst:25
|
||||
msgid ""
|
||||
"This module builds on the :mod:`asyncore` infrastructure, simplifying "
|
||||
"asynchronous clients and servers and making it easier to handle protocols "
|
||||
|
@ -64,7 +66,7 @@ msgstr ""
|
|||
"d'objets :class:`asynchat.async_chat` à la réception de requêtes de "
|
||||
"connexion."
|
||||
|
||||
#: library/asynchat.rst:37
|
||||
#: library/asynchat.rst:40
|
||||
msgid ""
|
||||
"This class is an abstract subclass of :class:`asyncore.dispatcher`. To make "
|
||||
"practical use of the code you must subclass :class:`async_chat`, providing "
|
||||
|
@ -79,7 +81,7 @@ msgstr ""
|
|||
"de :class:`asyncore.dispatcher` peuvent être utilisées, même si toutes "
|
||||
"n'ont pas de sens dans un contexte de messages/réponse."
|
||||
|
||||
#: library/asynchat.rst:44
|
||||
#: library/asynchat.rst:47
|
||||
msgid ""
|
||||
"Like :class:`asyncore.dispatcher`, :class:`async_chat` defines a set of "
|
||||
"events that are generated by an analysis of socket conditions after a :c:"
|
||||
|
@ -94,7 +96,7 @@ msgstr ""
|
|||
"objets :class:`async_chat` sont appelées par le *framework* de traitement "
|
||||
"d’événements sans que le programmeur n'ait à le spécifier."
|
||||
|
||||
#: library/asynchat.rst:50
|
||||
#: library/asynchat.rst:53
|
||||
msgid ""
|
||||
"Two class attributes can be modified, to improve performance, or possibly "
|
||||
"even to conserve memory."
|
||||
|
@ -102,15 +104,15 @@ msgstr ""
|
|||
"Deux attributs de classe peuvent être modifiés, pour améliorer la "
|
||||
"performance, ou potentiellement pour économiser de la mémoire."
|
||||
|
||||
#: library/asynchat.rst:56
|
||||
#: library/asynchat.rst:59
|
||||
msgid "The asynchronous input buffer size (default ``4096``)."
|
||||
msgstr "La taille du tampon d'entrées asynchrones (``4096`` par défaut)."
|
||||
|
||||
#: library/asynchat.rst:61
|
||||
#: library/asynchat.rst:64
|
||||
msgid "The asynchronous output buffer size (default ``4096``)."
|
||||
msgstr "La taille du tampon de sorties asynchrones (``4096`` par défaut)."
|
||||
|
||||
#: library/asynchat.rst:63
|
||||
#: library/asynchat.rst:66
|
||||
msgid ""
|
||||
"Unlike :class:`asyncore.dispatcher`, :class:`async_chat` allows you to "
|
||||
"define a :abbr:`FIFO (first-in, first-out)` queue of *producers*. A producer "
|
||||
|
@ -137,7 +139,7 @@ msgstr ""
|
|||
"d'un point d'arrêt, dans in transmission entrante depuis le point d’accès "
|
||||
"distant."
|
||||
|
||||
#: library/asynchat.rst:76
|
||||
#: library/asynchat.rst:79
|
||||
msgid ""
|
||||
"To build a functioning :class:`async_chat` subclass your input methods :"
|
||||
"meth:`collect_incoming_data` and :meth:`found_terminator` must handle the "
|
||||
|
@ -149,7 +151,7 @@ msgstr ""
|
|||
"`found_terminator` doivent gérer la donnée que le canal reçoit de manière "
|
||||
"asynchrone. Ces méthodes sont décrites ci-dessous."
|
||||
|
||||
#: library/asynchat.rst:84
|
||||
#: library/asynchat.rst:87
|
||||
msgid ""
|
||||
"Pushes a ``None`` on to the producer queue. When this producer is popped off "
|
||||
"the queue it causes the channel to be closed."
|
||||
|
@ -157,7 +159,7 @@ msgstr ""
|
|||
"Pousse un ``None`` sur la pile de producteurs. Quand ce producteur est "
|
||||
"récupéré dans la queue, le canal est fermé."
|
||||
|
||||
#: library/asynchat.rst:90
|
||||
#: library/asynchat.rst:93
|
||||
msgid ""
|
||||
"Called with *data* holding an arbitrary amount of received data. The "
|
||||
"default method, which must be overridden, raises a :exc:"
|
||||
|
@ -166,7 +168,7 @@ msgstr ""
|
|||
"Appelé avec *data* contenant une quantité arbitraire de données. La méthode "
|
||||
"par défaut, qui doit être écrasée, lève une :exc:`NotImplementedError`."
|
||||
|
||||
#: library/asynchat.rst:97
|
||||
#: library/asynchat.rst:100
|
||||
msgid ""
|
||||
"In emergencies this method will discard any data held in the input and/or "
|
||||
"output buffers and the producer queue."
|
||||
|
@ -174,7 +176,7 @@ msgstr ""
|
|||
"En cas d'urgence, cette méthode va supprimer tout donnée présente dans les "
|
||||
"tampons d'entrée et/ou de sortie dans la queue de producteurs."
|
||||
|
||||
#: library/asynchat.rst:103
|
||||
#: library/asynchat.rst:106
|
||||
msgid ""
|
||||
"Called when the incoming data stream matches the termination condition set "
|
||||
"by :meth:`set_terminator`. The default method, which must be overridden, "
|
||||
|
@ -186,11 +188,11 @@ msgstr ""
|
|||
"lève une :exc:`NotImplementedError`. Les données entrantes mise en tampon "
|
||||
"devraient être disponible via un attribut de l'instance."
|
||||
|
||||
#: library/asynchat.rst:111
|
||||
#: library/asynchat.rst:114
|
||||
msgid "Returns the current terminator for the channel."
|
||||
msgstr "Renvoie le terminateur courant pour le canal."
|
||||
|
||||
#: library/asynchat.rst:116
|
||||
#: library/asynchat.rst:119
|
||||
msgid ""
|
||||
"Pushes data on to the channel's queue to ensure its transmission. This is "
|
||||
"all you need to do to have the channel write the data out to the network, "
|
||||
|
@ -203,10 +205,11 @@ msgstr ""
|
|||
"schémas plus complexes qui implémentent de la cryptographie et du *chunking* "
|
||||
"par exemple."
|
||||
|
||||
#: library/asynchat.rst:124
|
||||
#: library/asynchat.rst:127
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Takes a producer object and adds it to the producer queue associated with "
|
||||
"the channel. When all currently-pushed producers have been exhausted the "
|
||||
"the channel. When all currently pushed producers have been exhausted the "
|
||||
"channel will consume this producer's data by calling its :meth:`more` method "
|
||||
"and send the data to the remote endpoint."
|
||||
msgstr ""
|
||||
|
@ -215,7 +218,7 @@ msgstr ""
|
|||
"canal consomme les données de ce producteur en appelant sa méthode :meth:"
|
||||
"`more` et envoie les données au point d’accès distant."
|
||||
|
||||
#: library/asynchat.rst:132
|
||||
#: library/asynchat.rst:135
|
||||
msgid ""
|
||||
"Sets the terminating condition to be recognized on the channel. ``term`` "
|
||||
"may be any of three types of value, corresponding to three different ways to "
|
||||
|
@ -225,19 +228,19 @@ msgstr ""
|
|||
"n'importe lequel des trois types de valeurs, correspondant aux trois "
|
||||
"différentes manières de gérer les données entrantes."
|
||||
|
||||
#: library/asynchat.rst:137
|
||||
#: library/asynchat.rst:140
|
||||
msgid "term"
|
||||
msgstr "*term*"
|
||||
|
||||
#: library/asynchat.rst:137
|
||||
#: library/asynchat.rst:140
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: library/asynchat.rst:139
|
||||
#: library/asynchat.rst:142
|
||||
msgid "*string*"
|
||||
msgstr "*string*"
|
||||
|
||||
#: library/asynchat.rst:139
|
||||
#: library/asynchat.rst:142
|
||||
msgid ""
|
||||
"Will call :meth:`found_terminator` when the string is found in the input "
|
||||
"stream"
|
||||
|
@ -245,11 +248,11 @@ msgstr ""
|
|||
"Appellera :meth:`found_terminator` quand la chaîne est trouvée dans le flux "
|
||||
"d'entré"
|
||||
|
||||
#: library/asynchat.rst:142
|
||||
#: library/asynchat.rst:145
|
||||
msgid "*integer*"
|
||||
msgstr "*integer*"
|
||||
|
||||
#: library/asynchat.rst:142
|
||||
#: library/asynchat.rst:145
|
||||
msgid ""
|
||||
"Will call :meth:`found_terminator` when the indicated number of characters "
|
||||
"have been received"
|
||||
|
@ -257,15 +260,15 @@ msgstr ""
|
|||
"Appellera :meth:`found_terminator` quand le nombre de caractère indiqué à "
|
||||
"été reçu"
|
||||
|
||||
#: library/asynchat.rst:146
|
||||
#: library/asynchat.rst:149
|
||||
msgid "``None``"
|
||||
msgstr "``None``"
|
||||
|
||||
#: library/asynchat.rst:146
|
||||
#: library/asynchat.rst:149
|
||||
msgid "The channel continues to collect data forever"
|
||||
msgstr "Le canal continue de collecter des informations indéfiniment"
|
||||
|
||||
#: library/asynchat.rst:150
|
||||
#: library/asynchat.rst:153
|
||||
msgid ""
|
||||
"Note that any data following the terminator will be available for reading by "
|
||||
"the channel after :meth:`found_terminator` is called."
|
||||
|
@ -273,11 +276,11 @@ msgstr ""
|
|||
"Notez que toute donnée située après le marqueur de fin sera accessible en "
|
||||
"lecture par le canal après que :meth:`found_terminator` ai été appelé."
|
||||
|
||||
#: library/asynchat.rst:157
|
||||
#: library/asynchat.rst:160
|
||||
msgid "asynchat Example"
|
||||
msgstr "Exemple *asynchat*"
|
||||
|
||||
#: library/asynchat.rst:159
|
||||
#: library/asynchat.rst:162
|
||||
msgid ""
|
||||
"The following partial example shows how HTTP requests can be read with :"
|
||||
"class:`async_chat`. A web server might create an :class:"
|
||||
|
@ -293,7 +296,7 @@ msgstr ""
|
|||
"lignes vides à la fin des entêtes HTTP, et une option indique que les "
|
||||
"entêtes sont en train d'être lues."
|
||||
|
||||
#: library/asynchat.rst:166
|
||||
#: library/asynchat.rst:169
|
||||
msgid ""
|
||||
"Once the headers have been read, if the request is of type POST (indicating "
|
||||
"that further data are present in the input stream) then the ``Content-Length:"
|
||||
|
@ -305,7 +308,7 @@ msgstr ""
|
|||
"alors l'entête ``Content-Length:`` est utilisé pour définir un marqueur de "
|
||||
"fin numérique pour lire la bonne quantité de donné depuis le canal."
|
||||
|
||||
#: library/asynchat.rst:171
|
||||
#: library/asynchat.rst:174
|
||||
msgid ""
|
||||
"The :meth:`handle_request` method is called once all relevant input has been "
|
||||
"marshalled, after setting the channel terminator to ``None`` to ensure that "
|
||||
|
@ -315,3 +318,6 @@ msgstr ""
|
|||
"données pertinentes ont été rassemblées, après avoir définit le marqueur de "
|
||||
"fin à ``None`` pour s'assurer que toute données étrangères envoyées par le "
|
||||
"client web sont ignorées. ::"
|
||||
|
||||
#~ msgid "Please use :mod:`asyncio` instead."
|
||||
#~ msgstr "Utilisez :mod:`asyncio` à la place."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-04-05 10:05+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -43,7 +43,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:24
|
||||
msgid ":func:`create_task`"
|
||||
msgstr ""
|
||||
msgstr ":func:`create_task`"
|
||||
|
||||
#: library/asyncio-api-index.rst:25
|
||||
msgid "Start an asyncio Task."
|
||||
|
@ -91,7 +91,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:42
|
||||
msgid ":func:`current_task`"
|
||||
msgstr ""
|
||||
msgstr ":func:`current_task`"
|
||||
|
||||
#: library/asyncio-api-index.rst:43
|
||||
msgid "Return the current Task."
|
||||
|
@ -99,7 +99,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:45
|
||||
msgid ":func:`all_tasks`"
|
||||
msgstr ""
|
||||
msgstr ":func:`all_tasks`"
|
||||
|
||||
#: library/asyncio-api-index.rst:46
|
||||
msgid "Return all tasks for an event loop."
|
||||
|
@ -107,7 +107,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:48
|
||||
msgid ":class:`Task`"
|
||||
msgstr ""
|
||||
msgstr ":class:`Task`"
|
||||
|
||||
#: library/asyncio-api-index.rst:49
|
||||
msgid "Task object."
|
||||
|
@ -124,7 +124,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:54
|
||||
msgid ":func:`run_coroutine_threadsafe`"
|
||||
msgstr ""
|
||||
msgstr ":func:`run_coroutine_threadsafe`"
|
||||
|
||||
#: library/asyncio-api-index.rst:55
|
||||
msgid "Schedule a coroutine from another OS thread."
|
||||
|
@ -286,7 +286,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:150
|
||||
msgid ":class:`StreamReader`"
|
||||
msgstr ""
|
||||
msgstr ":class:`StreamReader`"
|
||||
|
||||
#: library/asyncio-api-index.rst:151
|
||||
msgid "High-level async/await object to receive network data."
|
||||
|
@ -294,7 +294,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:153
|
||||
msgid ":class:`StreamWriter`"
|
||||
msgstr ""
|
||||
msgstr ":class:`StreamWriter`"
|
||||
|
||||
#: library/asyncio-api-index.rst:154
|
||||
msgid "High-level async/await object to send network data."
|
||||
|
@ -372,7 +372,7 @@ msgstr "Exceptions"
|
|||
|
||||
#: library/asyncio-api-index.rst:206
|
||||
msgid ":exc:`asyncio.TimeoutError`"
|
||||
msgstr ""
|
||||
msgstr ":exc:`asyncio.TimeoutError`"
|
||||
|
||||
#: library/asyncio-api-index.rst:207
|
||||
msgid ""
|
||||
|
@ -383,7 +383,7 @@ msgstr ""
|
|||
|
||||
#: library/asyncio-api-index.rst:211
|
||||
msgid ":exc:`asyncio.CancelledError`"
|
||||
msgstr ""
|
||||
msgstr ":exc:`asyncio.CancelledError`"
|
||||
|
||||
#: library/asyncio-api-index.rst:212
|
||||
msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`."
|
||||
|
|
|
@ -5,14 +5,15 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"PO-Revision-Date: 2018-10-13 17:38+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-06-06 21:29-0400\n"
|
||||
"Last-Translator: Nicolas Haller <nicolas@haller.im>\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"
|
||||
|
||||
#: library/asyncio-dev.rst:7
|
||||
msgid "Developing with asyncio"
|
||||
|
@ -23,45 +24,54 @@ msgid ""
|
|||
"Asynchronous programming is different from classic \"sequential\" "
|
||||
"programming."
|
||||
msgstr ""
|
||||
"La programmation asynchrone est différente de la programmation "
|
||||
"« séquentielle » classique."
|
||||
|
||||
#: library/asyncio-dev.rst:12
|
||||
msgid ""
|
||||
"This page lists common mistakes and traps and explains how to avoid them."
|
||||
msgstr ""
|
||||
"Cette page liste les pièges et erreurs communs que le développeur pourrait "
|
||||
"rencontrer et décrit comment les éviter."
|
||||
|
||||
#: library/asyncio-dev.rst:19
|
||||
msgid "Debug Mode"
|
||||
msgstr ""
|
||||
msgstr "Mode débogage"
|
||||
|
||||
#: library/asyncio-dev.rst:21
|
||||
msgid ""
|
||||
"By default asyncio runs in production mode. In order to ease the "
|
||||
"development asyncio has a *debug mode*."
|
||||
msgstr ""
|
||||
"Par défaut, *asyncio* s'exécute en mode production. Pour faciliter le "
|
||||
"développement, *asyncio* possède un « mode débogage »."
|
||||
|
||||
#: library/asyncio-dev.rst:24
|
||||
msgid "There are several ways to enable asyncio debug mode:"
|
||||
msgstr ""
|
||||
msgstr "Il existe plusieurs façons d'activer le mode débogage de *asyncio* :"
|
||||
|
||||
#: library/asyncio-dev.rst:26
|
||||
msgid "Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``."
|
||||
msgstr ""
|
||||
"en réglant la variable d’environnement :envvar:`PYTHONASYNCIODEBUG` à ``1`` ;"
|
||||
|
||||
#: library/asyncio-dev.rst:28
|
||||
msgid "Using the :ref:`Python Development Mode <devmode>`."
|
||||
msgstr ""
|
||||
"en utilisant le mode développement de Python (:ref:`Python Development Mode "
|
||||
"<devmode>`) ;"
|
||||
|
||||
#: library/asyncio-dev.rst:30
|
||||
msgid "Passing ``debug=True`` to :func:`asyncio.run`."
|
||||
msgstr ""
|
||||
msgstr "en passant ``debug=True`` à la fonction :func:`asyncio.run` ;"
|
||||
|
||||
#: library/asyncio-dev.rst:32
|
||||
msgid "Calling :meth:`loop.set_debug`."
|
||||
msgstr ""
|
||||
msgstr "en appelant la méthode :meth:`loop.set_debug`."
|
||||
|
||||
#: library/asyncio-dev.rst:34
|
||||
msgid "In addition to enabling the debug mode, consider also:"
|
||||
msgstr ""
|
||||
msgstr "En plus d'activer le mode débogage, vous pouvez également :"
|
||||
|
||||
#: library/asyncio-dev.rst:36
|
||||
msgid ""
|
||||
|
@ -69,6 +79,10 @@ msgid ""
|
|||
"data:`logging.DEBUG`, for example the following snippet of code can be run "
|
||||
"at startup of the application::"
|
||||
msgstr ""
|
||||
"régler le niveau de journalisation pour l'enregistreur d'*asyncio* (:ref:"
|
||||
"`asyncio logger <asyncio-logger>`) à :py:data:`logging.DEBUG` ; par exemple, "
|
||||
"le fragment de code suivant peut être exécuté au démarrage de "
|
||||
"l'application ::"
|
||||
|
||||
#: library/asyncio-dev.rst:42
|
||||
msgid ""
|
||||
|
@ -76,30 +90,44 @@ msgid ""
|
|||
"warnings. One way of doing that is by using the :option:`-W` ``default`` "
|
||||
"command line option."
|
||||
msgstr ""
|
||||
"configurer le module :mod:`warnings` afin d'afficher les avertissements de "
|
||||
"type :exc:`ResourceWarning` ; vous pouvez faire cela en utilisant l'option :"
|
||||
"option:`-W` ``default`` sur la ligne de commande."
|
||||
|
||||
#: library/asyncio-dev.rst:47
|
||||
msgid "When the debug mode is enabled:"
|
||||
msgstr ""
|
||||
msgstr "Lorsque le mode débogage est activé :"
|
||||
|
||||
# long ref
|
||||
#: library/asyncio-dev.rst:49
|
||||
msgid ""
|
||||
"asyncio checks for :ref:`coroutines that were not awaited <asyncio-coroutine-"
|
||||
"not-scheduled>` and logs them; this mitigates the \"forgotten await\" "
|
||||
"pitfall."
|
||||
msgstr ""
|
||||
"*asyncio* surveille les :ref:`coroutines qui ne sont jamais attendues "
|
||||
"<asyncio-coroutine-not-scheduled>` et les journalise ; cela atténue le "
|
||||
"problème des « *await* oubliés » ;"
|
||||
|
||||
# thread safe comment traduire
|
||||
#: library/asyncio-dev.rst:53
|
||||
msgid ""
|
||||
"Many non-threadsafe asyncio APIs (such as :meth:`loop.call_soon` and :meth:"
|
||||
"`loop.call_at` methods) raise an exception if they are called from a wrong "
|
||||
"thread."
|
||||
msgstr ""
|
||||
"beaucoup d'*API* *asyncio* ne prenant pas en charge les fils d'exécution "
|
||||
"multiples (comme les méthodes :meth:`loop.call_soon` et :meth:`loop."
|
||||
"call_at`) lèvent une exception si elles sont appelées par le mauvais fil "
|
||||
"d’exécution ;"
|
||||
|
||||
#: library/asyncio-dev.rst:57
|
||||
msgid ""
|
||||
"The execution time of the I/O selector is logged if it takes too long to "
|
||||
"perform an I/O operation."
|
||||
msgstr ""
|
||||
"le temps d'exécution du sélecteur d'entrée-sortie est journalisé si une "
|
||||
"opération prend trop de temps à s'effectuer ;"
|
||||
|
||||
#: library/asyncio-dev.rst:60
|
||||
msgid ""
|
||||
|
@ -107,10 +135,14 @@ msgid ""
|
|||
"slow_callback_duration` attribute can be used to set the minimum execution "
|
||||
"duration in seconds that is considered \"slow\"."
|
||||
msgstr ""
|
||||
"les fonctions de rappel prenant plus de 100 ms sont journalisées ; "
|
||||
"l'attribut :attr:`loop.slow_callback_duration` peut être utilisé pour "
|
||||
"changer la limite (en secondes) après laquelle une fonction de rappel est "
|
||||
"considérée comme « lent »."
|
||||
|
||||
#: library/asyncio-dev.rst:68
|
||||
msgid "Concurrency and Multithreading"
|
||||
msgstr "Concourance et *multithreading*"
|
||||
msgstr "Programmation concurrente et multi-fils"
|
||||
|
||||
#: library/asyncio-dev.rst:70
|
||||
msgid ""
|
||||
|
@ -120,12 +152,21 @@ msgid ""
|
|||
"``await`` expression, the running Task gets suspended, and the event loop "
|
||||
"executes the next Task."
|
||||
msgstr ""
|
||||
"Une boucle d'évènements s'exécute dans un fil d’exécution (typiquement dans "
|
||||
"le fil principal) et traite toutes les fonctions de rappel (*callbacks*) "
|
||||
"ainsi que toutes les tâches dans ce même fil. Lorsqu'une tâche est en cours "
|
||||
"d'exécution dans la boucle d'évènements, aucune autre tâche ne peut "
|
||||
"s'exécuter dans ce fil. Quand une tâche traite une expression ``await``, "
|
||||
"elle se suspend et laisse la boucle d’évènements traiter la tâche suivante."
|
||||
|
||||
#: library/asyncio-dev.rst:76
|
||||
msgid ""
|
||||
"To schedule a :term:`callback` from another OS thread, the :meth:`loop."
|
||||
"call_soon_threadsafe` method should be used. Example::"
|
||||
msgstr ""
|
||||
"Pour planifier un :term:`rappel <callback>` depuis un autre fil d'exécution "
|
||||
"système, utilisez la méthode :meth:`loop.call_soon_threadsafe`. Par "
|
||||
"exemple ::"
|
||||
|
||||
#: library/asyncio-dev.rst:81
|
||||
msgid ""
|
||||
|
@ -134,6 +175,12 @@ msgid ""
|
|||
"a callback. If there's a need for such code to call a low-level asyncio "
|
||||
"API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::"
|
||||
msgstr ""
|
||||
"La plupart des objets *asyncio* ne sont pas conçus pour être exécutés dans "
|
||||
"un contexte multi-fils (*thread-safe*) mais cela n'est en général pas un "
|
||||
"problème à moins que l'objet ne fasse appel à du code se trouvant en dehors "
|
||||
"d'une tâche ou d'une fonction de rappel. Dans ce dernier cas, si le code "
|
||||
"appelle les *API* bas niveau de *asyncio*, utilisez la méthode :meth:`loop."
|
||||
"call_soon_threadsafe`. Par exemple ::"
|
||||
|
||||
#: library/asyncio-dev.rst:89
|
||||
msgid ""
|
||||
|
@ -141,12 +188,17 @@ msgid ""
|
|||
"`run_coroutine_threadsafe` function should be used. It returns a :class:"
|
||||
"`concurrent.futures.Future` to access the result::"
|
||||
msgstr ""
|
||||
"Pour planifier un objet concurrent depuis un autre fil d'exécution système, "
|
||||
"utilisez :func:`run_coroutine_threadsafe`. Cette fonction renvoie un objet :"
|
||||
"class:`concurrent.futures.Future` pour accéder au résultat ::"
|
||||
|
||||
#: library/asyncio-dev.rst:102
|
||||
msgid ""
|
||||
"To handle signals and to execute subprocesses, the event loop must be run in "
|
||||
"the main thread."
|
||||
msgstr ""
|
||||
"Pour pouvoir traiter les signaux et démarrer des processus enfants, la "
|
||||
"boucle d'évènements doit être exécutée dans le fil principal."
|
||||
|
||||
#: library/asyncio-dev.rst:105
|
||||
msgid ""
|
||||
|
@ -155,23 +207,39 @@ msgid ""
|
|||
"different OS thread without blocking the OS thread that the event loop runs "
|
||||
"in."
|
||||
msgstr ""
|
||||
"La méthode :meth:`loop.run_in_executor` peut être utilisée avec :class:"
|
||||
"`concurrent.futures.ThreadPoolExecutor` pour exécuter du code bloquant dans "
|
||||
"un autre fil d'exécution, afin de ne pas bloquer le fil où la boucle "
|
||||
"d'évènements se trouve."
|
||||
|
||||
#: library/asyncio-dev.rst:110
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"There is currently no way to schedule coroutines or callbacks directly from "
|
||||
"a different process (such as one started with :mod:`multiprocessing`). The :"
|
||||
"ref:`Event Loop Methods <asyncio-event-loop>` section lists APIs that can "
|
||||
"read from pipes and watch file descriptors without blocking the event loop. "
|
||||
"In addition, asyncio's :ref:`Subprocess <asyncio-subprocess>` APIs provide a "
|
||||
"way to start a process and communicate with it from the event loop. Lastly, "
|
||||
"the aforementioned :meth:`loop.run_in_executor` method can also be used with "
|
||||
"a :class:`concurrent.futures.ProcessPoolExecutor` to execute code in a "
|
||||
"ref:`asyncio-event-loop-methods` section lists APIs that can read from pipes "
|
||||
"and watch file descriptors without blocking the event loop. In addition, "
|
||||
"asyncio's :ref:`Subprocess <asyncio-subprocess>` APIs provide a way to start "
|
||||
"a process and communicate with it from the event loop. Lastly, the "
|
||||
"aforementioned :meth:`loop.run_in_executor` method can also be used with a :"
|
||||
"class:`concurrent.futures.ProcessPoolExecutor` to execute code in a "
|
||||
"different process."
|
||||
msgstr ""
|
||||
"Il n'y a actuellement aucune façon de planifier des coroutines ou des "
|
||||
"rappels directement depuis un autre processus (comme, par exemple, un "
|
||||
"processus démarré avec :mod:`multiprocessing`). La section :ref:`Méthodes de "
|
||||
"la boucle d'évènements <asyncio-event-loop>` liste les *API* pouvant lire "
|
||||
"les tubes (*pipes*) et surveiller les descripteurs de fichiers sans bloquer "
|
||||
"la boucle d'évènements. De plus, les *API* :ref:`Subprocess <asyncio-"
|
||||
"subprocess>` d'*asyncio* fournissent un moyen de démarrer un processus et de "
|
||||
"communiquer avec lui depuis la boucle d'évènements. Enfin, la méthode :meth:"
|
||||
"`loop.run_in_executor` peut également être utilisée avec :class:`concurrent."
|
||||
"futures.ProcessPoolExecutor` pour exécuter du code dans un processus "
|
||||
"différent."
|
||||
|
||||
#: library/asyncio-dev.rst:124
|
||||
msgid "Running Blocking Code"
|
||||
msgstr ""
|
||||
msgstr "Exécution de code bloquant"
|
||||
|
||||
#: library/asyncio-dev.rst:126
|
||||
msgid ""
|
||||
|
@ -179,6 +247,11 @@ msgid ""
|
|||
"function performs a CPU-intensive calculation for 1 second, all concurrent "
|
||||
"asyncio Tasks and IO operations would be delayed by 1 second."
|
||||
msgstr ""
|
||||
"Du code bloquant sur des opérations de calcul (*CPU-bound*) ne devrait pas "
|
||||
"être appelé directement. Par exemple, si une fonction effectue des calculs "
|
||||
"utilisant le CPU intensivement pendant une seconde, toutes les tâches "
|
||||
"*asyncio* concurrentes et les opérations d'entrées-sorties seront bloquées "
|
||||
"pour une seconde."
|
||||
|
||||
#: library/asyncio-dev.rst:131
|
||||
msgid ""
|
||||
|
@ -186,6 +259,10 @@ msgid ""
|
|||
"different process to avoid blocking the OS thread with the event loop. See "
|
||||
"the :meth:`loop.run_in_executor` method for more details."
|
||||
msgstr ""
|
||||
"Un exécuteur peut être utilisé pour traiter une tâche dans un fil "
|
||||
"d'exécution ou un processus différent, afin d'éviter de bloquer le fil "
|
||||
"d'exécution système dans lequel se trouve la boucle d’évènements. Voir :meth:"
|
||||
"`loop.run_in_executor` pour plus de détails."
|
||||
|
||||
#: library/asyncio-dev.rst:140
|
||||
msgid "Logging"
|
||||
|
@ -196,56 +273,79 @@ msgid ""
|
|||
"asyncio uses the :mod:`logging` module and all logging is performed via the "
|
||||
"``\"asyncio\"`` logger."
|
||||
msgstr ""
|
||||
"*Asyncio* utilise le module :mod:`logging`. Toutes les opérations de "
|
||||
"journalisation sont effectuées via l'enregistreur (*logger*) ``\"asyncio\"``."
|
||||
|
||||
#: library/asyncio-dev.rst:145
|
||||
msgid ""
|
||||
"The default log level is :py:data:`logging.INFO`, which can be easily "
|
||||
"adjusted::"
|
||||
msgstr ""
|
||||
"Le niveau de journalisation par défaut est :py:data:`logging.INFO` mais peut "
|
||||
"être ajusté facilement ::"
|
||||
|
||||
#: library/asyncio-dev.rst:154
|
||||
msgid "Detect never-awaited coroutines"
|
||||
#: library/asyncio-dev.rst:151
|
||||
msgid ""
|
||||
"Network logging can block the event loop. It is recommended to use a "
|
||||
"separate thread for handling logs or use non-blocking IO. For example, see :"
|
||||
"ref:`blocking-handlers`."
|
||||
msgstr ""
|
||||
|
||||
#: library/asyncio-dev.rst:156
|
||||
#: library/asyncio-dev.rst:159
|
||||
msgid "Detect never-awaited coroutines"
|
||||
msgstr "Détection des coroutines jamais attendues"
|
||||
|
||||
#: library/asyncio-dev.rst:161
|
||||
msgid ""
|
||||
"When a coroutine function is called, but not awaited (e.g. ``coro()`` "
|
||||
"instead of ``await coro()``) or the coroutine is not scheduled with :meth:"
|
||||
"`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::"
|
||||
msgstr ""
|
||||
"Lorsqu'une fonction coroutine est appelée mais qu'elle n'est pas attendue "
|
||||
"(p. ex. ``coro()`` au lieu de ``await coro()``) ou si la coroutine n'est "
|
||||
"pas planifiée avec :meth:`asyncio.create_task`, *asyncio* émet un :exc:"
|
||||
"`RuntimeWarning` ::"
|
||||
|
||||
#: library/asyncio-dev.rst:216
|
||||
#: library/asyncio-dev.rst:221
|
||||
msgid "Output::"
|
||||
msgstr "Sortie ::"
|
||||
|
||||
#: library/asyncio-dev.rst:232
|
||||
#: library/asyncio-dev.rst:237
|
||||
msgid "Output in debug mode::"
|
||||
msgstr "Affichage en mode débogage ::"
|
||||
|
||||
#: library/asyncio-dev.rst:189
|
||||
#: library/asyncio-dev.rst:194
|
||||
msgid ""
|
||||
"The usual fix is to either await the coroutine or call the :meth:`asyncio."
|
||||
"create_task` function::"
|
||||
msgstr ""
|
||||
"La façon habituelle de régler ce problème est d'attendre (*await*) la "
|
||||
"coroutine ou bien d'appeler la fonction :meth:`asyncio.create_task` ::"
|
||||
|
||||
#: library/asyncio-dev.rst:197
|
||||
#: library/asyncio-dev.rst:202
|
||||
msgid "Detect never-retrieved exceptions"
|
||||
msgstr ""
|
||||
msgstr "Détection des exceptions jamais récupérées"
|
||||
|
||||
#: library/asyncio-dev.rst:199
|
||||
#: library/asyncio-dev.rst:204
|
||||
msgid ""
|
||||
"If a :meth:`Future.set_exception` is called but the Future object is never "
|
||||
"awaited on, the exception would never be propagated to the user code. In "
|
||||
"this case, asyncio would emit a log message when the Future object is "
|
||||
"garbage collected."
|
||||
msgstr ""
|
||||
"Si la méthode :meth:`Future.set_exception` est appelée mais que l'objet "
|
||||
"*Future* n'est pas attendu, l'exception n'est pas propagée au code "
|
||||
"utilisateur. Dans ce cas, *asyncio* écrit un message dans le journal lorsque "
|
||||
"l'objet *Future* est récupéré par le ramasse-miette."
|
||||
|
||||
#: library/asyncio-dev.rst:204
|
||||
#: library/asyncio-dev.rst:209
|
||||
msgid "Example of an unhandled exception::"
|
||||
msgstr ""
|
||||
msgstr "Exemple d'une exception non-gérée ::"
|
||||
|
||||
#: library/asyncio-dev.rst:227
|
||||
#: library/asyncio-dev.rst:232
|
||||
msgid ""
|
||||
":ref:`Enable the debug mode <asyncio-debug-mode>` to get the traceback where "
|
||||
"the task was created::"
|
||||
msgstr ""
|
||||
":ref:`Activez le mode débogage <asyncio-debug-mode>` pour récupérer la trace "
|
||||
"d'appels indiquant où la tâche a été créée ::"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,60 +5,70 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
|
||||
"PO-Revision-Date: 2022-08-22 22:57-0400\n"
|
||||
"Last-Translator: Nicolas Haller <nicolas@haller.im>\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.1.1\n"
|
||||
|
||||
#: library/asyncio-future.rst:8
|
||||
msgid "Futures"
|
||||
msgstr "Futurs"
|
||||
msgstr "Futures"
|
||||
|
||||
#: library/asyncio-future.rst:10
|
||||
msgid ""
|
||||
"**Source code:** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/"
|
||||
"base_futures.py`"
|
||||
msgstr ""
|
||||
"**Code source :** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/"
|
||||
"base_futures.py`"
|
||||
|
||||
#: library/asyncio-future.rst:15
|
||||
msgid ""
|
||||
"*Future* objects are used to bridge **low-level callback-based code** with "
|
||||
"high-level async/await code."
|
||||
msgstr ""
|
||||
"Les objets *Future* sont utilisés comme passerelles entre du **code bas "
|
||||
"niveau basé sur des fonctions de rappel** et du code haut niveau utilisant "
|
||||
"*async* et *await*."
|
||||
|
||||
#: library/asyncio-future.rst:20
|
||||
msgid "Future Functions"
|
||||
msgstr ""
|
||||
msgstr "Fonctions pour *Future*"
|
||||
|
||||
#: library/asyncio-future.rst:24
|
||||
msgid "Return ``True`` if *obj* is either of:"
|
||||
msgstr ""
|
||||
msgstr "Renvoie ``True`` si *obj* est soit :"
|
||||
|
||||
#: library/asyncio-future.rst:26
|
||||
msgid "an instance of :class:`asyncio.Future`,"
|
||||
msgstr ""
|
||||
msgstr "une instance de :class:`asyncio.Future` ;"
|
||||
|
||||
#: library/asyncio-future.rst:27
|
||||
msgid "an instance of :class:`asyncio.Task`,"
|
||||
msgstr ""
|
||||
msgstr "une instance de :class:`asyncio.Task` ;"
|
||||
|
||||
#: library/asyncio-future.rst:28
|
||||
msgid "a Future-like object with a ``_asyncio_future_blocking`` attribute."
|
||||
msgstr ""
|
||||
"un objet se comportant comme *Future* et possédant un attribut "
|
||||
"``_asyncio_future_blocking``."
|
||||
|
||||
#: library/asyncio-future.rst:36
|
||||
msgid "Return:"
|
||||
msgstr ""
|
||||
msgstr "Renvoie :"
|
||||
|
||||
#: library/asyncio-future.rst:38
|
||||
msgid ""
|
||||
"*obj* argument as is, if *obj* is a :class:`Future`, a :class:`Task`, or a "
|
||||
"Future-like object (:func:`isfuture` is used for the test.)"
|
||||
msgstr ""
|
||||
"l'objet *obj* tel quel si c'est un objet :class:`Future`, :class:`Task` ou "
|
||||
"se comportant comme un *Future*. :func:`isfuture` est utilisée pour le test ;"
|
||||
|
||||
#: library/asyncio-future.rst:42
|
||||
msgid ""
|
||||
|
@ -66,28 +76,40 @@ msgid ""
|
|||
"`iscoroutine` is used for the test); in this case the coroutine will be "
|
||||
"scheduled by ``ensure_future()``."
|
||||
msgstr ""
|
||||
"un objet :class:`Task` encapsulant *obj* si ce dernier est une coroutine (:"
|
||||
"func:`iscoroutine` est utilisée pour le test). Dans ce cas, l’exécution de "
|
||||
"la coroutine sera planifiée par ``ensure_future()`` ;"
|
||||
|
||||
#: library/asyncio-future.rst:47
|
||||
msgid ""
|
||||
"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable (:"
|
||||
"func:`inspect.isawaitable` is used for the test.)"
|
||||
msgstr ""
|
||||
"un objet :class:`Task` qui attendra (*await*) *obj* si ce dernier peut être "
|
||||
"attendu (*awaitable*). :func:`iscoroutine` est utilisée pour le test."
|
||||
|
||||
#: library/asyncio-future.rst:50
|
||||
msgid "If *obj* is neither of the above a :exc:`TypeError` is raised."
|
||||
msgstr ""
|
||||
"Si *obj* ne correspond à aucun des critères ci-dessus, une exception :exc:"
|
||||
"`TypeError` est levée."
|
||||
|
||||
#: library/asyncio-future.rst:54
|
||||
msgid ""
|
||||
"See also the :func:`create_task` function which is the preferred way for "
|
||||
"creating new Tasks."
|
||||
msgstr ""
|
||||
"Voir aussi la fonction :func:`create_task` qui est la manière privilégiée "
|
||||
"pour créer des nouvelles tâches."
|
||||
|
||||
#: library/asyncio-future.rst:57
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Save a reference to the result of this function, to avoid a task "
|
||||
"disappearing mid execution."
|
||||
"disappearing mid-execution."
|
||||
msgstr ""
|
||||
"Gardez une référence au résultat de cette fonction pour éviter de voir une "
|
||||
"tâche disparaitre au milieu de son exécution."
|
||||
|
||||
#: library/asyncio-future.rst:60
|
||||
msgid "The function accepts any :term:`awaitable` object."
|
||||
|
@ -98,88 +120,115 @@ msgid ""
|
|||
"Deprecation warning is emitted if *obj* is not a Future-like object and "
|
||||
"*loop* is not specified and there is no running event loop."
|
||||
msgstr ""
|
||||
"Un ``DeprecationWarning`` est levé si *obj* n'est pas un objet se comportant "
|
||||
"comme un *Future*, si *loop* n'est pas spécifié et s'il n'y a pas de boucle "
|
||||
"d'évènements en cours d'exécution."
|
||||
|
||||
#: library/asyncio-future.rst:70
|
||||
msgid ""
|
||||
"Wrap a :class:`concurrent.futures.Future` object in a :class:`asyncio."
|
||||
"Future` object."
|
||||
msgstr ""
|
||||
"Encapsule un objet :class:`concurrent.futures.Future` dans un objet :class:"
|
||||
"`asyncio.Future`."
|
||||
|
||||
#: library/asyncio-future.rst:73
|
||||
msgid ""
|
||||
"Deprecation warning is emitted if *future* is not a Future-like object and "
|
||||
"*loop* is not specified and there is no running event loop."
|
||||
msgstr ""
|
||||
"Un ``DeprecationWarning`` est levé si *future* n'est pas un objet se "
|
||||
"comportant comme un *Future*, si *loop* n'est pas spécifié et s'il n'y a pas "
|
||||
"de boucle d'évènements en cours d'exécution."
|
||||
|
||||
#: library/asyncio-future.rst:79
|
||||
msgid "Future Object"
|
||||
msgstr ""
|
||||
msgstr "Objet *Future*"
|
||||
|
||||
#: library/asyncio-future.rst:83
|
||||
msgid ""
|
||||
"A Future represents an eventual result of an asynchronous operation. Not "
|
||||
"thread-safe."
|
||||
msgstr ""
|
||||
"Un *Future* représente le résultat final d'une opération asynchrone. Il "
|
||||
"n'est pas conçu pour pouvoir être utilisé par plusieurs fils d'exécution."
|
||||
|
||||
#: library/asyncio-future.rst:86
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Future is an :term:`awaitable` object. Coroutines can await on Future "
|
||||
"objects until they either have a result or an exception set, or until they "
|
||||
"are cancelled."
|
||||
"are cancelled. A Future can be awaited multiple times and the result is same."
|
||||
msgstr ""
|
||||
"*Future* est un objet qui peut être attendu (:term:`awaitable`). Les "
|
||||
"coroutines peuvent attendre les objets *Future* jusqu'à ce qu'ils renvoient "
|
||||
"un résultat, ils lèvent une exception ou qu'ils soient annulés."
|
||||
|
||||
#: library/asyncio-future.rst:90
|
||||
#: library/asyncio-future.rst:91
|
||||
msgid ""
|
||||
"Typically Futures are used to enable low-level callback-based code (e.g. in "
|
||||
"protocols implemented using asyncio :ref:`transports <asyncio-transports-"
|
||||
"protocols>`) to interoperate with high-level async/await code."
|
||||
msgstr ""
|
||||
"Les *Futures* sont habituellement utilisés pour permettre à du code bas "
|
||||
"niveau basé sur des fonctions de rappel (par exemple : les protocoles "
|
||||
"utilisant *asyncio* :ref:`transports <asyncio-transports-protocols>`) "
|
||||
"d'interagir avec du code haut niveau utilisant *async* et *await*."
|
||||
|
||||
#: library/asyncio-future.rst:95
|
||||
#: library/asyncio-future.rst:96
|
||||
msgid ""
|
||||
"The rule of thumb is to never expose Future objects in user-facing APIs, and "
|
||||
"the recommended way to create a Future object is to call :meth:`loop."
|
||||
"create_future`. This way alternative event loop implementations can inject "
|
||||
"their own optimized implementations of a Future object."
|
||||
msgstr ""
|
||||
"Une bonne règle empirique est de ne jamais exposer des objets *Future* dans "
|
||||
"des *API* destinées à l'utilisateur. La façon privilégiée de créer des "
|
||||
"objets *Future* est d'appeler la méthode :meth:`loop.create_future`. Cela "
|
||||
"permet aux implémentations alternatives de la boucle d'évènements d'utiliser "
|
||||
"leur propre implémentation de l'objet *Future*."
|
||||
|
||||
#: library/asyncio-future.rst:101
|
||||
#: library/asyncio-future.rst:102
|
||||
msgid "Added support for the :mod:`contextvars` module."
|
||||
msgstr "Ajout du support du module :mod:`contextvars`."
|
||||
|
||||
#: library/asyncio-future.rst:104
|
||||
#: library/asyncio-future.rst:105
|
||||
msgid ""
|
||||
"Deprecation warning is emitted if *loop* is not specified and there is no "
|
||||
"running event loop."
|
||||
msgstr ""
|
||||
"Un ``DeprecationWarning`` est levé si *loop* n'est pas spécifié et s'il n'y "
|
||||
"a pas de boucle d'évènements en cours d'exécution."
|
||||
|
||||
#: library/asyncio-future.rst:110
|
||||
#: library/asyncio-future.rst:111
|
||||
msgid "Return the result of the Future."
|
||||
msgstr ""
|
||||
msgstr "Renvoie le résultat du *Future*."
|
||||
|
||||
#: library/asyncio-future.rst:112
|
||||
#: library/asyncio-future.rst:113
|
||||
msgid ""
|
||||
"If the Future is *done* and has a result set by the :meth:`set_result` "
|
||||
"method, the result value is returned."
|
||||
msgstr ""
|
||||
"Si le *Future* est « terminé » et a un résultat défini par la méthode :meth:"
|
||||
"`set_result`, ce résultat est renvoyé."
|
||||
|
||||
#: library/asyncio-future.rst:115
|
||||
#: library/asyncio-future.rst:116
|
||||
msgid ""
|
||||
"If the Future is *done* and has an exception set by the :meth:"
|
||||
"`set_exception` method, this method raises the exception."
|
||||
msgstr ""
|
||||
"Si le *Future* est « terminé » et a une exception définie par la méthode :"
|
||||
"meth:`set_exception`, cette méthode lève l'exception."
|
||||
|
||||
#: library/asyncio-future.rst:206
|
||||
#, fuzzy
|
||||
#: library/asyncio-future.rst:207
|
||||
msgid ""
|
||||
"If the Future has been *cancelled*, this method raises a :exc:"
|
||||
"`CancelledError` exception."
|
||||
msgstr ""
|
||||
"Si la tâche a été *annulée*, cette méthode lève une exception :exc:"
|
||||
"Si le *Future* a été *annulé*, cette méthode lève une exception :exc:"
|
||||
"`CancelledError`."
|
||||
|
||||
#: library/asyncio-future.rst:121
|
||||
#, fuzzy
|
||||
#: library/asyncio-future.rst:122
|
||||
msgid ""
|
||||
"If the Future's result isn't yet available, this method raises a :exc:"
|
||||
"`InvalidStateError` exception."
|
||||
|
@ -187,166 +236,206 @@ msgstr ""
|
|||
"Si le résultat de la tâche n'est pas encore disponible, cette méthode lève "
|
||||
"une exception :exc:`InvalidStateError`."
|
||||
|
||||
#: library/asyncio-future.rst:126
|
||||
#, fuzzy
|
||||
#: library/asyncio-future.rst:127
|
||||
msgid "Mark the Future as *done* and set its result."
|
||||
msgstr "Marque le futur comme terminé et définit son résultat."
|
||||
msgstr "Marque le *Future* comme « terminé » et définit son résultat."
|
||||
|
||||
#: library/asyncio-future.rst:135
|
||||
#: library/asyncio-future.rst:136
|
||||
msgid ""
|
||||
"Raises a :exc:`InvalidStateError` error if the Future is already *done*."
|
||||
msgstr ""
|
||||
"Lève une erreur :exc:`InvalidStateError` si le *Future* est déjà « terminé »."
|
||||
|
||||
#: library/asyncio-future.rst:133
|
||||
#, fuzzy
|
||||
#: library/asyncio-future.rst:134
|
||||
msgid "Mark the Future as *done* and set an exception."
|
||||
msgstr "Marque le futur comme terminé et définit une exception."
|
||||
msgstr "Marque le *Future* comme « terminé » et définit une exception."
|
||||
|
||||
#: library/asyncio-future.rst:140
|
||||
#: library/asyncio-future.rst:141
|
||||
msgid "Return ``True`` if the Future is *done*."
|
||||
msgstr ""
|
||||
msgstr "Renvoie ``True`` si le *Future* est « terminé »."
|
||||
|
||||
#: library/asyncio-future.rst:142
|
||||
#: library/asyncio-future.rst:143
|
||||
msgid ""
|
||||
"A Future is *done* if it was *cancelled* or if it has a result or an "
|
||||
"exception set with :meth:`set_result` or :meth:`set_exception` calls."
|
||||
msgstr ""
|
||||
"Un *Future* est « terminé » s'il a été « annulé » ou si un résultat ou une "
|
||||
"exception a été définie par les méthodes :meth:`set_result` ou :meth:"
|
||||
"`set_exception`."
|
||||
|
||||
#: library/asyncio-future.rst:148
|
||||
#: library/asyncio-future.rst:149
|
||||
msgid "Return ``True`` if the Future was *cancelled*."
|
||||
msgstr ""
|
||||
msgstr "Renvoie ``True`` si le *Future* a été « annulé »."
|
||||
|
||||
#: library/asyncio-future.rst:150
|
||||
#: library/asyncio-future.rst:151
|
||||
msgid ""
|
||||
"The method is usually used to check if a Future is not *cancelled* before "
|
||||
"setting a result or an exception for it::"
|
||||
msgstr ""
|
||||
"Cette méthode est habituellement utilisée pour vérifier qu'un *Future* n'est "
|
||||
"pas « annulé » avant de définir un résultat ou une exception pour celui-ci ::"
|
||||
|
||||
#: library/asyncio-future.rst:158
|
||||
#: library/asyncio-future.rst:159
|
||||
msgid "Add a callback to be run when the Future is *done*."
|
||||
msgstr ""
|
||||
"Ajoute une fonction de rappel à exécuter lorsque le *Future* est « terminé »."
|
||||
|
||||
#: library/asyncio-future.rst:160
|
||||
#: library/asyncio-future.rst:161
|
||||
msgid "The *callback* is called with the Future object as its only argument."
|
||||
msgstr ""
|
||||
"L'argument *callback* est appelé avec l'objet *Future* comme seul argument."
|
||||
|
||||
#: library/asyncio-future.rst:163
|
||||
#: library/asyncio-future.rst:164
|
||||
msgid ""
|
||||
"If the Future is already *done* when this method is called, the callback is "
|
||||
"scheduled with :meth:`loop.call_soon`."
|
||||
msgstr ""
|
||||
"Si le *Future* est déjà « terminé » lorsque la méthode est appelée, "
|
||||
"l'exécution de la fonction de rappel est planifiée avec :meth:`loop."
|
||||
"call_soon`."
|
||||
|
||||
#: library/asyncio-future.rst:166
|
||||
#: library/asyncio-future.rst:167
|
||||
msgid ""
|
||||
"An optional keyword-only *context* argument allows specifying a custom :"
|
||||
"class:`contextvars.Context` for the *callback* to run in. The current "
|
||||
"context is used when no *context* is provided."
|
||||
msgstr ""
|
||||
"L'argument nommé optionnel *context* permet de spécifier une classe :class:"
|
||||
"`contextvars.Context` personnalisée dans laquelle la fonction de rappel "
|
||||
"s’exécutera. Le contexte actuel est utilisé si *context* n'est pas fourni."
|
||||
|
||||
#: library/asyncio-future.rst:170
|
||||
#: library/asyncio-future.rst:171
|
||||
msgid ""
|
||||
":func:`functools.partial` can be used to pass parameters to the callback, e."
|
||||
"g.::"
|
||||
msgstr ""
|
||||
":func:`functools.partial` peut être utilisée pour passer des paramètres à la "
|
||||
"fonction de rappel ::"
|
||||
|
||||
#: library/asyncio-future.rst:177
|
||||
#: library/asyncio-future.rst:178
|
||||
msgid ""
|
||||
"The *context* keyword-only parameter was added. See :pep:`567` for more "
|
||||
"details."
|
||||
msgstr ""
|
||||
"Ajout de l'argument nommé *context*. Voir :pep:`567` pour plus de détails."
|
||||
|
||||
#: library/asyncio-future.rst:183
|
||||
#: library/asyncio-future.rst:184
|
||||
msgid "Remove *callback* from the callbacks list."
|
||||
msgstr "Retire *callback* de la liste de fonctions de rappel."
|
||||
|
||||
#: library/asyncio-future.rst:185
|
||||
#: library/asyncio-future.rst:186
|
||||
msgid ""
|
||||
"Returns the number of callbacks removed, which is typically 1, unless a "
|
||||
"callback was added more than once."
|
||||
msgstr ""
|
||||
"Renvoie le nombre de fonctions de rappel retiré. La méthode renvoie "
|
||||
"généralement 1, à moins que la fonction ait été ajoutée plus d'une fois."
|
||||
|
||||
#: library/asyncio-future.rst:190
|
||||
#: library/asyncio-future.rst:191
|
||||
msgid "Cancel the Future and schedule callbacks."
|
||||
msgstr ""
|
||||
msgstr "Annule le *Future* et planifie l'exécution des fonctions de rappel."
|
||||
|
||||
#: library/asyncio-future.rst:192
|
||||
#: library/asyncio-future.rst:193
|
||||
msgid ""
|
||||
"If the Future is already *done* or *cancelled*, return ``False``. Otherwise, "
|
||||
"change the Future's state to *cancelled*, schedule the callbacks, and return "
|
||||
"``True``."
|
||||
msgstr ""
|
||||
"Si le *Future* est déjà « terminé » ou « annulé », renvoie ``False``. "
|
||||
"Autrement, change l'état du *Future* à « annulé », planifie l'exécution des "
|
||||
"fonctions de rappel et renvoie ``True``."
|
||||
|
||||
#: library/asyncio-future.rst:196
|
||||
msgid "Added the ``msg`` parameter."
|
||||
msgstr ""
|
||||
#: library/asyncio-future.rst:197
|
||||
msgid "Added the *msg* parameter."
|
||||
msgstr "Ajout du paramètre *msg*."
|
||||
|
||||
#: library/asyncio-future.rst:201
|
||||
#: library/asyncio-future.rst:202
|
||||
msgid "Return the exception that was set on this Future."
|
||||
msgstr ""
|
||||
msgstr "Renvoie l'exception définie pour ce *Future*."
|
||||
|
||||
#: library/asyncio-future.rst:203
|
||||
#: library/asyncio-future.rst:204
|
||||
msgid ""
|
||||
"The exception (or ``None`` if no exception was set) is returned only if the "
|
||||
"Future is *done*."
|
||||
msgstr ""
|
||||
"L'exception, ou ``None`` si aucune exception n'a été définie, est renvoyé "
|
||||
"seulement si le *Future* est « terminé »."
|
||||
|
||||
#: library/asyncio-future.rst:209
|
||||
#, fuzzy
|
||||
#: library/asyncio-future.rst:210
|
||||
msgid ""
|
||||
"If the Future isn't *done* yet, this method raises an :exc:"
|
||||
"`InvalidStateError` exception."
|
||||
msgstr ""
|
||||
"Si la tâche n'est pas encore *achevée*, cette méthode lève une exception :"
|
||||
"exc:`InvalidStateError`."
|
||||
"Si le *Future* n'est pas encore « terminé », cette méthode lève une "
|
||||
"exception :exc:`InvalidStateError`."
|
||||
|
||||
#: library/asyncio-future.rst:214
|
||||
#: library/asyncio-future.rst:215
|
||||
msgid "Return the event loop the Future object is bound to."
|
||||
msgstr ""
|
||||
msgstr "Renvoie la boucle d'évènements à laquelle le *Future* est attaché."
|
||||
|
||||
#: library/asyncio-future.rst:221
|
||||
#: library/asyncio-future.rst:222
|
||||
msgid ""
|
||||
"This example creates a Future object, creates and schedules an asynchronous "
|
||||
"Task to set result for the Future, and waits until the Future has a result::"
|
||||
msgstr ""
|
||||
"Cet exemple crée un objet *Future*, puis crée et planifie l’exécution d'une "
|
||||
"tâche asynchrone qui définira le résultat du *Future* et attend jusqu'à ce "
|
||||
"que le *Future* ait un résultat ::"
|
||||
|
||||
#: library/asyncio-future.rst:256
|
||||
#: library/asyncio-future.rst:257
|
||||
msgid ""
|
||||
"The Future object was designed to mimic :class:`concurrent.futures.Future`. "
|
||||
"Key differences include:"
|
||||
msgstr ""
|
||||
"L'objet *Future* est conçu pour imiter la classe :class:`concurrent.futures."
|
||||
"Future`. Les principales différences sont :"
|
||||
|
||||
#: library/asyncio-future.rst:259
|
||||
#: library/asyncio-future.rst:260
|
||||
msgid ""
|
||||
"unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot "
|
||||
"be awaited."
|
||||
msgstr ""
|
||||
"contrairement au *Future asyncio*, les instances de :class:`concurrent."
|
||||
"futures.Future` ne peuvent pas être attendues ;"
|
||||
|
||||
#: library/asyncio-future.rst:262
|
||||
#: library/asyncio-future.rst:263
|
||||
msgid ""
|
||||
":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not "
|
||||
"accept the *timeout* argument."
|
||||
msgstr ""
|
||||
":meth:`asyncio.Future.result` et :meth:`asyncio.Future.exception` "
|
||||
"n'acceptent pas d'argument *timeout* ;"
|
||||
|
||||
#: library/asyncio-future.rst:265
|
||||
#: library/asyncio-future.rst:266
|
||||
msgid ""
|
||||
":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :"
|
||||
"exc:`InvalidStateError` exception when the Future is not *done*."
|
||||
msgstr ""
|
||||
":meth:`asyncio.Future.result` et :meth:`asyncio.Future.exception` lèvent une "
|
||||
"exception :exc:`InvalidStateError` lorsque le *Future* n'est pas "
|
||||
"« terminé » ;"
|
||||
|
||||
#: library/asyncio-future.rst:269
|
||||
#: library/asyncio-future.rst:270
|
||||
msgid ""
|
||||
"Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not "
|
||||
"called immediately. They are scheduled with :meth:`loop.call_soon` instead."
|
||||
msgstr ""
|
||||
"les fonctions de rappel enregistrées à l'aide de :meth:`asyncio.Future."
|
||||
"add_done_callback` ne sont pas exécutées immédiatement mais planifiées avec :"
|
||||
"meth:`loop.call_soon` ;"
|
||||
|
||||
#: library/asyncio-future.rst:273
|
||||
#: library/asyncio-future.rst:274
|
||||
msgid ""
|
||||
"asyncio Future is not compatible with the :func:`concurrent.futures.wait` "
|
||||
"and :func:`concurrent.futures.as_completed` functions."
|
||||
msgstr ""
|
||||
"les *Future asyncio* ne sont pas compatibles avec les fonctions :func:"
|
||||
"`concurrent.futures.wait` et :func:`concurrent.futures.as_completed` ;"
|
||||
|
||||
#: library/asyncio-future.rst:277
|
||||
#: library/asyncio-future.rst:278
|
||||
msgid ""
|
||||
":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :"
|
||||
"func:`concurrent.futures.cancel` does not."
|
||||
msgstr ""
|
||||
":meth:`asyncio.Future.cancel` accepte un argument optionnel ``msg`` mais "
|
||||
"pas :func:`concurrent.futures.cancel`."
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue