Compare commits

..

60 Commits
3.11 ... 3.10

Author SHA1 Message Date
Julien Palard 99f2135a89
Hello sphinx-lint. (#1913) 2022-11-14 15:25:17 +01:00
DERICK TEMFACK e552e4f391
ftplib (#1911) 2022-10-27 21:35:07 +02:00
Julien Palard 20eba35774
Make merge (#1912)
* Make merge

* Try to have the same build locally to reproduce an issue.
2022-10-19 14:43:37 +02:00
Julien Palard 900b88915a
Fix issues found by sphinx-lint 2022-10-18 12:38:19 +02:00
Julien Palard 0a1983e280
Drop powrap from make verifs. (#1909)
Closes #1841
2022-10-16 10:34:53 +02:00
Julien Palard 27b150c990
pomerge (#1885) 2022-09-18 12:33:39 +02:00
Philippe Galvan c19994718d
Complément de traduction library/random.po (#1906)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-08-30 09:34:18 +02:00
Nicolas Haller 1961c8af9b
Traduction de library/asyncio-future.po (#1907)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-08-30 09:31:35 +02:00
Jean Abou-Samra fe714889f3
Quelques fuzzies et mini-trads (#1902)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-07-09 08:14:15 +02:00
Julien Palard c1f223aff0
FIX: Turtle module constant should not be translated. (#1901)
* FIX: Turtle module constant should not be translated.

* Oops default roles.
2022-07-07 13:43:44 +02:00
Jean Abou-Samra e6f2a01f46
Reformulation dans glossary.po (#1899)
Pour des raisons que je n'ai pas creusées, la syntaxe :pep:`quelque
chose <numéro>` est une extension de Sphinx, qui n'est pas présente
dans Docutils. Cela gêne pospell, qui dit « (ERROR/3) PEP number must
be a number from 0 to 9999; "585 <585>" is invalid. »
2022-06-19 15:28:05 +02:00
Nicolas Haller 8001d30342
Traduction de library/asyncio-dev.po (#1891)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-06-07 07:30:19 +02:00
Jean-Christophe Helary b48e326e75
petites fautes (#1894) 2022-06-02 08:56:30 +02:00
Nils Van Zuijlen 168550f460
Traduction de library/decimal.po (#1660)
Co-authored-by: Julien Palard <julien@palard.fr>
Co-authored-by: Vincent Poulailleau <vpoulailleau@gmail.com>
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Co-authored-by: Mathieu Dupuy <mathieu.dupuy@critizr.com>
Co-authored-by: Jean Abou Samra <jean@abou-samra.fr>

Merci à tous.
2022-05-30 12:13:38 +02:00
Christophe Nanteuil 0b030e224d
Traduction de library/argparse.po (#1892)
* fuzzies
* coquille pour le paragraphe concernant le paramètre type
2022-05-30 11:13:22 +02:00
Jules Lasne 37da9a8706
Started translating library/os.po (#1531)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Co-authored-by: Mathieu Dupuy <mathieu.dupuy@critizr.com>
2022-05-27 15:06:27 +02:00
Mathieu Dupuy 0181416d7f
faq: 2 fuzzies (#1889)
* faq: 2 fuzzies

Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-05-27 12:51:02 +02:00
Antoine a183a44f3c
library/logging.handlers (#1797)
Co-authored-by: PhilippeGalvan <git.philippeG@outlook.com>
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
2022-05-27 12:07:23 +02:00
Jean Abou-Samra 1e8e99b91b
Traduction de library/zoneinfo.po (#1879)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Loc Cosnier <loc.cosnier@pm.me>
2022-05-27 10:48:01 +02:00
Jean Abou-Samra 86f8d73230
Quelques fuzzies (#1873)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-05-27 10:40:48 +02:00
Mathieu Dupuy 2c827d82d1
using/windows.po (#1886)
Co-authored-by: Vincent Poulailleau <vpoulailleau@gmail.com>
2022-05-26 23:45:44 +02:00
Mathieu Dupuy 583c3fad3b
tutorial: quelques fuzzies (#1888)
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-05-26 23:31:42 +02:00
Melcore 229bcd578e
Traduction de library/stat.po (#1748)
Co-authored-by: Julien Palard <julien@palard.fr>
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
2022-05-24 18:50:30 +02:00
Mathieu Dupuy 0a16b65078
using/mac.po: 1 fuzzy (#1887) 2022-05-24 18:34:23 +02:00
PhilippeGalvan 5ca18fea1b
Relecture complète et complément de library/csv.po (#1798)
Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com>
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
Co-authored-by: Julien Palard <julien@palard.fr>
2022-05-23 14:19:30 +02:00
Jean Abou Samra 9a4893a322 Make merge 2022-05-23 01:36:45 +02:00
Jean Abou Samra 3fc81dd82c merge.py: Use git ls-files to get list of downstream PO files
The previous method could lead to problems if a dependency installed
within venv/ shipped with its own PO files.
2022-05-23 01:33:40 +02:00
Mathieu Dupuy 7b5494304c
library/json.po: fuzzies (#1878) 2022-05-21 13:08:37 +02:00
Mathieu Dupuy ea615bb65f
whatsnew/3.10.po: fuzzies (#1875)
Co-authored-by: Vincent Poulailleau <vpoulailleau@gmail.com>
2022-05-21 13:07:46 +02:00
Nicolas Haller f30d3f2c7b
Traduction de library/socketserver.po (#1872)
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-05-21 13:03:47 +02:00
Mathieu Dupuy 0546f86f47
library/csv.po: some fuzzies + new blocks (#1877)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-05-21 10:13:35 +02:00
Loc Cosnier 29fd9f86d6
Traduction de library/datetime.po (#1578)
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Mathieu Dupuy <mathieu.dupuy@critizr.com>
2022-05-20 14:48:15 +02:00
Mathieu Dupuy 3374b5df2c
library/errors.po: 1 fuzzy (#1876) 2022-05-20 11:34:15 +02:00
Loc Cosnier d9b20359bf
Traduction de library/stdtypes.po (#1576)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Co-authored-by: Mathieu Dupuy <mathieu.dupuy@critizr.com>
2022-05-20 09:06:14 +02:00
Vincent Poulailleau fe69851029 auto fill reStructuredText-only strings 2022-05-19 09:36:06 +02:00
Mathieu Dupuy 7cc3ab279d
howto: fuzzies (#1869) 2022-05-12 20:42:08 +02:00
Mathieu Dupuy fbad65ec29
library/path.po: entrées manquantes (#1868)
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-05-11 18:40:05 +02:00
Mathieu Dupuy 9b6d6e2585
fuzzy + wrapping (#1866)
le changement upstream est le retrait de la majuscule au mot "Internet" , qui n'est pas repris dans la trad française
2022-05-09 14:40:08 +02:00
Thierry Pellé c4cc2a5a28
Traduction de library/html.parser.po (#1864)
Co-Authored-By: Jean Abou Samra <jean@abou-samra.fr>
2022-05-08 09:58:49 +02:00
Christophe Nanteuil a0c7fabc13
Reprise des fuzzies. RAS (#1865) 2022-05-07 16:38:04 +02:00
Nicolas Haller 5025581da6
Traduction de library/syslog.po (#1862)
Marque une entrée de library/syslog.po comme fuzzy.

Une demande d'éclaircissement sur la doc originale a été ouverte.
python/cpython#92412

Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-05-07 10:27:16 +02:00
edith 720a28c138
library/http.server.po (#1853)
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
Co-authored-by: Jimmy Lamothe <jmichel.dev@gmail.com>
2022-05-03 13:32:30 +02:00
Christophe Nanteuil 2fb8b34a03
Traduction de howto/logging-cookbook (#1850)
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-04-30 16:41:46 +02:00
Mathieu Dupuy 28a1fc2581
unfuzzy a string (#1858)
Le changement upstream est une correction de grammaire : 63298930fb
2022-04-29 18:45:23 +02:00
Thierry Pellé b0ab49b4bf
Restructuration de Contributing.rst (#1848)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-04-28 14:20:14 +02:00
freallearn b76b03017b
Traduction partielle library/glob.po (#1815)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Jean Abou Samra <jean@abou-samra.fr>
2022-04-28 00:35:34 +02:00
Mathieu Dupuy 50d8aa8ff9
unfuzz an entry (#1856)
le changement en anglais upstream n'affecte pas la traduction française (python/cpython@9a0d941df4)
2022-04-26 18:15:03 +02:00
Christophe Nanteuil 3c0f0166ec
fuzzys et padpo (#1855) 2022-04-26 18:14:10 +02:00
Jean-Michel Laprise 50bd7b27d6
Vérifications de fuzzy et corrections de style sur tutorial/controlflow.po (#1849) 2022-04-26 17:47:26 +02:00
Yannick Gingras cff92cc17a
Partie finale de library/exceptions.po (#1845)
Co-authored-by: Jean-Michel Laprise <jmichel.dev@gmail.com>
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-04-18 22:44:15 +02:00
Emmanuel Leblond e805151949
Correction de contresens de traduction de os.utime (#1851) 2022-04-15 19:10:19 +02:00
Jean-Michel Laprise d9cb93b14e
Mise à jour de copyright.po (#1843) 2022-04-07 21:50:11 +02:00
Thierry Pellé 5460f47129
Library http client.po (#1826)
* essai traduction

* Traduction de fuzzies. Ajout de traductions manquantes

* Traduction de l'introduction et de la classe HTTPConnect

* Suite de la traduction. J'ai sauté un paragraphe sur la sécurité dont je ne maîtrisais pas le vocabulaire

* Suite de la traduction et correction d'un barbarisme dans whatsnew/3.10.po

* Suite traduction

* Récupération ancienne version de whatsnew/3.10.po

* Suite traduction

* Fin de traduction. Attente de relecture personnelle

* Début de relecture

* Fin de relecture

* Modif loggin

* Mise à jour library/http.client.po

Prise en compte commentaires

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Update library/http.client.po

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Make merge

* Apply suggestions from code review

Relecture finale pour corriger toutes les imperfections.

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Remise de whatsnew/3.10.po à l'état 3.10

* Remise de logging à 3.10

* powrap library/http.client.po

* Faute de frappe dans http.client.po

* Espaces insécables

* Correction de fautes de frappe trouvées par padpo

* Apply suggestions from code review

Prise en compte des remarques.

Co-authored-by: Julien Palard <julien@palard.fr>

* Apply suggestions from code review

Validation des propositions.

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>

* Application de powrap

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Co-authored-by: Jean Abou Samra <jean@abou-samra.fr>
2022-04-07 14:53:24 +02:00
Jean Abou Samra cf90440fa3 Ajout des modules rendus obsolètes par la PEP 594 à EXCLUDED
Il n'est pas très utile de traduire ces fichiers, puisqu'ils seront
supprimés (avec les modules correspondants) en 2.12.
2022-04-05 23:04:26 +02:00
Julien Palard b8eb0ae207
Make merge 3.10 (#1837)
* Make merge

* Whine about lines too long only if line contains a space.
2022-04-05 12:13:01 +02:00
Yannick Gingras f75fa85f4a
traduction finale de library/atexit.po (#1832)
Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2022-04-04 14:01:42 +02:00
Yannick Gingras 2d202f482a
traduction finale de library/tarfile.po (#1830)
Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
2022-04-04 14:00:32 +02:00
Julien Palard 3df1955d81 Wrapping comments. 2022-03-23 18:57:04 +01:00
Julien Palard e82724d296 Check line length without checking exact wrapping.
Problem is: gettext changed it line wrapping algorithm, so we can no
longer rely on everyone having the same wrapping: some will still get
the old one for a very long time, while other will have the new one.
2022-03-23 18:57:04 +01:00
Julien Palard 518292adbb Make merge 2022-03-23 18:57:04 +01:00
380 changed files with 33631 additions and 50830 deletions

2
.gitattributes vendored
View File

@ -7,5 +7,5 @@
# chmod a+x ~/.local/bin/podiff
# git config diff.podiff.textconv podiff
*.po diff=podiff merge=po3way
*.po diff=podiff
*.pot diff=podiff

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
liberapay: python-docs-fr

12
.github/ISSUE_TEMPLATE/r-servation.md vendored Normal file
View File

@ -0,0 +1,12 @@
---
name: Réservation
about: Juste réserver un fichier po (je veux être le seul à travailler dessus).
title: Je travaille sur DOSSIER/FICHIER.po
labels: reservation
assignees: ''
---
<!---
Attention, une réservation n'est effective qu'un mois, renouvelez-la si nécessaire en commentant dessus.
-->

15
.github/problem-matchers/pospell.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
"problemMatcher": [
{
"owner": "pospell",
"pattern": [
{
"regexp": "^(.*):(\\d+):(.*)$",
"file": 1,
"line": 2,
"message": 3
}
]
}
]
}

26
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,26 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- meta
- on hold
- EASY
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
Cette issue/pull request a été automatiquement marquée comme innactive car elle n'a pas eu d'activité récente.
Elle sera fermée si il ne se passe rien dans les 14 jours qui viennent. Merci pour votre contribution
This issue/pull request has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: true
# Comment to post when removing the stale label.
unmarkComment: >
Cette issue n'est plus innactive !
This issue isn't stale anymore!

101
.github/workflows/tests.yml vendored Normal file
View File

@ -0,0 +1,101 @@
---
name: Tests
on:
push:
branches:
- '*.*'
pull_request:
branches:
- '*.*'
jobs:
checks:
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
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'
name: ${{ matrix.tool.name }} (${{ matrix.tool.package }})
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Register problem matchers
run: echo "::add-matcher::.github/problem-matchers/pospell.json"
- uses: lots0logs/gh-action-get-changed-files@2.1.4
id: changed_files
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install ${{ matrix.tool.package }}
run: |
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), ' ') }}
MODIFIED_FILES: ${{ join(fromJSON(steps.changed_files.outputs.modified), ' ') }}
run: |
CHANGED_PO_FILES=$(printf "%s %s\n" "$ADDED_FILES" "$MODIFIED_FILES" | tr ' ' '\n' | grep '.po$'; true)
if [ -n "$CHANGED_PO_FILES" ]
then
echo "Running on:" $CHANGED_PO_FILES
${{ matrix.tool.command }}
else
echo "No changed po files, nothing to check."
fi
sphinx:
name: 'Génération de la doc (sphinx)'
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: '~/cpython/'
key: '1'
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: '1'
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Clone cpython
run: |
if [ ! -d ~/cpython ]; then
git clone https://github.com/python/cpython ~/cpython/
else
git -C ~/cpython fetch
fi
- name: Prepare build hierarchy
run: |
mkdir -p ~/locales/fr/LC_MESSAGES/
cp -uv --parents *.po */*.po ~/locales/fr/LC_MESSAGES/
git -C ~/cpython checkout $(grep ^CPYTHON_CURRENT_COMMIT Makefile| cut -d= -f2)
- name: Prepare venv
run: |
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

View File

@ -110,51 +110,61 @@ ce qui suit après vous être assuré que ``~/.local/bin/`` se trouve dans votre
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.
.. _cloner:
Première étape : créer et peupler son dépôt
===========================================
Si ce n'est pas déjà fait, créez un compte sur `le serveur Git de
l'AFPy <https://git.afpy.org/>`_. Puis, allez sur le dépôt
`python-docs-fr <https://git.afpy.org/AFPy/python-docs-fr>`_ et
cliquez sur le bouton « Bifurcation » en haut à droite. Vous créez
ainsi sur Gitea une copie privée du projet où vous avez le droit de
faire des modifications.
Sur Github
----------
À ce stade, il est recommandé, bien que facultatif, de vous créer une
clé SSH si vous n'en avez pas encore, et de l'ajouter à votre compte
Gitea. Pour générer la clé, consultez `le guide de GitLab
<https://docs.gitlab.com/ee/user/ssh.html>`_ ou `celui de GitHub
<https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/connecting-to-github-with-ssh>`_.
Pour l'ajouter à votre compte Gitea, il suffit d'aller dans le menu de
votre compte en haut à droite et de cliquer sur « Configuration »,
puis d'aller dans l'onglet « Clés SSH / GPG », et de copier la clé
SSH.
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.
Si vous le préférez, vous pouvez également vous passer de cette
configuration et utiliser le HTTPS à la place du SSH. Néanmoins,
sachez que vous devrez taper votre nom d'utilisateur et votre mot de
passe Gitea à chaque fois que vous ouvrez ou modifiez une
contribution.
Enfin, faites une copie locale du dépôt sur votre ordinateur afin de
pouvoir éditer les fichiers, avec ces commandes :
Étape par étape :
.. code-block:: bash
# Clonez votre copie sur Gitea avec `git` en utilisant SSH :
git clone git@git.afpy.org:VOTRE_NOM_DE_COMPTE_GITEA/python-docs-fr.git
# Clonez votre fork Github avec `git` en utilisant ssh
git clone git@github.com:VOTRE_NOM_DE_COMPTE_GITHUB/python-docs-fr.git
# ... ou bien avec HTTPS :
git clone https://git.afpy.org/VOTRE_NOM_DE_COMPTE_GITEA/python-docs-fr.git
# ou bien avec HTTPS
git clone https://github.com/VOTRE_NOM_DE_COMPTE_GITHUB/python-docs-fr.git
# Allez dans le répertoire cloné
cd python-docs-fr/
# Ajoutez le dépôt officiel (nommé upstream),
# ceci permet à `git` de savoir quoi et où est *upstream*
git remote add upstream https://git.afpy.org/AFPy/python-docs-fr.git
# ceci permet à *git* de savoir quoi et où est *upstream*
git remote add upstream https://github.com/python/python-docs-fr.git
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 puis le peupler.
Étape par étape :
.. code-block:: bash
# Clonez en HTTPS le dépôt
git clone https://github.com/python/python-docs-fr
# Allez dans le répertoire cloné
cd python-docs-fr/
# Renommez *origin* en *upstream* pour avoir une référence vers le dépôt officiel
# Il permettra de récupérer les nouveaux commits
git remote rename origin upstream
# Rajoutez le *remote* de votre forge (en HTTPS ou SSH)
git remote add origin <url>
# Envoyez le dépôt sur votre forge et définir par défaut
git push -u origin
Deuxième étape : choisir et réserver le fichier sur lequel travailler
@ -238,21 +248,21 @@ Création de la branche de traduction
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.11 ». On met donc à jour notre version locale.
branche « upstream/3.10 ». On met donc à jour notre version locale.
.. code-block:: bash
git fetch upstream
On crée ensuite la branche, en la basant sur « upstream/3.11 », fraîchement récupérée.
On crée ensuite la branche, en la basant sur « upstream/3.10 », fraîchement récupérée.
Il est pratique de nommer cette branche en fonction du
fichier sur lequel on travaille. Par exemple, si vous travaillez sur
« library/sys.po », vous pouvez nommer votre branche « library-sys ».
.. code-block:: bash
git checkout -b library-sys upstream/3.11
git checkout -b library-sys upstream/3.10
@ -305,7 +315,7 @@ documentation local :
.. code-block:: bash
make htmlview
make serve
La documentation est publiée à l'adresse `<http://localhost:8000/library/sys.html>`_.
@ -319,7 +329,7 @@ nécessaire.
Poedit donne beaucoup d'avertissements, par exemple pour vous informer que
« la traduction devrait commencer par une majuscule » car c'est le cas pour
la source. Ces avertissements ne sont pas tous fondés. En cas de doute,
*affichez et relisez la page HTML produite* avec ``make htmlview``.
*affichez et relisez la page HTML produite* avec ``make serve``.
Quatrième étape : publier sa traduction
=======================================
@ -548,7 +558,7 @@ Ne traduisez pas le contenu des balises comme ``:ref:...`` ou ``:class:...``.
Vous devez cependant traduire les balises ``:term:...``, qui font référence à
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>` ``.
``:term:`dictionary``` en ``:term:`dictionnaire <dictionary>```.
Comme le glossaire est déjà traduit, il y a forcément une correspondance à chaque
terme que vous pouvez rencontrer.
@ -577,7 +587,6 @@ argument argument (à ne pas confondre avec *paramètre*)
backslash antislash, *backslash*
backtrace trace d'appels, trace de pile
backport rétroporter
base class classe mère
bound lier
bug bogue
built-in natif
@ -832,34 +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.
Migration vers Gitea
====================
En novembre 2022, le dépôt de cette traduction a migré de GitHub à une
instance de Gitea hébergée par l'AFPy. Si vous contribuiez auparavant
sur GitHub, voici comment s'y prendre pour la migration :
- Suivez le guide `plus haut <cloner_>`_ pour faire une copie (*fork*)
du dépôt sur Gitea. De manière facultative mais recommandée, ajoutez
votre clé SSH à votre profil Gitea comme expliqué ci-dessus (vous
aviez probablement une clé sur GitHub, auquel cas il suffit de
réutiliser la même, qui doit se trouver dans le fichier
``~/.ssh/id_ed25519.pub`` ou un nom similaire).
- Exécutez ces deux commandes pour mettre à jour votre dépôt local
afin qu'il interagisse avec Gitea au lieu de GitHub :
.. code-block:: bash
git remote set-url upstream https://git.afpy.org/AFPy/python-docs-fr.git
git remote set-url origin git@git.afpy.org:VOTRE_NOM_DE_COMPTE_GITEA/python-docs-fr.git
Si vous avez choisi d'utiliser le HTTPS à la place du SSH, remplacez
la deuxième ligne par :
.. code-block:: bash
git remote set-url origin https://git.afpy.org/VOTRE_NOM_DE_COMPTE_GITEA/python-docs-fr.git

View File

@ -20,9 +20,9 @@
# 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 := 1b736838e6ae1b4ef42cdd27c2708face908f92c
CPYTHON_CURRENT_COMMIT := b2db1c208066b67bdf57bf3799de50352fe63416
LANGUAGE := fr
BRANCH := 3.11
BRANCH := 3.10
EXCLUDED := \
whatsnew/2.?.po \
@ -65,7 +65,7 @@ PYTHON := $(shell which python3)
MODE := html
POSPELL_TMP_DIR := .pospell/
JOBS := auto
SPHINXERRORHANDLING = -W
SERVE_PORT :=
# Detect OS
@ -90,16 +90,15 @@ all: ensure_prerequisites
mkdir -p locales/$(LANGUAGE)/LC_MESSAGES/
$(CP_CMD) -u --parents *.po */*.po locales/$(LANGUAGE)/LC_MESSAGES/
$(MAKE) -C venv/cpython/Doc/ \
JOBS='$(JOBS)' \
SPHINXOPTS='-D locale_dirs=$(abspath locales) \
SPHINXOPTS='-j$(JOBS) \
-D locale_dirs=$(abspath locales) \
-D language=$(LANGUAGE) \
-D gettext_compact=0 \
-D latex_engine=xelatex \
-D latex_elements.inputenc= \
-D latex_elements.fontenc=' \
SPHINXERRORHANDLING=$(SPHINXERRORHANDLING) \
$(MODE)
@echo "Build success, open file://$(abspath venv/cpython/)/Doc/build/html/index.html or run 'make htmlview' to see them."
@echo "Build success, open file://$(abspath venv/cpython/)/Doc/build/html/index.html or run 'make serve' to see them."
# We clone cpython/ inside venv/ because venv/ is the only directory
@ -118,9 +117,14 @@ ensure_prerequisites: venv/cpython/.git/HEAD
exit 1; \
fi
.PHONY: htmlview
htmlview: MODE=htmlview
htmlview: all
.PHONY: serve
serve:
ifdef SERVE_PORT
$(MAKE) -C venv/cpython/Doc/ serve SERVE_PORT=$(SERVE_PORT)
else
$(MAKE) -C venv/cpython/Doc/ serve
endif
.PHONY: todo
todo: ensure_prerequisites
@ -138,51 +142,22 @@ DESTS = $(addprefix $(POSPELL_TMP_DIR)/,$(addsuffix .out,$(SRCS)))
.PHONY: spell
spell: ensure_prerequisites $(DESTS)
.PHONY: line-length
line-length:
@echo "Searching for long lines..."
@awk '{if (length(gensub(/శ్రీనివాస్/, ".", "g", $$0)) > 80 && length(gensub(/[^ ]/, "", "g")) > 1) {print FILENAME ":" FNR, "line too long:", $$0; ERRORS+=1}} END {if (ERRORS>0) {exit 1}}' *.po */*.po
.PHONY: sphinx-lint
sphinx-lint:
@echo "Checking all files using sphinx-lint..."
@sphinx-lint --enable all --disable line-too-long *.po */*.po
$(POSPELL_TMP_DIR)/%.po.out: %.po dict
@echo "Pospell checking $<..."
@mkdir -p $(@D)
mkdir -p $(@D)
pospell -p dict -l fr_FR $< && touch $@
.PHONY: fuzzy
fuzzy: ensure_prerequisites
potodo -f --exclude venv .venv $(EXCLUDED)
.PHONY: check-headers
check-headers:
@grep -L '^# Copyright (C) [0-9-]*, Python Software Foundation' *.po */*.po | while read -r file;\
do \
echo "Please update the po comment in $$file"; \
done
@grep -L '^"Project-Id-Version: Python 3\\n"$$' *.po */*.po | while read -r file;\
do \
echo "Please update the 'Project-Id-Version' header in $$file"; \
done
@grep -L '^"Language: fr\\n"$$' *.po */*.po | while read -r file;\
do \
echo "Please update the 'Language' header in $$file"; \
done
@grep -L '^"Language-Team: FRENCH <traductions@lists.afpy.org>\\n"' *.po */*.po | while read -r file;\
do \
echo "Please update the 'Language-Team' header in $$file"; \
done
.PHONY: verifs
verifs: spell line-length sphinx-lint check-headers
verifs: spell
.PHONY: clean
clean:
@echo "Cleaning *.mo and $(POSPELL_TMP_DIR)"
rm -fr $(POSPELL_TMP_DIR) locales/$(LANGUAGE)/LC_MESSAGES/
rm -fr $(POSPELL_TMP_DIR)
find -name '*.mo' -delete
@echo "Cleaning build directory"
$(MAKE) -C venv/cpython/Doc/ clean

View File

@ -23,7 +23,7 @@ Vous pouvez contribuer :
`mécène <https://liberapay.com/python-docs-fr>`_ du projet.
Consultez le
`guide <https://git.afpy.org/AFPy/python-docs-fr/src/branch/3.11/CONTRIBUTING.rst>`_
`guide <https://github.com/python/python-docs-fr/blob/3.10/CONTRIBUTING.rst>`_
pour apprendre les conventions à respecter.
Le `coordinateur <https://www.python.org/dev/peps/pep-0545/#language-team>`_ de

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

114
bugs.po
View File

@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-12 11:56+0100\n"
"PO-Revision-Date: 2022-12-11 17:39+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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.1\n"
"X-Generator: Poedit 3.0\n"
#: bugs.rst:5
msgid "Dealing with Bugs"
@ -51,22 +51,16 @@ msgid ""
msgstr ""
"Si vous trouvez un bogue dans cette documentation ou si vous désirez "
"proposer une amélioration, si cela concerne aussi la documentation en "
"anglais, ouvrez un rapport sur le :ref:`traqueur <using-the-tracker>` "
"anglais, ouvrez un rapport sur le :ref:`tracker <using-the-tracker>` "
"décrivant en anglais le bogue et où vous l'avez trouvé. Si le problème ne "
"touche que la traduction en français, ouvrez un ticket sur https://git.afpy."
"org/AFPy/python-docs-fr/issues, ou venez nous en toucher un mot sur le canal "
"#python-fr sur *libera.chat* (https://kiwiirc.com/nextclient/#irc://irc."
"libera.chat/#python-fr). Si vous avez une suggestion de correction, merci de "
"l'inclure également."
"touche que la traduction en français, ouvrez un ticket sur https://github."
"com/python/python-docs-fr/issues, ou venez nous en toucher un mot sur le "
"canal #python-fr sur *libera.chat* (https://kiwiirc.com/nextclient/#irc://"
"irc.libera.chat/#python-fr). Si vous avez une suggestion de correction, "
"merci de l'inclure également."
#: bugs.rst:22
msgid ""
"You can also open a discussion item on our `Documentation Discourse forum "
"<https://discuss.python.org/c/documentation/26>`_."
msgstr ""
#: bugs.rst:25
msgid ""
"If you're short on time, you can also email documentation bug reports to "
"docs@python.org (behavioral bugs can be sent to python-list@python.org). "
"'docs@' is a mailing list run by volunteers; your request will be noticed, "
@ -78,11 +72,11 @@ msgstr ""
"volontaires, votre requête sera vue, mais elle peut prendre un moment pour "
"être traitée."
#: bugs.rst:33
#: bugs.rst:30
msgid "`Documentation bugs`_"
msgstr "`Bogues de documentation`_"
#: bugs.rst:33
#: bugs.rst:30
msgid ""
"A list of documentation bugs that have been submitted to the Python issue "
"tracker."
@ -90,18 +84,18 @@ msgstr ""
"Liste des bogues de documentation soumis à l'outil de suivi des problèmes "
"Python."
#: bugs.rst:36
#: bugs.rst:33
msgid "`Issue Tracking <https://devguide.python.org/tracker/>`_"
msgstr "`Outil de suivi des problèmes <https://devguide.python.org/tracker/>`_"
#: bugs.rst:36
#: bugs.rst:33
msgid ""
"Overview of the process involved in reporting an improvement on the tracker."
msgstr ""
"Vue d'ensemble du processus pour proposer une amélioration avec l'outil de "
"suivi."
#: bugs.rst:39
#: bugs.rst:36
msgid ""
"`Helping with Documentation <https://devguide.python.org/docquality/#helping-"
"with-documentation>`_"
@ -109,13 +103,13 @@ msgstr ""
"`Aider avec la documentation <https://devguide.python.org/docquality/"
"#helping-with-documentation>`_"
#: bugs.rst:39
#: bugs.rst:36
msgid ""
"Comprehensive guide for individuals that are interested in contributing to "
"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>`_"
@ -123,7 +117,7 @@ msgstr ""
"`Aider avec la documentation <https://devguide.python.org/documenting/"
"#translating>`_"
#: bugs.rst:42
#: bugs.rst:39
msgid ""
"A list of GitHub pages for documentation translation and their primary "
"contacts."
@ -131,24 +125,25 @@ msgstr ""
"Liste de dépôts GitHub où la documentation est traduite, avec les personnes "
"à contacter."
#: bugs.rst:48
#: bugs.rst:45
msgid "Using the Python issue tracker"
msgstr "Utilisation du gestionnaire de tickets Python"
#: bugs.rst:50
#: bugs.rst:47
#, fuzzy
msgid ""
"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 concernant un problème relatif à Python lui-même doivent être "
"soumis *via* l'outil de suivi des problèmes de GitHub (https://github.com/"
"python/cpython/issues). Le gestionnaire de tickets propose un formulaire Web "
"permettant de saisir des informations pertinentes à soumettre aux "
"développeurs."
"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:55
#: 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 "
@ -160,46 +155,48 @@ msgid ""
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 "
"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; "
"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; "
"il se peut que le problème soit déjà résolu dans la prochaine version, ou "
"que des informations complémentaires soient attendues (auquel cas votre "
"contribution est la bienvenue !). Pour ce faire, cherchez dans le "
"gestionnaire de tickets grâce à la boîte de recherche en haut de la page."
"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:62
#: bugs.rst:59
#, fuzzy
msgid ""
"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 la liste, connectez-"
"vous à GitHub. Si vous n'avez pas déjà un compte GitHub, créez un nouveau "
"compte en cliquant sur le lien « Sign Up ». Il n'est pas possible de "
"soumettre un rapport de bogue de manière anonyme."
"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 "
"pas déjà un compte pour le *tracker*, cliquez sur le lien « S'enregistrer », "
"ou, si vous utilisez *OpenID*, sur l'un des logos des fournisseurs *OpenID* "
"dans la barre latérale. Il n'est pas possible de soumettre un rapport de "
"bogue de manière anonyme."
#: bugs.rst:67
#: bugs.rst:64
#, fuzzy
msgid ""
"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 connecté, vous pouvez rapporter un problème. Sélectionnez le bouton "
"*New issue* dans la barre en haut pour ouvrir un nouveau formulaire de "
"rapport."
"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:70
#: bugs.rst:67
msgid "The submission form has two fields, \"Title\" and \"Comment\"."
msgstr "Le formulaire de rapport contient deux champs, *Title* et *Comment*."
msgstr ""
#: bugs.rst:72
#: bugs.rst:69
msgid ""
"For the \"Title\" field, enter a *very* short description of the problem; "
"less than ten words is good."
msgstr ""
"Dans le champ *Title*, entrez une *très* brève description du problème "
"rencontré ; tâchez de vous limiter à dix mots."
#: bugs.rst:75
#: 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 "
@ -212,17 +209,18 @@ msgstr ""
"plateforme matérielle et logicielle vous utilisiez (en incluant les "
"informations de versions)."
#: bugs.rst:80
#: bugs.rst:77
#, fuzzy
msgid ""
"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 rapport sera attribué à un développeur qui déterminera ce qui est "
"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 concernant le rapport."
"notification à chaque action effectuée sur le bogue."
#: bugs.rst:89
#: bugs.rst:86
msgid ""
"`How to Report Bugs Effectively <https://www.chiark.greenend.org.uk/"
"~sgtatham/bugs.html>`_"
@ -230,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:88
#: 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."
@ -239,7 +237,7 @@ msgstr ""
"bogue utile. Il décrit quel genre d'information est utile et pourquoi elle "
"est utile."
#: bugs.rst:92
#: bugs.rst:89
msgid ""
"`Bug Writing Guidelines <https://bugzilla.mozilla.org/page.cgi?id=bug-"
"writing.html>`_"
@ -247,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:92
#: 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."
@ -255,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:98
#: bugs.rst:95
msgid "Getting started contributing to Python yourself"
msgstr "Commencer à contribuer à Python vous-même"
#: bugs.rst:100
#: 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 "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2021-09-23 16:16+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"
@ -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
@ -182,22 +182,7 @@ msgid ""
"``0x030a00f0``."
msgstr "Ainsi ``3.4.1a2`` est une hexane-version ``0x030401a2``."
#: c-api/apiabiversion.rst:61
msgid "Use this for numeric comparisons, e.g. ``#if PY_VERSION_HEX >= ...``."
msgstr ""
#: c-api/apiabiversion.rst:63
msgid "This version is also available via the symbol :data:`Py_Version`."
msgstr ""
#: c-api/apiabiversion.rst:67
msgid ""
"The Python runtime version number encoded in a single constant integer, with "
"the same format as the :c:macro:`PY_VERSION_HEX` macro. This contains the "
"Python version used at run time."
msgstr ""
#: c-api/apiabiversion.rst:73
#: c-api/apiabiversion.rst:62
msgid "All the given macros are defined in :source:`Include/patchlevel.h`."
msgstr ""
"Toutes les macros données sont définies dans :source:`Include/patchlevel.h`."

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
@ -679,43 +679,33 @@ msgstr ""
#: c-api/buffer.rst:504
msgid ""
"Copy data from *src* to *dest* buffer. Can convert between C-style and or "
"Fortran-style buffers."
msgstr ""
#: c-api/buffer.rst:507
msgid "``0`` is returned on success, ``-1`` on error."
msgstr ""
#: c-api/buffer.rst:511
msgid ""
"Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style "
"if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the "
"given shape with the given number of bytes per element."
msgstr ""
#: c-api/buffer.rst:518
#: c-api/buffer.rst:511
msgid ""
"Handle buffer requests for an exporter that wants to expose *buf* of size "
"*len* with writability set according to *readonly*. *buf* is interpreted as "
"a sequence of unsigned bytes."
msgstr ""
#: c-api/buffer.rst:522
#: c-api/buffer.rst:515
msgid ""
"The *flags* argument indicates the request type. This function always fills "
"in *view* as specified by flags, unless *buf* has been designated as read-"
"only and :c:macro:`PyBUF_WRITABLE` is set in *flags*."
msgstr ""
#: c-api/buffer.rst:526
#: c-api/buffer.rst:519
msgid ""
"On success, set ``view->obj`` to a new reference to *exporter* and return 0. "
"Otherwise, raise :c:data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` "
"and return ``-1``;"
msgstr ""
#: c-api/buffer.rst:530
#: c-api/buffer.rst:523
msgid ""
"If this function is used as part of a :ref:`getbufferproc <buffer-structs>`, "
"*exporter* MUST be set to the exporting object and *flags* must be passed "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\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"
@ -110,13 +110,9 @@ msgstr ""
"pointeurs."
#: c-api/bytearray.rst:80
#, fuzzy
msgid "Similar to :c:func:`PyByteArray_AsString`, but without error checking."
msgid "Macro version of :c:func:`PyByteArray_AsString`."
msgstr "Version macro de :c:func:`PyByteArray_AsString`."
#: c-api/bytearray.rst:85
msgid "Similar to :c:func:`PyByteArray_Size`, but without error checking."
msgstr ""
#~ msgid "Macro version of :c:func:`PyByteArray_Size`."
#~ msgstr "Version macro de :c:func:`PyByteArray_Size`."
msgid "Macro version of :c:func:`PyByteArray_Size`."
msgstr "Version macro de :c:func:`PyByteArray_Size`."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\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"
@ -258,7 +258,7 @@ msgid "Return the length of the bytes in bytes object *o*."
msgstr ""
#: c-api/bytes.rst:137
msgid "Similar to :c:func:`PyBytes_Size`, but without error checking."
msgid "Macro form of :c:func:`PyBytes_Size` but without error checking."
msgstr ""
#: c-api/bytes.rst:142
@ -273,7 +273,7 @@ msgid ""
msgstr ""
#: c-api/bytes.rst:154
msgid "Similar to :c:func:`PyBytes_AsString`, but without error checking."
msgid "Macro form of :c:func:`PyBytes_AsString` but without error checking."
msgstr ""
#: c-api/bytes.rst:159

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -139,20 +139,18 @@ msgid ""
"Import a pointer to a C object from a capsule attribute in a module. The "
"*name* parameter should specify the full name to the attribute, as in "
"``module.attribute``. The *name* stored in the capsule must match this "
"string exactly."
"string exactly. If *no_block* is true, import the module without blocking "
"(using :c:func:`PyImport_ImportModuleNoBlock`). If *no_block* is false, "
"import the module conventionally (using :c:func:`PyImport_ImportModule`)."
msgstr ""
#: c-api/capsule.rst:108
#: c-api/capsule.rst:110
msgid ""
"Return the capsule's internal *pointer* on success. On failure, set an "
"exception and return ``NULL``."
msgstr ""
#: c-api/capsule.rst:111
msgid "*no_block* has no effect anymore."
msgstr ""
#: c-api/capsule.rst:117
#: c-api/capsule.rst:116
msgid ""
"Determines whether or not *capsule* is a valid capsule. A valid capsule is "
"non-``NULL``, passes :c:func:`PyCapsule_CheckExact`, has a non-``NULL`` "
@ -161,40 +159,40 @@ msgid ""
"compared.)"
msgstr ""
#: c-api/capsule.rst:123
#: c-api/capsule.rst:122
msgid ""
"In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls "
"to any of the accessors (any function starting with :c:func:`PyCapsule_Get`) "
"are guaranteed to succeed."
msgstr ""
#: c-api/capsule.rst:127
#: c-api/capsule.rst:126
msgid ""
"Return a nonzero value if the object is valid and matches the name passed "
"in. Return ``0`` otherwise. This function will not fail."
msgstr ""
#: c-api/capsule.rst:133
#: c-api/capsule.rst:132
msgid "Set the context pointer inside *capsule* to *context*."
msgstr ""
#: c-api/capsule.rst:142 c-api/capsule.rst:159
#: c-api/capsule.rst:141 c-api/capsule.rst:158
msgid ""
"Return ``0`` on success. Return nonzero and set an exception on failure."
msgstr ""
#: c-api/capsule.rst:140
#: c-api/capsule.rst:139
msgid "Set the destructor inside *capsule* to *destructor*."
msgstr ""
#: c-api/capsule.rst:147
#: c-api/capsule.rst:146
msgid ""
"Set the name inside *capsule* to *name*. If non-``NULL``, the name must "
"outlive the capsule. If the previous *name* stored in the capsule was not "
"``NULL``, no attempt is made to free it."
msgstr ""
#: c-api/capsule.rst:156
#: c-api/capsule.rst:155
msgid ""
"Set the void pointer inside *capsule* to *pointer*. The pointer may not be "
"``NULL``."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"PO-Revision-Date: 2018-02-15 00:30+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -56,100 +56,43 @@ msgid "Return the number of free variables in *co*."
msgstr "Renvoie le nombre de variables libres dans *co*."
#: c-api/code.rst:38
#, fuzzy
msgid ""
"Return a new code object. If you need a dummy code object to create a "
"frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` "
"directly will bind you to a precise Python version since the definition of "
"the bytecode changes often. The many arguments of this function are inter-"
"dependent in complex ways, meaning that subtle changes to values are likely "
"to result in incorrect execution or VM crashes. Use this function only with "
"extreme care."
"directly can bind you to a precise Python version since the definition of "
"the bytecode changes often."
msgstr ""
"Renvoie un nouvel objet *code*. Si vous avez besoin d'un objet code factice "
"pour créer une *frame*, utilisez plutôt :c:func:`PyCode_NewEmpty`. Appeler :"
"c:func:`PyCode_New` peut vous lier directement à une version spécifique de "
"Python, le *bytecode* étant sujet à modifications."
#: c-api/code.rst:55
msgid "Added ``exceptiontable`` parameter."
msgstr ""
#: c-api/code.rst:50
#: c-api/code.rst:45
msgid ""
"Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for "
"positional-only arguments. The same caveats that apply to ``PyCode_New`` "
"also apply to this function."
"positional-only arguments."
msgstr ""
#: c-api/code.rst:60
#, fuzzy
#: c-api/code.rst:51
msgid ""
"Return a new empty code object with the specified filename, function name, "
"and first line number. The resulting code object will raise an ``Exception`` "
"if executed."
"and first line number. It is illegal to :func:`exec` or :func:`eval` the "
"resulting code object."
msgstr ""
"Renvoie un nouvel objet *code* avec le nom de fichier, le nom de fonction, "
"et le numéro de première ligne donnés. Il n'est pas permis d'utiliser :func:"
"`exec` ou :func:`eval` sur l'objet renvoyé."
#: c-api/code.rst:66
#: c-api/code.rst:57
msgid ""
"Return the line number of the instruction that occurs on or before "
"``byte_offset`` and ends after it. If you just need the line number of a "
"frame, use :c:func:`PyFrame_GetLineNumber` instead."
msgstr ""
#: c-api/code.rst:69
#: c-api/code.rst:60
msgid ""
"For efficiently iterating over the line numbers in a code object, use `the "
"API described in PEP 626 <https://peps.python.org/pep-0626/#out-of-process-"
"debuggers-and-profilers>`_."
msgstr ""
#: c-api/code.rst:74
msgid ""
"Sets the passed ``int`` pointers to the source code line and column numbers "
"for the instruction at ``byte_offset``. Sets the value to ``0`` when "
"information is not available for any particular element."
msgstr ""
#: c-api/code.rst:78
msgid "Returns ``1`` if the function succeeds and 0 otherwise."
msgstr ""
#: c-api/code.rst:82
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong "
"reference to a :c:type:`PyBytesObject` representing the bytecode in a code "
"object. On error, ``NULL`` is returned and an exception is raised."
msgstr ""
#: c-api/code.rst:87
msgid ""
"This ``PyBytesObject`` may be created on-demand by the interpreter and does "
"not necessarily represent the bytecode actually executed by CPython. The "
"primary use case for this function is debuggers and profilers."
msgstr ""
#: c-api/code.rst:95
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new "
"reference to a :c:type:`PyTupleObject` containing the names of the local "
"variables. On error, ``NULL`` is returned and an exception is raised."
msgstr ""
#: c-api/code.rst:104
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_cellvars')``. Returns a new "
"reference to a :c:type:`PyTupleObject` containing the names of the local "
"variables that are referenced by nested functions. On error, ``NULL`` is "
"returned and an exception is raised."
msgstr ""
#: c-api/code.rst:113
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new "
"reference to a :c:type:`PyTupleObject` containing the names of the free "
"variables. On error, ``NULL`` is returned and an exception is raised."
"API described in PEP 626 <https://www.python.org/dev/peps/pep-0626/#out-of-"
"process-debuggers-and-profilers>`_."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"
@ -126,122 +126,6 @@ msgstr ""
"Renvoie le nombre à virgule flottante minimal normalisé *DBL_MIN* sous la "
"forme :c:type:`double` en C."
#: c-api/float.rst:82
msgid "Pack and Unpack functions"
msgstr ""
#: c-api/float.rst:84
msgid ""
"The pack and unpack functions provide an efficient platform-independent way "
"to store floating-point values as byte strings. The Pack routines produce a "
"bytes string from a C :c:expr:`double`, and the Unpack routines produce a C :"
"c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies "
"the number of bytes in the bytes string."
msgstr ""
#: c-api/float.rst:90
msgid ""
"On platforms that appear to use IEEE 754 formats these functions work by "
"copying bits. On other platforms, the 2-byte format is identical to the IEEE "
"754 binary16 half-precision format, the 4-byte format (32-bit) is identical "
"to the IEEE 754 binary32 single precision format, and the 8-byte format to "
"the IEEE 754 binary64 double precision format, although the packing of INFs "
"and NaNs (if such things exist on the platform) isn't handled correctly, and "
"attempting to unpack a bytes string containing an IEEE INF or NaN will raise "
"an exception."
msgstr ""
#: c-api/float.rst:99
msgid ""
"On non-IEEE platforms with more precision, or larger dynamic range, than "
"IEEE 754 supports, not all values can be packed; on non-IEEE platforms with "
"less precision, or smaller dynamic range, not all values can be unpacked. "
"What happens in such cases is partly accidental (alas)."
msgstr ""
#: c-api/float.rst:107
msgid "Pack functions"
msgstr ""
#: c-api/float.rst:109
msgid ""
"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:"
"`int` argument, non-zero if you want the bytes string in little-endian "
"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you "
"want big-endian format (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` "
"constant can be used to use the native endian: it is equal to ``1`` on big "
"endian processor, or ``0`` on little endian processor."
msgstr ""
#: c-api/float.rst:116
msgid ""
"Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, "
"most likely :exc:`OverflowError`)."
msgstr ""
#: c-api/float.rst:119
msgid "There are two problems on non-IEEE platforms:"
msgstr ""
#: c-api/float.rst:121
msgid "What this does is undefined if *x* is a NaN or infinity."
msgstr ""
#: c-api/float.rst:122
msgid "``-0.0`` and ``+0.0`` produce the same bytes string."
msgstr ""
#: c-api/float.rst:126
msgid "Pack a C double as the IEEE 754 binary16 half-precision format."
msgstr ""
#: c-api/float.rst:130
msgid "Pack a C double as the IEEE 754 binary32 single precision format."
msgstr ""
#: c-api/float.rst:134
msgid "Pack a C double as the IEEE 754 binary64 double precision format."
msgstr ""
#: c-api/float.rst:138
msgid "Unpack functions"
msgstr ""
#: c-api/float.rst:140
msgid ""
"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:"
"expr:`int` argument, non-zero if the bytes string is in little-endian format "
"(exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-"
"endian (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` constant can be "
"used to use the native endian: it is equal to ``1`` on big endian processor, "
"or ``0`` on little endian processor."
msgstr ""
#: c-api/float.rst:147
msgid ""
"Return value: The unpacked double. On error, this is ``-1.0`` and :c:func:"
"`PyErr_Occurred` is true (and an exception is set, most likely :exc:"
"`OverflowError`)."
msgstr ""
#: c-api/float.rst:151
msgid ""
"Note that on a non-IEEE platform this will refuse to unpack a bytes string "
"that represents a NaN or infinity."
msgstr ""
#: c-api/float.rst:156
msgid "Unpack the IEEE 754 binary16 half-precision format as a C double."
msgstr ""
#: c-api/float.rst:160
msgid "Unpack the IEEE 754 binary32 single precision format as a C double."
msgstr ""
#: c-api/float.rst:164
msgid "Unpack the IEEE 754 binary64 double precision format as a C double."
msgstr ""
#~ msgid ""
#~ "Clear the float free list. Return the number of items that could not be "
#~ "freed."

View File

@ -1,124 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-23 00:48+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: c-api/frame.rst:4
msgid "Frame Objects"
msgstr ""
#: c-api/frame.rst:8
msgid "The C structure of the objects used to describe frame objects."
msgstr ""
#: c-api/frame.rst:10
msgid "There are no public members in this structure."
msgstr ""
#: c-api/frame.rst:12
msgid ""
"The members of this structure were removed from the public C API. Refer to "
"the :ref:`What's New entry <pyframeobject-3.11-hiding>` for details."
msgstr ""
#: c-api/frame.rst:17
msgid ""
"The :c:func:`PyEval_GetFrame` and :c:func:`PyThreadState_GetFrame` functions "
"can be used to get a frame object."
msgstr ""
#: c-api/frame.rst:20
msgid "See also :ref:`Reflection <reflection>`."
msgstr ""
#: c-api/frame.rst:24
msgid ""
"The type of frame objects. It is the same object as :py:class:`types."
"FrameType` in the Python layer."
msgstr ""
#: c-api/frame.rst:29
msgid ""
"Previously, this type was only available after including ``<frameobject.h>``."
msgstr ""
#: c-api/frame.rst:34
msgid "Return non-zero if *obj* is a frame object."
msgstr ""
#: c-api/frame.rst:38
msgid ""
"Previously, this function was only available after including ``<frameobject."
"h>``."
msgstr ""
#: c-api/frame.rst:43
msgid "Get the *frame* next outer frame."
msgstr ""
#: c-api/frame.rst:45
msgid ""
"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame."
msgstr ""
#: c-api/frame.rst:53
msgid "Get the *frame*'s ``f_builtins`` attribute."
msgstr ""
#: c-api/frame.rst:86
msgid "Return a :term:`strong reference`. The result cannot be ``NULL``."
msgstr ""
#: c-api/frame.rst:62
msgid "Get the *frame* code."
msgstr ""
#: c-api/frame.rst:104
msgid "Return a :term:`strong reference`."
msgstr ""
#: c-api/frame.rst:66
msgid "The result (frame code) cannot be ``NULL``."
msgstr ""
#: c-api/frame.rst:73
msgid ""
"Get the generator, coroutine, or async generator that owns this frame, or "
"``NULL`` if this frame is not owned by a generator. Does not raise an "
"exception, even if the return value is ``NULL``."
msgstr ""
#: c-api/frame.rst:77
msgid "Return a :term:`strong reference`, or ``NULL``."
msgstr ""
#: c-api/frame.rst:84
msgid "Get the *frame*'s ``f_globals`` attribute."
msgstr ""
#: c-api/frame.rst:93
msgid "Get the *frame*'s ``f_lasti`` attribute."
msgstr ""
#: c-api/frame.rst:95
msgid "Returns -1 if ``frame.f_lasti`` is ``None``."
msgstr ""
#: c-api/frame.rst:102
msgid "Get the *frame*'s ``f_locals`` attribute (:class:`dict`)."
msgstr ""
#: c-api/frame.rst:111
msgid "Return the line number that *frame* is currently executing."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+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"
@ -52,72 +52,72 @@ msgid ""
"The function's docstring and name are retrieved from the code object. "
"*__module__* is retrieved from *globals*. The argument defaults, annotations "
"and closure are set to ``NULL``. *__qualname__* is set to the same value as "
"the code object's ``co_qualname`` field."
"the function's name."
msgstr ""
#: c-api/function.rst:45
#: c-api/function.rst:44
msgid ""
"As :c:func:`PyFunction_New`, but also allows setting the function object's "
"``__qualname__`` attribute. *qualname* should be a unicode object or "
"``NULL``; if ``NULL``, the ``__qualname__`` attribute is set to the same "
"value as the code object's ``co_qualname`` field."
"value as its ``__name__`` attribute."
msgstr ""
#: c-api/function.rst:55
#: c-api/function.rst:54
msgid "Return the code object associated with the function object *op*."
msgstr ""
#: c-api/function.rst:60
#: c-api/function.rst:59
msgid "Return the globals dictionary associated with the function object *op*."
msgstr ""
#: c-api/function.rst:65
#: c-api/function.rst:64
msgid ""
"Return a :term:`borrowed reference` to the *__module__* attribute of the "
"function object *op*. It can be *NULL*."
msgstr ""
#: c-api/function.rst:68
#: c-api/function.rst:67
msgid ""
"This is normally a string containing the module name, but can be set to any "
"other object by Python code."
msgstr ""
#: c-api/function.rst:74
#: c-api/function.rst:73
msgid ""
"Return the argument default values of the function object *op*. This can be "
"a tuple of arguments or ``NULL``."
msgstr ""
#: c-api/function.rst:80
#: c-api/function.rst:79
msgid ""
"Set the argument default values for the function object *op*. *defaults* "
"must be ``Py_None`` or a tuple."
msgstr ""
#: c-api/function.rst:97 c-api/function.rst:111
#: c-api/function.rst:96 c-api/function.rst:110
msgid "Raises :exc:`SystemError` and returns ``-1`` on failure."
msgstr ""
#: c-api/function.rst:88
#: c-api/function.rst:87
msgid ""
"Return the closure associated with the function object *op*. This can be "
"``NULL`` or a tuple of cell objects."
msgstr ""
#: c-api/function.rst:94
#: c-api/function.rst:93
msgid ""
"Set the closure associated with the function object *op*. *closure* must be "
"``Py_None`` or a tuple of cell objects."
msgstr ""
#: c-api/function.rst:102
#: c-api/function.rst:101
msgid ""
"Return the annotations of the function object *op*. This can be a mutable "
"dictionary or ``NULL``."
msgstr ""
#: c-api/function.rst:108
#: c-api/function.rst:107
msgid ""
"Set the annotations for the function object *op*. *annotations* must be a "
"dictionary or ``Py_None``."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -270,13 +270,7 @@ msgid ""
"h`, is::"
msgstr ""
#: c-api/import.rst:262
msgid ""
"The new ``is_package`` field indicates whether the module is a package or "
"not. This replaces setting the ``size`` field to a negative value."
msgstr ""
#: c-api/import.rst:268
#: c-api/import.rst:264
#, fuzzy
msgid ""
"This pointer is initialized to point to an array of :c:struct:`_frozen` "
@ -291,7 +285,7 @@ msgstr ""
"tableau. Du code tiers peut jouer avec pour construire dynamiquement une "
"collection de module figés."
#: c-api/import.rst:276
#: c-api/import.rst:272
msgid ""
"Add a single module to the existing table of built-in modules. This is a "
"convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning "
@ -301,7 +295,7 @@ msgid ""
"before :c:func:`Py_Initialize`."
msgstr ""
#: c-api/import.rst:286
#: c-api/import.rst:282
msgid ""
"Structure describing a single entry in the list of built-in modules. Each "
"of these structures gives the name and initialization function for a module "
@ -311,7 +305,7 @@ msgid ""
"structure is defined in :file:`Include/import.h` as::"
msgstr ""
#: c-api/import.rst:301
#: c-api/import.rst:297
msgid ""
"Add a collection of modules to the table of built-in modules. The *newtab* "
"array must end with a sentinel entry which contains ``NULL`` for the :attr:"
@ -322,7 +316,7 @@ msgid ""
"`Py_Initialize`."
msgstr ""
#: c-api/import.rst:308
#: c-api/import.rst:304
msgid ""
"If Python is initialized multiple times, :c:func:`PyImport_AppendInittab` "
"or :c:func:`PyImport_ExtendInittab` must be called before each Python "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -158,95 +158,6 @@ msgid ""
msgstr ""
#: c-api/intro.rst:110
#, fuzzy
msgid "Return the absolute value of ``x``."
msgstr "Renvoie la valeur absolue de *x*."
#: c-api/intro.rst:116
msgid ""
"Ask the compiler to always inline a static inline function. The compiler can "
"ignore it and decides to not inline the function."
msgstr ""
#: c-api/intro.rst:119
msgid ""
"It can be used to inline performance critical static inline functions when "
"building Python in debug mode with function inlining disabled. For example, "
"MSC disables function inlining when building in debug mode."
msgstr ""
#: c-api/intro.rst:123
msgid ""
"Marking blindly a static inline function with Py_ALWAYS_INLINE can result in "
"worse performances (due to increased code size for example). The compiler is "
"usually smarter than the developer for the cost/benefit analysis."
msgstr ""
#: c-api/intro.rst:127
msgid ""
"If Python is :ref:`built in debug mode <debug-build>` (if the ``Py_DEBUG`` "
"macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro does nothing."
msgstr ""
#: c-api/intro.rst:130
msgid "It must be specified before the function return type. Usage::"
msgstr ""
#: c-api/intro.rst:138
msgid ""
"Argument must be a character or an integer in the range [-128, 127] or [0, "
"255]. This macro returns ``c`` cast to an ``unsigned char``."
msgstr ""
#: c-api/intro.rst:143
msgid ""
"Use this for deprecated declarations. The macro must be placed before the "
"symbol name."
msgstr ""
#: c-api/intro.rst:232 c-api/intro.rst:250
msgid "Example::"
msgstr "Exemple ::"
#: c-api/intro.rst:150
msgid "MSVC support was added."
msgstr ""
#: c-api/intro.rst:155
msgid ""
"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the "
"command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)."
msgstr ""
#: c-api/intro.rst:160
msgid "Return the maximum value between ``x`` and ``y``."
msgstr ""
#: c-api/intro.rst:166
msgid "Return the size of a structure (``type``) ``member`` in bytes."
msgstr ""
#: c-api/intro.rst:172
msgid "Return the minimum value between ``x`` and ``y``."
msgstr ""
#: c-api/intro.rst:178
msgid ""
"Disable inlining on a function. For example, it reduces the C stack "
"consumption: useful on LTO+PGO builds which heavily inline code (see :issue:"
"`33720`)."
msgstr ""
#: c-api/intro.rst:182
msgid "Usage::"
msgstr ""
#: c-api/intro.rst:190
msgid ""
"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``."
msgstr ""
#: c-api/intro.rst:197
msgid ""
"Use this when you have a code path that cannot be reached by design. For "
"example, in the ``default:`` clause in a ``switch`` statement for which all "
@ -254,20 +165,20 @@ msgid ""
"where you might be tempted to put an ``assert(0)`` or ``abort()`` call."
msgstr ""
#: c-api/intro.rst:202
#: c-api/intro.rst:115
msgid ""
"In release mode, the macro helps the compiler to optimize the code, and "
"avoids a warning about unreachable code. For example, the macro is "
"implemented with ``__builtin_unreachable()`` on GCC in release mode."
msgstr ""
#: c-api/intro.rst:206
#: c-api/intro.rst:119
msgid ""
"A use for ``Py_UNREACHABLE()`` is following a call a function that never "
"returns but that is not declared :c:macro:`_Py_NO_RETURN`."
msgstr ""
#: c-api/intro.rst:209
#: c-api/intro.rst:122
msgid ""
"If a code path is very unlikely code but can be reached under exceptional "
"case, this macro must not be used. For example, under low memory condition "
@ -276,41 +187,89 @@ msgid ""
"reported to caller, :c:func:`Py_FatalError` can be used."
msgstr ""
#: c-api/intro.rst:219
#: c-api/intro.rst:132
#, fuzzy
msgid "Return the absolute value of ``x``."
msgstr "Renvoie la valeur absolue de *x*."
#: c-api/intro.rst:138
msgid "Return the minimum value between ``x`` and ``y``."
msgstr ""
#: c-api/intro.rst:144
msgid "Return the maximum value between ``x`` and ``y``."
msgstr ""
#: c-api/intro.rst:150
msgid ""
"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``."
msgstr ""
#: c-api/intro.rst:157
msgid "Return the size of a structure (``type``) ``member`` in bytes."
msgstr ""
#: c-api/intro.rst:163
msgid ""
"Argument must be a character or an integer in the range [-128, 127] or [0, "
"255]. This macro returns ``c`` cast to an ``unsigned char``."
msgstr ""
#: c-api/intro.rst:168
msgid ""
"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the "
"command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)."
msgstr ""
#: c-api/intro.rst:173
msgid ""
"Use this for unused arguments in a function definition to silence compiler "
"warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``."
msgstr ""
#: c-api/intro.rst:226
#: c-api/intro.rst:180
msgid ""
"Use this for deprecated declarations. The macro must be placed before the "
"symbol name."
msgstr ""
#: c-api/intro.rst:198 c-api/intro.rst:216
msgid "Example::"
msgstr "Exemple ::"
#: c-api/intro.rst:187
msgid "MSVC support was added."
msgstr ""
#: c-api/intro.rst:192
msgid ""
"Creates a variable with name ``name`` that can be used in docstrings. If "
"Python is built without docstrings, the value will be empty."
msgstr ""
#: c-api/intro.rst:229
#: c-api/intro.rst:195
msgid ""
"Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python "
"without docstrings, as specified in :pep:`7`."
msgstr ""
#: c-api/intro.rst:244
#: c-api/intro.rst:210
msgid ""
"Creates a docstring for the given input string or an empty string if "
"docstrings are disabled."
msgstr ""
#: c-api/intro.rst:247
#: c-api/intro.rst:213
msgid ""
"Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python "
"without docstrings, as specified in :pep:`7`."
msgstr ""
#: c-api/intro.rst:262
#: c-api/intro.rst:227
msgid "Objects, Types and Reference Counts"
msgstr ""
#: c-api/intro.rst:266
#: 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:expr:`PyObject*`. This type is a pointer to an opaque data "
@ -325,7 +284,7 @@ msgid ""
"objects."
msgstr ""
#: c-api/intro.rst:277
#: c-api/intro.rst:242
msgid ""
"All Python objects (even Python integers) have a :dfn:`type` and a :dfn:"
"`reference count`. An object's type determines what kind of object it is (e."
@ -336,11 +295,11 @@ msgid ""
"a Python list."
msgstr ""
#: c-api/intro.rst:288
#: c-api/intro.rst:253
msgid "Reference Counts"
msgstr "Compteurs de références"
#: c-api/intro.rst:290
#: c-api/intro.rst:255
msgid ""
"The reference count is important because today's computers have a finite "
"(and often severely limited) memory size; it counts how many different "
@ -354,7 +313,7 @@ msgid ""
"for now, the solution is \"don't do that.\")"
msgstr ""
#: c-api/intro.rst:305
#: c-api/intro.rst:270
msgid ""
"Reference counts are always manipulated explicitly. The normal way is to "
"use the macro :c:func:`Py_INCREF` to increment an object's reference count "
@ -372,7 +331,7 @@ msgid ""
"reference count increment is a simple operation."
msgstr ""
#: c-api/intro.rst:319
#: c-api/intro.rst:284
msgid ""
"It is not necessary to increment an object's reference count for every "
"local variable that contains a pointer to an object. In theory, the "
@ -389,7 +348,7 @@ msgid ""
"to hold a reference to every argument for the duration of the call."
msgstr ""
#: c-api/intro.rst:333
#: c-api/intro.rst:298
msgid ""
"However, a common pitfall is to extract an object from a list and hold on to "
"it for a while without incrementing its reference count. Some other "
@ -400,7 +359,7 @@ msgid ""
"from a :c:func:`Py_DECREF`, so almost any operation is potentially dangerous."
msgstr ""
#: c-api/intro.rst:341
#: c-api/intro.rst:306
msgid ""
"A safe approach is to always use the generic operations (functions whose "
"name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or "
@ -410,11 +369,11 @@ msgid ""
"becomes second nature."
msgstr ""
#: c-api/intro.rst:351
#: c-api/intro.rst:316
msgid "Reference Count Details"
msgstr ""
#: c-api/intro.rst:353
#: c-api/intro.rst:318
msgid ""
"The reference count behavior of functions in the Python/C API is best "
"explained in terms of *ownership of references*. Ownership pertains to "
@ -431,7 +390,7 @@ msgid ""
"`borrowed reference`."
msgstr ""
#: c-api/intro.rst:366
#: c-api/intro.rst:331
msgid ""
"Conversely, when a calling function passes in a reference to an object, "
"there are two possibilities: the function *steals* a reference to the "
@ -440,7 +399,7 @@ msgid ""
"reference, and you are not responsible for it any longer."
msgstr ""
#: c-api/intro.rst:376
#: c-api/intro.rst:341
msgid ""
"Few functions steal references; the two notable exceptions are :c:func:"
"`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to "
@ -452,7 +411,7 @@ msgid ""
"below)::"
msgstr ""
#: c-api/intro.rst:391
#: c-api/intro.rst:356
msgid ""
"Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately "
"stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object "
@ -460,7 +419,7 @@ msgid ""
"another reference before calling the reference-stealing function."
msgstr ""
#: c-api/intro.rst:396
#: c-api/intro.rst:361
msgid ""
"Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple "
"items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to "
@ -468,13 +427,13 @@ msgid ""
"func:`PyTuple_SetItem` for tuples that you are creating yourself."
msgstr ""
#: c-api/intro.rst:401
#: c-api/intro.rst:366
msgid ""
"Equivalent code for populating a list can be written using :c:func:"
"`PyList_New` and :c:func:`PyList_SetItem`."
msgstr ""
#: c-api/intro.rst:404
#: c-api/intro.rst:369
msgid ""
"However, in practice, you will rarely use these ways of creating and "
"populating a tuple or list. There's a generic function, :c:func:"
@ -483,7 +442,7 @@ msgid ""
"be replaced by the following (which also takes care of the error checking)::"
msgstr ""
#: c-api/intro.rst:415
#: c-api/intro.rst:380
msgid ""
"It is much more common to use :c:func:`PyObject_SetItem` and friends with "
"items whose references you are only borrowing, like arguments that were "
@ -494,7 +453,7 @@ msgid ""
"sequence) to a given item::"
msgstr ""
#: c-api/intro.rst:445
#: c-api/intro.rst:410
msgid ""
"The situation is slightly different for function return values. While "
"passing a reference to most functions does not change your ownership "
@ -507,7 +466,7 @@ msgid ""
"becomes the owner of the reference)."
msgstr ""
#: c-api/intro.rst:454
#: c-api/intro.rst:419
msgid ""
"It is important to realize that whether you own a reference returned by a "
"function depends on which function you call only --- *the plumage* (the type "
@ -518,18 +477,18 @@ msgid ""
"the same arguments), you do own a reference to the returned object."
msgstr ""
#: c-api/intro.rst:466
#: c-api/intro.rst:431
msgid ""
"Here is an example of how you could write a function that computes the sum "
"of the items in a list of integers; once using :c:func:`PyList_GetItem`, "
"and once using :c:func:`PySequence_GetItem`. ::"
msgstr ""
#: c-api/intro.rst:530
#: c-api/intro.rst:495
msgid "Types"
msgstr ""
#: c-api/intro.rst:532
#: 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:expr:`int`, :c:expr:`long`, :c:expr:"
@ -540,7 +499,7 @@ msgid ""
"that use them."
msgstr ""
#: c-api/intro.rst:542
#: 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 "
@ -548,11 +507,11 @@ msgid ""
"positive value of type :c:type:`Py_ssize_t`."
msgstr ""
#: c-api/intro.rst:551
#: c-api/intro.rst:516
msgid "Exceptions"
msgstr "Exceptions"
#: c-api/intro.rst:553
#: 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 "
@ -561,7 +520,7 @@ msgid ""
"stack traceback."
msgstr ""
#: c-api/intro.rst:561
#: 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 "
@ -576,7 +535,7 @@ msgid ""
"explicitly documented."
msgstr ""
#: c-api/intro.rst:576
#: 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 "
@ -589,7 +548,7 @@ msgid ""
"clears the exception state."
msgstr ""
#: c-api/intro.rst:586
#: 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 "
@ -602,7 +561,7 @@ msgid ""
"``sys.exc_info()`` and friends."
msgstr ""
#: c-api/intro.rst:598
#: 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."
@ -616,7 +575,7 @@ msgid ""
"referenced by the stack frames in the traceback."
msgstr ""
#: c-api/intro.rst:609
#: 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 "
@ -627,7 +586,7 @@ msgid ""
"of the error."
msgstr ""
#: c-api/intro.rst:618
#: 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 "
@ -636,11 +595,11 @@ msgid ""
"why you like Python, we show the equivalent Python code::"
msgstr ""
#: c-api/intro.rst:633
#: c-api/intro.rst:598
msgid "Here is the corresponding C code, in all its glory::"
msgstr ""
#: c-api/intro.rst:685
#: 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:"
@ -653,11 +612,11 @@ msgid ""
"success after the final call made is successful."
msgstr ""
#: c-api/intro.rst:699
#: c-api/intro.rst:664
msgid "Embedding Python"
msgstr "Embarquer Python"
#: c-api/intro.rst:701
#: 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 "
@ -665,7 +624,7 @@ msgid ""
"the interpreter can only be used after the interpreter has been initialized."
msgstr ""
#: c-api/intro.rst:714
#: 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 "
@ -673,15 +632,15 @@ msgid ""
"initializes the module search path (``sys.path``)."
msgstr ""
#: c-api/intro.rst:719
#: 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 "
"later, setting :c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` "
"must be set: see :ref:`Python Initialization Configuration <init-config>`."
"later, it must be set explicitly with a call to ``PySys_SetArgvEx(argc, "
"argv, updatepath)`` after the call to :c:func:`Py_Initialize`."
msgstr ""
#: c-api/intro.rst:724
#: 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 "
@ -693,7 +652,7 @@ msgid ""
"on the shell command search path (the environment variable :envvar:`PATH`)."
msgstr ""
#: c-api/intro.rst:733
#: 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/"
@ -704,7 +663,7 @@ msgid ""
"in front of the standard path by setting :envvar:`PYTHONPATH`."
msgstr ""
#: c-api/intro.rst:748
#: 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 "
@ -715,7 +674,7 @@ msgid ""
"func:`Py_GetProgramFullPath` (all defined in :file:`Modules/getpath.c`)."
msgstr ""
#: c-api/intro.rst:758
#: 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:"
@ -729,18 +688,18 @@ msgid ""
"released."
msgstr ""
#: c-api/intro.rst:772
#: c-api/intro.rst:739
msgid "Debugging Builds"
msgstr ""
#: c-api/intro.rst:774
#: 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:778
#: 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 "
@ -750,7 +709,7 @@ msgid ""
"section."
msgstr ""
#: c-api/intro.rst:784
#: 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-"
@ -761,13 +720,13 @@ msgid ""
"disabled."
msgstr ""
#: c-api/intro.rst:792
#: 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:795
#: 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 "
@ -777,7 +736,7 @@ msgid ""
"this happens after every statement run by the interpreter.)"
msgstr ""
#: c-api/intro.rst:802
#: c-api/intro.rst:769
msgid ""
"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source "
"distribution for more detailed information."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"POT-Creation-Date: 2021-01-27 19:26+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"
@ -65,7 +65,7 @@ msgid ""
msgstr ""
#: c-api/list.rst:56
msgid "Similar to :c:func:`PyList_Size`, but without error checking."
msgid "Macro form of :c:func:`PyList_Size` without error checking."
msgstr ""
#: c-api/list.rst:61
@ -77,7 +77,7 @@ msgid ""
msgstr ""
#: c-api/list.rst:69
msgid "Similar to :c:func:`PyList_GetItem`, but without error checking."
msgid "Macro form of :c:func:`PyList_GetItem` without error checking."
msgstr ""
#: c-api/list.rst:74

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-12 11:56+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"
@ -125,51 +125,44 @@ msgid ""
"are no digits, :exc:`ValueError` will be raised."
msgstr ""
#: c-api/long.rst:96
msgid ""
"Python methods :meth:`int.to_bytes` and :meth:`int.from_bytes` to convert a :"
"c:type:`PyLongObject` to/from an array of bytes in base ``256``. You can "
"call those from C using :c:func:`PyObject_CallMethod`."
msgstr ""
#: c-api/long.rst:103
#: c-api/long.rst:99
msgid ""
"Convert a sequence of Unicode digits in the string *u* to a Python integer "
"value."
msgstr ""
#: c-api/long.rst:111
#: c-api/long.rst:107
msgid ""
"Create a Python integer from the pointer *p*. The pointer value can be "
"retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`."
msgstr ""
#: c-api/long.rst:140
#: c-api/long.rst:136
msgid ""
"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 ""
#: c-api/long.rst:126
#: c-api/long.rst:122
msgid ""
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
"expr:`long`."
msgstr ""
#: c-api/long.rst:149 c-api/long.rst:190 c-api/long.rst:213
#: c-api/long.rst:145 c-api/long.rst:186 c-api/long.rst:209
msgid "Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate."
msgstr ""
#: c-api/long.rst:151 c-api/long.rst:194 c-api/long.rst:298
#: c-api/long.rst:147 c-api/long.rst:190 c-api/long.rst:294
msgid "Use :meth:`__index__` if available."
msgstr ""
#: c-api/long.rst:154 c-api/long.rst:197 c-api/long.rst:301
#: c-api/long.rst:150 c-api/long.rst:193 c-api/long.rst:297
msgid "This function will no longer use :meth:`__int__`."
msgstr ""
#: c-api/long.rst:144
#: c-api/long.rst:140
msgid ""
"If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:"
"`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return "
@ -177,20 +170,20 @@ msgid ""
"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual."
msgstr ""
#: c-api/long.rst:181
#: c-api/long.rst:177
msgid ""
"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 ""
#: c-api/long.rst:167
#: c-api/long.rst:163
msgid ""
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
"expr:`long long`."
msgstr ""
#: c-api/long.rst:185
#: c-api/long.rst:181
msgid ""
"If the value of *obj* is greater than :const:`LLONG_MAX` or less than :const:"
"`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return "
@ -198,133 +191,133 @@ msgid ""
"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual."
msgstr ""
#: c-api/long.rst:207
#: c-api/long.rst:203
msgid ""
"Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must "
"be an instance of :c:type:`PyLongObject`."
msgstr ""
#: c-api/long.rst:210
#: c-api/long.rst:206
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"type:`Py_ssize_t`."
msgstr ""
#: c-api/long.rst:222
#: c-api/long.rst:218
msgid ""
"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* "
"must be an instance of :c:type:`PyLongObject`."
msgstr ""
#: c-api/long.rst:225
#: c-api/long.rst:221
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"expr:`unsigned long`."
msgstr ""
#: c-api/long.rst:228
#: c-api/long.rst:224
msgid ""
"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: c-api/long.rst:238
#: c-api/long.rst:234
msgid ""
"Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an "
"instance of :c:type:`PyLongObject`."
msgstr ""
#: c-api/long.rst:241
#: c-api/long.rst:237
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"type:`size_t`."
msgstr ""
#: c-api/long.rst:244
#: c-api/long.rst:240
msgid ""
"Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: c-api/long.rst:253
#: c-api/long.rst:249
msgid ""
"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:256
#: c-api/long.rst:252
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :"
"c:expr:`unsigned long long`."
msgstr ""
#: c-api/long.rst:259
#: c-api/long.rst:255
msgid ""
"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: c-api/long.rst:262
#: c-api/long.rst:258
msgid ""
"A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`."
msgstr ""
#: c-api/long.rst:268
#: c-api/long.rst:264
msgid ""
"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:272
#: c-api/long.rst:268
msgid ""
"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 ""
#: c-api/long.rst:275
#: c-api/long.rst:271
msgid ""
"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: c-api/long.rst:287
#: c-api/long.rst:283
msgid ""
"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:292
#: c-api/long.rst:288
msgid ""
"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 ""
#: c-api/long.rst:295
#: c-api/long.rst:291
msgid ""
"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` "
"to disambiguate."
msgstr ""
#: c-api/long.rst:307
#: c-api/long.rst:303
msgid ""
"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an "
"instance of :c:type:`PyLongObject`."
msgstr ""
#: c-api/long.rst:310
#: c-api/long.rst:306
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"expr:`double`."
msgstr ""
#: c-api/long.rst:313
#: c-api/long.rst:309
msgid ""
"Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate."
msgstr ""
#: c-api/long.rst:318
#: c-api/long.rst:314
msgid ""
"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 "
@ -332,7 +325,7 @@ msgid ""
"c:func:`PyLong_FromVoidPtr`."
msgstr ""
#: c-api/long.rst:323
#: c-api/long.rst:319
msgid ""
"Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -510,7 +510,7 @@ msgstr ""
#: c-api/module.rst:506
msgid "Example usage::"
msgstr ""
msgstr "Exemple d'utilisation ::"
#: c-api/module.rst:524
msgid ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"
@ -185,20 +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:129
msgid ""
"This function may also be called to get the :py:attr:`~object.__dict__` of "
"the object *o*. Pass ``NULL`` for *context* when calling it. Since this "
"function may need to allocate memory for the dictionary, it may be more "
"efficient to call :c:func:`PyObject_GetAttr` when accessing an attribute on "
"the object."
msgstr ""
#: c-api/object.rst:135
msgid "On failure, returns ``NULL`` with an exception set."
msgstr ""
#: c-api/object.rst:142
#: 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."
@ -206,20 +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:150
msgid ""
"Return a pointer to :py:attr:`~object.__dict__` of the object *obj*. If "
"there is no ``__dict__``, return ``NULL`` without setting an exception."
msgstr ""
#: c-api/object.rst:153
msgid ""
"This function may need to allocate memory for the dictionary, so it may be "
"more efficient to call :c:func:`PyObject_GetAttr` when accessing an "
"attribute on the object."
msgstr ""
#: c-api/object.rst:160
#: c-api/object.rst:142
#, fuzzy
msgid ""
"Compare the values of *o1* and *o2* using the operation specified by *opid*, "
@ -238,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:170
#: 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:"
@ -256,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:179
#: 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`."
@ -264,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:186
#: c-api/object.rst:168
#, fuzzy
msgid ""
"Compute a string representation of object *o*. Returns the string "
@ -277,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:214
#: 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."
@ -285,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:198
#: 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:"
@ -300,7 +274,7 @@ msgstr ""
"renvoyée par :c:func:`PyObject_Repr` en Python 2. Appelée par la fonction "
"native :func:`ascii`."
#: c-api/object.rst:209
#: c-api/object.rst:191
#, fuzzy
msgid ""
"Compute a string representation of object *o*. Returns the string "
@ -314,7 +288,7 @@ msgstr ""
"par la fonction native :func:`str`, et, par conséquent, par la fonction :"
"func:`print`."
#: c-api/object.rst:223
#: c-api/object.rst:205
#, fuzzy
msgid ""
"Compute a bytes representation of object *o*. ``NULL`` is returned on "
@ -329,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:232
#: 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``."
@ -337,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:254
#: 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``, "
@ -347,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:239
#: 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, "
@ -359,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:244
#: 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 "
@ -370,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:251
#: 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."
@ -379,7 +353,7 @@ msgstr ""
"classe de *cls*, ou ``0`` sinon. En cas d'erreur, renvoie ``-1`` et "
"initialise une exception."
#: c-api/object.rst:258
#: 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, "
@ -390,7 +364,7 @@ msgstr ""
"Sinon, *inst* est une instance *cls* si sa classe est une sous-classe de "
"*cls*."
#: c-api/object.rst:262
#: c-api/object.rst:244
msgid ""
"An instance *inst* can override what is considered its class by having a :"
"attr:`__class__` attribute."
@ -398,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:265
#: 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 "
@ -408,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:274
#: 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:277
#: c-api/object.rst:259
msgid ""
"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:284
#: 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 "
@ -428,21 +402,21 @@ msgid ""
"that it is not hashable."
msgstr ""
#: c-api/object.rst:292
#: 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:299
#: 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:308
#: 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 "
@ -453,13 +427,13 @@ msgid ""
"incremented reference count is needed."
msgstr ""
#: c-api/object.rst:319
#: 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:328
#: 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, "
@ -467,7 +441,7 @@ msgid ""
"``len(o)``."
msgstr ""
#: c-api/object.rst:335
#: 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 "
@ -476,7 +450,7 @@ msgid ""
"defaultvalue)``."
msgstr ""
#: c-api/object.rst:345
#: c-api/object.rst:327
#, fuzzy
msgid ""
"Return element of *o* corresponding to the object *key* or ``NULL`` on "
@ -486,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:351
#: c-api/object.rst:333
#, fuzzy
msgid ""
"Map the object *key* to the value *v*. Raise an exception and return ``-1`` "
@ -498,7 +472,7 @@ msgstr ""
"``0`` en cas de succès. Ceci est équivalent à l'instruction Python ``o."
"attr_name = v``."
#: c-api/object.rst:359
#: c-api/object.rst:341
#, fuzzy
msgid ""
"Remove the mapping for the object *key* from the object *o*. Return ``-1`` "
@ -508,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:365
#: 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 "
@ -518,7 +492,7 @@ msgid ""
"`PyErr_Occurred` will return false."
msgstr ""
#: c-api/object.rst:374
#: 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 "
@ -526,7 +500,7 @@ msgid ""
"object cannot be iterated."
msgstr ""
#: c-api/object.rst:382
#: 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. "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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::"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
@ -59,6 +59,36 @@ msgid "See also :c:func:`PyThreadState_GetFrame`."
msgstr ""
#: c-api/reflection.rst:36
msgid "Get the *frame* next outer frame."
msgstr ""
#: c-api/reflection.rst:38
msgid ""
"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame."
msgstr ""
#: c-api/reflection.rst:60
msgid "*frame* must not be ``NULL``."
msgstr ""
#: c-api/reflection.rst:47
msgid "Get the *frame* code."
msgstr ""
#: c-api/reflection.rst:49
msgid "Return a :term:`strong reference`."
msgstr ""
#: c-api/reflection.rst:51
msgid ""
"*frame* must not be ``NULL``. The result (frame code) cannot be ``NULL``."
msgstr ""
#: c-api/reflection.rst:58
msgid "Return the line number that *frame* is currently executing."
msgstr "Renvoie le numéro de ligne que *frame* est en train d'exécuter"
#: c-api/reflection.rst:65
msgid ""
"Return the name of *func* if it is a function, class or instance object, "
"else the name of *func*\\s type."
@ -66,7 +96,7 @@ msgstr ""
"Renvoie le nom de *func* s'il s'agit d'une fonction, d'une classe ou d'un "
"objet d'instance, sinon le nom du type de *func*"
#: c-api/reflection.rst:42
#: c-api/reflection.rst:71
msgid ""
"Return a description string, depending on the type of *func*. Return values "
"include \"()\" for functions and methods, \" constructor\", \" instance\", "
@ -78,6 +108,3 @@ msgstr ""
"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*"
#~ msgid "Return the line number that *frame* is currently executing."
#~ msgstr "Renvoie le numéro de ligne que *frame* est en train d'exécuter"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -114,79 +114,60 @@ msgstr ""
msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type."
msgstr ""
#: c-api/structures.rst:104
msgid ""
":c:func:`Py_TYPE()` is changed to an inline static function. The parameter "
"type is no longer :c:expr:`const PyObject*`."
msgstr ""
#: c-api/structures.rst:111
#: c-api/structures.rst:107
msgid ""
"Return non-zero if the object *o* type is *type*. Return zero otherwise. "
"Equivalent to: ``Py_TYPE(o) == type``."
msgstr ""
#: c-api/structures.rst:119
#: c-api/structures.rst:115
msgid "Set the object *o* type to *type*."
msgstr ""
#: c-api/structures.rst:126
#: c-api/structures.rst:122
msgid "Get the reference count of the Python object *o*."
msgstr ""
#: c-api/structures.rst:128
#: c-api/structures.rst:124
msgid ""
"Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count."
":c:func:`Py_REFCNT()` is changed to the inline static function. Use :c:func:"
"`Py_SET_REFCNT()` to set an object reference count."
msgstr ""
#: c-api/structures.rst:130
msgid "The parameter type is no longer :c:expr:`const PyObject*`."
msgstr ""
#: c-api/structures.rst:133
msgid ":c:func:`Py_REFCNT()` is changed to the inline static function."
msgstr ""
#: c-api/structures.rst:139
#: c-api/structures.rst:131
msgid "Set the object *o* reference counter to *refcnt*."
msgstr ""
#: c-api/structures.rst:146
#: c-api/structures.rst:138
msgid "Get the size of the Python object *o*."
msgstr ""
#: c-api/structures.rst:148
#: c-api/structures.rst:140
msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size."
msgstr ""
#: c-api/structures.rst:150
msgid ""
":c:func:`Py_SIZE()` is changed to an inline static function. The parameter "
"type is no longer :c:expr:`const PyVarObject*`."
msgstr ""
#: c-api/structures.rst:157
#: c-api/structures.rst:145
msgid "Set the object *o* size to *size*."
msgstr ""
#: c-api/structures.rst:164
#: c-api/structures.rst:152
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyObject` type. This macro expands to::"
msgstr ""
#: c-api/structures.rst:173
#: c-api/structures.rst:161
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands "
"to::"
msgstr ""
#: c-api/structures.rst:182
#: c-api/structures.rst:170
msgid "Implementing functions and methods"
msgstr ""
#: c-api/structures.rst:186
#: 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:expr:`PyObject*` parameters and return "
@ -196,60 +177,101 @@ msgid ""
"reference."
msgstr ""
#: c-api/structures.rst:193
#: c-api/structures.rst:181
msgid "The function signature is::"
msgstr ""
#: c-api/structures.rst:200
#: c-api/structures.rst:188
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_VARARGS | METH_KEYWORDS`. The function signature is::"
msgstr ""
#: c-api/structures.rst:211
#: c-api/structures.rst:199
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_FASTCALL`. The function signature is::"
msgstr ""
#: c-api/structures.rst:221
#: c-api/structures.rst:209
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_FASTCALL | METH_KEYWORDS`. The function signature is::"
msgstr ""
#: c-api/structures.rst:232
#: c-api/structures.rst:220
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. The function "
"signature is::"
msgstr ""
#: c-api/structures.rst:247
#: c-api/structures.rst:235
msgid ""
"Structure used to describe a method of an extension type. This structure "
"has four fields:"
msgstr ""
#: c-api/structures.rst:252
#: c-api/structures.rst:395 c-api/structures.rst:491
msgid "Field"
msgstr "Champ"
#: c-api/structures.rst:395 c-api/structures.rst:491
msgid "C Type"
msgstr "Type C"
#: c-api/structures.rst:395 c-api/structures.rst:491
msgid "Meaning"
msgstr "Signification"
#: c-api/structures.rst:241
msgid ":attr:`ml_name`"
msgstr ":attr:`ml_name`"
#: c-api/structures.rst:249 c-api/structures.rst:410 c-api/structures.rst:493
#: c-api/structures.rst:501
msgid "const char \\*"
msgstr ""
#: c-api/structures.rst:241
msgid "name of the method"
msgstr ""
#: c-api/structures.rst:256
#: c-api/structures.rst:243
msgid ":attr:`ml_meth`"
msgstr ":attr:`ml_meth`"
#: c-api/structures.rst:243
msgid "PyCFunction"
msgstr "PyCFunction"
#: c-api/structures.rst:243
msgid "pointer to the C implementation"
msgstr ""
#: c-api/structures.rst:260
msgid "flags bits indicating how the call should be constructed"
#: c-api/structures.rst:246
msgid ":attr:`ml_flags`"
msgstr ":attr:`ml_flags`"
#: c-api/structures.rst:399 c-api/structures.rst:422
msgid "int"
msgstr "*int*"
#: c-api/structures.rst:246
msgid "flag bits indicating how the call should be constructed"
msgstr ""
#: c-api/structures.rst:426
#: c-api/structures.rst:249
msgid ":attr:`ml_doc`"
msgstr ":attr:`ml_doc`"
#: c-api/structures.rst:410
msgid "points to the contents of the docstring"
msgstr ""
#: c-api/structures.rst:266
#: c-api/structures.rst:253
msgid ""
"The :c:member:`ml_meth` is a C function pointer. The functions may be of "
"The :attr:`ml_meth` is a C function pointer. The functions may be of "
"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 "
@ -257,18 +279,18 @@ msgid ""
"implementation uses the specific C type of the *self* object."
msgstr ""
#: c-api/structures.rst:273
#: c-api/structures.rst:260
msgid ""
"The :c:member:`ml_flags` field is a bitfield which can include the following "
"The :attr:`ml_flags` field is a bitfield which can include the following "
"flags. The individual flags indicate either a calling convention or a "
"binding convention."
msgstr ""
#: c-api/structures.rst:277
#: c-api/structures.rst:264
msgid "There are these calling conventions:"
msgstr ""
#: c-api/structures.rst:281
#: 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:expr:`PyObject*` values. The "
@ -278,7 +300,7 @@ msgid ""
"func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`."
msgstr ""
#: c-api/structures.rst:291
#: c-api/structures.rst:278
msgid ""
"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. "
"The function expects three parameters: *self*, *args*, *kwargs* where "
@ -287,7 +309,7 @@ msgid ""
"using :c:func:`PyArg_ParseTupleAndKeywords`."
msgstr ""
#: c-api/structures.rst:300
#: c-api/structures.rst:287
msgid ""
"Fast calling convention supporting only positional arguments. The methods "
"have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the "
@ -296,11 +318,11 @@ msgid ""
"the array)."
msgstr ""
#: c-api/structures.rst:310
#: c-api/structures.rst:297
msgid "``METH_FASTCALL`` is now part of the stable ABI."
msgstr ""
#: c-api/structures.rst:315
#: c-api/structures.rst:302
msgid ""
"Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with "
"methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments "
@ -312,21 +334,21 @@ msgid ""
"arguments."
msgstr ""
#: c-api/structures.rst:330
#: 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:334
#: 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:343
#: 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 "
@ -335,13 +357,7 @@ msgid ""
"the second parameter will be ``NULL``."
msgstr ""
#: c-api/structures.rst:349
msgid ""
"The function must have 2 parameters. Since the second parameter is unused, :"
"c:macro:`Py_UNUSED` can be used to prevent a compiler warning."
msgstr ""
#: c-api/structures.rst:355
#: 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\"`` "
@ -350,7 +366,7 @@ msgid ""
"argument."
msgstr ""
#: c-api/structures.rst:361
#: 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 "
@ -358,27 +374,27 @@ msgid ""
"any given method."
msgstr ""
#: c-api/structures.rst:371
#: 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:381
#: 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:385
#: 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:391
#: 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 "
@ -391,213 +407,193 @@ msgid ""
"calls."
msgstr ""
#: c-api/structures.rst:403
#: c-api/structures.rst:387
msgid "Accessing attributes of extension types"
msgstr ""
#: c-api/structures.rst:407
#: 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:507
msgid "Field"
msgstr "Champ"
#: c-api/structures.rst:507
msgid "C Type"
msgstr "Type C"
#: c-api/structures.rst:507
msgid "Meaning"
msgstr "Signification"
#: c-api/structures.rst:413
#: c-api/structures.rst:397
msgid ":attr:`name`"
msgstr ":attr:`name`"
#: c-api/structures.rst:426 c-api/structures.rst:509 c-api/structures.rst:517
msgid "const char \\*"
msgstr ""
#: c-api/structures.rst:413
#: c-api/structures.rst:397
msgid "name of the member"
msgstr ""
#: c-api/structures.rst:415
#: c-api/structures.rst:399
msgid ":attr:`!type`"
msgstr ":attr:`!type`"
#: c-api/structures.rst:422 c-api/structures.rst:438
msgid "int"
msgstr "*int*"
#: c-api/structures.rst:415
#: c-api/structures.rst:399
msgid "the type of the member in the C struct"
msgstr ""
#: c-api/structures.rst:418
#: c-api/structures.rst:402
msgid ":attr:`offset`"
msgstr ":attr:`offset`"
#: c-api/structures.rst:454
#: c-api/structures.rst:438
msgid "Py_ssize_t"
msgstr ""
#: c-api/structures.rst:418
#: 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:422
#: c-api/structures.rst:406
msgid ":attr:`flags`"
msgstr ":attr:`flags`"
#: c-api/structures.rst:422
#: c-api/structures.rst:406
msgid "flag bits indicating if the field should be read-only or writable"
msgstr ""
#: c-api/structures.rst:426
#: c-api/structures.rst:410
msgid ":attr:`doc`"
msgstr ":attr:`doc`"
#: c-api/structures.rst:430
#: 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:435
#: c-api/structures.rst:419
msgid "Macro name"
msgstr ""
#: c-api/structures.rst:435
#: c-api/structures.rst:419
msgid "C type"
msgstr "Type C"
#: c-api/structures.rst:437
#: c-api/structures.rst:421
msgid "T_SHORT"
msgstr ""
#: c-api/structures.rst:437
#: c-api/structures.rst:421
msgid "short"
msgstr ""
#: c-api/structures.rst:438
#: c-api/structures.rst:422
msgid "T_INT"
msgstr ""
#: c-api/structures.rst:439
#: c-api/structures.rst:423
msgid "T_LONG"
msgstr ""
#: c-api/structures.rst:439
#: c-api/structures.rst:423
msgid "long"
msgstr ""
#: c-api/structures.rst:440
#: c-api/structures.rst:424
msgid "T_FLOAT"
msgstr ""
#: c-api/structures.rst:440
#: c-api/structures.rst:424
msgid "float"
msgstr "*float*"
#: c-api/structures.rst:441
#: c-api/structures.rst:425
msgid "T_DOUBLE"
msgstr ""
#: c-api/structures.rst:441
#: c-api/structures.rst:425
msgid "double"
msgstr "double"
#: c-api/structures.rst:442
#: c-api/structures.rst:426
msgid "T_STRING"
msgstr ""
#: c-api/structures.rst:443
#: c-api/structures.rst:427
msgid "T_OBJECT"
msgstr ""
#: c-api/structures.rst:444
#: c-api/structures.rst:428
msgid "PyObject \\*"
msgstr "PyObject \\*"
#: c-api/structures.rst:444
#: c-api/structures.rst:428
msgid "T_OBJECT_EX"
msgstr ""
#: c-api/structures.rst:445
#: c-api/structures.rst:429
msgid "T_CHAR"
msgstr ""
#: c-api/structures.rst:446 c-api/structures.rst:451
#: c-api/structures.rst:430 c-api/structures.rst:435
msgid "char"
msgstr "char"
#: c-api/structures.rst:446
#: c-api/structures.rst:430
msgid "T_BYTE"
msgstr ""
#: c-api/structures.rst:447
#: c-api/structures.rst:431
msgid "T_UBYTE"
msgstr ""
#: c-api/structures.rst:447
#: c-api/structures.rst:431
msgid "unsigned char"
msgstr "``unsigned char``"
#: c-api/structures.rst:448
#: c-api/structures.rst:432
msgid "T_UINT"
msgstr ""
#: c-api/structures.rst:448
#: c-api/structures.rst:432
msgid "unsigned int"
msgstr "``unsigned int``"
#: c-api/structures.rst:449
#: c-api/structures.rst:433
msgid "T_USHORT"
msgstr ""
#: c-api/structures.rst:449
#: c-api/structures.rst:433
msgid "unsigned short"
msgstr "``unsigned short``"
#: c-api/structures.rst:450
#: c-api/structures.rst:434
msgid "T_ULONG"
msgstr ""
#: c-api/structures.rst:450
#: c-api/structures.rst:434
msgid "unsigned long"
msgstr "``unsigned long``"
#: c-api/structures.rst:451
#: c-api/structures.rst:435
msgid "T_BOOL"
msgstr ""
#: c-api/structures.rst:452
#: c-api/structures.rst:436
msgid "T_LONGLONG"
msgstr ""
#: c-api/structures.rst:452
#: c-api/structures.rst:436
msgid "long long"
msgstr ""
#: c-api/structures.rst:453
#: c-api/structures.rst:437
msgid "T_ULONGLONG"
msgstr ""
#: c-api/structures.rst:453
#: c-api/structures.rst:437
msgid "unsigned long long"
msgstr "``unsigned long long``"
#: c-api/structures.rst:454
#: c-api/structures.rst:438
msgid "T_PYSSIZET"
msgstr ""
#: c-api/structures.rst:457
#: 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:464
#: 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:472
#: 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,115 +623,100 @@ msgid ""
"``T_PYSSIZET`` and ``READONLY``, for example::"
msgstr ""
#: c-api/structures.rst:489
#: 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:496
#: 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:503
#: 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:509
#: c-api/structures.rst:493
msgid "name"
msgstr ""
#: c-api/structures.rst:509
#: c-api/structures.rst:493
msgid "attribute name"
msgstr ""
#: c-api/structures.rst:511
#: c-api/structures.rst:495
msgid "get"
msgstr ""
#: c-api/structures.rst:511
#: c-api/structures.rst:495
msgid "getter"
msgstr ""
#: c-api/structures.rst:511
#: c-api/structures.rst:495
msgid "C function to get the attribute"
msgstr ""
#: c-api/structures.rst:513
#: c-api/structures.rst:497
msgid "set"
msgstr ""
#: c-api/structures.rst:513
#: c-api/structures.rst:497
msgid "setter"
msgstr ""
#: c-api/structures.rst:513
#: 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:517
#: c-api/structures.rst:501
msgid "doc"
msgstr ""
#: c-api/structures.rst:517
#: c-api/structures.rst:501
msgid "optional docstring"
msgstr ""
#: c-api/structures.rst:519
#: c-api/structures.rst:503
msgid "closure"
msgstr ""
#: c-api/structures.rst:519
#: c-api/structures.rst:503
msgid "void \\*"
msgstr ""
#: c-api/structures.rst:519
#: c-api/structures.rst:503
msgid ""
"optional function pointer, providing additional data for getter and setter"
msgstr ""
#: c-api/structures.rst:524
#: c-api/structures.rst:508
msgid ""
"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) "
"and a function pointer (the associated ``closure``)::"
msgstr ""
#: c-api/structures.rst:529
#: 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:532
#: c-api/structures.rst:516
msgid ""
"``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:537
#: 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."
msgstr ""
#~ msgid ":attr:`ml_name`"
#~ msgstr ":attr:`ml_name`"
#~ msgid ":attr:`ml_meth`"
#~ msgstr ":attr:`ml_meth`"
#~ msgid "PyCFunction"
#~ msgstr "PyCFunction"
#~ msgid ":attr:`ml_flags`"
#~ msgstr ":attr:`ml_flags`"
#~ msgid ":attr:`ml_doc`"
#~ msgstr ":attr:`ml_doc`"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -108,9 +108,9 @@ msgstr ""
msgid ""
"Return true when the interpreter runs out of stack space. This is a "
"reliable check, but is only available when :const:`USE_STACKCHECK` is "
"defined (currently on certain versions of Windows using the Microsoft Visual "
"C++ compiler). :const:`USE_STACKCHECK` will be defined automatically; you "
"should never change the definition in your own code."
"defined (currently on Windows using the Microsoft Visual C++ compiler). :"
"const:`USE_STACKCHECK` will be defined automatically; you should never "
"change the definition in your own code."
msgstr ""
#: c-api/sys.rst:106
@ -273,24 +273,17 @@ msgid ""
"prior to :c:func:`Py_Initialize`."
msgstr ""
#: c-api/sys.rst:251
msgid ""
"This API is kept for backward compatibility: setting :c:member:`PyConfig."
"warnoptions` should be used instead, see :ref:`Python Initialization "
"Configuration <init-config>`."
msgstr ""
#: c-api/sys.rst:244
#: c-api/sys.rst:240
msgid ""
"Append *s* to :data:`sys.warnoptions`. This function must be called prior "
"to :c:func:`Py_Initialize` in order to affect the warnings filter list."
msgstr ""
#: c-api/sys.rst:255
#: c-api/sys.rst:245
msgid "Append *unicode* to :data:`sys.warnoptions`."
msgstr ""
#: c-api/sys.rst:257
#: c-api/sys.rst:247
msgid ""
"Note: this function is not currently usable from outside the CPython "
"implementation, as it must be called prior to the implicit import of :mod:"
@ -299,28 +292,20 @@ msgid ""
"Unicode objects."
msgstr ""
#: c-api/sys.rst:267
msgid ""
"This API is kept for backward compatibility: setting :c:member:`PyConfig."
"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should "
"be used instead, see :ref:`Python Initialization Configuration <init-"
"config>`."
msgstr ""
#: c-api/sys.rst:272
#: c-api/sys.rst:255
msgid ""
"Set :data:`sys.path` to a list object of paths found in *path* which should "
"be a list of paths separated with the platform's search path delimiter (``:"
"`` on Unix, ``;`` on Windows)."
msgstr ""
#: c-api/sys.rst:280
#: c-api/sys.rst:261
msgid ""
"Write the output string described by *format* to :data:`sys.stdout`. No "
"exceptions are raised, even if truncation occurs (see below)."
msgstr ""
#: c-api/sys.rst:283
#: c-api/sys.rst:264
msgid ""
"*format* should limit the total size of the formatted output string to 1000 "
"bytes or less -- after 1000 bytes, the output string is truncated. In "
@ -331,58 +316,51 @@ msgid ""
"of digits for very large numbers."
msgstr ""
#: c-api/sys.rst:291
#: c-api/sys.rst:272
msgid ""
"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message "
"is written to the real (C level) *stdout*."
msgstr ""
#: c-api/sys.rst:296
#: c-api/sys.rst:277
msgid ""
"As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
msgstr ""
#: c-api/sys.rst:301
#: c-api/sys.rst:282
msgid ""
"Function similar to PySys_WriteStdout() but format the message using :c:func:"
"`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary "
"length."
msgstr ""
#: c-api/sys.rst:309
#: c-api/sys.rst:290
msgid ""
"As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
msgstr ""
#: c-api/sys.rst:316
msgid ""
"This API is kept for backward compatibility: setting :c:member:`PyConfig."
"xoptions` should be used instead, see :ref:`Python Initialization "
"Configuration <init-config>`."
msgstr ""
#: c-api/sys.rst:320
#: c-api/sys.rst:297
msgid ""
"Parse *s* as a set of :option:`-X` options and add them to the current "
"options mapping as returned by :c:func:`PySys_GetXOptions`. This function "
"may be called prior to :c:func:`Py_Initialize`."
msgstr ""
#: c-api/sys.rst:330
#: c-api/sys.rst:305
msgid ""
"Return the current dictionary of :option:`-X` options, similarly to :data:"
"`sys._xoptions`. On error, ``NULL`` is returned and an exception is set."
msgstr ""
#: c-api/sys.rst:339
#: c-api/sys.rst:314
msgid ""
"Raise an auditing event with any active hooks. Return zero for success and "
"non-zero with an exception set on failure."
msgstr ""
#: c-api/sys.rst:342
#: c-api/sys.rst:317
msgid ""
"If any hooks have been added, *format* and other arguments will be used to "
"construct a tuple to pass. Apart from ``N``, the same format characters as "
@ -393,23 +371,23 @@ msgid ""
"leaks.)"
msgstr ""
#: c-api/sys.rst:350
#: c-api/sys.rst:325
msgid ""
"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:353
#: c-api/sys.rst:328
msgid ":func:`sys.audit` performs the same function from Python code."
msgstr ""
#: c-api/sys.rst:359
#: c-api/sys.rst:334
msgid ""
"Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an "
"unavoidable deprecation warning was raised."
msgstr ""
#: c-api/sys.rst:365
#: c-api/sys.rst:340
msgid ""
"Append the callable *hook* to the list of active auditing hooks. Return zero "
"on success and non-zero on failure. If the runtime has been initialized, "
@ -417,14 +395,14 @@ msgid ""
"all interpreters created by the runtime."
msgstr ""
#: c-api/sys.rst:371
#: c-api/sys.rst:346
msgid ""
"The *userData* pointer is passed into the hook function. Since hook "
"functions may be called from different runtimes, this pointer should not "
"refer directly to Python state."
msgstr ""
#: c-api/sys.rst:375
#: c-api/sys.rst:350
msgid ""
"This function is safe to call before :c:func:`Py_Initialize`. When called "
"after runtime initialization, existing audit hooks are notified and may "
@ -432,7 +410,7 @@ msgid ""
"`Exception` (other errors will not be silenced)."
msgstr ""
#: c-api/sys.rst:380
#: c-api/sys.rst:355
msgid ""
"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:"
@ -440,14 +418,14 @@ msgid ""
"Python interpreter that raised the event."
msgstr ""
#: c-api/sys.rst:385
#: c-api/sys.rst:360
msgid ""
"See :pep:`578` for a detailed description of auditing. Functions in the "
"runtime and standard library that raise events are listed in the :ref:`audit "
"events table <audit-events>`. Details are in each function's documentation."
msgstr ""
#: c-api/sys.rst:390
#: c-api/sys.rst:365
msgid ""
"Raises an :ref:`auditing event <auditing>` ``sys.addaudithook`` with no "
"arguments."
@ -455,7 +433,7 @@ msgstr ""
"Déclenche un :ref:`événement d'audit <auditing>` ``sys.addaudithook`` sans "
"arguments."
#: c-api/sys.rst:392
#: c-api/sys.rst:367
msgid ""
"If the interpreter is initialized, this function raises a auditing event "
"``sys.addaudithook`` with no arguments. If any existing hooks raise an "
@ -464,11 +442,11 @@ msgid ""
"hook has been added unless they control all existing hooks."
msgstr ""
#: c-api/sys.rst:404
#: c-api/sys.rst:379
msgid "Process Control"
msgstr ""
#: c-api/sys.rst:411
#: c-api/sys.rst:386
msgid ""
"Print a fatal error message and kill the process. No cleanup is performed. "
"This function should only be invoked when a condition is detected that would "
@ -478,29 +456,29 @@ msgid ""
"file:`core` file."
msgstr ""
#: c-api/sys.rst:418
#: c-api/sys.rst:393
msgid ""
"The ``Py_FatalError()`` function is replaced with a macro which logs "
"automatically the name of the current function, unless the "
"``Py_LIMITED_API`` macro is defined."
msgstr ""
#: c-api/sys.rst:422
#: c-api/sys.rst:397
msgid "Log the function name automatically."
msgstr ""
#: c-api/sys.rst:432
#: c-api/sys.rst:407
msgid ""
"Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls "
"the standard C library function ``exit(status)``. If :c:func:"
"`Py_FinalizeEx` indicates an error, the exit status is set to 120."
msgstr ""
#: c-api/sys.rst:436
#: c-api/sys.rst:411
msgid "Errors from finalization no longer ignored."
msgstr ""
#: c-api/sys.rst:446
#: c-api/sys.rst:421
msgid ""
"Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The "
"cleanup function will be called with no arguments and should return no "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -106,7 +106,7 @@ msgstr ""
#: c-api/tuple.rst:94
msgid ""
"This function \"steals\" a reference to *o*, and, unlike :c:func:"
"This macro \"steals\" a reference to *o*, and, unlike :c:func:"
"`PyTuple_SetItem`, does *not* discard a reference to any item that is being "
"replaced; any reference in the tuple at position *pos* will be leaked."
msgstr ""
@ -264,12 +264,10 @@ msgid ""
"new instances."
msgstr ""
#: c-api/tuple.rst:223
#: c-api/tuple.rst:222
msgid "This function \"steals\" a reference to *o*."
msgstr ""
#: c-api/tuple.rst:218
msgid ""
"Similar to :c:func:`PyStructSequence_SetItem`, but implemented as a static "
"inlined function."
msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"
@ -122,108 +122,75 @@ msgstr ""
#: c-api/type.rst:111
msgid ""
"Return the type's name. Equivalent to getting the type's ``__name__`` "
"attribute."
msgstr ""
#: c-api/type.rst:117
msgid ""
"Return the type's qualified name. Equivalent to getting the type's "
"``__qualname__`` attribute."
msgstr ""
#: c-api/type.rst:124
msgid ""
"Return the function pointer stored in the given slot. If the result is "
"``NULL``, this indicates that either the slot is ``NULL``, or that the "
"function was called with invalid parameters. Callers will typically cast the "
"result pointer into the appropriate function type."
msgstr ""
#: c-api/type.rst:130
#: c-api/type.rst:117
msgid ""
"See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument."
msgstr ""
#: c-api/type.rst:134
#: c-api/type.rst:121
msgid ""
":c:func:`PyType_GetSlot` can now accept all types. Previously, it was "
"limited to :ref:`heap types <heap-types>`."
msgstr ""
#: c-api/type.rst:140
#: c-api/type.rst:127
msgid ""
"Return the module object associated with the given type when the type was "
"created using :c:func:`PyType_FromModuleAndSpec`."
msgstr ""
#: c-api/type.rst:163
#: c-api/type.rst:148
msgid ""
"If no module is associated with the given type, sets :py:class:`TypeError` "
"and returns ``NULL``."
msgstr ""
#: c-api/type.rst:146
#: c-api/type.rst:133
msgid ""
"This function is usually used to get the module in which a method is "
"defined. Note that in such a method, ``PyType_GetModule(Py_TYPE(self))`` may "
"not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of the "
"intended class, and subclasses are not necessarily defined in the same "
"module as their superclass. See :c:type:`PyCMethod` to get the class that "
"defines the method. See :c:func:`PyType_GetModuleByDef` for cases when "
"``PyCMethod`` cannot be used."
"defines the method."
msgstr ""
#: c-api/type.rst:159
#: c-api/type.rst:144
msgid ""
"Return the state of the module object associated with the given type. This "
"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:"
"func:`PyType_GetModule`."
msgstr ""
#: c-api/type.rst:166
#: c-api/type.rst:151
msgid ""
"If the *type* has an associated module but its state is ``NULL``, returns "
"``NULL`` without setting an exception."
msgstr ""
#: c-api/type.rst:173
msgid ""
"Find the first superclass whose module was created from the given :c:type:"
"`PyModuleDef` *def*, and return that module."
msgstr ""
#: c-api/type.rst:176
msgid ""
"If no module is found, raises a :py:class:`TypeError` and returns ``NULL``."
msgstr ""
#: c-api/type.rst:178
msgid ""
"This function is intended to be used together with :c:func:"
"`PyModule_GetState()` to get module state from slot methods (such as :c:"
"member:`~PyTypeObject.tp_init` or :c:member:`~PyNumberMethods.nb_add`) and "
"other places where a method's defining class cannot be passed using the :c:"
"type:`PyCMethod` calling convention."
msgstr ""
#: c-api/type.rst:188
#: c-api/type.rst:158
msgid "Creating Heap-Allocated Types"
msgstr ""
#: c-api/type.rst:190
#: c-api/type.rst:160
msgid ""
"The following functions and structs are used to create :ref:`heap types "
"<heap-types>`."
msgstr ""
#: c-api/type.rst:195
#: c-api/type.rst:165
msgid ""
"Creates and returns a :ref:`heap type <heap-types>` from the *spec* (:const:"
"`Py_TPFLAGS_HEAPTYPE`)."
msgstr ""
#: c-api/type.rst:198
#: c-api/type.rst:168
msgid ""
"The *bases* argument can be used to specify base classes; it can either be "
"only one class or a tuple of classes. If *bases* is ``NULL``, the "
@ -232,7 +199,7 @@ msgid ""
"derives from :class:`object`."
msgstr ""
#: c-api/type.rst:204
#: c-api/type.rst:174
msgid ""
"The *module* argument can be used to record the module in which the new "
"class is defined. It must be a module object or ``NULL``. If not ``NULL``, "
@ -241,65 +208,65 @@ msgid ""
"subclasses; it must be specified for each class individually."
msgstr ""
#: c-api/type.rst:211
#: c-api/type.rst:181
msgid "This function calls :c:func:`PyType_Ready` on the new type."
msgstr ""
#: c-api/type.rst:217
#: c-api/type.rst:187
msgid ""
"The function now accepts a single class as the *bases* argument and ``NULL`` "
"as the ``tp_doc`` slot."
msgstr ""
#: c-api/type.rst:222
#: c-api/type.rst:192
msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``."
msgstr ""
#: c-api/type.rst:228
#: c-api/type.rst:198
msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``."
msgstr ""
#: c-api/type.rst:232
#: c-api/type.rst:202
msgid "Structure defining a type's behavior."
msgstr ""
#: c-api/type.rst:236
#: c-api/type.rst:206
msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`."
msgstr ""
#: c-api/type.rst:241
#: c-api/type.rst:211
msgid ""
"Size of the instance in bytes, used to set :c:member:`PyTypeObject."
"tp_basicsize` and :c:member:`PyTypeObject.tp_itemsize`."
msgstr ""
#: c-api/type.rst:247
#: c-api/type.rst:217
msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`."
msgstr ""
#: c-api/type.rst:249
#: c-api/type.rst:219
msgid ""
"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:"
"`PyType_FromSpecWithBases` sets it automatically."
msgstr ""
#: c-api/type.rst:254
#: c-api/type.rst:224
msgid ""
"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot "
"value ``{0, NULL}``."
msgstr ""
#: c-api/type.rst:259
#: c-api/type.rst:229
msgid ""
"Structure defining optional functionality of a type, containing a slot ID "
"and a value pointer."
msgstr ""
#: c-api/type.rst:264
#: c-api/type.rst:234
msgid "A slot ID."
msgstr ""
#: c-api/type.rst:266
#: c-api/type.rst:236
msgid ""
"Slot IDs are named like the field names of the structures :c:type:"
"`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:"
@ -307,89 +274,97 @@ msgid ""
"prefix. For example, use:"
msgstr ""
#: c-api/type.rst:272
#: c-api/type.rst:242
msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`"
msgstr ""
#: c-api/type.rst:273
#: c-api/type.rst:243
msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`"
msgstr ""
#: c-api/type.rst:274
#: c-api/type.rst:244
msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`"
msgstr ""
#: c-api/type.rst:276
#: c-api/type.rst:246
msgid ""
"The following fields cannot be set at all using :c:type:`PyType_Spec` and :c:"
"type:`PyType_Slot`:"
msgstr ""
#: c-api/type.rst:279
#: c-api/type.rst:249
msgid ":c:member:`~PyTypeObject.tp_dict`"
msgstr ""
#: c-api/type.rst:280
#: c-api/type.rst:250
msgid ":c:member:`~PyTypeObject.tp_mro`"
msgstr ""
#: c-api/type.rst:281
#: c-api/type.rst:251
msgid ":c:member:`~PyTypeObject.tp_cache`"
msgstr ""
#: c-api/type.rst:282
#: c-api/type.rst:252
msgid ":c:member:`~PyTypeObject.tp_subclasses`"
msgstr ""
#: c-api/type.rst:283
#: c-api/type.rst:253
msgid ":c:member:`~PyTypeObject.tp_weaklist`"
msgstr ""
#: c-api/type.rst:284
#: c-api/type.rst:254
msgid ":c:member:`~PyTypeObject.tp_vectorcall`"
msgstr ""
#: c-api/type.rst:285
#: c-api/type.rst:255
msgid ""
":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef "
"<pymemberdef-offsets>`)"
msgstr ""
#: c-api/type.rst:287
#: c-api/type.rst:257
msgid ""
":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef <pymemberdef-"
"offsets>`)"
msgstr ""
#: c-api/type.rst:289
#: c-api/type.rst:259
msgid ""
":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef "
"<pymemberdef-offsets>`)"
msgstr ""
#: c-api/type.rst:292
#: c-api/type.rst:262
msgid ""
"The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:"
"`PyType_Slot` under the limited API:"
msgstr ""
#: c-api/type.rst:265
msgid ":c:member:`~PyBufferProcs.bf_getbuffer`"
msgstr ""
#: c-api/type.rst:266
msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`"
msgstr ""
#: c-api/type.rst:268
msgid ""
"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on "
"some platforms. To avoid issues, use the *bases* argument of :py:func:"
"`PyType_FromSpecWithBases` instead."
msgstr ""
#: c-api/type.rst:299
#: c-api/type.rst:275
msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
msgstr ""
#: c-api/type.rst:301
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` are now available under the limited API."
msgstr ""
#: c-api/type.rst:308
#: c-api/type.rst:279
msgid ""
"The desired value of the slot. In most cases, this is a pointer to a "
"function."
msgstr ""
#: c-api/type.rst:311
#: c-api/type.rst:282
msgid "Slots other than ``Py_tp_doc`` may not be ``NULL``."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"
@ -322,12 +322,21 @@ msgid ""
msgstr ""
#: c-api/veryhigh.rst:291
#, fuzzy
msgid ""
"The C structure of the objects used to describe frame objects. The fields of "
"this type are subject to change at any time."
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:297
msgid ""
"Evaluate an execution frame. This is a simplified interface to :c:func:"
"`PyEval_EvalFrameEx`, for backward compatibility."
msgstr ""
#: c-api/veryhigh.rst:297
#: 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 "
@ -337,7 +346,7 @@ msgid ""
"of generator objects."
msgstr ""
#: c-api/veryhigh.rst:304
#: 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."
@ -345,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:311
#: 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:319
#: 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:327
#: 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:336
#: 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:343
#: 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 "
@ -379,43 +388,35 @@ msgid ""
"case, ``from __future__ import`` can modify *flags*."
msgstr ""
#: c-api/veryhigh.rst:348
#: 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:354
#: c-api/veryhigh.rst:360
msgid "Compiler flags."
msgstr ""
#: c-api/veryhigh.rst:358
#: 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:361
#: 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:364
#: c-api/veryhigh.rst:370
msgid "Added *cf_feature_version* field."
msgstr ""
#: c-api/veryhigh.rst:370
#: 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`."
msgstr ""
#, fuzzy
#~ msgid ""
#~ "The C structure of the objects used to describe frame objects. The fields "
#~ "of this type are subject to change at any time."
#~ msgstr ""
#~ "La structure C utilisée pour décrire les objets *Code*. Les attributs de "
#~ "cette structure sont sujets à changer à tout moment."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"
@ -116,8 +116,9 @@ msgstr ""
"encore."
#: c-api/weakref.rst:69
#, fuzzy
msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking."
msgid ""
"Similar to :c:func:`PyWeakref_GetObject`, but implemented as a macro that "
"does no error checking."
msgstr ""
"Similaire à :c:func:`PyWeakref_GetObject`, mais implémenté comme une macro "
"qui ne vérifie pas les erreurs."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"
@ -24,8 +24,7 @@ msgid "Python and this documentation is:"
msgstr "Python et cette documentation sont :"
#: copyright.rst:7
#, fuzzy
msgid "Copyright © 2001-2023 Python Software Foundation. All rights reserved."
msgid "Copyright © 2001-2022 Python Software Foundation. All rights reserved."
msgstr ""
"Copyright © 2001-2022 Python Software Foundation. Tous droits réservés."

3
dict
View File

@ -15,7 +15,6 @@ base32
base64
base85
batch
Bit
boguer
c++
c-
@ -90,7 +89,6 @@ interchangés
intralignes
ios
ipv4
ipv6
itérateur
itérateurs
ième
@ -204,7 +202,6 @@ world
wxwidgets
x11
x86
YAML
zope
émoji
ı

View File

@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-04 22:18+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"
@ -703,7 +703,7 @@ msgstr ""
#: distutils/apiref.rst:316
msgid ":mod:`distutils.ccompiler` --- CCompiler base class"
msgstr ":mod:`distutils.ccompiler` — Classe mère CCompiler"
msgstr ":mod:`distutils.ccompiler` — Classe de base CCompiler"
#: distutils/apiref.rst:322
msgid ""
@ -713,7 +713,7 @@ msgid ""
"options for the compiler --- macro definitions, include directories, link "
"path, libraries and the like."
msgstr ""
"Ce module fournit la classe mère abstraite pour les classes :class:"
"Ce module fournit la classe de base abstraite pour les classes :class:"
"`CCompiler`. Une instance de :class:`CCompiler` peut être utilisée pour "
"toutes les étapes de compilation et de liaison nécessaires à la compilation "
"d'un projet unique. Des méthodes sont fournies pour définir des options pour "
@ -821,7 +821,7 @@ msgid ""
"be implemented by real compiler classes. The class also has some utility "
"methods used by several compiler classes."
msgstr ""
"La classe mère abstraite :class:`CCompiler` définit l'interface qui doit "
"La classe de base abstraite :class:`CCompiler` définit l'interface qui doit "
"être implémentée par des classes de compilateur concrètes. La classe "
"possède également quelques méthodes utilitaires utilisées par plusieurs "
"classes de compilateurs."
@ -3103,11 +3103,12 @@ msgstr ":mod:`distutils.version` — Classes de numéros de version"
#: distutils/apiref.rst:1722
msgid ":mod:`distutils.cmd` --- Abstract base class for Distutils commands"
msgstr ""
":mod:`distutils.cmd` — Classe mère abstraite pour les commandes *Distutils*"
":mod:`distutils.cmd` — Classe de base abstraite pour les commandes "
"*Distutils*"
#: distutils/apiref.rst:1729
msgid "This module supplies the abstract base class :class:`Command`."
msgstr "Ce module fournit la classe mère abstraite :class:`Command`."
msgstr "Ce module fournit la classe de base abstraite :class:`Command`."
#: distutils/apiref.rst:1734
msgid ""
@ -3124,8 +3125,8 @@ msgid ""
"options, is the :meth:`run` method, which must also be implemented by every "
"command class."
msgstr ""
"Classe mère abstraite pour définir les classes de commandes, les "
"« ouvrières » de *Distutils*. Une analogie utile pour les classes de "
"Classe de base abstraite pour définir les classes de commandes, les "
"\"ouvrières\" de *Distutils*. Une analogie utile pour les classes de "
"commandes est de les considérer comme des sous-routines avec des variables "
"locales appelées *options*. Les options sont déclarées dans :meth:"
"`initialiser_options` et définies (compte tenu de leur valeur finale) dans :"
@ -3280,7 +3281,7 @@ msgstr ":mod:`distutils.command.bdist` — Construit un installateur binaire"
msgid ""
":mod:`distutils.command.bdist_packager` --- Abstract base class for packagers"
msgstr ""
":mod:`distutils.command.bdist_packager` — Classe mère abstraite pour "
":mod:`distutils.command.bdist_packager` — Classe de base abstraite pour "
"empaqueteurs"
#: distutils/apiref.rst:1846
@ -3291,43 +3292,58 @@ msgstr ""
#: distutils/apiref.rst:1856
msgid ""
":mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary "
"package"
msgstr ""
":mod:`distutils.command.bdist_msi` — Construit un installateur Microsoft"
#: distutils/apiref.rst:1863
msgid "Use bdist_wheel (wheel packages) instead."
msgstr "Utilisez *bdist_wheel* (paquet au format *wheel*) à la place."
#: distutils/apiref.rst:1866
msgid "Builds a `Windows Installer`_ (.msi) binary package."
msgstr "Construit un installateur `Windows Installeur`_ (*.msi*)"
#: distutils/apiref.rst:1872
msgid ""
":mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a "
"Redhat RPM and SRPM"
msgstr ""
":mod:`distutils.command.bdist_rpm` — Construit une distribution binaire au "
"format Redhat RPM et SRPM"
#: distutils/apiref.rst:1866
#: distutils/apiref.rst:1882
msgid ":mod:`distutils.command.sdist` --- Build a source distribution"
msgstr ":mod:`distutils.command.sdist` — Construit une distribution source"
#: distutils/apiref.rst:1876
#: distutils/apiref.rst:1892
msgid ":mod:`distutils.command.build` --- Build all files of a package"
msgstr ""
":mod:`distutils.command.build` — Construit tous les fichiers d'un paquet"
#: distutils/apiref.rst:1886
#: distutils/apiref.rst:1902
msgid ""
":mod:`distutils.command.build_clib` --- Build any C libraries in a package"
msgstr ""
":mod:`distutils.command.build_clib` — Construit toutes les bibliothèques C "
"d'un paquet"
#: distutils/apiref.rst:1896
#: distutils/apiref.rst:1912
msgid ""
":mod:`distutils.command.build_ext` --- Build any extensions in a package"
msgstr ""
":mod:`distutils.command.build_ext` — Construit toutes les extensions d'un "
"paquet"
#: distutils/apiref.rst:1906
#: distutils/apiref.rst:1922
msgid ""
":mod:`distutils.command.build_py` --- Build the .py/.pyc files of a package"
msgstr ""
":mod:`distutils.command.build_py` — Construit les fichiers *.py/.pyc* d'un "
"paquet"
#: distutils/apiref.rst:1916
#: distutils/apiref.rst:1932
msgid ""
"Alternative implementation of build_py which also runs the 2to3 conversion "
"library on each .py file that is going to be installed. To use this in a "
@ -3339,27 +3355,27 @@ msgstr ""
"installé. Pour l'utiliser dans un fichier *setup.py* pour une distribution "
"conçue pour fonctionner avec *Python 2.x* et *3.x*, ajouter ::"
#: distutils/apiref.rst:1926
#: distutils/apiref.rst:1942
msgid "to your setup.py, and later::"
msgstr "à votre *setup.py* et, plus tard ::"
#: distutils/apiref.rst:1930
#: distutils/apiref.rst:1946
msgid "to the invocation of setup()."
msgstr "à l'appel de *setup()*."
#: distutils/apiref.rst:1934
#: distutils/apiref.rst:1950
msgid ""
":mod:`distutils.command.build_scripts` --- Build the scripts of a package"
msgstr ""
":mod:`distutils.command.build_scripts` — Construit les scripts d'un paquet"
#: distutils/apiref.rst:1944
#: distutils/apiref.rst:1960
msgid ":mod:`distutils.command.clean` --- Clean a package build area"
msgstr ""
":mod:`distutils.command.clean` — Nettoie un dossier de compilation d'un "
"paquet"
#: distutils/apiref.rst:1949
#: distutils/apiref.rst:1965
msgid ""
"This command removes the temporary files created by :command:`build` and its "
"subcommands, like intermediary compiled object files. With the ``--all`` "
@ -3370,7 +3386,7 @@ msgstr ""
"intermédiaires. Avec l'option ``--all``, le répertoire de compilation sera "
"supprimé."
#: distutils/apiref.rst:1953
#: distutils/apiref.rst:1969
msgid ""
"Extension modules built :ref:`in place <distutils-build-ext-inplace>` will "
"not be cleaned, as they are not in the build directory."
@ -3379,23 +3395,23 @@ msgstr ""
"inplace>` ne seront pas effacés, car ils ne sont pas dans le répertoire "
"*build*."
#: distutils/apiref.rst:1958
#: distutils/apiref.rst:1974
msgid ":mod:`distutils.command.config` --- Perform package configuration"
msgstr ""
":mod:`distutils.command.config` — Effectue la configuration d'un paquet"
#: distutils/apiref.rst:1968
#: distutils/apiref.rst:1984
msgid ":mod:`distutils.command.install` --- Install a package"
msgstr ":mod:`distutils.command.install` — Installe un paquet"
#: distutils/apiref.rst:1978
#: distutils/apiref.rst:1994
msgid ""
":mod:`distutils.command.install_data` --- Install data files from a package"
msgstr ""
":mod:`distutils.command.install_data` — Installe les fichiers de données "
"d'un paquet"
#: distutils/apiref.rst:1988
#: distutils/apiref.rst:2004
msgid ""
":mod:`distutils.command.install_headers` --- Install C/C++ header files from "
"a package"
@ -3403,14 +3419,14 @@ msgstr ""
":mod:`distutils.command.install_headers` — Installe les fichiers d'en-tête C/"
"C++ d'un paquet"
#: distutils/apiref.rst:1998
#: distutils/apiref.rst:2014
msgid ""
":mod:`distutils.command.install_lib` --- Install library files from a package"
msgstr ""
":mod:`distutils.command.install_lib` — Installe les fichiers de bibliothèque "
"à partir d'un paquet"
#: distutils/apiref.rst:2008
#: distutils/apiref.rst:2024
msgid ""
":mod:`distutils.command.install_scripts` --- Install script files from a "
"package"
@ -3418,7 +3434,7 @@ msgstr ""
":mod:`distutils.command.install_scripts` — Installe les fichiers de script "
"d'un paquet"
#: distutils/apiref.rst:2018
#: distutils/apiref.rst:2034
msgid ""
":mod:`distutils.command.register` --- Register a module with the Python "
"Package Index"
@ -3426,7 +3442,7 @@ msgstr ""
":mod:`distutils.command.register` — Enregistre un module dans l'Index des "
"paquets Python (*Python Package Index* ou *PyPI* en anglais)"
#: distutils/apiref.rst:2024
#: distutils/apiref.rst:2040
msgid ""
"The ``register`` command registers the package with the Python Package "
"Index. This is described in more detail in :pep:`301`."
@ -3434,11 +3450,11 @@ msgstr ""
"La commande ``register`` enregistre le paquet dans l'index des paquets "
"Python. Plus de détails à ce sujet dans la :pep:`301`."
#: distutils/apiref.rst:2031
#: distutils/apiref.rst:2047
msgid ":mod:`distutils.command.check` --- Check the meta-data of a package"
msgstr ":mod:`distutils.command.check` — Vérifie les méta-données d'un paquet"
#: distutils/apiref.rst:2037
#: distutils/apiref.rst:2053
msgid ""
"The ``check`` command performs some tests on the meta-data of a package. For "
"example, it verifies that all required meta-data are provided as the "
@ -3448,18 +3464,6 @@ msgstr ""
"Par exemple, elle vérifie que toutes les méta-données requises sont fournies "
"lorsque les arguments sont passés à la fonction :func:`setup`."
#~ msgid ""
#~ ":mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary "
#~ "package"
#~ msgstr ""
#~ ":mod:`distutils.command.bdist_msi` — Construit un installateur Microsoft"
#~ msgid "Use bdist_wheel (wheel packages) instead."
#~ msgstr "Utilisez *bdist_wheel* (paquet au format *wheel*) à la place."
#~ msgid "Builds a `Windows Installer`_ (.msi) binary package."
#~ msgstr "Construit un installateur `Windows Installeur`_ (*.msi*)"
#~ msgid ""
#~ "In most cases, the ``bdist_msi`` installer is a better choice than the "
#~ "``bdist_wininst`` installer, because it provides better support for Win64 "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
@ -365,7 +365,19 @@ msgstr ":command:`bdist_rpm`"
msgid "rpm, srpm"
msgstr "rpm, srpm"
#: distutils/builtdist.rst:142
#: distutils/builtdist.rst:141
msgid ":command:`bdist_msi`"
msgstr ":command:`bdist_msi`"
#: distutils/builtdist.rst:141
msgid "msi"
msgstr "msi"
#: distutils/builtdist.rst:145
msgid "bdist_msi is deprecated since Python 3.9."
msgstr "``bdist_msi`` est obsolète depuis Python 3.9."
#: distutils/builtdist.rst:147
msgid ""
"The following sections give details on the individual :command:`bdist_\\*` "
"commands."
@ -373,11 +385,11 @@ msgstr ""
"Le chapitre suivant donne des détails individuel sur les commandes :command:"
"`bdist_\\*`."
#: distutils/builtdist.rst:158
#: distutils/builtdist.rst:163
msgid "Creating RPM packages"
msgstr "Créer un paquet RPM"
#: distutils/builtdist.rst:160
#: distutils/builtdist.rst:165
msgid ""
"The RPM format is used by many popular Linux distributions, including Red "
"Hat, SuSE, and Mandrake. If one of these (or any of the other RPM-based "
@ -395,7 +407,7 @@ msgstr ""
"entre les distributions Linux, vous pourrez aussi créer des RPM qui "
"fonctionneront sur des distributions RPM différentes."
#: distutils/builtdist.rst:167
#: distutils/builtdist.rst:172
msgid ""
"The usual way to create an RPM of your module distribution is to run the :"
"command:`bdist_rpm` command::"
@ -403,11 +415,11 @@ msgstr ""
"La manière habituelle de créer un RPM de votre module est d'utiliser la "
"commande :command:`bdist_rpm` ::"
#: distutils/builtdist.rst:172
#: distutils/builtdist.rst:177
msgid "or the :command:`bdist` command with the :option:`!--format` option::"
msgstr "ou la commande :command:`bdist` avec l'option :option:`!--format` ::"
#: distutils/builtdist.rst:176
#: distutils/builtdist.rst:181
msgid ""
"The former allows you to specify RPM-specific options; the latter allows "
"you to easily specify multiple formats in one run. If you need to do both, "
@ -419,7 +431,7 @@ msgstr ""
"avez besoin d'utiliser les deux, vous pouvez explicitement spécifier "
"plusieurs commandes :command:`bdist_\\*` et leurs options ::"
#: distutils/builtdist.rst:182
#: distutils/builtdist.rst:187
msgid ""
"Creating RPM packages is driven by a :file:`.spec` file, much as using the "
"Distutils is driven by the setup script. To make your life easier, the :"
@ -436,43 +448,43 @@ msgstr ""
"Beaucoup d'options du fichier :file:`.spec` sont dérivées des options du "
"script de préparation suivant :"
#: distutils/builtdist.rst:214
#: distutils/builtdist.rst:219
msgid "RPM :file:`.spec` file option or section"
msgstr "Option de fichier RPM :file:`.spec`"
#: distutils/builtdist.rst:190
#: distutils/builtdist.rst:195
msgid "Distutils setup script option"
msgstr "Options du script de préparation Distutils"
#: distutils/builtdist.rst:192
#: distutils/builtdist.rst:197
msgid "Name"
msgstr "Nom"
#: distutils/builtdist.rst:192
#: distutils/builtdist.rst:197
msgid "``name``"
msgstr "``name``"
#: distutils/builtdist.rst:194
#: distutils/builtdist.rst:199
msgid "Summary (in preamble)"
msgstr "*Summary* (dans le préambule)"
#: distutils/builtdist.rst:194
#: distutils/builtdist.rst:199
msgid "``description``"
msgstr "``description``"
#: distutils/builtdist.rst:196
#: distutils/builtdist.rst:201
msgid "Version"
msgstr "Version"
#: distutils/builtdist.rst:196
#: distutils/builtdist.rst:201
msgid "``version``"
msgstr "``version``"
#: distutils/builtdist.rst:221
#: distutils/builtdist.rst:226
msgid "Vendor"
msgstr "Vendor"
#: distutils/builtdist.rst:198
#: distutils/builtdist.rst:203
msgid ""
"``author`` and ``author_email``, or --- & ``maintainer`` and "
"``maintainer_email``"
@ -480,31 +492,31 @@ msgstr ""
"``author`` et ``author_email``, ou --- & ``maintainer`` et "
"``maintainer_email``"
#: distutils/builtdist.rst:202
#: distutils/builtdist.rst:207
msgid "Copyright"
msgstr "Copyright"
#: distutils/builtdist.rst:202
#: distutils/builtdist.rst:207
msgid "``license``"
msgstr "``license``"
#: distutils/builtdist.rst:204
#: distutils/builtdist.rst:209
msgid "Url"
msgstr "Url"
#: distutils/builtdist.rst:204
#: distutils/builtdist.rst:209
msgid "``url``"
msgstr "``url``"
#: distutils/builtdist.rst:206
#: distutils/builtdist.rst:211
msgid "%description (section)"
msgstr "%description (section)"
#: distutils/builtdist.rst:206
#: distutils/builtdist.rst:211
msgid "``long_description``"
msgstr "``long_description``"
#: distutils/builtdist.rst:209
#: distutils/builtdist.rst:214
msgid ""
"Additionally, there are many options in :file:`.spec` files that don't have "
"corresponding options in the setup script. Most of these are handled "
@ -514,116 +526,116 @@ msgstr ""
"aucun équivalent dans le script de préparation. La plupart de celles ci sont "
"gérées par les options de la commande :command:`bdist_rpm` suivant :"
#: distutils/builtdist.rst:214
#: distutils/builtdist.rst:219
msgid ":command:`bdist_rpm` option"
msgstr "Option de :command:`bdist_rpm`"
#: distutils/builtdist.rst:214
#: distutils/builtdist.rst:219
msgid "default value"
msgstr "valeur par défaut"
#: distutils/builtdist.rst:217
#: distutils/builtdist.rst:222
msgid "Release"
msgstr "Version"
#: distutils/builtdist.rst:217
#: distutils/builtdist.rst:222
msgid "``release``"
msgstr "``release``"
#: distutils/builtdist.rst:217
#: distutils/builtdist.rst:222
msgid "\"1\""
msgstr "\"1\""
#: distutils/builtdist.rst:219
#: distutils/builtdist.rst:224
msgid "Group"
msgstr "Group"
#: distutils/builtdist.rst:219
#: distutils/builtdist.rst:224
msgid "``group``"
msgstr "``group``"
#: distutils/builtdist.rst:219
#: distutils/builtdist.rst:224
msgid "\"Development/Libraries\""
msgstr "\"Développement/Bibliothèques\""
#: distutils/builtdist.rst:221
#: distutils/builtdist.rst:226
msgid "``vendor``"
msgstr "``vendor``"
#: distutils/builtdist.rst:221
#: distutils/builtdist.rst:226
msgid "(see above)"
msgstr "(voir au-dessus)"
#: distutils/builtdist.rst:223
#: distutils/builtdist.rst:228
msgid "Packager"
msgstr "Packager"
#: distutils/builtdist.rst:223
#: distutils/builtdist.rst:228
msgid "``packager``"
msgstr "``packager``"
#: distutils/builtdist.rst:225 distutils/builtdist.rst:229
#: distutils/builtdist.rst:233 distutils/builtdist.rst:237
#: distutils/builtdist.rst:230 distutils/builtdist.rst:234
#: distutils/builtdist.rst:238 distutils/builtdist.rst:242
msgid "(none)"
msgstr "(none)"
#: distutils/builtdist.rst:225
#: distutils/builtdist.rst:230
msgid "Provides"
msgstr "Provides"
#: distutils/builtdist.rst:225
#: distutils/builtdist.rst:230
msgid "``provides``"
msgstr "``provides``"
#: distutils/builtdist.rst:227
#: distutils/builtdist.rst:232
msgid "Requires"
msgstr "Requires"
#: distutils/builtdist.rst:227
#: distutils/builtdist.rst:232
msgid "``requires``"
msgstr "``requires``"
#: distutils/builtdist.rst:229
#: distutils/builtdist.rst:234
msgid "Conflicts"
msgstr "Conflicts"
#: distutils/builtdist.rst:229
#: distutils/builtdist.rst:234
msgid "``conflicts``"
msgstr "``conflicts``"
#: distutils/builtdist.rst:231
#: distutils/builtdist.rst:236
msgid "Obsoletes"
msgstr "Obsoletes"
#: distutils/builtdist.rst:231
#: distutils/builtdist.rst:236
msgid "``obsoletes``"
msgstr "``obsoletes``"
#: distutils/builtdist.rst:233
#: distutils/builtdist.rst:238
msgid "Distribution"
msgstr "Distribution"
#: distutils/builtdist.rst:233
#: distutils/builtdist.rst:238
msgid "``distribution_name``"
msgstr "``distribution_name``"
#: distutils/builtdist.rst:235
#: distutils/builtdist.rst:240
msgid "BuildRequires"
msgstr "BuildRequires"
#: distutils/builtdist.rst:235
#: distutils/builtdist.rst:240
msgid "``build_requires``"
msgstr "``build_requires``"
#: distutils/builtdist.rst:237
#: distutils/builtdist.rst:242
msgid "Icon"
msgstr "Icon"
#: distutils/builtdist.rst:237
#: distutils/builtdist.rst:242
msgid "``icon``"
msgstr "``icon``"
#: distutils/builtdist.rst:240
#: distutils/builtdist.rst:245
msgid ""
"Obviously, supplying even a few of these options on the command-line would "
"be tedious and error-prone, so it's usually best to put them in the setup "
@ -643,7 +655,7 @@ msgstr ""
"pydistutils.cfg`). Si vous voulez temporairement désactiver ce fichier, vous "
"pouvez passer l'option :option:`!--no-user-cfg` à :file:`setup.py`."
#: distutils/builtdist.rst:248
#: distutils/builtdist.rst:253
msgid ""
"There are three steps to building a binary RPM package, all of which are "
"handled automatically by the Distutils:"
@ -651,7 +663,7 @@ msgstr ""
"La création de binaire RPM se fait en trois étapes, chacune gérée "
"automatiquement par Distutils :"
#: distutils/builtdist.rst:251
#: distutils/builtdist.rst:256
msgid ""
"create a :file:`.spec` file, which describes the package (analogous to the "
"Distutils setup script; in fact, much of the information in the setup "
@ -661,11 +673,11 @@ msgstr ""
"préparation Distutils, en réalité la plupart des informations du script de "
"préparation se retrouve dans le fichier :file:`.spec`)"
#: distutils/builtdist.rst:255
#: distutils/builtdist.rst:260
msgid "create the source RPM"
msgstr "crée un RPM source"
#: distutils/builtdist.rst:257
#: distutils/builtdist.rst:262
msgid ""
"create the \"binary\" RPM (which may or may not contain binary code, "
"depending on whether your module distribution contains Python extensions)"
@ -673,7 +685,7 @@ msgstr ""
"crée le RPM \"binaire\" (qui peut ou non contenir des binaires, tout dépend "
"de si votre module contiens des extensions)"
#: distutils/builtdist.rst:260
#: distutils/builtdist.rst:265
msgid ""
"Normally, RPM bundles the last two steps together; when you use the "
"Distutils, all three steps are typically bundled together."
@ -681,7 +693,7 @@ msgstr ""
"Normalement, RPM réunit les deux dernières étapes ensemble; quand vous "
"utilisez Distutils, les trois étapes sont regroupées."
#: distutils/builtdist.rst:263
#: distutils/builtdist.rst:268
msgid ""
"If you wish, you can separate these three steps. You can use the :option:"
"`!--spec-only` option to make :command:`bdist_rpm` just create the :file:`."
@ -700,11 +712,11 @@ msgstr ""
"fichier :file:`.spec` se retrouve profondément enfoui dans l'arborescence, "
"dans un dossier temporaire créé par la commande :command:`bdist_rpm`.)"
#: distutils/builtdist.rst:291
#: distutils/builtdist.rst:296
msgid "Cross-compiling on Windows"
msgstr "Compiler pour toute les plateformes Windows"
#: distutils/builtdist.rst:293
#: distutils/builtdist.rst:298
msgid ""
"Starting with Python 2.6, distutils is capable of cross-compiling between "
"Windows platforms. In practice, this means that with the correct tools "
@ -716,7 +728,7 @@ msgstr ""
"installés, vous pouvez utiliser une version 32 bits de Windows pour créer "
"une extension 64 bits et vice-versa."
#: distutils/builtdist.rst:298
#: distutils/builtdist.rst:303
msgid ""
"To build for an alternate platform, specify the :option:`!--plat-name` "
"option to the build command. Valid values are currently 'win32', and 'win-"
@ -727,11 +739,11 @@ msgstr ""
"actuellement **'win32'**, et **'win-amd64'**. Par exemple, sur une version "
"*32bit* de Windows, vous pourriez exécuter ::"
#: distutils/builtdist.rst:304
#: distutils/builtdist.rst:309
msgid "to build a 64bit version of your extension."
msgstr ""
#: distutils/builtdist.rst:306
#: distutils/builtdist.rst:311
msgid ""
"would create a 64bit installation executable on your 32bit version of "
"Windows."
@ -739,7 +751,7 @@ msgstr ""
"créera un installateur exécutable 64 bits depuis votre version 32 bits de "
"Windows."
#: distutils/builtdist.rst:308
#: distutils/builtdist.rst:313
msgid ""
"To cross-compile, you must download the Python source code and cross-compile "
"Python itself for the platform you are targeting - it is not possible from a "
@ -759,7 +771,7 @@ msgstr ""
"l'arborescence des sources de Python et construire la version *x64* du "
"projet *pythoncore* avant de pouvoir compiler son extension."
#: distutils/builtdist.rst:317
#: distutils/builtdist.rst:322
msgid ""
"Note that by default, Visual Studio 2008 does not install 64bit compilers or "
"tools. You may need to reexecute the Visual Studio setup process and select "
@ -772,11 +784,11 @@ msgstr ""
"> [Ajouter/Supprimer]* est un bon moyen de vérifier ou modifier votre "
"installation existante.)"
#: distutils/builtdist.rst:325
#: distutils/builtdist.rst:330
msgid "The Postinstallation script"
msgstr "Le script de post-installation"
#: distutils/builtdist.rst:327
#: distutils/builtdist.rst:332
msgid ""
"Starting with Python 2.3, a postinstallation script can be specified with "
"the :option:`!--install-script` option. The basename of the script must be "
@ -787,7 +799,7 @@ msgstr ""
"l'option :option:`!--install-script`. Le nom du script doit être spécifié et "
"présent dans l'argument \"scripts\" de la fonction ``setup``."
#: distutils/builtdist.rst:332
#: distutils/builtdist.rst:337
msgid ""
"This script will be run at installation time on the target system after all "
"the files have been copied, with ``argv[1]`` set to :option:`!-install`, and "
@ -800,7 +812,7 @@ msgstr ""
"que les fichiers soient supprimés avec la valeur de ``argv[1]`` à :option:`!-"
"remove`."
#: distutils/builtdist.rst:337
#: distutils/builtdist.rst:342
msgid ""
"The installation script runs embedded in the windows installer, every output "
"(``sys.stdout``, ``sys.stderr``) is redirected into a buffer and will be "
@ -810,7 +822,7 @@ msgstr ""
"chaque sortie (``sys.stdout``, ``sys.stderr``) est redirigé dans le tampon "
"et sera affiché dans le GUI après que les scripts soient finis."
#: distutils/builtdist.rst:341
#: distutils/builtdist.rst:346
msgid ""
"Some functions especially useful in this context are available as additional "
"built-in functions in the installation script."
@ -818,7 +830,7 @@ msgstr ""
"Certaines fonctions spécialement utiles dans ce contexte sont disponibles "
"comme fonctions natives additionnelles dans le script d'installation."
#: distutils/builtdist.rst:348
#: distutils/builtdist.rst:353
msgid ""
"These functions should be called when a directory or file is created by the "
"postinstall script at installation time. It will register *path* with the "
@ -831,7 +843,7 @@ msgstr ""
"lors de la des-installation de la distribution. pour être sûr, les "
"répertoires sont uniquement retirés s'ils sont vides."
#: distutils/builtdist.rst:356
#: distutils/builtdist.rst:361
msgid ""
"This function can be used to retrieve special folder locations on Windows "
"like the Start Menu or the Desktop. It returns the full path to the folder. "
@ -842,11 +854,11 @@ msgstr ""
"renvoie le chemin complet pour le fichier. *csidl_string* doit être unes des "
"chaines suivantes ::"
#: distutils/builtdist.rst:376
#: distutils/builtdist.rst:381
msgid "If the folder cannot be retrieved, :exc:`OSError` is raised."
msgstr "Si le fichier ne peut être extrait, :exc:`OSError` est obtenu.."
#: distutils/builtdist.rst:378
#: distutils/builtdist.rst:383
msgid ""
"Which folders are available depends on the exact Windows version, and "
"probably also the configuration. For details refer to Microsoft's "
@ -856,7 +868,7 @@ msgstr ""
"probablement aussi de la configuration. pour des détails se référer à la "
"documentation Microsoft de la fonction :c:func:`SHGetSpecialFolderPath`."
#: distutils/builtdist.rst:385
#: distutils/builtdist.rst:390
msgid ""
"This function creates a shortcut. *target* is the path to the program to be "
"started by the shortcut. *description* is the description of the shortcut. "
@ -876,15 +888,6 @@ msgstr ""
"licône dans le fichier *cheminIcone*. Encore, pour les détails consulter la "
"documentation Microsoft pour l'interface :class:`ILienShell`."
#~ msgid ":command:`bdist_msi`"
#~ msgstr ":command:`bdist_msi`"
#~ msgid "msi"
#~ msgstr "msi"
#~ msgid "bdist_msi is deprecated since Python 3.9."
#~ msgstr "``bdist_msi`` est obsolète depuis Python 3.9."
#~ msgid "``wininst``"
#~ msgstr "``wininst``"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\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``"
@ -176,8 +176,8 @@ msgstr ""
#: distutils/sourcedist.rst:65
msgid ""
"deprecated by `PEP 527 <https://peps.python.org/pep-0527/>`_; `PyPI <https://"
"pypi.org>`_ only accepts ``.zip`` and ``.tar.gz`` files."
"deprecated by `PEP 527 <https://www.python.org/dev/peps/pep-0527/>`_; `PyPI "
"<https://pypi.org>`_ only accepts ``.zip`` and ``.tar.gz`` files."
msgstr ""
#: distutils/sourcedist.rst:68

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2019-12-25 17:24+0100\n"
"Last-Translator: Antoine <antoine.venier@hotmail.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -421,10 +421,9 @@ msgstr ""
"compiler :"
#: extending/embedding.rst:304
#, fuzzy
msgid ""
"``pythonX.Y-config --ldflags --embed`` will give you the recommended flags "
"when linking:"
"``pythonX.Y-config --ldflags`` will give you the recommended flags when "
"linking:"
msgstr ""
"``pythonX.Y-config --ldflags`` vous donnera les drapeaux recommandés lors de "
"l'édition de lien :"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-11-20 22:13+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"
"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\n"
#: faq/design.rst:3
msgid "Design and History FAQ"
@ -265,13 +265,13 @@ msgid ""
msgstr ""
"Ensuite, ça veut dire qu'aucune syntaxe spéciale n'est nécessaire si vous "
"souhaitez explicitement référencer ou appeler la méthode depuis une classe "
"en particulier. En C++, si vous utilisez la méthode d'une classe mère elle-"
"même surchargée par une classe dérivée, vous devez utiliser l'opérateur ``::"
"`` — en Python vous pouvez écrire ``ClasseDeBase.nom_methode(self, <argument "
"list>)``. C'est particulièrement utile pour les méthodes :meth:`__init__` "
"et, de manière générale, dans les cas où une classe dérivée veut étendre la "
"méthode du même nom de la classe mère, et doit donc se débrouiller pour "
"appeler la méthode de la classe mère."
"en particulier. En C++, si vous utilisez la méthode d'une classe de base "
"elle-même surchargée par une classe dérivée, vous devez utiliser l'opérateur "
"``::`` — en Python vous pouvez écrire ``ClasseDeBase.nom_methode(self, "
"<argument list>)``. C'est particulièrement utile pour les méthodes :meth:"
"`__init__` et, de manière générale, dans les cas où une classe dérivée veut "
"étendre la méthode du même nom de la classe de base, et doit donc se "
"débrouiller pour appeler la méthode de la classe de base."
#: faq/design.rst:136
msgid ""
@ -315,6 +315,7 @@ 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 "
"an expression::"
@ -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"
@ -1121,8 +1122,8 @@ msgid ""
"`~collections.abc.MutableMapping`."
msgstr ""
"Python 2.6 ajoute un module :mod:`abc` qui vous permet de définir des "
"classes mères abstraites (ABC pour *abstract base classes* en anglais). Vous "
"pouvez ensuite utiliser :func:`isinstance` et :func:`issubclass` pour "
"classes de base abstraites (ABC pour *abstract base classes* en anglais). "
"Vous pouvez ensuite utiliser :func:`isinstance` et :func:`issubclass` pour "
"vérifier si une instance ou une classe implémente une ABC particulière. Le "
"module :mod:`collections.abc` définit un ensemble d'ABC utiles telles que :"
"class:`~collections.abc.Iterable`, :class:`~collections.abc.Container` et :"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-12 11:56+0100\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"
@ -255,17 +255,16 @@ msgstr ""
"utilisé pour pallier à différents problèmes."
#: faq/general.rst:114
#, fuzzy
msgid ""
"The language comes with a large standard library that covers areas such as "
"string processing (regular expressions, Unicode, calculating differences "
"between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP), "
"software engineering (unit testing, logging, profiling, parsing Python "
"code), and operating system interfaces (system calls, filesystems, TCP/IP "
"sockets). Look at the table of contents for :ref:`library-index` to get an "
"idea of what's available. A wide variety of third-party extensions are also "
"available. Consult `the Python Package Index <https://pypi.org>`_ to find "
"packages of interest to you."
"between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, CGI "
"programming), software engineering (unit testing, logging, profiling, "
"parsing Python code), and operating system interfaces (system calls, "
"filesystems, TCP/IP sockets). Look at the table of contents for :ref:"
"`library-index` to get an idea of what's available. A wide variety of third-"
"party extensions are also available. Consult `the Python Package Index "
"<https://pypi.org>`_ to find packages of interest to you."
msgstr ""
"Le langage vient avec une bibliothèque standard importante qui couvre des "
"domaines tels que le traitement des chaînes de caractères (expressions "
@ -534,44 +533,59 @@ 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:239
#, fuzzy
msgid ""
"To report a bug or submit a patch, use the issue tracker at https://github."
"com/python/cpython/issues."
"To report a bug or submit a patch, please use the Roundup installation at "
"https://bugs.python.org/."
msgstr ""
"Pour reporter un bogue ou soumettre un correctif, merci d'utiliser https://"
"bugs.python.org/."
#: 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 "
"Roundup to send you updates as we act on your bug. If you had previously "
"used SourceForge to report bugs to Python, you can obtain your Roundup "
"password through Roundup's `password reset procedure <https://bugs.python."
"org/user?@template=forgotten>`_."
msgstr ""
"Vous devez avoir un compte Roundup pour reporter des bogues; cela nous "
"permet de vous contacter si nous avons des questions complémentaires. Cela "
"permettra aussi le suivi de traitement de votre bogue. Si vous avez "
"auparavant utilisé SourceForge pour reporter des bogues sur Python, vous "
"pouvez obtenir un mot de passe Roundup grâce à la `procédure de "
"réinitialisation de mot de passe de Roundup <https://bugs.python.org/user?"
"@template=forgotten>`_."
#: faq/general.rst:248
msgid ""
"For more information on how Python is developed, consult `the Python "
"Developer's Guide <https://devguide.python.org/>`_."
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
#, fuzzy
#: faq/general.rst:257
msgid ""
"The `very first article <https://ir.cwi.nl/pub/18204>`_ about Python was "
"written in 1991 and is now quite outdated."
"The very first article about Python was written in 1991 and is now quite "
"outdated."
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 "
@ -581,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."
@ -593,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\"."
@ -602,11 +616,11 @@ 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 "
@ -617,11 +631,11 @@ msgstr ""
"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."
@ -635,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, "
@ -661,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 "
@ -678,14 +692,13 @@ msgstr ""
"garanti que les interfaces resteront les mêmes tout au long de la série de "
"versions correctives."
#: faq/general.rst:309
#, fuzzy
#: 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 "
"versions of Python: 2.x and 3.x. The recommended version is 3.x, which is "
"supported by most widely used libraries. Although 2.x is still widely used, "
"`it is not maintained anymore <https://peps.python.org/pep-0373/>`_."
"`it is not maintained anymore <https://www.python.org/dev/peps/pep-0373/>`_."
msgstr ""
"Les dernières versions stables peuvent toujours être trouvées sur la `page "
"de téléchargement Python <https://www.python.org/downloads/>`_. Il existe "
@ -694,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."
@ -706,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 "
@ -717,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."
@ -725,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."
@ -742,7 +755,7 @@ 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 "
@ -759,18 +772,17 @@ 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
#, fuzzy
#: faq/general.rst:354
msgid ""
"See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). "
"PEPs are design documents describing a suggested new feature for Python, "
"providing a concise technical specification and a rationale. Look for a PEP "
"titled \"Python X.Y Release Schedule\", where X.Y is a version that hasn't "
"been publicly released yet."
"See https://www.python.org/dev/peps/ for the Python Enhancement Proposals "
"(PEPs). PEPs are design documents describing a suggested new feature for "
"Python, providing a concise technical specification and a rationale. Look "
"for a PEP titled \"Python X.Y Release Schedule\", where X.Y is a version "
"that hasn't been publicly released yet."
msgstr ""
"Regardez les propositions d'amélioration de Python (« *Python Enhancement "
"Proposals* », ou *PEP*) sur https://www.python.org/dev/peps/. Les PEP sont "
@ -779,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/>`_."
@ -787,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 "
@ -809,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-"
@ -818,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 "
@ -852,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 "
@ -872,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 "
@ -895,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 "
@ -909,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."
@ -917,7 +929,7 @@ 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 "
@ -938,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/"
@ -977,19 +989,3 @@ msgstr ""
#~ "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."
#~ 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 Roundup to send you updates as we act on your bug. If you had "
#~ "previously used SourceForge to report bugs to Python, you can obtain your "
#~ "Roundup password through Roundup's `password reset procedure <https://"
#~ "bugs.python.org/user?@template=forgotten>`_."
#~ msgstr ""
#~ "Vous devez avoir un compte Roundup pour reporter des bogues; cela nous "
#~ "permet de vous contacter si nous avons des questions complémentaires. "
#~ "Cela permettra aussi le suivi de traitement de votre bogue. Si vous avez "
#~ "auparavant utilisé SourceForge pour reporter des bogues sur Python, vous "
#~ "pouvez obtenir un mot de passe Roundup grâce à la `procédure de "
#~ "réinitialisation de mot de passe de Roundup <https://bugs.python.org/user?"
#~ "@template=forgotten>`_."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"
@ -289,13 +289,12 @@ msgstr ""
"résumer comme suit :"
#: faq/windows.rst:170
#, fuzzy
msgid ""
"Do **not** build Python into your .exe file directly. On Windows, Python "
"must be a DLL to handle importing modules that are themselves DLL's. (This "
"is the first key undocumented fact.) Instead, link to :file:`python{NN}."
"dll`; it is typically installed in ``C:\\Windows\\System``. *NN* is the "
"Python version, a number such as \"33\" for Python 3.3."
"Do _not_ build Python into your .exe file directly. On Windows, Python must "
"be a DLL to handle importing modules that are themselves DLL's. (This is "
"the first key undocumented fact.) Instead, link to :file:`python{NN}.dll`; "
"it is typically installed in ``C:\\Windows\\System``. *NN* is the Python "
"version, a number such as \"33\" for Python 3.3."
msgstr ""
"Ne compilez **pas** Python directement dans votre fichier *.exe*. Sous "
"Windows, Python doit être une DLL pour pouvoir importer des modules qui sont "
@ -339,13 +338,12 @@ msgstr ""
"appelle des routines dans l'API C de Python."
#: faq/windows.rst:191
#, fuzzy
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 "
"just about all the grungy details for you. The result is C code that you "
"link *into* your .exe file (!) You do **not** have to create a DLL file, "
"and this also simplifies linking."
"link *into* your .exe file (!) You do _not_ have to create a DLL file, and "
"this also simplifies linking."
msgstr ""
"Si vous utilisez SWIG, il est facile de créer un « module d'extension » "
"Python qui rendra les données et les méthodes de l'application disponibles "
@ -397,12 +395,11 @@ msgstr ""
"construire *pythonNN.dll*."
#: faq/windows.rst:221
#, fuzzy
msgid ""
"Problem 1: The so-called \"Very High Level\" functions that take ``FILE *`` "
"Problem 1: The so-called \"Very High Level\" functions that take FILE * "
"arguments will not work in a multi-compiler environment because each "
"compiler's notion of a ``struct FILE`` will be different. From an "
"implementation standpoint these are very low level functions."
"compiler's notion of a struct FILE will be different. From an "
"implementation standpoint these are very _low_ level functions."
msgstr ""
"Problème 1 : Les fonctions dites de \"Très Haut Niveau\" qui prennent les "
"arguments FILE * ne fonctionneront pas dans un environnement multi-"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2021-12-31 11:33+0100\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"
@ -125,20 +125,12 @@ msgstr ""
"`getattr` avec trois arguments, par exemple ``getattr(o, '__annotations__', "
"None)``."
#: howto/annotations.rst:60
msgid ""
"Before Python 3.10, accessing ``__annotations__`` on a class that defines no "
"annotations but that has a parent class with annotations would return the "
"parent's ``__annotations__``. In Python 3.10 and newer, the child class's "
"annotations will be an empty dict instead."
msgstr ""
#: howto/annotations.rst:68
#: howto/annotations.rst:62
msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older"
msgstr ""
"Accès au dictionnaire des annotations d'un objet en Python 3.9 et antérieur"
#: howto/annotations.rst:70
#: howto/annotations.rst:64
msgid ""
"In Python 3.9 and older, accessing the annotations dict of an object is much "
"more complicated than in newer versions. The problem is a design flaw in "
@ -149,7 +141,7 @@ msgstr ""
"problème est dû à un défaut de conception de ces anciennes versions de "
"Python, notamment en ce qui concerne les annotations de classe."
#: howto/annotations.rst:75
#: howto/annotations.rst:69
msgid ""
"Best practice for accessing the annotations dict of other objects--"
"functions, other callables, and modules--is the same as best practice for "
@ -163,7 +155,7 @@ msgstr ""
"vous devez utiliser la forme à trois arguments de :func:`getattr` pour "
"accéder à l'attribut ``__annotations__`` de l'objet."
#: howto/annotations.rst:82
#: howto/annotations.rst:76
msgid ""
"Unfortunately, this isn't best practice for classes. The problem is that, "
"since ``__annotations__`` is optional on classes, and because classes can "
@ -178,12 +170,12 @@ msgstr ""
"renvoyer le dictionnaire d'annotations d'une *classe de base.* Par "
"exemple : ::"
#: howto/annotations.rst:98
#: howto/annotations.rst:92
msgid "This will print the annotations dict from ``Base``, not ``Derived``."
msgstr ""
"Ceci affiche le dictionnaire d'annotations de ``Base``, pas de ``Derived``."
#: howto/annotations.rst:101
#: howto/annotations.rst:95
msgid ""
"Your code will have to have a separate code path if the object you're "
"examining is a class (``isinstance(o, type)``). In that case, best practice "
@ -200,7 +192,7 @@ msgstr ""
"annotations définies, la bonne pratique est d'appeler la méthode ``get`` sur "
"le dictionnaire de la classe."
#: howto/annotations.rst:109
#: howto/annotations.rst:103
msgid ""
"To put it all together, here is some sample code that safely accesses the "
"``__annotations__`` attribute on an arbitrary object in Python 3.9 and "
@ -210,7 +202,7 @@ msgstr ""
"l'attribut ``__annotations__`` d'un objet quelconque en Python 3.9 et "
"antérieur : ::"
#: howto/annotations.rst:118
#: howto/annotations.rst:112
msgid ""
"After running this code, ``ann`` should be either a dictionary or ``None``. "
"You're encouraged to double-check the type of ``ann`` using :func:"
@ -220,7 +212,7 @@ msgstr ""
"``None``. Nous vous conseillons de vérifier le type de ``ann`` en "
"utilisant :func:`isinstance` avant de poursuivre l'analyse."
#: howto/annotations.rst:123
#: howto/annotations.rst:117
msgid ""
"Note that some exotic or malformed type objects may not have a ``__dict__`` "
"attribute, so for extra safety you may also wish to use :func:`getattr` to "
@ -230,12 +222,12 @@ msgstr ""
"d'attribut ``__dict__`` donc, pour plus de sécurité, vous pouvez également "
"utiliser :func:`getattr` pour accéder à ``__dict__``."
#: howto/annotations.rst:129
#: howto/annotations.rst:123
msgid "Manually Un-Stringizing Stringized Annotations"
msgstr ""
"Conversion manuelle des annotations contenues dans une chaîne de caractères"
#: howto/annotations.rst:131
#: howto/annotations.rst:125
msgid ""
"In situations where some annotations may be \"stringized\", and you wish to "
"evaluate those strings to produce the Python values they represent, it "
@ -248,7 +240,7 @@ msgstr ""
"préférable d'appeler :func:`inspect.get_annotations` pour faire ce travail à "
"votre place."
#: howto/annotations.rst:137
#: howto/annotations.rst:131
msgid ""
"If you're using Python 3.9 or older, or if for some reason you can't use :"
"func:`inspect.get_annotations`, you'll need to duplicate its logic. You're "
@ -261,7 +253,7 @@ msgstr ""
"l'implémentation de :func:`inspect.get_annotations` dans la version actuelle "
"de Python et à suivre une approche similaire."
#: howto/annotations.rst:143
#: howto/annotations.rst:137
msgid ""
"In a nutshell, if you wish to evaluate a stringized annotation on an "
"arbitrary object ``o``:"
@ -269,7 +261,7 @@ msgstr ""
"En bref, si vous souhaitez évaluer une annotation empaquetée en chaîne de "
"caractères sur un objet arbitraire ``o`` :"
#: howto/annotations.rst:146
#: howto/annotations.rst:140
msgid ""
"If ``o`` is a module, use ``o.__dict__`` as the ``globals`` when calling :"
"func:`eval`."
@ -277,7 +269,7 @@ msgstr ""
"Si ``o`` est un module, utilisez ``o.__dict__`` pour accéder aux noms "
"``globals`` lors de l'appel à :func:`eval`."
#: howto/annotations.rst:148
#: howto/annotations.rst:142
msgid ""
"If ``o`` is a class, use ``sys.modules[o.__module__].__dict__`` as the "
"``globals``, and ``dict(vars(o))`` as the ``locals``, when calling :func:"
@ -287,7 +279,7 @@ msgstr ""
"pour désigner les noms ``globals``, et ``dict(vars(o))`` pour désigner les "
"``locals``, lorsque vous appelez :func:`eval`."
#: howto/annotations.rst:151
#: howto/annotations.rst:145
msgid ""
"If ``o`` is a wrapped callable using :func:`functools.update_wrapper`, :func:"
"`functools.wraps`, or :func:`functools.partial`, iteratively unwrap it by "
@ -299,7 +291,7 @@ msgstr ""
"encapsulez-le itérativement en accédant à ``o.__wrapped__`` ou ``o.func`` "
"selon le cas, jusqu'à ce que vous ayez trouvé la fonction racine."
#: howto/annotations.rst:155
#: howto/annotations.rst:149
msgid ""
"If ``o`` is a callable (but not a class), use ``o.__globals__`` as the "
"globals when calling :func:`eval`."
@ -307,7 +299,7 @@ msgstr ""
"Si ``o`` est un objet appelable (mais pas une classe), utilisez ``o."
"__globals__`` pour désigner les globales lors de l'appel de :func:`eval`."
#: howto/annotations.rst:158
#: howto/annotations.rst:152
msgid ""
"However, not all string values used as annotations can be successfully "
"turned into Python values by :func:`eval`. String values could theoretically "
@ -322,7 +314,7 @@ msgstr ""
"indications de type qui nécessitent d'annoter avec des valeurs de chaîne qui "
"*ne peuvent pas* être évaluées. Par exemple :"
#: howto/annotations.rst:165
#: howto/annotations.rst:159
msgid ""
":pep:`604` union types using ``|``, before support for this was added to "
"Python 3.10."
@ -330,7 +322,7 @@ msgstr ""
"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:167
#: howto/annotations.rst:161
msgid ""
"Definitions that aren't needed at runtime, only imported when :const:`typing."
"TYPE_CHECKING` is true."
@ -338,7 +330,7 @@ msgstr ""
"Les définitions qui ne sont pas nécessaires à l'exécution, importées "
"uniquement lorsque :const:`typing.TYPE_CHECKING` est vrai."
#: howto/annotations.rst:170
#: howto/annotations.rst:164
msgid ""
"If :func:`eval` attempts to evaluate such values, it will fail and raise an "
"exception. So, when designing a library API that works with annotations, "
@ -350,12 +342,12 @@ msgstr ""
"fonctionnant avec des annotations, il est recommandé de ne tenter d'évaluer "
"des valeurs de type chaîne que si l'appelant le demande explicitement."
#: howto/annotations.rst:178
#: howto/annotations.rst:172
msgid "Best Practices For ``__annotations__`` In Any Python Version"
msgstr ""
"Bonnes pratiques pour ``__annotations__`` dans toutes les versions de Python"
#: howto/annotations.rst:180
#: howto/annotations.rst:174
msgid ""
"You should avoid assigning to the ``__annotations__`` member of objects "
"directly. Let Python manage setting ``__annotations__``."
@ -363,7 +355,7 @@ msgstr ""
"Évitez d'assigner directement des objets à l'élément ``__annotations__``. "
"Laissez Python gérer le paramétrage de ``__annotations__``."
#: howto/annotations.rst:183
#: howto/annotations.rst:177
msgid ""
"If you do assign directly to the ``__annotations__`` member of an object, "
"you should always set it to a ``dict`` object."
@ -371,7 +363,7 @@ msgstr ""
"Si vous assignez directement à l'élément ``__annotations__`` d'un objet, "
"vous devez toujours le définir comme un ``dict``."
#: howto/annotations.rst:186
#: howto/annotations.rst:180
msgid ""
"If you directly access the ``__annotations__`` member of an object, you "
"should ensure that it's a dictionary before attempting to examine its "
@ -381,20 +373,20 @@ msgstr ""
"devez vous assurer qu'il s'agit d'un dictionnaire avant de tenter d'examiner "
"son contenu."
#: howto/annotations.rst:190
#: howto/annotations.rst:184
msgid "You should avoid modifying ``__annotations__`` dicts."
msgstr "Évitez de modifier les dictionnaires ``__annotations__``."
#: howto/annotations.rst:192
#: howto/annotations.rst:186
msgid ""
"You should avoid deleting the ``__annotations__`` attribute of an object."
msgstr "Évitez de supprimer l'attribut ``__annotations__`` d'un objet."
#: howto/annotations.rst:197
#: howto/annotations.rst:191
msgid "``__annotations__`` Quirks"
msgstr "Les curiosités concernant ``__annotations__``"
#: howto/annotations.rst:199
#: howto/annotations.rst:193
msgid ""
"In all versions of Python 3, function objects lazy-create an annotations "
"dict if no annotations are defined on that object. You can delete the "
@ -416,7 +408,7 @@ msgstr ""
"``AttributeError`` ; si vous utilisez ``del fn.__annotations__`` deux fois "
"de suite, vous êtes sûr de toujours obtenir ``AttributeError``."
#: howto/annotations.rst:209
#: howto/annotations.rst:203
msgid ""
"Everything in the above paragraph also applies to class and module objects "
"in Python 3.10 and newer."
@ -424,7 +416,7 @@ msgstr ""
"Tout ce qui est dit dans le paragraphe précédent s'applique également aux "
"objets de type classe et module en Python 3.10 et suivants."
#: howto/annotations.rst:212
#: howto/annotations.rst:206
msgid ""
"In all versions of Python 3, you can set ``__annotations__`` on a function "
"object to ``None``. However, subsequently accessing the annotations on that "
@ -443,7 +435,7 @@ msgstr ""
"objets permettent de définir ``__annotations__`` à n'importe quelle valeur "
"Python, et conserveront la valeur définie."
#: howto/annotations.rst:220
#: howto/annotations.rst:214
msgid ""
"If Python stringizes your annotations for you (using ``from __future__ "
"import annotations``), and you specify a string as an annotation, the string "
@ -455,7 +447,7 @@ msgstr ""
"caractères comme annotation, la chaîne sera elle-même entre guillemets. En "
"fait, l'annotation est mise entre guillemets *deux fois*. Par exemple : ::"
#: howto/annotations.rst:231
#: howto/annotations.rst:225
msgid ""
"This prints ``{'a': \"'str'\"}``. This shouldn't really be considered a "
"\"quirk\"; it's mentioned here simply because it might be surprising."

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,3 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""

View File

@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-16 14:42+0100\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"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.1\n"
"X-Generator: Poedit 2.2.4\n"
#: howto/curses.rst:5
msgid "Curses Programming with Python"
@ -141,9 +141,6 @@ msgid ""
"ported version called `UniCurses <https://pypi.org/project/UniCurses>`_ is "
"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."
#: howto/curses.rst:62
msgid "The Python curses module"
@ -298,7 +295,7 @@ msgstr ""
"la gestion des couleurs est possible. :func:`wrapper` lance l'appelable "
"fourni. Une fois que l'appelable termine, :func:`wrapper` restaure l'état "
"d'origine du terminal. L'appelable est appelé à l'intérieur d'un :keyword:"
"`try`\\ :keyword:`except` qui capture les exceptions, restaure l'état du "
"`try`...\\ :keyword:`except` qui capture les exceptions, restaure l'état du "
"terminal, puis relève l'exception. Par conséquent, votre terminal ne reste "
"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."
@ -514,7 +511,7 @@ msgstr ""
msgid "Form"
msgstr "Forme"
#: howto/curses.rst:345
#: howto/curses.rst:346
msgid "Description"
msgstr "Description"
@ -576,15 +573,16 @@ msgid ""
"as the value to be displayed. The contents of bytestrings are sent to the "
"terminal as-is. Strings are encoded to bytes using the value of the "
"window's :attr:`encoding` attribute; this defaults to the default system "
"encoding as returned by :func:`locale.getencoding`."
"encoding as returned by :func:`locale.getpreferredencoding`."
msgstr ""
"La méthode :meth:`~curses.window.addstr` prend en argument une chaîne ou une "
"suite d'octets Python. Le contenu des chaînes d'octets est envoyé vers le "
"terminal tel quel. Les chaînes sont encodées en octets en utilisant la "
"valeur de l'attribut :attr:`encoding` de la fenêtre ; c'est par défaut "
"l'encodage du système tel que renvoyé par :func:`locale.getencoding`."
"l'encodage du système tel que renvoyé par :func:`locale."
"getpreferredencoding`."
#: howto/curses.rst:304
#: 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."
@ -593,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:307
#: 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 +/- "
@ -606,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:313
#: 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 "
@ -625,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:321
#: 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 "
@ -642,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:330
#: howto/curses.rst:331
msgid "Attributes and Color"
msgstr "Attributs et couleurs"
#: howto/curses.rst:332
#: 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 "
@ -659,7 +657,7 @@ msgstr ""
"À ces fins, *curses* vous permet de spécifier un attribut pour chaque "
"caractère à l'écran."
#: howto/curses.rst:337
#: 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 "
@ -676,59 +674,59 @@ msgstr ""
"se cantonner aux attributs les plus communément utilisés, dont la liste est "
"fournie ci-dessous."
#: howto/curses.rst:345
#: howto/curses.rst:346
msgid "Attribute"
msgstr "Attribut"
#: howto/curses.rst:347
#: howto/curses.rst:348
msgid ":const:`A_BLINK`"
msgstr ":const:`A_BLINK`"
#: howto/curses.rst:347
#: howto/curses.rst:348
msgid "Blinking text"
msgstr "Texte clignotant"
#: howto/curses.rst:349
#: howto/curses.rst:350
msgid ":const:`A_BOLD`"
msgstr ":const:`A_BOLD`"
#: howto/curses.rst:349
#: howto/curses.rst:350
msgid "Extra bright or bold text"
msgstr "Texte en surbrillance ou en gras"
#: howto/curses.rst:351
#: howto/curses.rst:352
msgid ":const:`A_DIM`"
msgstr ":const:`A_DIM`"
#: howto/curses.rst:351
#: howto/curses.rst:352
msgid "Half bright text"
msgstr "Texte en demi-ton"
#: howto/curses.rst:353
#: howto/curses.rst:354
msgid ":const:`A_REVERSE`"
msgstr ":const:`A_REVERSE`"
#: howto/curses.rst:353
#: howto/curses.rst:354
msgid "Reverse-video text"
msgstr "Texte en mode vidéo inversé"
#: howto/curses.rst:355
#: howto/curses.rst:356
msgid ":const:`A_STANDOUT`"
msgstr ":const:`A_STANDOUT`"
#: howto/curses.rst:355
#: howto/curses.rst:356
msgid "The best highlighting mode available"
msgstr "Le meilleur mode de mis en valeur pour le texte"
#: howto/curses.rst:357
#: howto/curses.rst:358
msgid ":const:`A_UNDERLINE`"
msgstr ":const:`A_UNDERLINE`"
#: howto/curses.rst:357
#: howto/curses.rst:358
msgid "Underlined text"
msgstr "Texte souligné"
#: howto/curses.rst:360
#: howto/curses.rst:361
msgid ""
"So, to display a reverse-video status line on the top line of the screen, "
"you could code::"
@ -736,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:367
#: 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 "
@ -746,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:371
#: 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 "
@ -766,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:381
#: 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 "
@ -783,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:388
#: 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:393
#: 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 "
@ -802,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:398
#: 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:"
@ -818,14 +816,14 @@ msgstr ""
"chacune de ces couleurs : :const:`curses.COLOR_BLACK`, :const:`curses."
"COLOR_RED` et ainsi de suite."
#: howto/curses.rst:404
#: 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:409
#: 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 "
@ -835,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:415
#: 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 "
@ -856,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:426
#: howto/curses.rst:427
msgid "User Input"
msgstr "Entrées de l'utilisateur"
#: howto/curses.rst:428
#: 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 "
@ -872,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:433
#: 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:435
#: 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 "
@ -888,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:440
#: 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 "
@ -901,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:445
#: 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:"
@ -922,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:455
#: 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 "
@ -939,7 +937,7 @@ msgstr ""
"La boucle principale de votre programme pourrait ressembler à quelque chose "
"comme ::"
#: howto/curses.rst:471
#: 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 "
@ -956,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:478
#: 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 "
@ -970,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:489
#: 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."
@ -983,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:513
#: 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:517
#: howto/curses.rst:518
msgid "For More Information"
msgstr "Pour aller plus loin"
#: howto/curses.rst:519
#: 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 "
@ -1007,7 +1005,7 @@ msgstr ""
"`curses` est maintenant suffisamment complète. Nous vous encourageons à la "
"parcourir."
#: howto/curses.rst:524
#: 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 "
@ -1022,7 +1020,7 @@ msgstr ""
"listes complètes des fonctions, attributs et codes :const:`ACS_\\*` des "
"caractères disponibles."
#: howto/curses.rst:531
#: 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, "
@ -1040,7 +1038,7 @@ msgstr ""
"du développeur Python <https://devguide.python.org/>`_ pour apprendre "
"comment soumettre des améliorations à Python."
#: howto/curses.rst:539
#: howto/curses.rst:540
#, fuzzy
msgid ""
"`Writing Programs with NCURSES <https://invisible-island.net/ncurses/ncurses-"
@ -1050,11 +1048,11 @@ msgstr ""
"intro.html>`_ : un long tutoriel pour les programmeurs C (ressource en "
"anglais)."
#: howto/curses.rst:541
#: 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:542
#: howto/curses.rst:543
#, fuzzy
msgid ""
"`The ncurses FAQ <https://invisible-island.net/ncurses/ncurses.faq.html>`_"
@ -1062,7 +1060,7 @@ msgstr ""
"`La FAQ ncurses <http://invisible-island.net/ncurses/ncurses.faq.html>`_ "
"(ressource en anglais)"
#: howto/curses.rst:543
#: 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 "
@ -1072,7 +1070,7 @@ 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:545
#: howto/curses.rst:546
#, fuzzy
msgid ""
"`\"Console Applications with Urwid\" <https://pyvideo.org/video/1568/console-"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
"PO-Revision-Date: 2022-05-12 09:39+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1553,12 +1553,11 @@ msgid "The functools module"
msgstr "Le module *functools*"
#: howto/functional.rst:997
#, fuzzy
msgid ""
"The :mod:`functools` module contains some higher-order functions. A **higher-"
"order function** takes one or more functions as input and returns a new "
"function. The most useful tool in this module is the :func:`functools."
"partial` function."
"The :mod:`functools` module in Python 2.5 contains some higher-order "
"functions. A **higher-order function** takes one or more functions as input "
"and returns a new function. The most useful tool in this module is the :"
"func:`functools.partial` function."
msgstr ""
"Le module :mod:`functools` introduit par Python 2.5 contient diverses "
"fonctions d'ordre supérieur. Une **fonction d'ordre supérieur** prend une ou "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -1,630 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-23 09:57+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"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: howto/isolating-extensions.rst:5
msgid "Isolating Extension Modules"
msgstr ""
#: howto/isolating-extensions.rst:-1
msgid "Abstract"
msgstr ""
#: howto/isolating-extensions.rst:9
msgid ""
"Traditionally, state belonging to Python extension modules was kept in C "
"``static`` variables, which have process-wide scope. This document describes "
"problems of such per-process state and shows a safer way: per-module state."
msgstr ""
#: howto/isolating-extensions.rst:14
msgid ""
"The document also describes how to switch to per-module state where "
"possible. This transition involves allocating space for that state, "
"potentially switching from static types to heap types, and—perhaps most "
"importantly—accessing per-module state from code."
msgstr ""
#: howto/isolating-extensions.rst:21
msgid "Who should read this"
msgstr ""
#: howto/isolating-extensions.rst:23
msgid ""
"This guide is written for maintainers of :ref:`C-API <c-api-index>` "
"extensions who would like to make that extension safer to use in "
"applications where Python itself is used as a library."
msgstr ""
#: howto/isolating-extensions.rst:29
msgid "Background"
msgstr ""
#: howto/isolating-extensions.rst:31
msgid ""
"An *interpreter* is the context in which Python code runs. It contains "
"configuration (e.g. the import path) and runtime state (e.g. the set of "
"imported modules)."
msgstr ""
#: howto/isolating-extensions.rst:35
msgid ""
"Python supports running multiple interpreters in one process. There are two "
"cases to think about—users may run interpreters:"
msgstr ""
#: howto/isolating-extensions.rst:38
msgid ""
"in sequence, with several :c:func:`Py_InitializeEx`/:c:func:`Py_FinalizeEx` "
"cycles, and"
msgstr ""
#: howto/isolating-extensions.rst:40
msgid ""
"in parallel, managing \"sub-interpreters\" using :c:func:"
"`Py_NewInterpreter`/:c:func:`Py_EndInterpreter`."
msgstr ""
#: howto/isolating-extensions.rst:43
msgid ""
"Both cases (and combinations of them) would be most useful when embedding "
"Python within a library. Libraries generally shouldn't make assumptions "
"about the application that uses them, which include assuming a process-wide "
"\"main Python interpreter\"."
msgstr ""
#: howto/isolating-extensions.rst:48
msgid ""
"Historically, Python extension modules don't handle this use case well. Many "
"extension modules (and even some stdlib modules) use *per-process* global "
"state, because C ``static`` variables are extremely easy to use. Thus, data "
"that should be specific to an interpreter ends up being shared between "
"interpreters. Unless the extension developer is careful, it is very easy to "
"introduce edge cases that lead to crashes when a module is loaded in more "
"than one interpreter in the same process."
msgstr ""
#: howto/isolating-extensions.rst:56
msgid ""
"Unfortunately, *per-interpreter* state is not easy to achieve. Extension "
"authors tend to not keep multiple interpreters in mind when developing, and "
"it is currently cumbersome to test the behavior."
msgstr ""
#: howto/isolating-extensions.rst:61
msgid "Enter Per-Module State"
msgstr ""
#: howto/isolating-extensions.rst:63
msgid ""
"Instead of focusing on per-interpreter state, Python's C API is evolving to "
"better support the more granular *per-module* state. This means that C-level "
"data is be attached to a *module object*. Each interpreter creates its own "
"module object, keeping the data separate. For testing the isolation, "
"multiple module objects corresponding to a single extension can even be "
"loaded in a single interpreter."
msgstr ""
#: howto/isolating-extensions.rst:70
msgid ""
"Per-module state provides an easy way to think about lifetime and resource "
"ownership: the extension module will initialize when a module object is "
"created, and clean up when it's freed. In this regard, a module is just like "
"any other :c:expr:`PyObject *`; there are no \"on interpreter shutdown\" "
"hooks to think—or forget—about."
msgstr ""
#: howto/isolating-extensions.rst:76
msgid ""
"Note that there are use cases for different kinds of \"globals\": per-"
"process, per-interpreter, per-thread or per-task state. With per-module "
"state as the default, these are still possible, but you should treat them as "
"exceptional cases: if you need them, you should give them additional care "
"and testing. (Note that this guide does not cover them.)"
msgstr ""
#: howto/isolating-extensions.rst:85
msgid "Isolated Module Objects"
msgstr ""
#: howto/isolating-extensions.rst:87
msgid ""
"The key point to keep in mind when developing an extension module is that "
"several module objects can be created from a single shared library. For "
"example:"
msgstr ""
#: howto/isolating-extensions.rst:101
msgid ""
"As a rule of thumb, the two modules should be completely independent. All "
"objects and state specific to the module should be encapsulated within the "
"module object, not shared with other module objects, and cleaned up when the "
"module object is deallocated. Since this just is a rule of thumb, exceptions "
"are possible (see `Managing Global State`_), but they will need more thought "
"and attention to edge cases."
msgstr ""
#: howto/isolating-extensions.rst:109
msgid ""
"While some modules could do with less stringent restrictions, isolated "
"modules make it easier to set clear expectations and guidelines that work "
"across a variety of use cases."
msgstr ""
#: howto/isolating-extensions.rst:115
msgid "Surprising Edge Cases"
msgstr ""
#: howto/isolating-extensions.rst:117
msgid ""
"Note that isolated modules do create some surprising edge cases. Most "
"notably, each module object will typically not share its classes and "
"exceptions with other similar modules. Continuing from the `example above "
"<Isolated Module Objects_>`__, note that ``old_binascii.Error`` and "
"``binascii.Error`` are separate objects. In the following code, the "
"exception is *not* caught:"
msgstr ""
#: howto/isolating-extensions.rst:137
msgid ""
"This is expected. Notice that pure-Python modules behave the same way: it is "
"a part of how Python works."
msgstr ""
#: howto/isolating-extensions.rst:140
msgid ""
"The goal is to make extension modules safe at the C level, not to make hacks "
"behave intuitively. Mutating ``sys.modules`` \"manually\" counts as a hack."
msgstr ""
#: howto/isolating-extensions.rst:146
msgid "Making Modules Safe with Multiple Interpreters"
msgstr ""
#: howto/isolating-extensions.rst:150
msgid "Managing Global State"
msgstr ""
#: howto/isolating-extensions.rst:152
msgid ""
"Sometimes, the state associated with a Python module is not specific to that "
"module, but to the entire process (or something else \"more global\" than a "
"module). For example:"
msgstr ""
#: howto/isolating-extensions.rst:156
msgid "The ``readline`` module manages *the* terminal."
msgstr ""
#: howto/isolating-extensions.rst:157
msgid ""
"A module running on a circuit board wants to control *the* on-board LED."
msgstr ""
#: howto/isolating-extensions.rst:160
msgid ""
"In these cases, the Python module should provide *access* to the global "
"state, rather than *own* it. If possible, write the module so that multiple "
"copies of it can access the state independently (along with other libraries, "
"whether for Python or other languages). If that is not possible, consider "
"explicit locking."
msgstr ""
#: howto/isolating-extensions.rst:166
msgid ""
"If it is necessary to use process-global state, the simplest way to avoid "
"issues with multiple interpreters is to explicitly prevent a module from "
"being loaded more than once per process—see `Opt-Out: Limiting to One Module "
"Object per Process`_."
msgstr ""
#: howto/isolating-extensions.rst:173
msgid "Managing Per-Module State"
msgstr ""
#: howto/isolating-extensions.rst:175
msgid ""
"To use per-module state, use :ref:`multi-phase extension module "
"initialization <multi-phase-initialization>`. This signals that your module "
"supports multiple interpreters correctly."
msgstr ""
#: howto/isolating-extensions.rst:179
msgid ""
"Set ``PyModuleDef.m_size`` to a positive number to request that many bytes "
"of storage local to the module. Usually, this will be set to the size of "
"some module-specific ``struct``, which can store all of the module's C-level "
"state. In particular, it is where you should put pointers to classes "
"(including exceptions, but excluding static types) and settings (e.g. "
"``csv``'s :py:data:`~csv.field_size_limit`) which the C code needs to "
"function."
msgstr ""
#: howto/isolating-extensions.rst:188
msgid ""
"Another option is to store state in the module's ``__dict__``, but you must "
"avoid crashing when users modify ``__dict__`` from Python code. This usually "
"means error- and type-checking at the C level, which is easy to get wrong "
"and hard to test sufficiently."
msgstr ""
#: howto/isolating-extensions.rst:193
msgid ""
"However, if module state is not needed in C code, storing it in ``__dict__`` "
"only is a good idea."
msgstr ""
#: howto/isolating-extensions.rst:196
msgid ""
"If the module state includes ``PyObject`` pointers, the module object must "
"hold references to those objects and implement the module-level hooks "
"``m_traverse``, ``m_clear`` and ``m_free``. These work like ``tp_traverse``, "
"``tp_clear`` and ``tp_free`` of a class. Adding them will require some work "
"and make the code longer; this is the price for modules which can be "
"unloaded cleanly."
msgstr ""
#: howto/isolating-extensions.rst:203
msgid ""
"An example of a module with per-module state is currently available as "
"`xxlimited <https://github.com/python/cpython/blob/master/Modules/xxlimited."
"c>`__; example module initialization shown at the bottom of the file."
msgstr ""
#: howto/isolating-extensions.rst:209
msgid "Opt-Out: Limiting to One Module Object per Process"
msgstr ""
#: howto/isolating-extensions.rst:211
msgid ""
"A non-negative ``PyModuleDef.m_size`` signals that a module supports "
"multiple interpreters correctly. If this is not yet the case for your "
"module, you can explicitly make your module loadable only once per process. "
"For example::"
msgstr ""
#: howto/isolating-extensions.rst:232
msgid "Module State Access from Functions"
msgstr ""
#: howto/isolating-extensions.rst:234
msgid ""
"Accessing the state from module-level functions is straightforward. "
"Functions get the module object as their first argument; for extracting the "
"state, you can use ``PyModule_GetState``::"
msgstr ""
#: howto/isolating-extensions.rst:249
msgid ""
"``PyModule_GetState`` may return ``NULL`` without setting an exception if "
"there is no module state, i.e. ``PyModuleDef.m_size`` was zero. In your own "
"module, you're in control of ``m_size``, so this is easy to prevent."
msgstr ""
#: howto/isolating-extensions.rst:256
msgid "Heap Types"
msgstr ""
#: howto/isolating-extensions.rst:258
msgid ""
"Traditionally, types defined in C code are *static*; that is, ``static "
"PyTypeObject`` structures defined directly in code and initialized using "
"``PyType_Ready()``."
msgstr ""
#: howto/isolating-extensions.rst:262
msgid ""
"Such types are necessarily shared across the process. Sharing them between "
"module objects requires paying attention to any state they own or access. To "
"limit the possible issues, static types are immutable at the Python level: "
"for example, you can't set ``str.myattribute = 123``."
msgstr ""
#: howto/isolating-extensions.rst:268
msgid ""
"Sharing truly immutable objects between interpreters is fine, as long as "
"they don't provide access to mutable objects. However, in CPython, every "
"Python object has a mutable implementation detail: the reference count. "
"Changes to the refcount are guarded by the GIL. Thus, code that shares any "
"Python objects across interpreters implicitly depends on CPython's current, "
"process-wide GIL."
msgstr ""
#: howto/isolating-extensions.rst:275
msgid ""
"Because they are immutable and process-global, static types cannot access "
"\"their\" module state. If any method of such a type requires access to "
"module state, the type must be converted to a *heap-allocated type*, or "
"*heap type* for short. These correspond more closely to classes created by "
"Python's ``class`` statement."
msgstr ""
#: howto/isolating-extensions.rst:282
msgid "For new modules, using heap types by default is a good rule of thumb."
msgstr ""
#: howto/isolating-extensions.rst:286
msgid "Changing Static Types to Heap Types"
msgstr ""
#: howto/isolating-extensions.rst:288
msgid ""
"Static types can be converted to heap types, but note that the heap type API "
"was not designed for \"lossless\" conversion from static types—that is, "
"creating a type that works exactly like a given static type. So, when "
"rewriting the class definition in a new API, you are likely to "
"unintentionally change a few details (e.g. pickleability or inherited "
"slots). Always test the details that are important to you."
msgstr ""
#: howto/isolating-extensions.rst:297
msgid ""
"Watch out for the following two points in particular (but note that this is "
"not a comprehensive list):"
msgstr ""
#: howto/isolating-extensions.rst:300
msgid ""
"Unlike static types, heap type objects are mutable by default. Use the :c:"
"data:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability."
msgstr ""
#: howto/isolating-extensions.rst:302
msgid ""
"Heap types inherit :c:member:`~PyTypeObject.tp_new` by default, so it may "
"become possible to instantiate them from Python code. You can prevent this "
"with the :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag."
msgstr ""
#: howto/isolating-extensions.rst:308
msgid "Defining Heap Types"
msgstr ""
#: howto/isolating-extensions.rst:310
msgid ""
"Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a "
"description or \"blueprint\" of a class, and calling :c:func:"
"`PyType_FromModuleAndSpec` to construct a new class object."
msgstr ""
#: howto/isolating-extensions.rst:315
msgid ""
"Other functions, like :c:func:`PyType_FromSpec`, can also create heap types, "
"but :c:func:`PyType_FromModuleAndSpec` associates the module with the class, "
"allowing access to the module state from methods."
msgstr ""
#: howto/isolating-extensions.rst:319
msgid ""
"The class should generally be stored in *both* the module state (for safe "
"access from C) and the module's ``__dict__`` (for access from Python code)."
msgstr ""
#: howto/isolating-extensions.rst:325
msgid "Garbage-Collection Protocol"
msgstr ""
#: howto/isolating-extensions.rst:327
msgid ""
"Instances of heap types hold a reference to their type. This ensures that "
"the type isn't destroyed before all its instances are, but may result in "
"reference cycles that need to be broken by the garbage collector."
msgstr ""
#: howto/isolating-extensions.rst:332
msgid ""
"To avoid memory leaks, instances of heap types must implement the garbage "
"collection protocol. That is, heap types should:"
msgstr ""
#: howto/isolating-extensions.rst:336
msgid "Have the :c:data:`Py_TPFLAGS_HAVE_GC` flag."
msgstr ""
#: howto/isolating-extensions.rst:337
msgid ""
"Define a traverse function using ``Py_tp_traverse``, which visits the type "
"(e.g. using :c:expr:`Py_VISIT(Py_TYPE(self))`)."
msgstr ""
#: howto/isolating-extensions.rst:340
msgid ""
"Please refer to the :ref:`the documentation <type-structs>` of :c:data:"
"`Py_TPFLAGS_HAVE_GC` and :c:member:`~PyTypeObject.tp_traverse` for "
"additional considerations."
msgstr ""
#: howto/isolating-extensions.rst:344
msgid ""
"If your traverse function delegates to the ``tp_traverse`` of its base class "
"(or another type), ensure that ``Py_TYPE(self)`` is visited only once. Note "
"that only heap type are expected to visit the type in ``tp_traverse``."
msgstr ""
#: howto/isolating-extensions.rst:348
msgid "For example, if your traverse function includes::"
msgstr ""
#: howto/isolating-extensions.rst:352
msgid "...and ``base`` may be a static type, then it should also include::"
msgstr ""
#: howto/isolating-extensions.rst:360
msgid ""
"It is not necessary to handle the type's reference count in ``tp_new`` and "
"``tp_clear``."
msgstr ""
#: howto/isolating-extensions.rst:365
msgid "Module State Access from Classes"
msgstr ""
#: howto/isolating-extensions.rst:367
msgid ""
"If you have a type object defined with :c:func:`PyType_FromModuleAndSpec`, "
"you can call :c:func:`PyType_GetModule` to get the associated module, and "
"then :c:func:`PyModule_GetState` to get the module's state."
msgstr ""
#: howto/isolating-extensions.rst:371
msgid ""
"To save a some tedious error-handling boilerplate code, you can combine "
"these two steps with :c:func:`PyType_GetModuleState`, resulting in::"
msgstr ""
#: howto/isolating-extensions.rst:381
msgid "Module State Access from Regular Methods"
msgstr ""
#: howto/isolating-extensions.rst:383
msgid ""
"Accessing the module-level state from methods of a class is somewhat more "
"complicated, but is possible thanks to API introduced in Python 3.9. To get "
"the state, you need to first get the *defining class*, and then get the "
"module state from it."
msgstr ""
#: howto/isolating-extensions.rst:388
msgid ""
"The largest roadblock is getting *the class a method was defined in*, or "
"that method's \"defining class\" for short. The defining class can have a "
"reference to the module it is part of."
msgstr ""
#: howto/isolating-extensions.rst:392
msgid ""
"Do not confuse the defining class with :c:expr:`Py_TYPE(self)`. If the "
"method is called on a *subclass* of your type, ``Py_TYPE(self)`` will refer "
"to that subclass, which may be defined in different module than yours."
msgstr ""
#: howto/isolating-extensions.rst:397
msgid ""
"The following Python code can illustrate the concept. ``Base."
"get_defining_class`` returns ``Base`` even if ``type(self) == Sub``:"
msgstr ""
#: howto/isolating-extensions.rst:413
msgid ""
"For a method to get its \"defining class\", it must use the :data:"
"`METH_METHOD | METH_FASTCALL | METH_KEYWORDS` :c:type:`calling convention "
"<PyMethodDef>` and the corresponding :c:type:`PyCMethod` signature::"
msgstr ""
#: howto/isolating-extensions.rst:425
msgid ""
"Once you have the defining class, call :c:func:`PyType_GetModuleState` to "
"get the state of its associated module."
msgstr ""
#: howto/isolating-extensions.rst:428
msgid "For example::"
msgstr ""
#: howto/isolating-extensions.rst:456
msgid "Module State Access from Slot Methods, Getters and Setters"
msgstr ""
#: howto/isolating-extensions.rst:460
msgid "This is new in Python 3.11."
msgstr ""
#: howto/isolating-extensions.rst:468
msgid ""
"Slot methods—the fast C equivalents for special methods, such as :c:member:"
"`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` or :c:member:"
"`~PyType.tp_new` for initialization—have a very simple API that doesn't "
"allow passing in the defining class, unlike with :c:type:`PyCMethod`. The "
"same goes for getters and setters defined with :c:type:`PyGetSetDef`."
msgstr ""
#: howto/isolating-extensions.rst:475
msgid ""
"To access the module state in these cases, use the :c:func:"
"`PyType_GetModuleByDef` function, and pass in the module definition. Once "
"you have the module, call :c:func:`PyModule_GetState` to get the state::"
msgstr ""
#: howto/isolating-extensions.rst:486
msgid ""
"``PyType_GetModuleByDef`` works by searching the :term:`method resolution "
"order` (i.e. all superclasses) for the first superclass that has a "
"corresponding module."
msgstr ""
#: howto/isolating-extensions.rst:492
msgid ""
"In very exotic cases (inheritance chains spanning multiple modules created "
"from the same definition), ``PyType_GetModuleByDef`` might not return the "
"module of the true defining class. However, it will always return a module "
"with the same definition, ensuring a compatible C memory layout."
msgstr ""
#: howto/isolating-extensions.rst:500
msgid "Lifetime of the Module State"
msgstr ""
#: howto/isolating-extensions.rst:502
msgid ""
"When a module object is garbage-collected, its module state is freed. For "
"each pointer to (a part of) the module state, you must hold a reference to "
"the module object."
msgstr ""
#: howto/isolating-extensions.rst:506
msgid ""
"Usually this is not an issue, because types created with :c:func:"
"`PyType_FromModuleAndSpec`, and their instances, hold a reference to the "
"module. However, you must be careful in reference counting when you "
"reference module state from other places, such as callbacks for external "
"libraries."
msgstr ""
#: howto/isolating-extensions.rst:515
msgid "Open Issues"
msgstr ""
#: howto/isolating-extensions.rst:517
msgid "Several issues around per-module state and heap types are still open."
msgstr ""
#: howto/isolating-extensions.rst:519
msgid ""
"Discussions about improving the situation are best held on the `capi-sig "
"mailing list <https://mail.python.org/mailman3/lists/capi-sig.python.org/"
">`__."
msgstr ""
#: howto/isolating-extensions.rst:524
msgid "Per-Class Scope"
msgstr ""
#: howto/isolating-extensions.rst:526
msgid ""
"It is currently (as of Python 3.11) not possible to attach state to "
"individual *types* without relying on CPython implementation details (which "
"may change in the future—perhaps, ironically, to allow a proper solution for "
"per-class scope)."
msgstr ""
#: howto/isolating-extensions.rst:533
msgid "Lossless Conversion to Heap Types"
msgstr ""
#: howto/isolating-extensions.rst:535
msgid ""
"The heap type API was not designed for \"lossless\" conversion from static "
"types; that is, creating a type that works exactly like a given static type."
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -4,15 +4,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-16 21:06+0100\n"
"POT-Creation-Date: 2022-10-18 15:46+0200\n"
"PO-Revision-Date: 2022-10-18 16:01+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.2.1\n"
"X-Generator: Poedit 3.0\n"
#: howto/logging.rst:3
msgid "Logging HOWTO"
@ -47,7 +47,7 @@ msgstr ""
"décrit par un message descriptif, qui peut éventuellement contenir des "
"données variables (c'est-à-dire qui peuvent être différentes pour chaque "
"occurrence de l'événement). Un événement a aussi une importance que le "
"développeur lui attribue ; cette importance peut aussi être appelée *niveau* "
"développeur lui attribue ; cette importance peut aussi être appelée *niveau* "
"ou *sévérité*."
#: howto/logging.rst:23
@ -159,9 +159,9 @@ msgid ""
msgstr ""
"Les fonctions de journalisation sont nommées d'après le niveau ou la "
"sévérité des évènements qu'elles suivent. Les niveaux standards et leurs "
"applications sont décrits ci-dessous (par ordre croissant de sévérité) :"
"applications sont décrits ci-dessous (par ordre croissant de sévérité) :"
#: howto/logging.rst:862
#: howto/logging.rst:855
msgid "Level"
msgstr "Niveau"
@ -169,7 +169,7 @@ msgstr "Niveau"
msgid "When it's used"
msgstr "Quand il est utilisé"
#: howto/logging.rst:872
#: howto/logging.rst:865
msgid "``DEBUG``"
msgstr "``DEBUG``"
@ -180,7 +180,7 @@ msgstr ""
"Information détaillée, intéressante seulement lorsqu'on diagnostique un "
"problème."
#: howto/logging.rst:870
#: howto/logging.rst:863
msgid "``INFO``"
msgstr "``INFO``"
@ -188,7 +188,7 @@ msgstr "``INFO``"
msgid "Confirmation that things are working as expected."
msgstr "Confirmation que tout fonctionne comme prévu."
#: howto/logging.rst:868
#: howto/logging.rst:861
msgid "``WARNING``"
msgstr "``WARNING``"
@ -202,7 +202,7 @@ msgstr ""
"d'un problème dans un futur proche (par exemple « espace disque faible »). "
"Le logiciel fonctionne encore normalement."
#: howto/logging.rst:866
#: howto/logging.rst:859
msgid "``ERROR``"
msgstr "``ERROR``"
@ -214,7 +214,7 @@ msgstr ""
"Du fait d'un problème plus sérieux, le logiciel n'a pas été capable de "
"réaliser une tâche."
#: howto/logging.rst:864
#: howto/logging.rst:857
msgid "``CRITICAL``"
msgstr "``CRITICAL``"
@ -257,7 +257,7 @@ msgstr "Un exemple très simple est ::"
#: howto/logging.rst:109
msgid "If you type these lines into a script and run it, you'll see:"
msgstr ""
"Si vous entrez ces lignes dans un script que vous exécutez, vous verrez :"
"Si vous entrez ces lignes dans un script que vous exécutez, vous verrez :"
#: howto/logging.rst:115
msgid ""
@ -301,9 +301,9 @@ msgid ""
"passed, which determines how encoding errors are handled. For available "
"values and the default, see the documentation for :func:`open`."
msgstr ""
"L'argument *encoding* a été rajouté. Dans les versions précédentes de "
"L'argument *encoding* à été rajouté. Dans les versions précédentes de "
"Python, ou si non spécifié, l'encodage utilisé est la valeur par défaut "
"utilisée par :func:`open`. Bien que non montré dans l'exemple ci-dessus, un "
"utilisée par :func:`open`. Bien que non montré dans l'exemple au dessus, un "
"argument **errors** peut aussi être passé, qui détermine comment les erreurs "
"d'encodage sont gérées. Pour voir les valeurs disponibles et par défaut, "
"consultez la documentation de :func:`open`."
@ -313,8 +313,8 @@ msgid ""
"And now if we open the file and look at what we have, we should find the log "
"messages:"
msgstr ""
"Maintenant, si nous ouvrons le fichier et lisons ce qui s'y trouve, nous "
"trouvons les messages de journalisation :"
"Maintenant, si nous ouvrons le fichier et lisons ce qui s'y trouve, on "
"trouvera les messages de log :"
#: howto/logging.rst:154
msgid ""
@ -396,11 +396,12 @@ msgid ""
"could organize logging in it::"
msgstr ""
"Si votre programme est composé de plusieurs modules, voici une façon "
"d'organiser l'outil de journalisation ::"
"d'organiser\n"
"l'outil de journalisation ::"
#: howto/logging.rst:225
msgid "If you run *myapp.py*, you should see this in *myapp.log*:"
msgstr "Si vous exécutez *myapp.py*, vous verrez ceci dans *myapp.log* :"
msgstr "Si vous exécutez *myapp.py*, vous verrez ceci dans *myapp.log* :"
#: howto/logging.rst:233
msgid ""
@ -435,7 +436,7 @@ msgstr ""
#: howto/logging.rst:251
msgid "will display:"
msgstr "affiche :"
msgstr "affichera :"
#: howto/logging.rst:257
msgid ""
@ -448,7 +449,7 @@ msgid ""
msgstr ""
"Comme vous pouvez le voir, l'inclusion des données variables dans le message "
"de description de l'évènement emploie le vieux style de formatage avec %. "
"C'est pour assurer la rétrocompatibilité : le module ``logging`` est "
"C'est pour assurer la rétrocompatibilité : le module ``logging`` est "
"antérieur aux nouvelles options de formatage comme :meth:`str.format` ou :"
"class:`string.Template`. Ces nouvelles options de formatage *sont* gérées, "
"mais leur exploration sort du cadre de ce tutoriel, voyez :ref:`formatting-"
@ -563,7 +564,7 @@ msgid ""
"slightly more advanced/in-depth tutorial than the basic one above. After "
"that, you can take a look at the :ref:`logging-cookbook`."
msgstr ""
"Vous êtes encore là ? Vous pouvez lire les prochaines sections, qui donnent "
"Vous êtes encore là ? Vous pouvez lire les prochaines sections, qui donnent "
"un peu plus de détails que l'introduction ci-dessus. Après ça, vous pouvez "
"jeter un œil à :ref:`logging-cookbook`."
@ -662,10 +663,10 @@ msgid ""
"root logger's name is printed as 'root' in the logged output."
msgstr ""
"La racine de la hiérarchie des enregistreurs est appelée le *root logger*. "
"C'est l'enregistreur utilisé par les fonctions :func:`debug`, :func:`info`, :"
"C'est le *logger* utilisé par les fonctions :func:`debug`, :func:`info`, :"
"func:`warning`, :func:`error` et :func:`critical`, qui appelle en fait les "
"méthodes du même nom de l'objet *root logger*. Les fonctions et les méthodes "
"ont la même signature. Le nom de l'enregistreur racine est affiché comme "
"ont la même signature. Le nom du *root logger* est affiché comme "
"« ``'root'`` » dans la sortie."
#: howto/logging.rst:386
@ -704,7 +705,7 @@ msgstr ""
"fichier) en utilisant :func:`basicConfig` comme dans les exemples donnés "
"dans le tutoriel. Si vous appelez les fonctions :func:`debug`, :func:"
"`info`, :func:`warning`, :func:`error` et :func:`critical`, celles-ci "
"vérifient si une destination a été définie ; si ce n'est pas le cas, la "
"vérifient si une destination a été définie ; si ce n'est pas le cas, la "
"destination est assignée à la console (``sys.stderr``) avec un format par "
"défaut pour le message affiché, avant d'être déléguée au *logger* racine, "
"qui sort le message."
@ -765,11 +766,11 @@ msgid ""
"configuration and message sending."
msgstr ""
"Les méthodes des objets *logger* les plus utilisées appartiennent à deux "
"catégories : la configuration et l'envoi de messages."
"catégories : la configuration et l'envoi de messages."
#: howto/logging.rst:431
msgid "These are the most common configuration methods:"
msgstr "Voici les méthodes de configuration les plus communes :"
msgstr "Voici les méthodes de configuration les plus communes :"
#: howto/logging.rst:433
msgid ""
@ -820,7 +821,7 @@ msgid ""
"With the logger object configured, the following methods create log messages:"
msgstr ""
"Une fois que l'objet *logger* est correctement configuré, les méthodes "
"suivantes permettent de créer un message :"
"suivantes permettent de créer un message :"
#: howto/logging.rst:452
msgid ""
@ -838,7 +839,7 @@ msgstr ""
"warning`, :meth:`Logger.error` et :meth:`Logger.critical` créent des entrées "
"de journal avec un message et un niveau correspondant à leur nom. Le message "
"est en fait une chaîne de caractères qui peut contenir la syntaxe standard "
"de substitution de chaînes de caractères : ``%s``, ``%d``, ``%f``, etc. "
"de substitution de chaînes de caractères : ``%s``, ``%d``, ``%f``, etc. "
"L'argument suivant est une liste des objets correspondant aux champs à "
"substituer dans le message. En ce qui concerne ``**kwargs``, les méthodes de "
"``logging`` ne tiennent compte que du mot clef ``exc_info`` et l'utilisent "
@ -881,14 +882,14 @@ msgid ""
"descendants of ``foo``."
msgstr ""
":func:`getLogger` renvoie une référence à un objet *logger* du nom spécifié "
"si celui-ci est donné en argument. Dans le cas contraire, c'est "
"l'enregistreur racine. Les noms sont des structures hiérarchiques séparées "
"par des points. Des appels répétés à :func:`getLogger` avec le même nom "
"renvoient une référence au même objet *logger*. Les *loggers* qui sont plus "
"bas dans cette liste hiérarchique sont des enfants des *loggers* plus haut "
"dans la liste. Par exemple, si un enregistreur a le nom ``foo``, les "
"enregistreurs avec les noms ``foo.bar``, ``foo.bar.baz`` et ``foo.bam`` sont "
"tous des descendants de ``foo``."
"si celui-ci est donné en argument. Dans le cas contraire, se sera le *logger "
"root*. Ces noms sont des structures hiérarchiques séparées par des points. "
"Des appels répétés à :func:`getLogger` avec le même nom renvoient une "
"référence au même objet *logger*. Les *loggers* qui sont plus bas dans cette "
"liste hiérarchique sont des enfants des *loggers* plus haut dans la liste. "
"Par exemple, si un *logger* a le nom ``foo``, les *loggers* avec les noms "
"``foo.bar``, ``foo.bar.baz``, et ``foo.bam`` sont tous des descendants de "
"``foo``."
#: howto/logging.rst:478
msgid ""
@ -904,7 +905,7 @@ msgstr ""
"On associe aux *loggers* un concept de *niveau effectif*. Si aucun niveau "
"n'est explicitement défini pour un *logger*, c'est le niveau du parent qui "
"est utilisé comme niveau effectif. Si le parent n'a pas de niveau défini, "
"c'est celui de *son* parent qui est considéré, et ainsi de suite ; on "
"c'est celui de *son* parent qui est considéré, et ainsi de suite ; on "
"examine tous les ancêtres jusqu'à ce qu'un niveau explicite soit trouvé. Le "
"*logger root* a toujours un niveau explicite (``WARNING`` par défaut). Quand "
"le *logger* traite un événement, c'est ce niveau effectif qui est utilisé "
@ -961,7 +962,7 @@ msgid ""
"`FileHandler` in its examples."
msgstr ""
"La bibliothèque standard inclut déjà un bon nombre de types de gestionnaires "
"(voir :ref:`useful-handlers`) ; le tutoriel utilise surtout :class:"
"(voir :ref:`useful-handlers`) ; le tutoriel utilise surtout :class:"
"`StreamHandler` et :class:`FileHandler` dans ses exemples."
#: howto/logging.rst:513
@ -973,7 +974,7 @@ msgid ""
msgstr ""
"Peu de méthodes des objets *handlers* sont intéressantes pour les "
"développeurs. Les seules méthodes intéressantes lorsqu'on utilise les objets "
"*handlers* natifs (c'est-à-dire si l'on ne crée pas de *handler* "
"*handlers* natifs (c'est à dire si l'on ne crée pas de *handler* "
"personnalisé) sont les méthodes de configuration suivantes :"
#: howto/logging.rst:518
@ -987,7 +988,7 @@ msgid ""
msgstr ""
"La méthode :meth:`~Handler.setLevel`, comme celle des objets *logger* permet "
"de spécifier le plus bas niveau de sévérité qui sera distribué à la "
"destination appropriée. Pourquoi y a-t-il deux méthodes :func:`setLevel` ? "
"destination appropriée. Pourquoi y a-t-il deux méthodes :func:`setLevel` ? "
"Le niveau défini dans le *logger* détermine quelle sévérité doit avoir un "
"message pour être transmis à ses *handlers*. Le niveau mis pour chaque "
"*handler* détermine quels messages seront envoyés aux destinations."
@ -1016,9 +1017,9 @@ msgid ""
"behavior that child classes can use (or override)."
msgstr ""
"Le code d'une application ne devrait ni instancier, ni utiliser d'instances "
"de la classe :class:`Handler`. La classe :class:`Handler` est plutôt une "
"classe mère qui définit l'interface que tous les gestionnaires doivent avoir "
"et établit les comportements par défaut que les classes filles peuvent "
"de la classe :class:`Handler`. La classe :class:`Handler` est plutôt d'une "
"classe de base qui définit l'interface que tous les gestionnaires doivent "
"avoir et établit les comportements par défaut que les classes filles peuvent "
"employer (ou redéfinir)."
#: howto/logging.rst:537
@ -1035,11 +1036,11 @@ msgid ""
"string and a style indicator."
msgstr ""
"Les objets *formatter* configurent l'ordre final, la structure et le contenu "
"du message. Contrairement à la classe mère :class:`logging.Handler`, le code "
"d'une application peut instancier un objet de classe *formatter*, même si "
"vous pouvez toujours sous-classer *formatter* si vous avez besoin d'un "
"du message. Contrairement à la classe de base :class:`logging.Handler`, le "
"code d'une application peut instancier un objet de classe *formatter*, même "
"si vous pouvez toujours sous-classer *formatter* si vous avez besoin d'un "
"comportement spécial dans votre application. Le constructeur a trois "
"arguments optionnels : une chaîne de formatage du message, une chaîne de "
"arguments optionnels : une chaîne de formatage du message, un chaîne de "
"formatage de la date et un indicateur de style."
#: howto/logging.rst:548
@ -1049,7 +1050,7 @@ msgid ""
msgstr ""
"S'il n'y a pas de chaîne de formatage, la chaîne brute est utilisée par "
"défaut. S'il n'y a pas de chaîne de formatage de date, le format de date par "
"défaut est :"
"défaut est :"
#: howto/logging.rst:555
#, fuzzy
@ -1072,7 +1073,7 @@ msgid ""
"should conform to what is expected by :meth:`string.Template.substitute`."
msgstr ""
"Si l'argument ``style`` est ``%``, la chaîne de formatage utilise ``%(<clef "
"de dictionnaire>)s`` comme style de substitution de chaîne de caractères ; "
"de dictionnaire>)s`` comme style de substitution de chaîne de caractères ; "
"les clefs possibles sont documentées dans :ref:`logrecord-attributes`. Si le "
"style est ``{``, le message de la chaîne de formatage est compatible avec :"
"meth:`str.format` (en employant des arguments à mots clefs). Enfin si le "
@ -1105,7 +1106,7 @@ msgid ""
msgstr ""
"Les *formatters* emploient une fonction configurable par l'utilisateur pour "
"convertir le temps de création d'une entrée de journal en un *n*-uplet. Par "
"défaut, :func:`time.localtime` est employé ; pour changer cela pour une "
"défaut, :func:`time.localtime` est employé ; pour changer cela pour une "
"instance particulière de *formatter*, assignez une fonction avec la même "
"signature que :func:`time.localtime` ou :func:`time.gmtime` à l'attribut "
"``converter`` de cette instance. Pour changer cela pour tous les "
@ -1161,7 +1162,7 @@ msgid ""
"Running this module from the command line produces the following output:"
msgstr ""
"L'exécution de ce module via la ligne de commande produit la sortie "
"suivante :"
"suivante :"
#: howto/logging.rst:638
msgid ""
@ -1174,14 +1175,14 @@ msgstr ""
#: howto/logging.rst:657
msgid "Here is the logging.conf file:"
msgstr "Voici le fichier *logging.conf* :"
msgstr "Voici le fichier *logging.conf* :"
#: howto/logging.rst:689
msgid ""
"The output is nearly identical to that of the non-config-file-based example:"
msgstr ""
"La sortie est presque identique à celle de l'exemple qui n'est pas basé sur "
"un fichier de configuration :"
"un fichier de configuration :"
#: howto/logging.rst:700
msgid ""
@ -1189,11 +1190,11 @@ msgid ""
"Python code approach, mainly separation of configuration and code and the "
"ability of noncoders to easily modify the logging properties."
msgstr ""
"Vous pouvez constater les avantages de l'approche par fichier de "
"Vous pouvez constatez les avantages de l'approche par fichier de "
"configuration par rapport à celle du code Python, principalement la "
"séparation de la configuration et du code, et la possibilité pour une "
"personne qui ne code pas de modifier facilement les propriétés de "
"journalisation."
"``logging``."
#: howto/logging.rst:704
msgid ""
@ -1207,10 +1208,10 @@ msgid ""
msgstr ""
"La fonction :func:`fileConfig` accepte un paramètre par défaut "
"``disable_existing_loggers``, qui vaut ``True`` par défaut pour des raisons "
"de compatibilité ascendante. Ce n'est pas forcément ce que vous souhaitez : "
"de compatibilité ascendante. Ce n'est pas forcément ce que vous souhaitez : "
"en effet, tous les *loggers* créés avant l'appel à :func:`fileConfig` seront "
"désactivés sauf si eux-mêmes (ou l'un de leurs parents) sont explicitement "
"nommés dans le fichier de configuration. Veuillez vous reporter à la "
"nommés dans le fichier de configuration. Veuillez vous rapporter à la "
"documentation pour plus de détails, et donner la valeur ``False`` à ce "
"paramètre si vous le souhaitez."
@ -1307,7 +1308,7 @@ msgstr ""
"Si aucune configuration de journalisation n'est fournie, il est possible "
"d'avoir une situation où un événement doit faire l'objet d'une "
"journalisation, mais où aucun gestionnaire ne peut être trouvé pour tracer "
"l'événement. Le comportement du paquet ``logging`` dans ces circonstances "
"l'événement. Le comportement du paquet ```logging``` dans ces circonstances "
"dépend de la version Python."
#: howto/logging.rst:777
@ -1445,24 +1446,6 @@ msgstr ""
#: howto/logging.rst:835
msgid ""
"It is strongly advised that you *do not log to the root logger* in your "
"library. Instead, use a logger with a unique and easily identifiable name, "
"such as the ``__name__`` for your library's top-level package or module. "
"Logging to the root logger will make it difficult or impossible for the "
"application developer to configure the logging verbosity or handlers of your "
"library as they wish."
msgstr ""
"Il est fortement conseillé de *ne pas journaliser vers l'enregistreur "
"racine* dans votre bibliothèque. À la place, utilisez un enregistreur avec "
"un nom unique et facilement identifiable, tel que ``__name__`` pour le "
"paquet ou le module de niveau supérieur de votre bibliothèque. La "
"journalisation dans l'enregistreur racine rend difficile voire impossible "
"pour le développeur de l'application de configurer la verbosité de "
"journalisation ou les gestionnaires de votre bibliothèque comme il le "
"souhaite."
#: howto/logging.rst:842
msgid ""
"It is strongly advised that you *do not add any handlers other than* :class:"
"`~logging.NullHandler` *to your library's loggers*. This is because the "
"configuration of handlers is the prerogative of the application developer "
@ -1480,11 +1463,11 @@ msgstr ""
"le manteau », vous pourriez bien interférer avec les tests unitaires et la "
"journalisation qui convient à ses exigences."
#: howto/logging.rst:853
#: howto/logging.rst:846
msgid "Logging Levels"
msgstr "Niveaux de journalisation"
#: howto/logging.rst:855
#: howto/logging.rst:848
msgid ""
"The numeric values of logging levels are given in the following table. These "
"are primarily of interest if you want to define your own levels, and need "
@ -1498,39 +1481,39 @@ msgstr ""
"prédéfinis. Si vous définissez un niveau avec la même valeur numérique, il "
"écrase la valeur prédéfinie ; le nom prédéfini est perdu."
#: howto/logging.rst:862
#: howto/logging.rst:855
msgid "Numeric value"
msgstr "Valeur numérique"
#: howto/logging.rst:864
#: howto/logging.rst:857
msgid "50"
msgstr "50"
#: howto/logging.rst:866
#: howto/logging.rst:859
msgid "40"
msgstr "40"
#: howto/logging.rst:868
#: howto/logging.rst:861
msgid "30"
msgstr "30"
#: howto/logging.rst:870
#: howto/logging.rst:863
msgid "20"
msgstr "20"
#: howto/logging.rst:872
#: howto/logging.rst:865
msgid "10"
msgstr "10"
#: howto/logging.rst:874
#: howto/logging.rst:867
msgid "``NOTSET``"
msgstr "``NOTSET``"
#: howto/logging.rst:874
#: howto/logging.rst:867
msgid "0"
msgstr "0"
#: howto/logging.rst:877
#: howto/logging.rst:870
msgid ""
"Levels can also be associated with loggers, being set either by the "
"developer or through loading a saved logging configuration. When a logging "
@ -1548,7 +1531,7 @@ msgstr ""
"réellement généré. C'est le mécanisme de base contrôlant la verbosité de la "
"sortie de journalisation."
#: howto/logging.rst:884
#: howto/logging.rst:877
msgid ""
"Logging messages are encoded as instances of the :class:`~logging.LogRecord` "
"class. When a logger decides to actually log an event, a :class:`~logging."
@ -1559,7 +1542,7 @@ msgstr ""
"enregistrer un événement, une instance de :class:`~logging.LogRecord` est "
"créée à partir du message de journalisation."
#: howto/logging.rst:888
#: howto/logging.rst:881
msgid ""
"Logging messages are subjected to a dispatch mechanism through the use of :"
"dfn:`handlers`, which are instances of subclasses of the :class:`Handler` "
@ -1590,10 +1573,10 @@ msgstr ""
"de tous les gestionnaires directement associés à un enregistreur, *tous les "
"gestionnaires associés à tous les ancêtres de l'enregistreur* sont appelés "
"pour envoyer le message (à moins que l'indicateur *propager* pour un "
"enregistreur soit défini sur la valeur ``False``, auquel cas le passage au "
"gestionnaire ancêtre s'arrête)."
"enregistreur soit défini sur la valeur ``False``, auquel cas le passage à "
"l'ancêtre gestionnaires s'arrête)."
#: howto/logging.rst:902
#: howto/logging.rst:895
msgid ""
"Just as for loggers, handlers can have levels associated with them. A "
"handler's level acts as a filter in the same way as a logger's level does. "
@ -1610,11 +1593,11 @@ msgstr ""
"classes définies par l'utilisateur de :class:`Handler` devront remplacer ce :"
"meth:`~Handler.emit`."
#: howto/logging.rst:911
#: howto/logging.rst:904
msgid "Custom Levels"
msgstr "Niveaux personnalisés"
#: howto/logging.rst:913
#: howto/logging.rst:906
msgid ""
"Defining your own levels is possible, but should not be necessary, as the "
"existing levels have been chosen on the basis of practical experience. "
@ -1638,19 +1621,19 @@ msgstr ""
"contrôler et/ou interpréter, car une valeur numérique donnée peut signifier "
"des choses différentes pour différentes bibliothèques."
#: howto/logging.rst:926
#: howto/logging.rst:919
msgid "Useful Handlers"
msgstr "Gestionnaires utiles"
#: howto/logging.rst:928
#: howto/logging.rst:921
msgid ""
"In addition to the base :class:`Handler` class, many useful subclasses are "
"provided:"
msgstr ""
"En plus de la classe mère :class:`Handler`, de nombreuses sous-classes "
"En plus de la classe de base :class:`Handler`, de nombreuses sous-classes "
"utiles sont fournies :"
#: howto/logging.rst:931
#: howto/logging.rst:924
msgid ""
":class:`StreamHandler` instances send messages to streams (file-like "
"objects)."
@ -1658,26 +1641,26 @@ msgstr ""
"Les instances :class:`StreamHandler` envoient des messages aux flux (objets "
"de type fichier)."
#: howto/logging.rst:934
#: howto/logging.rst:927
msgid ":class:`FileHandler` instances send messages to disk files."
msgstr ""
"Les instances :class:`FileHandler` envoient des messages à des fichiers sur "
"le disque."
#: howto/logging.rst:936
#: howto/logging.rst:929
msgid ""
":class:`~handlers.BaseRotatingHandler` is the base class for handlers that "
"rotate log files at a certain point. It is not meant to be instantiated "
"directly. Instead, use :class:`~handlers.RotatingFileHandler` or :class:"
"`~handlers.TimedRotatingFileHandler`."
msgstr ""
":class:`~handlers.BaseRotatingHandler` est la classe mère pour les "
":class:`~handlers.BaseRotatingHandler` est la classe de base pour les "
"gestionnaires qui assurent la rotation des fichiers de journalisation à "
"partir dun certain point. Elle n'est pas destinée à être instanciée "
"directement. Utilisez plutôt :class:`~handlers.RotatingFileHandler` ou :"
"class:`~handlers.TimedRotatingFileHandler`."
#: howto/logging.rst:941
#: howto/logging.rst:934
msgid ""
":class:`~handlers.RotatingFileHandler` instances send messages to disk "
"files, with support for maximum log file sizes and log file rotation."
@ -1686,7 +1669,7 @@ msgstr ""
"des fichiers sur le disque, avec la prise en charge des tailles maximales de "
"fichiers de journalisation et de la rotation des fichiers de journalisation."
#: howto/logging.rst:944
#: howto/logging.rst:937
msgid ""
":class:`~handlers.TimedRotatingFileHandler` instances send messages to disk "
"files, rotating the log file at certain timed intervals."
@ -1695,7 +1678,7 @@ msgstr ""
"messages aux fichiers de disque, en permutant le fichier journal à "
"intervalles réguliers."
#: howto/logging.rst:947
#: howto/logging.rst:940
msgid ""
":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. "
"Since 3.4, Unix domain sockets are also supported."
@ -1704,7 +1687,7 @@ msgstr ""
"connecteurs TCP/IP. Depuis 3.4, les connecteurs UNIX sont également pris en "
"charge."
#: howto/logging.rst:950
#: howto/logging.rst:943
msgid ""
":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. "
"Since 3.4, Unix domain sockets are also supported."
@ -1713,7 +1696,7 @@ msgstr ""
"aux connecteurs UDP. Depuis 3.4, les connecteurs UNIX sont également pris en "
"charge."
#: howto/logging.rst:953
#: howto/logging.rst:946
msgid ""
":class:`~handlers.SMTPHandler` instances send messages to a designated email "
"address."
@ -1721,7 +1704,7 @@ msgstr ""
"Les instances de :class:`~handlers.SMTPHandler` envoient des messages à une "
"adresse e-mail désignée."
#: howto/logging.rst:956
#: howto/logging.rst:949
msgid ""
":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog "
"daemon, possibly on a remote machine."
@ -1729,7 +1712,7 @@ msgstr ""
"Les instances de :class:`~handlers.SysLogHandler` envoient des messages à un "
"*daemon* *syslog* UNIX, éventuellement sur un ordinateur distant."
#: howto/logging.rst:959
#: howto/logging.rst:952
msgid ""
":class:`~handlers.NTEventLogHandler` instances send messages to a Windows "
"NT/2000/XP event log."
@ -1737,7 +1720,7 @@ msgstr ""
"Les instances de :class:`~handlers.NTEventLogHandler` envoient des messages "
"à un journal des événements Windows NT/2000/XP."
#: howto/logging.rst:962
#: howto/logging.rst:955
msgid ""
":class:`~handlers.MemoryHandler` instances send messages to a buffer in "
"memory, which is flushed whenever specific criteria are met."
@ -1746,7 +1729,7 @@ msgstr ""
"tampon en mémoire, qui est vidé chaque fois que des critères spécifiques "
"sont remplis."
#: howto/logging.rst:965
#: howto/logging.rst:958
msgid ""
":class:`~handlers.HTTPHandler` instances send messages to an HTTP server "
"using either ``GET`` or ``POST`` semantics."
@ -1754,7 +1737,7 @@ msgstr ""
"Les instances de :class:`~handlers.HTTPHandler` envoient des messages à un "
"serveur HTTP à l'aide de la sémantique ``GET`` ou ``POST``."
#: howto/logging.rst:968
#: howto/logging.rst:961
msgid ""
":class:`~handlers.WatchedFileHandler` instances watch the file they are "
"logging to. If the file changes, it is closed and reopened using the file "
@ -1767,7 +1750,7 @@ msgstr ""
"les systèmes de type UNIX ; Windows ne prend pas en charge le mécanisme sous-"
"jacent utilisé."
#: howto/logging.rst:973
#: howto/logging.rst:966
msgid ""
":class:`~handlers.QueueHandler` instances send messages to a queue, such as "
"those implemented in the :mod:`queue` or :mod:`multiprocessing` modules."
@ -1776,7 +1759,7 @@ msgstr ""
"file d'attente, telles que celles implémentées dans les modules :mod:`queue` "
"ou :mod:`multiprocessing`."
#: howto/logging.rst:976
#: howto/logging.rst:969
msgid ""
":class:`NullHandler` instances do nothing with error messages. They are used "
"by library developers who want to use logging, but want to avoid the 'No "
@ -1791,15 +1774,15 @@ msgstr ""
"n'a pas configuré la journalisation. Voir :ref:`library-config` pour plus "
"d'informations."
#: howto/logging.rst:982
#: howto/logging.rst:975
msgid "The :class:`NullHandler` class."
msgstr "La classe :class:`NullHandler`."
#: howto/logging.rst:985
#: howto/logging.rst:978
msgid "The :class:`~handlers.QueueHandler` class."
msgstr "La classe :class:`~handlers.QueueHandler`."
#: howto/logging.rst:988
#: howto/logging.rst:981
msgid ""
"The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` "
"classes are defined in the core logging package. The other handlers are "
@ -1812,7 +1795,7 @@ msgstr ""
"handlers` (il existe également un autre sous-module, :mod:`logging.config`, "
"pour la fonctionnalité de configuration)."
#: howto/logging.rst:993
#: howto/logging.rst:986
msgid ""
"Logged messages are formatted for presentation through instances of the :"
"class:`Formatter` class. They are initialized with a format string suitable "
@ -1823,7 +1806,7 @@ msgstr ""
"chaîne de format appropriée pour une utilisation avec l'opérateur % et un "
"dictionnaire."
#: howto/logging.rst:997
#: howto/logging.rst:990
msgid ""
"For formatting multiple messages in a batch, instances of :class:`~handlers."
"BufferingFormatter` can be used. In addition to the format string (which is "
@ -1835,7 +1818,7 @@ msgstr ""
"de format (qui est appliquée à chaque message dans le lot), il existe des "
"dispositions pour les chaînes de format d'en-tête et de fin."
#: howto/logging.rst:1002
#: howto/logging.rst:995
msgid ""
"When filtering based on logger level and/or handler level is not enough, "
"instances of :class:`Filter` can be added to both :class:`Logger` and :class:"
@ -1852,7 +1835,7 @@ msgstr ""
"consultent tous leurs filtres pour obtenir l'autorisation. Si un filtre "
"renvoie une valeur ``False``, le traitement du message est arrêté."
#: howto/logging.rst:1009
#: howto/logging.rst:1002
msgid ""
"The basic :class:`Filter` functionality allows filtering by specific logger "
"name. If this feature is used, messages sent to the named logger and its "
@ -1863,11 +1846,11 @@ msgstr ""
"envoyés à l'enregistreur nommé et à ses enfants sont autorisés via le filtre "
"et tous les autres sont abandonnés."
#: howto/logging.rst:1017
#: howto/logging.rst:1010
msgid "Exceptions raised during logging"
msgstr "Exceptions levées par la journalisation"
#: howto/logging.rst:1019
#: howto/logging.rst:1012
msgid ""
"The logging package is designed to swallow exceptions which occur while "
"logging in production. This is so that errors which occur while handling "
@ -1881,7 +1864,7 @@ msgstr ""
"journalisation, une erreur réseau ou d'autres erreurs similaires) ne "
"provoquent pas l'arrêt de l'application utilisant la journalisation."
#: howto/logging.rst:1024
#: howto/logging.rst:1017
msgid ""
":class:`SystemExit` and :class:`KeyboardInterrupt` exceptions are never "
"swallowed. Other exceptions which occur during the :meth:`~Handler.emit` "
@ -1890,10 +1873,10 @@ msgid ""
msgstr ""
"Les exceptions :class:`SystemExit` et :class:`KeyboardInterrupt` ne sont "
"jamais passées sous silence. Les autres exceptions qui se produisent pendant "
"la méthode :meth:`~Handler.emit` d'une sous-classe :class:`Handler` sont "
"la méthode :meth:`~Handler.emit` d'une sous classe :class:`Handler` sont "
"passées à sa méthode :meth:`~Handler.handleError`."
#: howto/logging.rst:1029
#: howto/logging.rst:1022
msgid ""
"The default implementation of :meth:`~Handler.handleError` in :class:"
"`Handler` checks to see if a module-level variable, :data:`raiseExceptions`, "
@ -1906,7 +1889,7 @@ msgstr ""
"pile d'appels est affichée sur :data:`sys.stderr`. Si elle n'est pas "
"définie, l'exception est passée sous silence."
#: howto/logging.rst:1034
#: howto/logging.rst:1027
msgid ""
"The default value of :data:`raiseExceptions` is ``True``. This is because "
"during development, you typically want to be notified of any exceptions that "
@ -1918,11 +1901,11 @@ msgstr ""
"toutes les exceptions qui se produisent. Il est conseillé de définir :data:"
"`raiseExceptions` à ``False`` pour une utilisation en production."
#: howto/logging.rst:1044
#: howto/logging.rst:1037
msgid "Using arbitrary objects as messages"
msgstr "Utilisation d'objets arbitraires comme messages"
#: howto/logging.rst:1046
#: howto/logging.rst:1039
msgid ""
"In the preceding sections and examples, it has been assumed that the message "
"passed when logging the event is a string. However, this is not the only "
@ -1943,11 +1926,11 @@ msgstr ""
"gestionnaires :class:`~handlers.SocketHandler` émettent un événement en lui "
"appliquant *pickle* et en l'envoyant sur le réseau."
#: howto/logging.rst:1057
#: howto/logging.rst:1050
msgid "Optimization"
msgstr "Optimisation"
#: howto/logging.rst:1059
#: howto/logging.rst:1052
msgid ""
"Formatting of message arguments is deferred until it cannot be avoided. "
"However, computing the arguments passed to the logging method can also be "
@ -1966,7 +1949,7 @@ msgstr ""
"renvoie ``True`` si un événement est créé par l'enregistreur pour ce niveau "
"d'appel. Vous pouvez écrire un code qui ressemble à ça ::"
#: howto/logging.rst:1071
#: howto/logging.rst:1064
msgid ""
"so that if the logger's threshold is set above ``DEBUG``, the calls to :func:"
"`expensive_func1` and :func:`expensive_func2` are never made."
@ -1975,7 +1958,7 @@ msgstr ""
"les appels à :func:`expensive_func1` et :func:`expensive_func2` ne sont "
"jamais faits."
#: howto/logging.rst:1074
#: howto/logging.rst:1067
msgid ""
"In some cases, :meth:`~Logger.isEnabledFor` can itself be more expensive "
"than you'd like (e.g. for deeply nested loggers where an explicit level is "
@ -1997,7 +1980,7 @@ msgstr ""
"configuration de journalisation change dynamiquement pendant l'exécution de "
"l'application (ce qui est rarement le cas)."
#: howto/logging.rst:1083
#: howto/logging.rst:1076
msgid ""
"There are other optimizations which can be made for specific applications "
"which need more precise control over what logging information is collected. "
@ -2010,19 +1993,19 @@ msgstr ""
"vous pouvez faire pour éviter le traitement pendant la journalisation dont "
"vous n'avez pas besoin :"
#: howto/logging.rst:1089
#: howto/logging.rst:1082
msgid "What you don't want to collect"
msgstr "Ce que vous ne voulez pas collecter"
#: howto/logging.rst:1089
#: howto/logging.rst:1082
msgid "How to avoid collecting it"
msgstr "Comment éviter de le collecter"
#: howto/logging.rst:1091
#: howto/logging.rst:1084
msgid "Information about where calls were made from."
msgstr "Informations sur l'endroit où les appels ont été faits."
#: howto/logging.rst:1091
#: howto/logging.rst:1084
msgid ""
"Set ``logging._srcfile`` to ``None``. This avoids calling :func:`sys."
"_getframe`, which may help to speed up your code in environments like PyPy "
@ -2033,23 +2016,23 @@ msgstr ""
"comme PyPy (qui ne peut pas accélérer le code qui utilise :func:`sys."
"_getframe`)."
#: howto/logging.rst:1097
#: howto/logging.rst:1090
msgid "Threading information."
msgstr "Informations de *threading*."
#: howto/logging.rst:1097
#: howto/logging.rst:1090
msgid "Set ``logging.logThreads`` to ``False``."
msgstr "Mettez ``logging.logThreads`` à ``False``."
#: howto/logging.rst:1099
#: howto/logging.rst:1092
msgid "Current process ID (:func:`os.getpid`)"
msgstr "Identifiant du processus courant (résultat de :func:`os.getpid`)"
#: howto/logging.rst:1099
#: howto/logging.rst:1092
msgid "Set ``logging.logProcesses`` to ``False``."
msgstr "Mettez ``logging.logProcesses`` à ``False``."
#: howto/logging.rst:1101
#: howto/logging.rst:1094
msgid ""
"Current process name when using ``multiprocessing`` to manage multiple "
"processes."
@ -2057,11 +2040,11 @@ msgstr ""
"Nom du processus actuel, si vous vous servez de ``multiprocessing`` pour "
"gérer plusieurs processus à la fois"
#: howto/logging.rst:1101
#: howto/logging.rst:1094
msgid "Set ``logging.logMultiprocessing`` to ``False``."
msgstr "Mettez ``logging.logMultiProcessing`` à ``False``."
#: howto/logging.rst:1105
#: howto/logging.rst:1098
msgid ""
"Also note that the core logging module only includes the basic handlers. If "
"you don't import :mod:`logging.handlers` and :mod:`logging.config`, they "
@ -2071,31 +2054,31 @@ msgstr ""
"les gestionnaires de base. Si vous n'importez pas :mod:`logging.handlers` "
"et :mod:`logging.config`, ils ne prendront pas de mémoire."
#: howto/logging.rst:1112
#: howto/logging.rst:1105
msgid "Module :mod:`logging`"
msgstr "Module :mod:`logging`"
#: howto/logging.rst:1112
#: howto/logging.rst:1105
msgid "API reference for the logging module."
msgstr "Référence d'API pour le module de journalisation."
#: howto/logging.rst:1115
#: howto/logging.rst:1108
msgid "Module :mod:`logging.config`"
msgstr "Module :mod:`logging.config`"
#: howto/logging.rst:1115
#: howto/logging.rst:1108
msgid "Configuration API for the logging module."
msgstr "API de configuration pour le module de journalisation."
#: howto/logging.rst:1118
#: howto/logging.rst:1111
msgid "Module :mod:`logging.handlers`"
msgstr "Module :mod:`logging.handlers`"
#: howto/logging.rst:1118
#: howto/logging.rst:1111
msgid "Useful handlers included with the logging module."
msgstr "Gestionnaires utiles inclus avec le module de journalisation."
#: howto/logging.rst:1120
#: howto/logging.rst:1113
msgid ":ref:`A logging cookbook <logging-cookbook>`"
msgstr ":ref:`A logging cookbook <logging-cookbook>`"

View File

@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-16 21:12+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 3.2.1\n"
"X-Generator: Poedit 3.0.1\n"
#: howto/regex.rst:5
msgid "Regular Expression HOWTO"
@ -589,24 +589,24 @@ msgstr ""
#: howto/regex.rst:233
msgid ""
"There are two more repeating operators or quantifiers. The question mark "
"character, ``?``, matches either once or zero times; you can think of it as "
"marking something as being optional. For example, ``home-?brew`` matches "
"either ``'homebrew'`` or ``'home-brew'``."
"There are two more repeating qualifiers. The question mark character, ``?"
"``, matches either once or zero times; you can think of it as marking "
"something as being optional. For example, ``home-?brew`` matches either "
"``'homebrew'`` or ``'home-brew'``."
msgstr ""
"Il existe deux autres quantificateurs pour les répétitions. Le point "
"d'interrogation, ``?``, fait correspondre zéro ou une fois ; vous pouvez "
"vous le représenter comme indiquant une option. Par exemple, ``méta-?"
"caractère`` fait correspondre soit ``'métacaractère'``, soit ``'méta-"
"caractère'``."
"caractère`` fait correspondre soit ``métacaractère``, soit ``méta-"
"caractère``."
#: howto/regex.rst:238
msgid ""
"The most complicated quantifier is ``{m,n}``, where *m* and *n* are decimal "
"integers. This quantifier means there must be at least *m* repetitions, and "
"at most *n*. For example, ``a/{1,3}b`` will match ``'a/b'``, ``'a//b'``, "
"and ``'a///b'``. It won't match ``'ab'``, which has no slashes, or ``'a////"
"b'``, which has four."
"The most complicated repeated qualifier is ``{m,n}``, where *m* and *n* are "
"decimal integers. This qualifier means there must be at least *m* "
"repetitions, and at most *n*. For example, ``a/{1,3}b`` will match ``'a/"
"b'``, ``'a//b'``, and ``'a///b'``. It won't match ``'ab'``, which has no "
"slashes, or ``'a////b'``, which has four."
msgstr ""
"Le plus compliqué des quantificateurs est ``{m,n}`` où *m* et *n* sont des "
"entiers décimaux. Ce quantificateur indique qu'il faut au moins *m* "
@ -626,7 +626,7 @@ msgstr ""
#: howto/regex.rst:248
msgid ""
"Readers of a reductionist bent may notice that the three other quantifiers "
"Readers of a reductionist bent may notice that the three other qualifiers "
"can all be expressed using this notation. ``{0,}`` is the same as ``*``, "
"``{1,}`` is equivalent to ``+``, and ``{0,1}`` is the same as ``?``. It's "
"better to use ``*``, ``+``, or ``?`` when you can, simply because they're "
@ -1246,7 +1246,6 @@ msgstr ""
"et compréhensible."
#: howto/regex.rst:562
#, fuzzy
msgid ""
"Perform case-insensitive matching; character class and literal strings will "
"match letters by ignoring case. For example, ``[A-Z]`` will match lowercase "
@ -1669,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 quantifier, 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 "
@ -2587,7 +2586,7 @@ msgstr ""
#: howto/regex.rst:1329
msgid ""
"In this case, the solution is to use the non-greedy quantifiers ``*?``, ``+?"
"In this case, the solution is to use the non-greedy qualifiers ``*?``, ``+?"
"``, ``??``, or ``{m,n}?``, which match as *little* text as possible. In the "
"above example, the ``'>'`` is tried immediately after the first ``'<'`` "
"matches, and when it fails, the engine advances a character at a time, "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"

View File

@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-11 19:25+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.2.1\n"
"X-Generator: Poedit 3.0.1\n"
#: howto/sorting.rst:4
msgid "Sorting HOW TO"
@ -231,8 +231,7 @@ msgstr ""
"avantage de l'ordre existant dans un jeu de données."
#: howto/sorting.rst:190
#, fuzzy
msgid "Decorate-Sort-Undecorate"
msgid "The Old Way Using Decorate-Sort-Undecorate"
msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate"
#: howto/sorting.rst:192
@ -324,57 +323,88 @@ msgstr ""
"Maintenant que le tri Python fournit des fonctions-clef, cette technique "
"n'est plus souvent utilisée."
#: howto/sorting.rst:230
#, fuzzy
msgid "Comparison Functions"
msgstr "Fonctions du module *operator*"
#: howto/sorting.rst:231
msgid "The Old Way Using the *cmp* Parameter"
msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*"
#: howto/sorting.rst:232
#: howto/sorting.rst:233
msgid ""
"Unlike key functions that return an absolute value for sorting, a comparison "
"function computes the relative ordering for two inputs."
"Many constructs given in this HOWTO assume Python 2.4 or later. Before that, "
"there was no :func:`sorted` builtin and :meth:`list.sort` took no keyword "
"arguments. Instead, all of the Py2.x versions supported a *cmp* parameter to "
"handle user specified comparison functions."
msgstr ""
"Plusieurs construction données dans ce guide se basent sur Python 2.4 ou "
"plus. Avant cela, il n'y avait pas la fonction :func:`sorted` et la méthode :"
"meth:`list.sort` ne prenait pas d'arguments nommés. À la place, toutes les "
"versions Python 2.x utilisaient un paramètre *cmp* pour prendre en charge "
"les fonctions de comparaisons définies par les utilisateurs."
#: howto/sorting.rst:235
#: howto/sorting.rst:238
msgid ""
"For example, a `balance scale <https://upload.wikimedia.org/wikipedia/"
"commons/1/17/Balance_à_tabac_1850.JPG>`_ compares two samples giving a "
"relative ordering: lighter, equal, or heavier. Likewise, a comparison "
"function such as ``cmp(a, b)`` will return a negative value for less-than, "
"zero if the inputs are equal, or a positive value for greater-than."
"In Py3.0, the *cmp* parameter was removed entirely (as part of a larger "
"effort to simplify and unify the language, eliminating the conflict between "
"rich comparisons and the :meth:`__cmp__` magic method)."
msgstr ""
"En Py3.0, le paramètre *cmp* à été supprimé complètement (dans le cadre d'un "
"effort plus général pour simplifier et unifier le langage, en éliminant le "
"conflit entre les comparaisons riches et la méthode magique :meth:`__cmp__`)."
#: howto/sorting.rst:242
msgid ""
"It is common to encounter comparison functions when translating algorithms "
"from other languages. Also, some libraries provide comparison functions as "
"part of their API. For example, :func:`locale.strcoll` is a comparison "
"function."
"In Py2.x, sort allowed an optional function which can be called for doing "
"the comparisons. That function should take two arguments to be compared and "
"then return a negative value for less-than, return zero if they are equal, "
"or return a positive value for greater-than. For example, we can do:"
msgstr ""
"En Python 2.x, le tri permettait en paramètre une fonction optionnelle qui "
"peut être appelée pour faire des comparaisons. Cette fonction devrait "
"prendre deux arguments à comparer pour renvoyer une valeur négative pour "
"inférieur-à, renvoyer zéro si ils sont égaux, ou renvoyer une valeur "
"positive pour supérieur-à. Par exemple, nous pouvons faire :"
#: howto/sorting.rst:246
#: howto/sorting.rst:254
msgid "Or you can reverse the order of comparison with:"
msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :"
#: howto/sorting.rst:263
msgid ""
"To accommodate those situations, Python provides :class:`functools."
"cmp_to_key` to wrap the comparison function to make it usable as a key "
"function::"
"When porting code from Python 2.x to 3.x, the situation can arise when you "
"have the user supplying a comparison function and you need to convert that "
"to a key function. The following wrapper makes that easy to do:"
msgstr ""
"En portant du code depuis Python 2.X vers 3.x, des problèmes peuvent "
"survenir quand des utilisateurs fournissent une fonction de comparaison et "
"qu'il faut convertir cette fonction en une fonction-clef. La fonction "
"d'encapsulation suivante rend cela plus facile à faire ::"
#: howto/sorting.rst:253
msgid "Odds and Ends"
msgstr "Et n'oublions pas"
#: howto/sorting.rst:294
msgid "To convert to a key function, just wrap the old comparison function:"
msgstr ""
"Pour convertir une fonction clef, ils suffit d'encapsuler l'ancienne "
"fonction de comparaison :"
#: howto/sorting.rst:255
#, fuzzy
#: howto/sorting.rst:305
msgid ""
"In Python 3.2, the :func:`functools.cmp_to_key` function was added to the :"
"mod:`functools` module in the standard library."
msgstr ""
"En Python 3.2, la fonction :func:`functools.cmp_to_key` à été ajoutée au "
"module :mod:`functools` dans la librairie standard."
#: howto/sorting.rst:309
msgid "Odd and Ends"
msgstr "Curiosités et conclusion"
#: howto/sorting.rst:311
msgid ""
"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :"
"func:`locale.strcoll` for a comparison function. This is necessary because "
"\"alphabetical\" sort orderings can vary across cultures even if the "
"underlying alphabet is the same."
"func:`locale.strcoll` for a comparison function."
msgstr ""
"Pour du tri de texte localisé, utilisez :func:`locale.strxfrm` en tant que "
"fonction clef ou :func:`locale.strcoll` comme fonction de comparaison."
#: howto/sorting.rst:260
#: howto/sorting.rst:314
msgid ""
"The *reverse* parameter still maintains sort stability (so that records with "
"equal keys retain the original order). Interestingly, that effect can be "
@ -386,7 +416,7 @@ msgstr ""
"cet effet peut être simulé sans le paramètre en utilisant la fonction "
"native :func:`reversed` deux fois :"
#: howto/sorting.rst:274
#: howto/sorting.rst:328
msgid ""
"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:"
@ -396,7 +426,7 @@ msgstr ""
"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:284
#: 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__`)."
@ -405,7 +435,7 @@ msgstr ""
"`__gt__` si :meth:`__lt__` n'est pas implémentée ; voir :func:`object."
"__lt__`."
#: howto/sorting.rst:287
#: 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 "
@ -417,67 +447,3 @@ msgstr ""
"l'occurrence, si les grades des étudiants sont stockés dans un dictionnaire, "
"ils peuvent être utilisés pour trier une liste différentes de noms "
"d'étudiants :"
#~ msgid "The Old Way Using the *cmp* Parameter"
#~ msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*"
#~ msgid ""
#~ "Many constructs given in this HOWTO assume Python 2.4 or later. Before "
#~ "that, there was no :func:`sorted` builtin and :meth:`list.sort` took no "
#~ "keyword arguments. Instead, all of the Py2.x versions supported a *cmp* "
#~ "parameter to handle user specified comparison functions."
#~ msgstr ""
#~ "Plusieurs construction données dans ce guide se basent sur Python 2.4 ou "
#~ "plus. Avant cela, il n'y avait pas la fonction :func:`sorted` et la "
#~ "méthode :meth:`list.sort` ne prenait pas d'arguments nommés. À la place, "
#~ "toutes les versions Python 2.x utilisaient un paramètre *cmp* pour "
#~ "prendre en charge les fonctions de comparaisons définies par les "
#~ "utilisateurs."
#~ msgid ""
#~ "In Py3.0, the *cmp* parameter was removed entirely (as part of a larger "
#~ "effort to simplify and unify the language, eliminating the conflict "
#~ "between rich comparisons and the :meth:`__cmp__` magic method)."
#~ msgstr ""
#~ "En Py3.0, le paramètre *cmp* à été supprimé complètement (dans le cadre "
#~ "d'un effort plus général pour simplifier et unifier le langage, en "
#~ "éliminant le conflit entre les comparaisons riches et la méthode magique :"
#~ "meth:`__cmp__`)."
#~ msgid ""
#~ "In Py2.x, sort allowed an optional function which can be called for doing "
#~ "the comparisons. That function should take two arguments to be compared "
#~ "and then return a negative value for less-than, return zero if they are "
#~ "equal, or return a positive value for greater-than. For example, we can "
#~ "do:"
#~ msgstr ""
#~ "En Python 2.x, le tri permettait en paramètre une fonction optionnelle "
#~ "qui peut être appelée pour faire des comparaisons. Cette fonction devrait "
#~ "prendre deux arguments à comparer pour renvoyer une valeur négative pour "
#~ "inférieur-à, renvoyer zéro si ils sont égaux, ou renvoyer une valeur "
#~ "positive pour supérieur-à. Par exemple, nous pouvons faire :"
#~ msgid "Or you can reverse the order of comparison with:"
#~ msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :"
#~ msgid ""
#~ "When porting code from Python 2.x to 3.x, the situation can arise when "
#~ "you have the user supplying a comparison function and you need to convert "
#~ "that to a key function. The following wrapper makes that easy to do:"
#~ msgstr ""
#~ "En portant du code depuis Python 2.X vers 3.x, des problèmes peuvent "
#~ "survenir quand des utilisateurs fournissent une fonction de comparaison "
#~ "et qu'il faut convertir cette fonction en une fonction-clef. La fonction "
#~ "d'encapsulation suivante rend cela plus facile à faire ::"
#~ msgid "To convert to a key function, just wrap the old comparison function:"
#~ msgstr ""
#~ "Pour convertir une fonction clef, ils suffit d'encapsuler l'ancienne "
#~ "fonction de comparaison :"
#~ msgid ""
#~ "In Python 3.2, the :func:`functools.cmp_to_key` function was added to "
#~ "the :mod:`functools` module in the standard library."
#~ msgstr ""
#~ "En Python 3.2, la fonction :func:`functools.cmp_to_key` à été ajoutée au "
#~ "module :mod:`functools` dans la librairie standard."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22: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"

View File

@ -1,26 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-23 09:57+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"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: includes/wasm-notavail.rst:-1
msgid ":ref:`Availability <availability>`: not Emscripten, not WASI."
msgstr ""
#: includes/wasm-notavail.rst:5
msgid ""
"This module does not work or is not available on WebAssembly platforms "
"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for "
"more information."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\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"
@ -35,19 +35,11 @@ msgstr ""
"utilisée par *2to3* est cependant une bibliothèque flexible et générique, il "
"est donc possible d'écrire vos propres correcteurs pour *2to3*."
#: library/2to3.rst:19
msgid ""
"The ``lib2to3`` module was marked pending for deprecation in Python 3.9 "
"(raising :exc:`PendingDeprecationWarning` on import) and fully deprecated in "
"Python 3.11 (raising :exc:`DeprecationWarning`). The ``2to3`` tool is part "
"of that. It will be removed in Python 3.13."
msgstr ""
#: library/2to3.rst:23
#: library/2to3.rst:18
msgid "Using 2to3"
msgstr "Utilisation de *2to3*"
#: library/2to3.rst:25
#: library/2to3.rst:20
msgid ""
"2to3 will usually be installed with the Python interpreter as a script. It "
"is also located in the :file:`Tools/scripts` directory of the Python root."
@ -56,7 +48,7 @@ msgstr ""
"script. Il est également situé dans le dossier :file:`Tools/scripts` à "
"racine de Python."
#: library/2to3.rst:28
#: library/2to3.rst:23
msgid ""
"2to3's basic arguments are a list of files or directories to transform. The "
"directories are recursively traversed for Python sources."
@ -65,16 +57,16 @@ msgstr ""
"à transformer. Les répertoires sont parcourus récursivement pour trouver "
"les sources Python."
#: library/2to3.rst:31
#: library/2to3.rst:26
msgid "Here is a sample Python 2.x source file, :file:`example.py`::"
msgstr "Voici un exemple de fichier source Python 2.x, :file:`example.py` ::"
#: library/2to3.rst:39
#: library/2to3.rst:34
msgid "It can be converted to Python 3.x code via 2to3 on the command line:"
msgstr ""
"Il peut être converti en code Python 3.x par *2to3* en ligne de commande :"
#: library/2to3.rst:45
#: library/2to3.rst:40
msgid ""
"A diff against the original source file is printed. 2to3 can also write the "
"needed modifications right back to the source file. (A backup of the "
@ -87,11 +79,11 @@ msgstr ""
"l'option :option:`!-n` soit également donnée.) L'écriture des modifications "
"est activée avec l'option :option:`!-w` :"
#: library/2to3.rst:54
#: library/2to3.rst:49
msgid "After transformation, :file:`example.py` looks like this::"
msgstr "Après transformation, :file:`example.py` ressemble à ::"
#: library/2to3.rst:62
#: library/2to3.rst:57
msgid ""
"Comments and exact indentation are preserved throughout the translation "
"process."
@ -99,7 +91,7 @@ msgstr ""
"Les commentaires et les retraits sont préservés tout au long du processus de "
"traduction."
#: library/2to3.rst:64
#: library/2to3.rst:59
msgid ""
"By default, 2to3 runs a set of :ref:`predefined fixers <2to3-fixers>`. The :"
"option:`!-l` flag lists all available fixers. An explicit set of fixers to "
@ -114,12 +106,12 @@ msgstr ""
"L'exemple suivant exécute uniquement les ``import`` et les correcteurs "
"``has_key`` :"
#: library/2to3.rst:73
#: library/2to3.rst:68
msgid "This command runs every fixer except the ``apply`` fixer:"
msgstr ""
"Cette commande exécute tous les correcteurs, sauf le correcteurs ``apply`` :"
#: library/2to3.rst:79
#: library/2to3.rst:74
msgid ""
"Some fixers are *explicit*, meaning they aren't run by default and must be "
"listed on the command line to be run. Here, in addition to the default "
@ -130,11 +122,11 @@ msgstr ""
"exécuter. Ici, en plus des correcteurs par défaut, le correcteur ``idioms`` "
"est exécuté :"
#: library/2to3.rst:87
#: library/2to3.rst:82
msgid "Notice how passing ``all`` enables all default fixers."
msgstr "Notez que passer ``all`` active tous les correcteurs par défaut."
#: library/2to3.rst:89
#: library/2to3.rst:84
msgid ""
"Sometimes 2to3 will find a place in your source code that needs to be "
"changed, but 2to3 cannot fix automatically. In this case, 2to3 will print a "
@ -146,7 +138,7 @@ msgstr ""
"*2to3* affiche un avertissement sous la comparaison d'un fichier. Vous "
"devez traiter l'avertissement afin d'avoir un code conforme à Python 3.x."
#: library/2to3.rst:94
#: library/2to3.rst:89
msgid ""
"2to3 can also refactor doctests. To enable this mode, use the :option:`!-d` "
"flag. Note that *only* doctests will be refactored. This also doesn't "
@ -159,7 +151,7 @@ msgstr ""
"*doctests* tels que des exemples dans un document *reST* peuvent également "
"être réusinés avec cette option."
#: library/2to3.rst:99
#: library/2to3.rst:94
msgid ""
"The :option:`!-v` option enables output of more information on the "
"translation process."
@ -167,7 +159,7 @@ msgstr ""
"L'option :option:`!-v` augmente la quantité de messages générés par le "
"processus de traduction."
#: library/2to3.rst:102
#: library/2to3.rst:97
msgid ""
"Since some print statements can be parsed as function calls or statements, "
"2to3 cannot always read files containing the print function. When 2to3 "
@ -189,7 +181,7 @@ msgstr ""
"converties. Notez également l'usage de l'option :option:`!-e` pour "
"transformer :func:`exec` en fonction."
#: library/2to3.rst:110
#: library/2to3.rst:105
msgid ""
"The :option:`!-o` or :option:`!--output-dir` option allows specification of "
"an alternate directory for processed output files to be written to. The :"
@ -201,11 +193,11 @@ msgstr ""
"est requise quand on les utilise comme fichiers de sauvegarde qui n'ont pas "
"de sens si les fichiers d'entrée ne sont pas écrasés."
#: library/2to3.rst:115
#: library/2to3.rst:110
msgid "The :option:`!-o` option was added."
msgstr "L'option :option:`!-o` a été ajoutée."
#: library/2to3.rst:118
#: library/2to3.rst:113
msgid ""
"The :option:`!-W` or :option:`!--write-unchanged-files` flag tells 2to3 to "
"always write output files even if no changes were required to the file. "
@ -220,11 +212,11 @@ msgstr ""
"répertoire à l'autre. Cette option implique :option:`!-w` sans quoi elle "
"n'aurait pas de sens."
#: library/2to3.rst:124
#: library/2to3.rst:119
msgid "The :option:`!-W` flag was added."
msgstr "L'option :option:`!-W` a été ajoutée."
#: library/2to3.rst:127
#: library/2to3.rst:122
msgid ""
"The :option:`!--add-suffix` option specifies a string to append to all "
"output filenames. The :option:`!-n` flag is required when specifying this "
@ -235,25 +227,25 @@ msgstr ""
"cas, puisque sauvegarder n'est pas nécessaire en écrivant dans des fichiers "
"différents. Exemple:"
#: library/2to3.rst:135
#: library/2to3.rst:130
msgid "Will cause a converted file named ``example.py3`` to be written."
msgstr "Écrit un fichier converti nommé ``example.py3``."
#: library/2to3.rst:137
#: library/2to3.rst:132
msgid "The :option:`!--add-suffix` option was added."
msgstr "L'option :option:`!--add-suffix` est ajoutée."
#: library/2to3.rst:140
#: library/2to3.rst:135
msgid "To translate an entire project from one directory tree to another use:"
msgstr ""
"Pour traduire un projet entier d'une arborescence de répertoires à une "
"autre, utilisez :"
#: library/2to3.rst:150
#: library/2to3.rst:145
msgid "Fixers"
msgstr "Correcteurs"
#: library/2to3.rst:152
#: library/2to3.rst:147
msgid ""
"Each step of transforming code is encapsulated in a fixer. The command "
"``2to3 -l`` lists them. As :ref:`documented above <2to3-using>`, each can "
@ -264,7 +256,7 @@ msgstr ""
"dessus <2to3-using>`, chacun peut être activé ou désactivé "
"individuellement. Ils sont décrits plus en détails ici."
#: library/2to3.rst:159
#: library/2to3.rst:154
msgid ""
"Removes usage of :func:`apply`. For example ``apply(function, *args, "
"**kwargs)`` is converted to ``function(*args, **kwargs)``."
@ -272,103 +264,103 @@ msgstr ""
"Supprime l'usage d':func:`apply`. Par exemple, ``apply(function, *args, "
"**kwargs)`` est converti en ``function(*args, **kwargs)``."
#: library/2to3.rst:164
#: library/2to3.rst:159
msgid "Replaces deprecated :mod:`unittest` method names with the correct ones."
msgstr ""
"Remplace les noms de méthodes obsolètes du module :mod:`unittest` par les "
"bons."
#: library/2to3.rst:356
#: library/2to3.rst:351
msgid "From"
msgstr "De"
#: library/2to3.rst:356
#: library/2to3.rst:351
msgid "To"
msgstr "À"
#: library/2to3.rst:169
#: library/2to3.rst:164
msgid "``failUnlessEqual(a, b)``"
msgstr "``failUnlessEqual(a, b)``"
#: library/2to3.rst:171
#: library/2to3.rst:166
msgid ":meth:`assertEqual(a, b) <unittest.TestCase.assertEqual>`"
msgstr ":meth:`assertEqual(a, b) <unittest.TestCase.assertEqual>`"
#: library/2to3.rst:171
#: library/2to3.rst:166
msgid "``assertEquals(a, b)``"
msgstr "``assertEquals(a, b)``"
#: library/2to3.rst:173
#: library/2to3.rst:168
msgid "``failIfEqual(a, b)``"
msgstr "``failIfEqual(a, b)``"
#: library/2to3.rst:175
#: library/2to3.rst:170
msgid ":meth:`assertNotEqual(a, b) <unittest.TestCase.assertNotEqual>`"
msgstr ":meth:`assertNotEqual(a, b) <unittest.TestCase.assertNotEqual>`"
#: library/2to3.rst:175
#: library/2to3.rst:170
msgid "``assertNotEquals(a, b)``"
msgstr "``assertNotEquals(a, b)``"
#: library/2to3.rst:177
#: library/2to3.rst:172
msgid "``failUnless(a)``"
msgstr "``failUnless(a)``"
#: library/2to3.rst:179
#: library/2to3.rst:174
msgid ":meth:`assertTrue(a) <unittest.TestCase.assertTrue>`"
msgstr ":meth:`assertTrue(a) <unittest.TestCase.assertTrue>`"
#: library/2to3.rst:179
#: library/2to3.rst:174
msgid "``assert_(a)``"
msgstr "``assert_(a)``"
#: library/2to3.rst:181
#: library/2to3.rst:176
msgid "``failIf(a)``"
msgstr "``failIf(a)``"
#: library/2to3.rst:181
#: library/2to3.rst:176
msgid ":meth:`assertFalse(a) <unittest.TestCase.assertFalse>`"
msgstr ":meth:`assertFalse(a) <unittest.TestCase.assertFalse>`"
#: library/2to3.rst:183
#: library/2to3.rst:178
msgid "``failUnlessRaises(exc, cal)``"
msgstr "``failUnlessRaises(exc, cal)``"
#: library/2to3.rst:183
#: library/2to3.rst:178
msgid ":meth:`assertRaises(exc, cal) <unittest.TestCase.assertRaises>`"
msgstr ":meth:`assertRaises(exc, cal) <unittest.TestCase.assertRaises>`"
#: library/2to3.rst:185
#: library/2to3.rst:180
msgid "``failUnlessAlmostEqual(a, b)``"
msgstr "``failUnlessAlmostEqual(a, b)``"
#: library/2to3.rst:187
#: library/2to3.rst:182
msgid ":meth:`assertAlmostEqual(a, b) <unittest.TestCase.assertAlmostEqual>`"
msgstr ":meth:`assertAlmostEqual(a, b) <unittest.TestCase.assertAlmostEqual>`"
#: library/2to3.rst:187
#: library/2to3.rst:182
msgid "``assertAlmostEquals(a, b)``"
msgstr "``assertAlmostEquals(a, b)``"
#: library/2to3.rst:189
#: library/2to3.rst:184
msgid "``failIfAlmostEqual(a, b)``"
msgstr "``failIfAlmostEqual(a, b)``"
#: library/2to3.rst:191
#: library/2to3.rst:186
msgid ""
":meth:`assertNotAlmostEqual(a, b) <unittest.TestCase.assertNotAlmostEqual>`"
msgstr ""
":meth:`assertNotAlmostEqual(a, b) <unittest.TestCase.assertNotAlmostEqual>`"
#: library/2to3.rst:191
#: library/2to3.rst:186
msgid "``assertNotAlmostEquals(a, b)``"
msgstr "``assertNotAlmostEquals(a, b)``"
#: library/2to3.rst:197
#: library/2to3.rst:192
msgid "Converts :class:`basestring` to :class:`str`."
msgstr "Convertit une :class:`basestring` en :class:`str`."
#: library/2to3.rst:201
#: library/2to3.rst:196
msgid ""
"Converts :class:`buffer` to :class:`memoryview`. This fixer is optional "
"because the :class:`memoryview` API is similar but not exactly the same as "
@ -378,7 +370,7 @@ msgstr ""
"optionnel car l'API :class:`memoryview` est similaire mais pas exactement "
"pareil que celle de :class:`buffer`."
#: library/2to3.rst:207
#: library/2to3.rst:202
msgid ""
"Fixes dictionary iteration methods. :meth:`dict.iteritems` is converted to :"
"meth:`dict.items`, :meth:`dict.iterkeys` to :meth:`dict.keys`, and :meth:"
@ -397,15 +389,15 @@ msgstr ""
"items`, :meth:`dict.keys` et :meth:`dict.values` dans un appel à :class:"
"`list`."
#: library/2to3.rst:217
#: library/2to3.rst:212
msgid "Converts ``except X, T`` to ``except X as T``."
msgstr "Convertit ``except X, T`` en ``except X as T``."
#: library/2to3.rst:221
#: library/2to3.rst:216
msgid "Converts the ``exec`` statement to the :func:`exec` function."
msgstr "Convertit l'instruction ``exec`` en fonction :func:`exec`."
#: library/2to3.rst:225
#: library/2to3.rst:220
msgid ""
"Removes usage of :func:`execfile`. The argument to :func:`execfile` is "
"wrapped in calls to :func:`open`, :func:`compile`, and :func:`exec`."
@ -413,7 +405,7 @@ msgstr ""
"Supprime l'usage de :func:`execfile`. L'argument de :func:`execfile` est "
"encapsulé dans des appels à :func:`open`, :func:`compile` et :func:`exec`."
#: library/2to3.rst:230
#: library/2to3.rst:225
msgid ""
"Changes assignment of :attr:`sys.exitfunc` to use of the :mod:`atexit` "
"module."
@ -421,11 +413,11 @@ msgstr ""
"Change l'affectation de :attr:`sys.exitfunc` pour utiliser le module :mod:"
"`atexit`."
#: library/2to3.rst:235
#: library/2to3.rst:230
msgid "Wraps :func:`filter` usage in a :class:`list` call."
msgstr "Encapsule l'usage de :func:`filter` dans un appel à :class:`list`."
#: library/2to3.rst:239
#: library/2to3.rst:234
msgid ""
"Fixes function attributes that have been renamed. For example, "
"``my_function.func_closure`` is converted to ``my_function.__closure__``."
@ -433,19 +425,19 @@ msgstr ""
"Fixe les attributs de fonction ayant été renommés. Par exemple, "
"``my_function.func_closure`` est converti en ``my_function.__closure__``."
#: library/2to3.rst:244
#: library/2to3.rst:239
msgid "Removes ``from __future__ import new_feature`` statements."
msgstr "Supprime les instructions ``from __future__ import new_feature``."
#: library/2to3.rst:248
#: library/2to3.rst:243
msgid "Renames :func:`os.getcwdu` to :func:`os.getcwd`."
msgstr "Renomme :func:`os.getcwdu` en :func:`os.getcwd`."
#: library/2to3.rst:252
#: library/2to3.rst:247
msgid "Changes ``dict.has_key(key)`` to ``key in dict``."
msgstr "Change ``dict.has_key(key)`` en ``key in dict``."
#: library/2to3.rst:256
#: library/2to3.rst:251
msgid ""
"This optional fixer performs several transformations that make Python code "
"more idiomatic. Type comparisons like ``type(x) is SomeClass`` and "
@ -460,20 +452,20 @@ msgstr ""
"aussi d'utiliser :func:`sorted` aux endroits appropriés. Par exemple, ce "
"bloc ::"
#: library/2to3.rst:265
#: library/2to3.rst:260
msgid "is changed to ::"
msgstr "est transformé en ::"
#: library/2to3.rst:271
#: library/2to3.rst:266
msgid "Detects sibling imports and converts them to relative imports."
msgstr ""
"Détecte les importations voisines et les convertit en importations relatives."
#: library/2to3.rst:275
#: library/2to3.rst:270
msgid "Handles module renames in the standard library."
msgstr "Gère les renommages de modules dans la bibliothèque standard."
#: library/2to3.rst:279
#: library/2to3.rst:274
msgid ""
"Handles other modules renames in the standard library. It is separate from "
"the :2to3fixer:`imports` fixer only because of technical limitations."
@ -482,15 +474,15 @@ msgstr ""
"distinct de :2to3fixer:`imports` seulement en raison de limitations "
"techniques."
#: library/2to3.rst:284
#: library/2to3.rst:279
msgid "Converts ``input(prompt)`` to ``eval(input(prompt))``."
msgstr "Convertit ``input(prompt)`` en ``eval(input(prompt))``."
#: library/2to3.rst:288
#: library/2to3.rst:283
msgid "Converts :func:`intern` to :func:`sys.intern`."
msgstr "Convertit :func:`intern` en :func:`sys.intern`."
#: library/2to3.rst:292
#: library/2to3.rst:287
msgid ""
"Fixes duplicate types in the second argument of :func:`isinstance`. For "
"example, ``isinstance(x, (int, int))`` is converted to ``isinstance(x, "
@ -502,7 +494,7 @@ msgstr ""
"int)`` et ``isinstance(x, (int, float, int))`` est converti en "
"``isinstance(x, (int, float))``."
#: library/2to3.rst:299
#: library/2to3.rst:294
msgid ""
"Removes imports of :func:`itertools.ifilter`, :func:`itertools.izip`, and :"
"func:`itertools.imap`. Imports of :func:`itertools.ifilterfalse` are also "
@ -512,7 +504,7 @@ msgstr ""
"izip` et :func:`itertools.imap`. Les importations de :func:`itertools."
"ifilterfalse` sont aussi changées en :func:`itertools.filterfalse`."
#: library/2to3.rst:305
#: library/2to3.rst:300
msgid ""
"Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, and :"
"func:`itertools.imap` to their built-in equivalents. :func:`itertools."
@ -522,11 +514,11 @@ msgstr ""
"`itertools.imap` en leurs équivalents intégrés. :func:`itertools."
"ifilterfalse` est changé en :func:`itertools.filterfalse`."
#: library/2to3.rst:311
#: library/2to3.rst:306
msgid "Renames :class:`long` to :class:`int`."
msgstr "Renomme :class:`long` en :class:`int`."
#: library/2to3.rst:315
#: library/2to3.rst:310
msgid ""
"Wraps :func:`map` in a :class:`list` call. It also changes ``map(None, x)`` "
"to ``list(x)``. Using ``from future_builtins import map`` disables this "
@ -536,7 +528,7 @@ msgstr ""
"``map(None, x)`` en ``list(x)``. L'usage de ``from future_builtins import "
"map`` désactive ce correcteur."
#: library/2to3.rst:321
#: library/2to3.rst:316
msgid ""
"Converts the old metaclass syntax (``__metaclass__ = Meta`` in the class "
"body) to the new (``class X(metaclass=Meta)``)."
@ -544,7 +536,7 @@ msgstr ""
"Convertit l'ancienne syntaxe de métaclasse (``__metaclass__ = Meta`` dans le "
"corps de la classe) à la nouvelle (``class X(metaclasse=Meta)``)."
#: library/2to3.rst:326
#: library/2to3.rst:321
msgid ""
"Fixes old method attribute names. For example, ``meth.im_func`` is "
"converted to ``meth.__func__``."
@ -552,11 +544,11 @@ msgstr ""
"Fixe les anciens noms d'attributs de méthodes. Par exemple, ``meth."
"im_func`` est converti en ``meth.__func__``."
#: library/2to3.rst:331
#: library/2to3.rst:326
msgid "Converts the old not-equal syntax, ``<>``, to ``!=``."
msgstr "Convertit l'ancienne syntaxe d'inégalité, ``<>``, en ``!=``."
#: library/2to3.rst:335
#: library/2to3.rst:330
msgid ""
"Converts the use of iterator's :meth:`~iterator.next` methods to the :func:"
"`next` function. It also renames :meth:`next` methods to :meth:`~iterator."
@ -566,20 +558,20 @@ msgstr ""
"func:`next`. Renomme également les méthodes :meth:`next` en :meth:"
"`~iterator.__next__`."
#: library/2to3.rst:341
#: library/2to3.rst:336
#, fuzzy
msgid ""
"Renames definitions of methods called :meth:`__nonzero__` to :meth:`~object."
"__bool__`."
msgstr "Renomme :meth:`__nonzero__` en :meth:`~object.__bool__`."
#: library/2to3.rst:346
#: library/2to3.rst:341
msgid "Converts octal literals into the new syntax."
msgstr ""
"Convertit les nombres écrits littéralement en octal dans leur nouvelle "
"syntaxe."
#: library/2to3.rst:350
#: library/2to3.rst:345
msgid ""
"Converts calls to various functions in the :mod:`operator` module to other, "
"but equivalent, function calls. When needed, the appropriate ``import`` "
@ -591,63 +583,63 @@ msgstr ""
"``import`` appropriées sont ajoutées, e.g. ``import collections.abc``. Les "
"correspondances suivantes sont appliquées :"
#: library/2to3.rst:358
#: library/2to3.rst:353
msgid "``operator.isCallable(obj)``"
msgstr "``operator.isCallable(obj)``"
#: library/2to3.rst:358
#: library/2to3.rst:353
msgid "``callable(obj)``"
msgstr "``callable(obj)``"
#: library/2to3.rst:359
#: library/2to3.rst:354
msgid "``operator.sequenceIncludes(obj)``"
msgstr "``operator.sequenceIncludes(obj)``"
#: library/2to3.rst:359
#: library/2to3.rst:354
msgid "``operator.contains(obj)``"
msgstr "``operator.contains(obj)``"
#: library/2to3.rst:360
#: library/2to3.rst:355
msgid "``operator.isSequenceType(obj)``"
msgstr "``operator.isSequenceType(obj)``"
#: library/2to3.rst:360
#: library/2to3.rst:355
msgid "``isinstance(obj, collections.abc.Sequence)``"
msgstr "``isinstance(obj, collections.abc.Sequence)``"
#: library/2to3.rst:361
#: library/2to3.rst:356
msgid "``operator.isMappingType(obj)``"
msgstr "``operator.isMappingType(obj)``"
#: library/2to3.rst:361
#: library/2to3.rst:356
msgid "``isinstance(obj, collections.abc.Mapping)``"
msgstr "``isinstance(obj, collections.abc.Mapping)``"
#: library/2to3.rst:362
#: library/2to3.rst:357
msgid "``operator.isNumberType(obj)``"
msgstr "``operator.isNumberType(obj)``"
#: library/2to3.rst:362
#: library/2to3.rst:357
msgid "``isinstance(obj, numbers.Number)``"
msgstr "``isinstance(obj, numbers.Number)``"
#: library/2to3.rst:363
#: library/2to3.rst:358
msgid "``operator.repeat(obj, n)``"
msgstr "``operator.repeat(obj, n)``"
#: library/2to3.rst:363
#: library/2to3.rst:358
msgid "``operator.mul(obj, n)``"
msgstr "``operator.mul(obj, n)``"
#: library/2to3.rst:364
#: library/2to3.rst:359
msgid "``operator.irepeat(obj, n)``"
msgstr "``operator.irepeat(obj, n)``"
#: library/2to3.rst:364
#: library/2to3.rst:359
msgid "``operator.imul(obj, n)``"
msgstr "``operator.imul(obj, n)``"
#: library/2to3.rst:369
#: library/2to3.rst:364
msgid ""
"Add extra parenthesis where they are required in list comprehensions. For "
"example, ``[x for x in 1, 2]`` becomes ``[x for x in (1, 2)]``."
@ -656,11 +648,11 @@ msgstr ""
"les listes en compréhension. Par exemple, ``[x for x in 1, 2]`` devient "
"``[x for x in (1, 2)]``."
#: library/2to3.rst:374
#: library/2to3.rst:369
msgid "Converts the ``print`` statement to the :func:`print` function."
msgstr "Convertit l'instruction ``print`` en fonction :func:`print`."
#: library/2to3.rst:378
#: library/2to3.rst:373
msgid ""
"Converts ``raise E, V`` to ``raise E(V)``, and ``raise E, V, T`` to ``raise "
"E(V).with_traceback(T)``. If ``E`` is a tuple, the translation will be "
@ -671,30 +663,30 @@ msgstr ""
"incorrecte puisque la substitution de *n*-uplets aux exceptions a été "
"supprimée en 3.0."
#: library/2to3.rst:384
#: library/2to3.rst:379
msgid "Converts :func:`raw_input` to :func:`input`."
msgstr "Convertit :func:`raw_input` en :func:`input`."
#: library/2to3.rst:388
#: library/2to3.rst:383
msgid "Handles the move of :func:`reduce` to :func:`functools.reduce`."
msgstr "Gère le déplacement de :func:`reduce` à :func:`functools.reduce`."
#: library/2to3.rst:392
#: library/2to3.rst:387
msgid "Converts :func:`reload` to :func:`importlib.reload`."
msgstr ""
"Convertit les appels à :func:`reload` en appels à :func:`importlib.reload`."
#: library/2to3.rst:396
#: library/2to3.rst:391
msgid "Changes :data:`sys.maxint` to :data:`sys.maxsize`."
msgstr "Change :data:`sys.maxint` en :data:`sys.maxsize`."
#: library/2to3.rst:400
#: library/2to3.rst:395
msgid "Replaces backtick repr with the :func:`repr` function."
msgstr ""
"Remplace les accents graves utilisés comme ``repr`` par des appels à :func:"
"`repr`."
#: library/2to3.rst:404
#: library/2to3.rst:399
msgid ""
"Replaces use of the :class:`set` constructor with set literals. This fixer "
"is optional."
@ -702,11 +694,11 @@ msgstr ""
"Remplace l'usage du constructeur de :class:`set` par les ensembles "
"littéraux. Ce correcteur est optionnel."
#: library/2to3.rst:409
#: library/2to3.rst:404
msgid "Renames :exc:`StandardError` to :exc:`Exception`."
msgstr "Renomme :exc:`StandardError` en :exc:`Exception`."
#: library/2to3.rst:413
#: library/2to3.rst:408
msgid ""
"Changes the deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:"
"`sys.exc_traceback` to use :func:`sys.exc_info`."
@ -714,12 +706,12 @@ msgstr ""
"Change les :data:`sys.exc_value`, :data:`sys.exc_type`, :data:`sys."
"exc_traceback` dépréciés en :func:`sys.exc_info`."
#: library/2to3.rst:418
#: library/2to3.rst:413
msgid "Fixes the API change in generator's :meth:`throw` method."
msgstr ""
"Fixe le changement de l'API dans la méthode :meth:`throw` du générateur."
#: library/2to3.rst:422
#: library/2to3.rst:417
msgid ""
"Removes implicit tuple parameter unpacking. This fixer inserts temporary "
"variables."
@ -727,7 +719,7 @@ msgstr ""
"Supprime la décompression implicite des paramètres d'un *n*-uplet. Ce "
"correcteur ajoute des variables temporaires."
#: library/2to3.rst:427
#: library/2to3.rst:422
msgid ""
"Fixes code broken from the removal of some members in the :mod:`types` "
"module."
@ -735,11 +727,11 @@ msgstr ""
"Fixe le code cassé par la suppression de certains membres du module :mod:"
"`types`."
#: library/2to3.rst:432
#: library/2to3.rst:427
msgid "Renames :class:`unicode` to :class:`str`."
msgstr "Renomme :class:`unicode` en :class:`str`."
#: library/2to3.rst:436
#: library/2to3.rst:431
msgid ""
"Handles the rename of :mod:`urllib` and :mod:`urllib2` to the :mod:`urllib` "
"package."
@ -747,7 +739,7 @@ msgstr ""
"Gère le renommage des paquets :mod:`urllib` et :mod:`urllib2` en :mod:"
"`urllib`."
#: library/2to3.rst:441
#: library/2to3.rst:436
msgid ""
"Removes excess whitespace from comma separated items. This fixer is "
"optional."
@ -755,7 +747,7 @@ msgstr ""
"Supprime l'espace excédentaire des éléments séparés par des virgules. Ce "
"correcteur est optionnel."
#: library/2to3.rst:446
#: library/2to3.rst:441
msgid ""
"Renames :func:`xrange` to :func:`range` and wraps existing :func:`range` "
"calls with :class:`list`."
@ -763,11 +755,11 @@ msgstr ""
"Renomme la fonction :func:`xrange` en :func:`range` et encapsule les appels "
"à la fonction :func:`range` avec des appels à :class:`list`."
#: library/2to3.rst:451
#: library/2to3.rst:446
msgid "Changes ``for x in file.xreadlines()`` to ``for x in file``."
msgstr "Change ``for x in file.xreadlines()`` en ``for x in file``."
#: library/2to3.rst:455
#: library/2to3.rst:450
msgid ""
"Wraps :func:`zip` usage in a :class:`list` call. This is disabled when "
"``from future_builtins import zip`` appears."
@ -775,16 +767,16 @@ msgstr ""
"Encapsule l'usage de :func:`zip` dans un appel à :class:`list`. Ceci est "
"désactivé lorsque ``from future_builtins import zip`` apparaît."
#: library/2to3.rst:460
#: library/2to3.rst:455
#, fuzzy
msgid ":mod:`lib2to3` --- 2to3's library"
msgstr ":mod:`lib2to3` — la bibliothèque de *2to3*"
#: library/2to3.rst:469
#: library/2to3.rst:464
msgid "**Source code:** :source:`Lib/lib2to3/`"
msgstr "**Code source:** :source:`Lib/lib2to3/`"
#: library/2to3.rst:482
#: library/2to3.rst:477
#, fuzzy
msgid ""
"Python 3.9 switched to a PEG parser (see :pep:`617`) while lib2to3 is using "
@ -804,7 +796,7 @@ msgstr ""
"une approche alternative, vous pouvez utiliser des outils tiers tels que "
"`LibCST`_ ou `parso`_."
#: library/2to3.rst:485
#: library/2to3.rst:480
msgid ""
"The :mod:`lib2to3` API should be considered unstable and may change "
"drastically in the future."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"

Some files were not shown because too many files have changed in this diff Show More