Compare commits

...

71 Commits

Author SHA1 Message Date
Christophe Nanteuil 89c55fc592 Simple tool to ease resolving fuzzies (#140)
Display diff of commits introducing fuzzies (commit messages must contain 'merge') using git difftool program, after having filtered the po files [à la mode textconv](https://git.afpy.org/AFPy/python-docs-fr/src/branch/3.11/CONTRIBUTING.rst#configuration-de-git-rendre-plus-lisible-laffichage-des-modifications).

Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Reviewed-on: AFPy/python-docs-fr#140
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-05-23 19:53:36 +00:00
douuvid 8713216576 Fixer la fuzz faq/gui.po (#146)
Co-authored-by: Douuvid <silasiharis@gmail.com>
Reviewed-on: AFPy/python-docs-fr#146
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: douuvid <silasiharis@gmail.com>
Co-committed-by: douuvid <silasiharis@gmail.com>
2023-05-23 19:49:27 +00:00
pilou 58cd92ed64 Check that hunspell is installed (#144)
The check doesn't verify the hunspell dictionary kind.

Co-authored-by: Pierre-Louis Bonicoli <pierre-louis.bonicoli@ir5.eu>
Reviewed-on: AFPy/python-docs-fr#144
Co-authored-by: pilou <pierre-louis.bonicoli@libregerbil.fr>
Co-committed-by: pilou <pierre-louis.bonicoli@libregerbil.fr>
2023-05-23 18:47:00 +00:00
Julien Palard f770a90e58
Bump poutils. 2023-05-23 19:54:34 +02:00
Christophe Nanteuil d8ce7c55bf Revue et poursuite de la traduction de library/decimal.po (#143)
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Reviewed-on: AFPy/python-docs-fr#143
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-05-23 08:47:51 +00:00
Benjamin_Loison c47af9c54a Correct a typo in `library/json.po` (#141)
Co-authored-by: Benjamin Loison <benjamin.loison@orange.fr>
Reviewed-on: AFPy/python-docs-fr#141
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-authored-by: Benjamin_Loison <benjamin.loison@orange.fr>
Co-committed-by: Benjamin_Loison <benjamin.loison@orange.fr>
2023-05-17 09:48:51 +00:00
deronnax ea2647a58e tutorial/modules.po: 1 fuzzy (#139)
le commit provoquant la fuzziness est une simple correction, qu'on avait déjà corrigé downstream, évidemment

```
commit a166cb4131587bbab05bde491fc95eb65523b2c9
Author: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Date:   Tue Mar 14 17:11:56 2023 -0700

    gh-102703: Fix typo in modules tutorial documentation (GH-102707)

    **Before**
    This prevents directories with a common name, such as ``string``, unintentionally hiding ...
    **After**
    This prevents directories with a common name, such as ``string``, from unintentionally hiding ..
.
    (cherry picked from commit 0a539b5db312d126ff45dd4aa6a53d40a292c512)

    Co-authored-by: Robert Prater (B. Eng) <robcprater@gmail.com>

diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst
index ad70d92994..4daafa49a3 100644
--- a/Doc/tutorial/modules.rst
+++ b/Doc/tutorial/modules.rst
@@ -438,7 +438,7 @@ When importing the package, Python searches through the directories on

 The :file:`__init__.py` files are required to make Python treat directories
 containing the file as packages.  This prevents directories with a common name,
-such as ``string``, unintentionally hiding valid modules that occur later
+such as ``string``, from unintentionally hiding valid modules that occur later
 on the module search path. In the simplest case, :file:`__init__.py` can just be
 an empty file, but it can also execute initialization code for the package or
 set the ``__all__`` variable, described later.
```

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#139
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-05-14 07:18:56 +00:00
Christophe Nanteuil a94ba446df fuzzies library/intro.po 2023-04-15 23:29:02 +02:00
Julien Palard 4b1228c08d
make verifs: Do not wait indefinitely on stdin when nothing changed. 2023-04-14 14:51:09 +02:00
Julien Palard b3367a2bd5 Woodpecker does not like my colon (#129)
Reviewed-on: AFPy/python-docs-fr#129
2023-04-14 12:29:42 +00:00
Julien Palard 0798ce74be
In case it's already here.
Which happen when running on the branch. But when running from a PR
the branch does not exists.
2023-04-14 13:59:11 +02:00
Julien Palard 497dd9aad4
Make merge 2023-04-14 13:20:40 +02:00
Julien Palard 3697e62ab7 Colons checker in CI. (#125)
Reviewed-on: AFPy/python-docs-fr#125
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-04-14 11:16:50 +00:00
Christophe Nanteuil 68df6591be padpo et check-colon 2023-04-10 17:03:58 +02:00
Christophe Nanteuil 0759b8b1ba fin de revue de library/stdtypes.po (#126)
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Reviewed-on: AFPy/python-docs-fr#126
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-04-10 13:28:01 +00:00
Christophe Nanteuil bb46c79e45 Revue de library/stdtypes.po (#121)
revue, compléments et fuzzies

closes #120

Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#121
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-04-08 13:27:41 +00:00
Julien Palard c584ff6fbb fix colons. (#122)
Reviewed-on: AFPy/python-docs-fr#122
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-04-08 12:37:28 +00:00
Christophe Nanteuil 2fd8387137 library/functions.po : fuzzies et fin de revue (#104)
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Reviewed-on: AFPy/python-docs-fr#104
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-04-04 21:24:32 +00:00
Julien Palard c68566b785 Fully working CI (#118)
Ça commence à marcher, par contre on a un souci avec un :rfc: dans pospell :

    <rst-doc>:1: (ERROR/3) RFC number must be a number greater than or equal to 1; "la spécification correspondante <5424#section-6>" is invalid. while parsing: La :rfc:`5424` requiert qu’un message Unicode soit envoyé à un démon *syslog* sous la forme d’un ensemble d’octets ayant la structure suivante : un composant ASCII pur facultatif, suivi d’une marque d’ordre d’octet (*BOM* pour *Byte Order Mark* en anglais) UTF-8, suivie de contenu Unicode UTF-8 (voir la :rfc:`la spécification correspondante <5424#section-6>`).

Reviewed-on: AFPy/python-docs-fr#118
2023-04-01 19:44:08 +00:00
deronnax 67f8f6cd58 library/logging: quelques fuzzies (#119)
3 fois rien

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#119
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-30 21:08:33 +00:00
deronnax 3ecd689d5a faq/library.po: remplace "Toile" par "web" (#117)
J'ai plus entendu quelqu'un qualifier le web de "toile" depuis 1999 et ma dernière visite au Futuroscope.
Terme 100% connoté boomer, avec des morceaux de Caramail, Lycos et internet multimédia dedans.

Changement à débattre, évidemment.

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#117
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-28 14:22:38 +00:00
deronnax dfa3ba78a2 howto/descriptor.po: 1 fuzzy (#115)
correction upstream d'une erreur d'anglais évidemment déjà corrigée dans la trad (6554598236a8267c9ab9cb6802a9e99e68f3c750)

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#115
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-28 11:35:59 +00:00
deronnax 5de4b94443 faq/general.po: 3 fuzzies (#114)
changements upstream:
* liens vers les PEP modifiés
* retrait de la mention de PythonWin

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#114
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-28 11:35:43 +00:00
deronnax 67d7550462 faq/library.po: 2 fuzzies (#116)
upstream:
* 2 liens changés pour https
* 1 lien changés vers son équivalent archive.org

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#116
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-28 11:35:23 +00:00
Julien Palard 50462a2278
Hello woodpecker. 2023-03-28 00:27:33 +02:00
Julien Palard 59f5cc0175
pospell/sphinx-lint 2023-03-28 00:26:14 +02:00
deronnax 39e09a16a1 using/mac.po: 3 fuzzies (#112)
1 lien https et 2 vrais changements:
96c1f013b3ea142616979f0b02fee81a7b41eb70
d8df7e02071087894e4295e9b299689d8db74973

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#112
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-27 10:57:41 +00:00
deronnax 5e60db8d89 library/csv.po: 1 fuzzy (#111)
une correction upstream d'un terme trop précis (whitespace -> space) déjà retiré en français

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#111
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 22:39:38 +00:00
deronnax 17504f9d45 howto/unicode.po: https fuzzies (#108)
uniquement des fuzzies dûes à la MaJ des liens vers HTTPS

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#108
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 22:39:18 +00:00
deronnax 5eb0bc51f1 faq/design.po: quelques fuzzies (#106)
pareil, fuzzies vérifiées upstream. Des liens passés en HTTPS, des backquotes rajoutées, et des tirets retirés.
Il y a 2-3 PRs qui sont passées upstream et qui provoquent beaucoup de bruit chez nous (des fois pour pas grand chose, particulièrement les tirets).

La PR upstream qui retire des tirets partout, pour exemple : https://github.com/python/cpython/pull/94551

travail accompli avec POEdit Pro+ ✌️

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#106
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 22:38:53 +00:00
deronnax f7e629f5eb faq/general.po: quelques fuzzies (#107)
encore quelquues fuzzies consensuelles qui ne prêtent pas à débat : du HTTPS, des tirets, des majuscules.

Une petite reformulation de mon cru, néanmoins :
"High-profile Python project": "Les projets Python à grande visibilité " -> "Les projets Python les plus connus".

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#107
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 22:37:41 +00:00
deronnax f35c0b14f9 library/index.po: 1 fuzzy (#110)
l'ordre de grandeure du nombre de paquets sur PyPI a été MaJ upstream

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#110
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 22:36:26 +00:00
deronnax 56671d24d3 using/windows.po: quelques fuzzies (#105)
les fuzzies défuzziées ont été vérifiées upstream. Et 2-3 nouvelles chaines dont la traduction était facile

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#105
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 15:17:20 +00:00
Julien Palard 0059f17b2f typo (#103)
Reviewed-on: AFPy/python-docs-fr#103
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-authored-by: Julien Palard <julien@palard.fr>
Co-committed-by: Julien Palard <julien@palard.fr>
2023-03-26 10:35:00 +00:00
deronnax 7fb3fc2ab3 faq/windows.po: fuzzies + manquantes (#97)
les fuzzies défuzzées non-modifiéese étaient des corrections de balises déjà corrigées downstream par nous

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#97
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 09:59:52 +00:00
deronnax b1cba7bb2b installing/index.po: 1 fuzzy (#100)
Une URL mise à jour upstream

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#100
Reviewed-by: jeanas <jean@abou-samra.fr>
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 09:58:23 +00:00
deronnax 554171c6b0 howto/regex.po: 1 fuzzy (#102)
la fuzzy était un changement de tiret en anglais qui n'existait pas en français

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#102
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-26 09:56:51 +00:00
deronnax cd05065b55 howto/logging.po: qq fuzzies (#99)
c'était majoritairement des corrections mineures upstream, des simples quotes rajoutées, 2-3 trucs déjà corrigés downstream par nous, et une correction de terme par moi ("argument nommés")

Co-authored-by: Mathieu Dupuy <deronnax@gmail.com>
Reviewed-on: AFPy/python-docs-fr#99
Co-authored-by: deronnax <deronnax@noreply.localhost>
Co-committed-by: deronnax <deronnax@noreply.localhost>
2023-03-25 20:30:45 +00:00
Christophe Nanteuil b6b4c7e394 revue de hashlib - fuzzies (#95)
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#95
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-03-23 11:08:08 +00:00
Christophe Nanteuil 0dba42c44d revue de library/functions.po (#96)
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#96
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-03-22 09:38:18 +00:00
Christophe Nanteuil b27e667e8d mise à jour des utilitaires de traduction 2023-03-20 10:01:59 +00:00
Christophe Nanteuil 25448932ff revue du glossaire - fuzzies 2023-03-20 10:00:56 +00:00
Julien Palard 6c6617b0ea
pospell 2023-03-20 09:45:42 +01:00
Christophe Nanteuil a830148cfc Topping (#92)
Un peu de *pospell*, de *powrap* et de *padpo*.

Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Reviewed-on: AFPy/python-docs-fr#92
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
2023-03-19 17:47:51 +00:00
Thevenel 21a0694bbe Worked on frame.po file (#61)
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#61
Co-authored-by: Thevenel <thevenel25@gmail.com>
Co-committed-by: Thevenel <thevenel25@gmail.com>
2023-03-19 17:47:13 +00:00
Thevenel fb964077fc updated the apiabiversion.po file (#60)
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#60
Co-authored-by: Thevenel <thevenel25@gmail.com>
Co-committed-by: Thevenel <thevenel25@gmail.com>
2023-03-19 17:44:20 +00:00
nicolas talabardon 88312851b0 asyncio-subprocess (#71)
J'ai avancé sur la traduction de la documentation de asyncio-subprocess.

Co-authored-by: nicolastala <contact@nicolastala.fr>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#71
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: nicolas talabardon <contact@nicolastala.fr>
Co-committed-by: nicolas talabardon <contact@nicolastala.fr>
2023-03-19 13:47:27 +00:00
Julien Palard c5cb1d9e65
potodo: Hello again. 2023-03-19 10:01:48 +01:00
Synss 8b33e6ad03 Complète la traduction de library/argparse (#88)
Closes #66

Co-authored-by: Mathias Laurin <Mathias.Laurin+github.com@gmail.com>
Reviewed-on: AFPy/python-docs-fr#88
Co-authored-by: Synss <mathias.laurin+afpy.org@gmail.com>
Co-committed-by: Synss <mathias.laurin+afpy.org@gmail.com>
2023-03-05 13:29:25 +00:00
nicolas talabardon 30cedb7566 Complétion de pathlib.po closes issue #83 (#87)
Co-authored-by: nicolastala <contact@nicolastala.fr>
Reviewed-on: AFPy/python-docs-fr#87
Co-authored-by: nicolas talabardon <contact@nicolastala.fr>
Co-committed-by: nicolas talabardon <contact@nicolastala.fr>
2023-02-23 13:21:24 +00:00
Thevenel 769f0ec9e7 Worked on function.po (#43)
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#43
Co-authored-by: Thevenel <thevenel25@gmail.com>
Co-committed-by: Thevenel <thevenel25@gmail.com>
2023-02-20 12:13:02 +00:00
vstinner 70a38f9719 Début de traduction de c-api/unicode.po (#69)
Ajoute "code points" au dictionnaire EN-FR.

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#69
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: vstinner <victor.stinner@gmail.com>
Co-committed-by: vstinner <victor.stinner@gmail.com>
2023-02-20 11:49:30 +00:00
finevine e386f1926f Traductions manquantes de library/time
closes #44

Co-authored-by: finevine <finevine@gmail.com>
Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#59
Co-authored-by: finevine <finevine@noreply.localhost>
Co-committed-by: finevine <finevine@noreply.localhost>
2023-02-20 11:35:27 +00:00
Julien Palard eef2c04e9e
FIX: Bad link. 2023-02-19 16:39:18 +01:00
zoe 4cb6264f88 ajout d'une explication pour git config (#62)
Une ligne dans CONTRIBUTING.rst pour indiquer de changer de répertoire avant de lancer git config.

Co-authored-by: Zoe Drey <zoe.drey@sinch.com>
Reviewed-on: AFPy/python-docs-fr#62
Co-authored-by: zoe <zoe.drey@mailo.com>
Co-committed-by: zoe <zoe.drey@mailo.com>
2023-02-19 02:36:34 +00:00
mounasb 4ac1f07021 update translation (#82)
[library/csv.po](AFPy/python-docs-fr#64)
[library/re.po](AFPy/python-docs-fr#65)
[whatsnew/3.11.po](AFPy/python-docs-fr#74)

Reviewed-on: AFPy/python-docs-fr#82
Co-authored-by: mounasb <mounasb@proton.me>
Co-committed-by: mounasb <mounasb@proton.me>
2023-02-19 02:35:28 +00:00
Rémi Lapeyre a57e01d8e0 Add initial translation of c-api/refcounting (#70)
Co-authored-by: Rémi Lapeyre <remi.lapeyre@lenstra.fr>
Reviewed-on: AFPy/python-docs-fr#70
Co-authored-by: remil <remi@lenstra.fr>
Co-committed-by: remil <remi@lenstra.fr>
2023-02-19 02:33:51 +00:00
nicolas talabardon 74549be6bc Petite confusion corrigée. (#77)
Erreur détectée par hasard... Je suis davantage sûr de moi sur ce coup-là ;-).

Co-authored-by: nicolastala <contact@nicolastala.fr>
Reviewed-on: AFPy/python-docs-fr#77
Co-authored-by: nicolas talabardon <contact@nicolastala.fr>
Co-committed-by: nicolas talabardon <contact@nicolastala.fr>
2023-02-18 14:30:02 +00:00
nicolas talabardon cb9d346d5f Petites erreurs grammaticales (#78)
défini -> définit quand définir est le verbe, conjugué à la troisième personne de l'indicatif présent.

Co-authored-by: nicolastala <contact@nicolastala.fr>
Reviewed-on: AFPy/python-docs-fr#78
Co-authored-by: nicolas talabardon <contact@nicolastala.fr>
Co-committed-by: nicolas talabardon <contact@nicolastala.fr>
2023-02-17 17:28:28 +00:00
finevine c2c85f28c0 FIRST sqlite3 commit closes #80 (#81)
Co-authored-by: finevine <finevine@gmail.com>
Reviewed-on: AFPy/python-docs-fr#81
Co-authored-by: finevine <finevine@noreply.localhost>
Co-committed-by: finevine <finevine@noreply.localhost>
2023-02-17 17:27:17 +00:00
NicolasGibaud 92e43cb2cb library-typing (#84)
Closes #49

Co-authored-by: Zoe Drey <zoe.drey@sinch.com>
Co-authored-by: Nicolas <nicolas.gibaud7@gmail.com>
Reviewed-on: AFPy/python-docs-fr#84
Co-authored-by: NicolasGibaud <nicolas.gibaud7@gmail.com>
Co-committed-by: NicolasGibaud <nicolas.gibaud7@gmail.com>
2023-02-17 16:53:03 +00:00
Rémi Lapeyre fa5ab2955f Add initial translation for c-api/stable.po (#85)
Co-authored-by: Rémi Lapeyre <remi.lapeyre@lenstra.fr>
Reviewed-on: AFPy/python-docs-fr#85
Co-authored-by: remil <remi@lenstra.fr>
Co-committed-by: remil <remi@lenstra.fr>
2023-02-17 16:46:19 +00:00
finevine 4232990623 feature/library-itertools closes #63 (#68)
Co-authored-by: finevine <finevine@gmail.com>
Reviewed-on: AFPy/python-docs-fr#68
Co-authored-by: finevine <finevine@noreply.localhost>
Co-committed-by: finevine <finevine@noreply.localhost>
2023-02-17 16:41:17 +00:00
finevine f20eb52ad6 Translate fuzzy close #38 (#46)
Co-authored-by: finevine <finevine@gmail.com>
Co-authored-by: Vinz <finevine@gmail.com>
Reviewed-on: AFPy/python-docs-fr#46
Co-authored-by: finevine <finevine@noreply.localhost>
Co-committed-by: finevine <finevine@noreply.localhost>
2023-02-17 16:39:19 +00:00
Iucounu 2d33759ac3 fuzzy extending/embedding.po closes #56 (#57)
closes issue #56

Co-authored-by: Iucounu <iucounu@riseup.net>
Reviewed-on: AFPy/python-docs-fr#57
Co-authored-by: Iucounu <iucounu@noreply.localhost>
Co-committed-by: Iucounu <iucounu@noreply.localhost>
2023-02-17 15:54:43 +00:00
Iucounu 5ef8287742 make fuzzy closes #54 (#55)
Co-authored-by: Iucounu <iucounu@riseup.net>
Reviewed-on: AFPy/python-docs-fr#55
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Iucounu <iucounu@noreply.localhost>
Co-committed-by: Iucounu <iucounu@noreply.localhost>
2023-02-17 15:53:58 +00:00
CedricM 5209ba6855 traduction de howto/annotations.po (#58)
closes #47

Co-authored-by: cedricm <c.morgantini@free.fr>
Reviewed-on: AFPy/python-docs-fr#58
Co-authored-by: CedricM <c.morgantini@free.fr>
Co-committed-by: CedricM <c.morgantini@free.fr>
2023-02-17 13:41:19 +00:00
Vincent Poulailleau 9a60e67cd0 Passage à gitea (#51)
Closes #41

C'est ma première PR sur Gitea, j'ai donc essayé de décrire le nouveau process. N'hésitez pas à commenter…

Co-authored-by: Julien Palard <julien@palard.fr>
Reviewed-on: AFPy/python-docs-fr#51
Co-authored-by: Vincent Poulailleau <vpoulailleau@gmail.com>
Co-committed-by: Vincent Poulailleau <vpoulailleau@gmail.com>
2023-02-16 15:07:53 +00:00
Iucounu a2721271ef Drop duplicate requirement (#53)
close #50

Co-authored-by: Iucounu <iucounu@riseup.net>
Reviewed-on: AFPy/python-docs-fr#53
Co-authored-by: Iucounu <iucounu@noreply.localhost>
Co-committed-by: Iucounu <iucounu@noreply.localhost>
2023-02-16 15:02:37 +00:00
Alan Zirek fda2a021bd fix fuzzy closes #39 (#42)
Co-authored-by: alan <alanzirek@gmail.com>
Reviewed-on: AFPy/python-docs-fr#42
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Alan Zirek <alanzirek@gmail.com>
Co-committed-by: Alan Zirek <alanzirek@gmail.com>
2023-02-16 12:00:16 +00:00
Julien Palard d7149ee267
potodo: Work offline (it only know to query github for the moment) 2023-02-16 12:58:37 +01:00
231 changed files with 13210 additions and 11401 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@ venv/
.potodo/
locales/
.venv/
.envrc

105
.scripts/check-colon.py Normal file
View File

@ -0,0 +1,105 @@
#!/usr/bin/env python
"""Check consistency of colons at the end of entries.
It returns 0 if nothing was done, 1 if files were modified.
"""
import sys
import pathlib
import polib
def colon_is_visible(msg):
if msg.endswith(": ::"):
return True
if msg.endswith(" ::"):
return False
if msg.endswith("::"):
return True
raise ValueError("Don't know if msg ends with a visible or an invisible colon.")
def fix_double_colon(filename, entry, check, verbose):
fixed = entry.msgstr.rstrip(": \u202f\u00A0")
if colon_is_visible(entry.msgid):
fixed += "\u00A0::"
message = r"Expected translation to end with: '\u00A0::'"
else:
fixed += " ::"
message = "Expected translation to end with: ' ::'"
if entry.msgstr != fixed:
if check:
print(f"{filename}:{entry.linenum}: {message}")
if verbose:
print(entry)
else:
entry.msgstr = fixed
return True
return False
def fix_simple_colon(filename, entry, check, verbose):
fixed = entry.msgstr.rstrip(": \u202f\u00A0")
fixed += "\u00A0:"
if entry.msgstr != fixed:
if check:
print(
rf"{filename}:{entry.linenum}: Expected translation to end with: '\u00A0:'"
)
if verbose:
print(entry)
else:
entry.msgstr = fixed
return True
return False
def check(filename, check, verbose):
try:
pofile = polib.pofile(filename)
except OSError:
print(f"{filename} doesn't seem to be a .po file", file=sys.stderr)
return True
has_errors = False
for entry in pofile:
if not entry.msgstr:
continue # No need to check untranslated entries.
if entry.msgid.endswith("::"):
has_errors |= fix_double_colon(filename, entry, check, verbose)
elif entry.msgid.endswith(":"):
has_errors |= fix_simple_colon(filename, entry, check, verbose)
if not check and has_errors:
pofile.save()
return has_errors
def parse_args():
import argparse
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
"--check",
action="store_true",
default=False,
help="only display suspected entries, do not fix.",
)
parser.add_argument(
"--verbose",
action="store_true",
default=False,
help="display whole entry",
)
parser.add_argument("path", nargs="*")
return parser.parse_args()
def main():
has_errors = False
args = parse_args()
for filename in args.path:
has_errors |= check(filename, args.check, args.verbose)
sys.exit(has_errors)
if __name__ == "__main__":
main()

23
.scripts/check-headers.sh Normal file
View File

@ -0,0 +1,23 @@
#!/bin/sh
if [ -z "$*" ]
then
exit 0
fi
grep -L '^# Copyright (C) [0-9-]*, Python Software Foundation' $* | while read -r file
do
echo "Please update the po comment in $file"
done
grep -L '^"Project-Id-Version: Python 3\\n"$' $* | while read -r file
do
echo "Please update the 'Project-Id-Version' header in $file"
done
grep -L '^"Language: fr\\n"$' $* | while read -r file
do
echo "Please update the 'Language' header in $file"
done
grep -L '^"Language-Team: FRENCH <traductions@lists.afpy.org>\\n"' $* | while read -r file
do
echo "Please update the 'Language-Team' header in $file"
done

66
.scripts/fuzzy_diff Executable file
View File

@ -0,0 +1,66 @@
#!/bin/sh
_usage() {
echo "Usage: $0 [-n] PO_FILE"
echo "Ease the correction of fuzzies inserted by merge commits"
echo
echo "-n, --no-edit do not launch po editor"
exit
}
LAUNCH_EDIT=1
if [ $# -eq 2 ]; then
if [ "$1" -eq "-n" ] || [ "$1" -eq "--no-edit" ]; then
LAUNCH_EDIT=0
else
_usage
fi
shift
fi
if [ $# -ne 1 ]; then
_usage
fi
if [ ! -f "$1" ]; then
echo "$1: file not found"
_usage
fi
# Temp directory to filter files before display
TMP_DIR=$(mktemp -d /tmp/fuzzy_diff.XXXXXX || exit 1)
trap 'rm --force --recursive "${TMP_DIR}"' EXIT
PO_EDITOR=poedit
DIFFTOOL=$(which $(git config diff.tool))
if [ ! -x "$DIFFTOOL" ]; then
echo "git diff.tool seems not configured"
_usage
fi
PO_FILE=$1
# search for revs where fuzzy was added or suppressed
# and filter where commit message contains 'merge'
FUZZY_REVS=$(git log --oneline -S '#, fuzzy' ${PO_FILE} | \
grep -i 'merge' | \
awk '{ print $1 }')
if [ ${LAUNCH_EDIT} -eq 1 ]; then
${PO_EDITOR} "${PO_FILE}" 2>/dev/null &
fi
for sha in ${FUZZY_REVS} ; do
# filter files à la mode textconv
git show ${sha}:${PO_FILE} | grep -v -e '^#:' -e '^"PO' > ${TMP_DIR}/right.po
git show ${sha}^:${PO_FILE} | grep -v -e '^#:' -e '^"PO' > ${TMP_DIR}/left.po
"${DIFFTOOL}" ${TMP_DIR}/left.po ${TMP_DIR}/right.po
done
# clean up temp directory
rm --force --recursive "${TMP_DIR}"
trap - EXIT

38
.scripts/line-length.py Normal file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env python
"""Measure line length in given files, run as:
python line-length.py *.po
It does not count zero-width caracters from the Mn Unicode category
(Nonspacing Mark).
It returns 0 on success, 1 on failure.
"""
from unicodedata import category
import fileinput
import sys
SOFT_LIMIT = 80 # used for splitables lines (with spaces in them)
HARD_LIMIT = 88 # used for non-splitables lines (without spaces in them)
def clean(line):
return "".join(char for char in line if category(char) != "Mn").rstrip("\n")
return_code = 0
for line in fileinput.input(encoding="utf-8"):
line = clean(line)
limit = SOFT_LIMIT if line.count(" ") > 1 else HARD_LIMIT
if len(line) > limit:
print(
f"{fileinput.filename()}:{fileinput.filelineno()} line too long "
f"({len(line)} > {limit} characters)",
file=sys.stderr,
)
return_code = 1
sys.exit(return_code)

13
.woodpecker.yml Normal file
View File

@ -0,0 +1,13 @@
---
pipeline:
test:
image: python
commands:
- apt-get update
- apt-get install -y hunspell hunspell-fr-comprehensive
- python3 -m pip install -r requirements.txt
- BRANCH="$(grep ^BRANCH Makefile | awk '{print $3}')"
- git fetch origin --no-tags +refs/heads/$BRANCH
- 'git branch $BRANCH origin/$BRANCH ||:'
- make verifs

View File

@ -1,5 +1,5 @@
Guide de contribution à la documentation via GitHub
###################################################
Guide de contribution à la documentation
########################################
Prérequis
=========
@ -104,6 +104,10 @@ ce qui suit après vous être assuré que ``~/.local/bin/`` se trouve dans votre
chmod a+x ~/.local/bin/podiff
Allez ensuite dans le répertoire du dépôt récupéré (``python-docs-fr``) et faites :
.. code-block:: bash
git config diff.podiff.textconv podiff
@ -192,7 +196,7 @@ Vous pouvez commencer par des tâches faciles comme réviser les entrées
de ``make fuzzy``). Une entrée *fuzzy* correspond à une entrée déjà traduite
mais dont la source en anglais a été modifiée depuis (correction orthographique,
changement d'un terme, ajout ou suppression d'une phrase…). Elles sont
généralement plus « faciles » à traduire.
généralement plus « faciles » à traduire.
Vous pouvez également relire des entrées déjà traduites pour vous faire une
idée, et passer ensuite à la traduction de celles qui ne le sont pas encore.
@ -215,12 +219,12 @@ Réserver le fichier
Une fois que vous avez choisi un fichier sur lequel travailler vous pouvez nous
le signaler par différents moyens :
* Soit en ouvrant un `ticket sur Github <https://github.com/python/python-docs-fr/issues>`_
* Soit en ouvrant un `ticket sur Gitea <https://git.afpy.org/AFPy/python-docs-fr/issues>`_
en indiquant dans le titre ``Je travaille sur DOSSIER/FICHIER.po``
(par exemple « Je travaille sur library/sys.po »).
Ceci permet à `potodo`_ de détecter via l'API Github les fichiers ``.po`` réservés
dans les tickets et les *pull requests*.
Ceci permet à `potodo`_ de détecter via l'API Gitea les fichiers ``.po`` réservés
dans les tickets et les demandes d'ajout.
* Soit en créant un sujet sur le
`discuss de l'AFPy <https://discuss.afpy.org/>`_ dans la section Traduction
@ -252,7 +256,7 @@ fichier sur lequel on travaille. Par exemple, si vous travaillez sur
.. code-block:: bash
git checkout -b library-sys upstream/3.11
git switch -c library-sys upstream/3.11
@ -300,7 +304,7 @@ compilation ne devrait pas échouer.
make
Vérifiez alors le rendu de la traduction « en vrai ». Lancez un serveur de
Vérifiez alors le rendu de la traduction « en vrai ». Lancez un serveur de
documentation local :
.. code-block:: bash
@ -317,14 +321,14 @@ Vous pouvez recommencer les étapes de cette section autant de fois que
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 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``.
Quatrième étape : publier sa traduction
=======================================
Une fois que le *make verifs* ne lève pas d'erreur et que vous êtes certains de bien respecter les
Une fois que le ``make verifs`` ne lève pas d'erreur et que vous êtes certains de bien respecter les
`Conventions`_ de traduction, vient le moment d'envoyer votre travail sur le dépôt local.
* ``git add`` place nos modifications dans l'index de Git en attendant
@ -343,34 +347,35 @@ Une fois que le *make verifs* ne lève pas d'erreur et que vous êtes certains d
Poussez ensuite vos modifications sur votre *fork* avec ``git push``.
Poussez ensuite vos modifications sur votre bifurcation (*fork*) avec ``git push``.
Le ``-u`` n'est utile qu'une fois pour que votre client git se souvienne que cette
branche est liée à votre *fork* (et donc que vos futurs ``git pull`` et
branche est liée à votre bifurcation (et donc que vos futurs ``git pull`` et
``git push`` sachent quoi tirer).
.. code-block:: bash
git push --set-upstream origin
Sur Github
----------
Sur Gitea
---------
La commande précédente vous affiche un lien pour ouvrir une *pull request* sur
Github. Si vous l'avez manqué, allez simplement sur https://github.com/python/python-docs-fr/pulls
et un joli bouton « Compare & pull request » devrait apparaître au bout de
quelques secondes vous indiquant que vous pouvez demander une *pull request*.
La commande précédente vous affiche un lien pour ouvrir une demande d'ajout sur
Gitea. Si vous l'avez manqué, allez simplement sur
https://git.afpy.org/AFPy/python-docs-fr/pulls et cliquez
sur le bouton « Nouvelle demande d'ajout ».
Mettez dans le commentaire de la *pull request* le texte suivant :
« Closes #XXXX » où XXXX est le numéro du ticket GitHub créé pour réserver le fichier traduit.
Cela permet à Github de lier la *pull request* au ticket de réservation.
Mettez dans le commentaire de la demande d'ajout le texte suivant :
« Closes #XXXX » où XXXX est le numéro du ticket Gitea créé pour réserver le
fichier traduit. Cela permet à Gitea de lier la demande d'ajout au ticket de
réservation.
Il peut arriver que vous ayez besoin de reprendre votre PR sur votre
ordinateur après avoir fait des modifications en ligne sur GitHub,
par exemple lorsque GitHub vous offre la possibilité de faire un commit
Il peut arriver que vous ayez besoin de reprendre votre demande d'ajout sur votre
ordinateur après avoir fait des modifications en ligne sur Gitea,
par exemple lorsque Gitea vous offre la possibilité de faire un commit
automatique contenant les suggestions proposées pendant la revue.
Cela fonctionne bien, mais le résultat n'est pas toujours accepté par
``powrap``. Si cela arrive, vous pouvez récupérer le commit fait par
GitHub puis relancer ``powrap`` :
Gitea puis relancer ``powrap`` :
.. code-block:: bash
@ -380,50 +385,16 @@ GitHub puis relancer ``powrap`` :
git commit -m "Formatage après commit automatique"
git push
Sur une autre forge
-------------------
Quand vous avez poussé vos modifications, il y a plusieurs possibilités.
Soit vous signalez via le `discuss de l'AFPy <https://discuss.afpy.org/>`_ ou sur IRC que
vous avez traduit une section. Nous viendrons récupérer les modifications pour les intégrer
sur Github.
Soit en créant un *`bundle <https://git-scm.com/book/fr/v2/Utilitaires-Git-Empaquetage-bundling>`_* Git,
pour cela, il faut créer un fichier contenant les différentes modifications effectuées.
.. code-block:: bash
git bundle create <name>.bundle <commit_id1>..<commit_id2>
Puis nous partager ce *bundle* sur le `discuss de l'AFPy <https://discuss.afpy.org/>`_ pour pouvoir l'intégrer.
À partir de là, quelqu'un passera en revue vos modifications, et vous fera des
suggestions et corrections. Pour les prendre en compte, retournez sur votre branche
contenant le fichier concerné (au cas où vous auriez commencé quelque chose d'autre
sur une autre branche) :
.. code-block:: bash
git checkout library-sys
git pull # pour rapatrier les modifications que vous auriez acceptées
# sur l'interface web.
# Réglez les problèmes, puis commitez à nouveau :
git commit --all --message "prise en compte des remarques"
git push
Vous avez peut-être remarqué que cela ressemble à un triangle, avec un
segment manquant :
segment manquant :
- vous récupérez depuis *upstream* (le dépôt commun public sur Github) ;
- vous poussez sur *origin* (votre clone sur Github).
- vous récupérez depuis *upstream* (le dépôt commun public sur Gitea) ;
- vous poussez sur *origin* (votre clone sur Gitea).
C'est le travail de quelqu'un d'autre d'ajouter le dernier segment,
de votre *origin* au *upstream* public, pour « boucler la boucle ». C'est le
rôle des personnes qui *fusionnent* les *pull requests* après les avoir relues.
rôle des personnes qui fusionnent les demandes d'ajout après les avoir relues.
Vous avez peut-être aussi remarqué que vous n'avez jamais commité sur une
branche de version (3.9, 3.10, etc.), seulement récupéré les
@ -547,8 +518,8 @@ Balises
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>` ``.
La syntaxe est ``:term:`nom_français <nom_anglais>```. Par exemple, traduisez
``: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.
@ -585,6 +556,7 @@ bytecode code intermédiaire
callback fonction de rappel
call stack pile d'appels
caught (exception) interceptée
code points points de code
daemon *daemon*
debugging débogage
deep copy copie récursive (préféré), ou copie profonde
@ -842,7 +814,7 @@ 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*)
- Suivez le guide `plus haut <cloner_>`_ pour faire une bifurcation (*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

View File

@ -20,7 +20,7 @@
# from which we generated our po files. We use it here so when we
# test build, we're building with the .rst files that generated our
# .po files.
CPYTHON_CURRENT_COMMIT := 1b736838e6ae1b4ef42cdd27c2708face908f92c
CPYTHON_CURRENT_COMMIT := 2e0ead5f22bb7699d70f1dfb6d1eadff124f2688
LANGUAGE := fr
BRANCH := 3.11
@ -85,7 +85,7 @@ else
endif
.PHONY: all
all: ensure_prerequisites
all: ensure_build_prerequisites
git -C venv/cpython checkout $(CPYTHON_CURRENT_COMMIT) || (git -C venv/cpython fetch && git -C venv/cpython checkout $(CPYTHON_CURRENT_COMMIT))
mkdir -p locales/$(LANGUAGE)/LC_MESSAGES/
$(CP_CMD) -u --parents *.po */*.po locales/$(LANGUAGE)/LC_MESSAGES/
@ -108,13 +108,28 @@ venv/cpython/.git/HEAD:
git clone https://github.com/python/cpython venv/cpython
.PHONY: ensure_prerequisites
ensure_prerequisites: venv/cpython/.git/HEAD
.PHONY: ensure_test_prerequisites
ensure_test_prerequisites:
@if ! (hunspell -v >/dev/null 2>&1); then \
echo "You're missing dependencies please install: hunspell and the fr-toutesvariantes dictionary."; \
echo "The dictionary is available here http://grammalecte.net:8080/dir?ci=tip&name=gc_lang/fr/oxt/Dictionnaires/dictionaries"; \
echo "and also included in the hunspell-fr-comprehensive Debian package."; \
exit 1; \
fi
@if ! (pospell --help >/dev/null 2>&1 && potodo --help >/dev/null 2>&1); then \
echo "You're missing dependencies please install:"; \
echo ""; \
echo " python -m pip install -r requirements.txt"; \
exit 1; \
fi
.PHONY: ensure_build_prerequisites
ensure_build_prerequisites: venv/cpython/.git/HEAD
@if ! (blurb help >/dev/null 2>&1 && sphinx-build --version >/dev/null 2>&1); then \
git -C venv/cpython/ checkout $(BRANCH); \
echo "You're missing dependencies please install:"; \
echo ""; \
echo " python -m pip install -r requirements.txt -r venv/cpython/Doc/requirements.txt"; \
echo " python -m pip install -r venv/cpython/Doc/requirements.txt"; \
exit 1; \
fi
@ -123,11 +138,11 @@ htmlview: MODE=htmlview
htmlview: all
.PHONY: todo
todo: ensure_prerequisites
potodo --exclude venv .venv $(EXCLUDED)
todo: ensure_test_prerequisites
potodo --api-url 'https://git.afpy.org/api/v1/repos/AFPy/python-docs-fr/issues?state=open&type=issues' --exclude venv .venv $(EXCLUDED)
.PHONY: wrap
wrap: ensure_prerequisites
wrap: ensure_test_prerequisites
@echo "Re wrapping modified files"
powrap -m
@ -136,17 +151,17 @@ SRCS = $(shell git diff --name-only $(BRANCH) | grep '.po$$')
DESTS = $(addprefix $(POSPELL_TMP_DIR)/,$(addsuffix .out,$(SRCS)))
.PHONY: spell
spell: ensure_prerequisites $(DESTS)
spell: ensure_test_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
@echo Checking line length...
@if [ -n "$(SRCS)" ]; then python .scripts/line-length.py $(SRCS); fi
.PHONY: sphinx-lint
sphinx-lint:
@echo "Checking all files using sphinx-lint..."
@sphinx-lint --enable all --disable line-too-long *.po */*.po
sphinx-lint: ensure_test_prerequisites
@echo Checking reStructuredText syntax...
@if [ -n "$(SRCS)" ]; then sphinx-lint --enable all --disable line-too-long $(SRCS); fi
$(POSPELL_TMP_DIR)/%.po.out: %.po dict
@echo "Pospell checking $<..."
@ -154,30 +169,21 @@ $(POSPELL_TMP_DIR)/%.po.out: %.po dict
pospell -p dict -l fr_FR $< && touch $@
.PHONY: fuzzy
fuzzy: ensure_prerequisites
potodo -f --exclude venv .venv $(EXCLUDED)
fuzzy: ensure_test_prerequisites
potodo --only-fuzzy --api-url 'https://git.afpy.org/api/v1/repos/AFPy/python-docs-fr/issues?state=open&type=issues' --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
@echo Checking po headers...
@sh .scripts/check-headers.sh $(SRCS)
.PHONY: check-colons
check-colons:
@echo Checking colons...
@python .scripts/check-colon.py --check $(SRCS)
.PHONY: verifs
verifs: spell line-length sphinx-lint check-headers
verifs: spell line-length check-headers check-colons sphinx-lint
.PHONY: clean
clean:

View File

@ -61,7 +61,7 @@ vous signifiez votre acceptation de cet accord.
Historique du projet
--------------------
- vers 2000 : `lancement du projet <https://julienpalard.frama.io/write-the-docs-paris-19/#/2>`_ ;
- vers 2000 : lancement du projet ;
- vers 2012 : `reprise <https://github.com/AFPy/python_doc_fr>`_ par l'`AFPy <https://www.afpy.org/>`_ ;
- 2016 : 15 % de la documentation traduite ;
- 2017 : le projet devient traduction officielle de la documentation Python par la `PEP 545 <https://www.python.org/dev/peps/pep-0545/>`_ ;

View File

@ -6,13 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-07-08 17:54+0200\n"
"PO-Revision-Date: 2023-02-16 12:02+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.2\n"
#: about.rst:3
msgid "About these documents"
@ -41,7 +42,7 @@ msgstr ""
#: about.rst:20
msgid "Many thanks go to:"
msgstr "Merci beaucoup à :"
msgstr "Merci beaucoup à :"
#: about.rst:22
msgid ""
@ -52,12 +53,11 @@ msgstr ""
"et rédacteur de la plupart de son contenu ;"
#: about.rst:24
#, fuzzy
msgid ""
"the `Docutils <https://docutils.sourceforge.io/>`_ project for creating "
"reStructuredText and the Docutils suite;"
msgstr ""
"le projet `Docutils <http://docutils.sourceforge.net/>`_ pour avoir créé "
"le projet `Docutils <https://docutils.sourceforge.io/>`_ pour avoir créé "
"*reStructuredText* et la suite d'outils *Docutils* ;"
#: about.rst:26

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2022-12-11 17:39+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -192,9 +192,10 @@ msgid "The submission form has two fields, \"Title\" and \"Comment\"."
msgstr "Le formulaire de rapport contient deux champs, *Title* et *Comment*."
#: bugs.rst:72
#, fuzzy
msgid ""
"For the \"Title\" field, enter a *very* short description of the problem; "
"less than ten words is good."
"fewer than ten words is good."
msgstr ""
"Dans le champ *Title*, entrez une *très* brève description du problème "
"rencontré ; tâchez de vous limiter à dix mots."

View File

@ -6,7 +6,7 @@ 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: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2023-03-19 18:43+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -24,63 +24,56 @@ msgid ""
"correspond to the version code is **built** with, not necessarily the "
"version used at **run time**."
msgstr ""
"CPython révèle son numéro de version dans les macros suivantes. À noter "
"qu'ils correspondent au code de la version **compilée** avec, pas "
"nécessairement la version utilisée à l'**exécution**."
#: c-api/apiabiversion.rst:13
msgid ""
"See :ref:`stable` for a discussion of API and ABI stability across versions."
msgstr ""
"Voir :ref:`stable` pour une discussion sur la stabilité des API et ABI entre "
"(ou en fonction) de la version."
#: c-api/apiabiversion.rst:17
#, fuzzy
msgid "The ``3`` in ``3.4.1a2``."
msgstr "``PY_MAJOR_VERSION`` (le ``3`` dans ``3.4.1a2``)"
msgstr "Le ``3`` dans ``3.4.1a2``.)"
#: c-api/apiabiversion.rst:21
#, fuzzy
msgid "The ``4`` in ``3.4.1a2``."
msgstr "``PY_MINOR_VERSION`` (le ``4`` dans ``3.4.1a2``)"
msgstr "Le ``4`` dans ``3.4.1a2``."
#: c-api/apiabiversion.rst:25
#, fuzzy
msgid "The ``1`` in ``3.4.1a2``."
msgstr "``PY_MICRO_VERSION`` (le ``1`` dans ``3.4.1a2``)"
msgstr "Le ``1`` dans ``3.4.1a2``.)"
#: c-api/apiabiversion.rst:29
#, fuzzy
msgid ""
"The ``a`` in ``3.4.1a2``. This can be ``0xA`` for alpha, ``0xB`` for beta, "
"``0xC`` for release candidate or ``0xF`` for final."
msgstr ""
"``PY_RELEASE_LEVEL`` (``0xA`` pour alpha, ``0xB`` pour bêta, ``0xC`` pour "
"une version candidate et ``0xF`` pour final), dans ce cas c'est alpha."
" Le ``a`` dans ``3.4.1a2``. Cela peut être ``0xA`` pour alpha, ``0xB`` pour "
"bêta, ``0xC`` pour une version candidate ou ``0xF`` pour finale)."
#: c-api/apiabiversion.rst:35
#, fuzzy
msgid "The ``2`` in ``3.4.1a2``. Zero for final releases."
msgstr ""
"``PY_RELEASE_SERIAL`` (le ``2`` au ``3.4.1a2``, zéro pour des versions "
"finales)"
msgstr "Le ``2`` dans ``3.4.1a2``. Nul pour des versions finales."
#: c-api/apiabiversion.rst:39
#, fuzzy
msgid "The Python version number encoded in a single integer."
msgstr ""
"``PY_VERSION_HEX`` est le numéro de version de Python encodé en un seul "
"entier."
msgstr "Le numéro de version de Python encodé en un seul entier."
#: c-api/apiabiversion.rst:41
#, fuzzy
msgid ""
"The underlying version information can be found by treating it as a 32 bit "
"number in the following manner:"
msgstr ""
"Par exemple si le ``PY_VERSION_HEX` est défini à ``0x030401a2``, la "
"version d'information sous-jacente peut être trouvée en la traitant comme un "
"nombre sous 32 bits de la manière suivante:"
"L'information sur la version sous-jacente peut être trouvée en la traitant "
"comme un nombre sous 32 bits de la manière suivante :"
#: c-api/apiabiversion.rst:45
msgid "Bytes"
msgstr "Bytes"
msgstr "Octets"
#: c-api/apiabiversion.rst:45
msgid "Bits (big endian order)"
@ -92,103 +85,102 @@ msgstr "Signification"
#: c-api/apiabiversion.rst:45
msgid "Value for ``3.4.1a2``"
msgstr ""
msgstr "Valeur pour ``3.4.1a2``"
#: c-api/apiabiversion.rst:47
msgid "1"
msgstr ""
msgstr "1"
#: c-api/apiabiversion.rst:47
#, fuzzy
msgid "1-8"
msgstr "``1-8``"
msgstr "1-8"
#: c-api/apiabiversion.rst:47
msgid "``PY_MAJOR_VERSION``"
msgstr ""
msgstr "``PY_MAJOR_VERSION``"
#: c-api/apiabiversion.rst:47
msgid "``0x03``"
msgstr ""
msgstr "``0x03``"
#: c-api/apiabiversion.rst:49
msgid "2"
msgstr ""
msgstr "2"
#: c-api/apiabiversion.rst:49
#, fuzzy
msgid "9-16"
msgstr "``9-16``"
msgstr "9-16"
#: c-api/apiabiversion.rst:49
msgid "``PY_MINOR_VERSION``"
msgstr ""
msgstr "``PY_MINOR_VERSION``"
#: c-api/apiabiversion.rst:49
msgid "``0x04``"
msgstr ""
msgstr "``0x04``"
#: c-api/apiabiversion.rst:51
msgid "3"
msgstr ""
msgstr "3"
#: c-api/apiabiversion.rst:51
#, fuzzy
msgid "17-24"
msgstr "``17-24``"
msgstr "17-24"
#: c-api/apiabiversion.rst:51
msgid "``PY_MICRO_VERSION``"
msgstr ""
msgstr "``PY_MICRO_VERSION``"
#: c-api/apiabiversion.rst:51
msgid "``0x01``"
msgstr ""
msgstr "``0x01``"
#: c-api/apiabiversion.rst:53
msgid "4"
msgstr ""
msgstr "4"
#: c-api/apiabiversion.rst:53
#, fuzzy
msgid "25-28"
msgstr "``25-28``"
msgstr "25-28"
#: c-api/apiabiversion.rst:53
msgid "``PY_RELEASE_LEVEL``"
msgstr ""
msgstr "``PY_RELEASE_LEVEL``"
#: c-api/apiabiversion.rst:53
msgid "``0xA``"
msgstr ""
msgstr "``0xA``"
#: c-api/apiabiversion.rst:55
#, fuzzy
msgid "29-32"
msgstr "``29-32``"
msgstr "29-32"
#: c-api/apiabiversion.rst:55
msgid "``PY_RELEASE_SERIAL``"
msgstr ""
msgstr "``PY_RELEASE_SERIAL``"
#: c-api/apiabiversion.rst:55
msgid "``0x2``"
msgstr ""
msgstr "``0x2``"
#: c-api/apiabiversion.rst:58
#, fuzzy
msgid ""
"Thus ``3.4.1a2`` is hexversion ``0x030401a2`` and ``3.10.0`` is hexversion "
"``0x030a00f0``."
msgstr "Ainsi ``3.4.1a2`` est une hexane-version ``0x030401a2``."
msgstr ""
"Ainsi, ``0x030401a2`` est la version en notation hexadécimale sur un entier "
"de ``3.4.1a2`` et ``0x030a00f0`` est la version en notation hexadécimale sur "
"un entier de ``3.10.0``"
#: c-api/apiabiversion.rst:61
msgid "Use this for numeric comparisons, e.g. ``#if PY_VERSION_HEX >= ...``."
msgstr ""
"Vous pouvez l'utiliser pour les comparaisons numériques, par exemple, ``#if "
"PY_VERSION_HEX >= ...``."
#: c-api/apiabiversion.rst:63
msgid "This version is also available via the symbol :data:`Py_Version`."
msgstr ""
msgstr "Cette version est aussi disponible via le symbole :data:`Py_Version`."
#: c-api/apiabiversion.rst:67
msgid ""
@ -196,6 +188,9 @@ msgid ""
"the same format as the :c:macro:`PY_VERSION_HEX` macro. This contains the "
"Python version used at run time."
msgstr ""
"La version à l'exécution de Python est encodée en une constante, avec le "
"même format que la macro :c:macro:`PY_VERSION_HEX`. Cela contient la version "
"de Python utilisée lors de l'exécution."
#: c-api/apiabiversion.rst:73
msgid "All the given macros are defined in :source:`Include/patchlevel.h`."

View File

@ -537,7 +537,7 @@ msgstr ""
#: c-api/arg.rst:245
msgid "There are two modes of operation:"
msgstr "Il existe deux modes de fonctionnement :"
msgstr "Il existe deux modes de fonctionnement :"
#: c-api/arg.rst:247
msgid ""
@ -877,7 +877,7 @@ msgid ""
"occur inside nested parentheses. They are:"
msgstr ""
"Quelques autres caractères ont un sens dans une chaîne de format. On ne doit "
"pas les trouvées dans des parenthèses imbriquées. Ce sont :"
"pas les trouvées dans des parenthèses imbriquées. Ce sont :"
#: c-api/arg.rst:396
msgid "``|``"

View File

@ -52,7 +52,7 @@ msgid ""
"`buffer protocol <bufferobjects>`. This protocol has two sides:"
msgstr ""
"Python fournit une telle facilité au niveau du C sous la forme de :ref:"
"`protocole tampon <bufferobjects>`. Ce protocole comporte deux aspects :"
"`protocole tampon <bufferobjects>`. Ce protocole comporte deux aspects :"
#: c-api/buffer.rst:34
msgid ""

View File

@ -234,7 +234,7 @@ msgstr ""
"Macros pour extraire les champs des objets *date*. L'argument doit être une "
"instance de :c:data:`PyDateTime_Date`, ou une sous-classe (telle que :c:data:"
"`PyDateTime_DateTime`). L'argument ne doit pas être *NULL*, et le type n'est "
"pas vérifié :"
"pas vérifié :"
#: c-api/datetime.rst:159
msgid "Return the year, as a positive int."
@ -257,7 +257,7 @@ msgid ""
msgstr ""
"Macros pour extraire les champs des objets *datetime*. L'argument doit être "
"une instance de :c:data:`PyDateTime_DateTime` ou une sous-classe de celle-"
"ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
"ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
#: c-api/datetime.rst:216
msgid "Return the hour, as an int from 0 through 23."
@ -293,7 +293,7 @@ msgid ""
msgstr ""
"Macros pour extraire les champs des objets *time*. L'argument doit être une "
"instance de :c:data:`PyDateTime_Time` ou une sous-classe de celle-ci. "
"L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
"L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :"
#: c-api/datetime.rst:248
#, fuzzy

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: 2023-04-14 13:19+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"
@ -91,9 +91,10 @@ msgstr ""
#: c-api/dict.rst:83
msgid ""
"Remove the entry in dictionary *p* with key *key*. *key* must be hashable; "
"if it isn't, :exc:`TypeError` is raised. If *key* is not in the dictionary, :"
"exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on failure."
"Remove the entry in dictionary *p* with key *key*. *key* must be :term:"
"`hashable`; if it isn't, :exc:`TypeError` is raised. If *key* is not in the "
"dictionary, :exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on "
"failure."
msgstr ""
#: c-api/dict.rst:91

View File

@ -6,7 +6,7 @@ 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"
"PO-Revision-Date: 2023-03-19 18:46+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -16,81 +16,95 @@ msgstr ""
#: c-api/frame.rst:4
msgid "Frame Objects"
msgstr ""
msgstr "Objets décrivant les *frames*"
#: c-api/frame.rst:8
msgid "The C structure of the objects used to describe frame objects."
msgstr ""
msgstr "Structure des objets C utilisée pour décrire les objets *frame*."
#: c-api/frame.rst:10
msgid "There are no public members in this structure."
msgstr ""
msgstr "Il n'y a pas de membres publics dans cette structure."
#: 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 ""
"Les membres de la structure API publique ont été retirés de l'API publique "
"de C. Visiter :ref:`l'entrée dans la page des nouveautés de Python "
"<pyframeobject-3.11-hiding>` pour plus détails."
#: 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 ""
"Les fonctions :func:`PyEval_GetFrame` et :c:func:`PyThreadState_GetFrame` "
"peuvent être utilisées pour avoir un objet de *frame*."
#: c-api/frame.rst:20
msgid "See also :ref:`Reflection <reflection>`."
msgstr ""
msgstr "Voir aussi :ref:`reflection`"
#: 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 ""
"Le type des objets de *frame*. C'est le même objet que :py:class:`types."
"FrameType` dans la couche de Python."
#: c-api/frame.rst:29
msgid ""
"Previously, this type was only available after including ``<frameobject.h>``."
msgstr ""
"Précédemment, ce type était disponible uniquement après l'inclusion de "
"``<frameobject.h>``."
#: c-api/frame.rst:34
msgid "Return non-zero if *obj* is a frame object."
msgstr ""
msgstr "Renvoie un entier non nul si *obj* est un objet *frame*."
#: c-api/frame.rst:38
msgid ""
"Previously, this function was only available after including ``<frameobject."
"h>``."
msgstr ""
"Précédemment, ce type était disponible uniquement après l'inclusion de "
"``<frameobject.h>``."
#: c-api/frame.rst:43
msgid "Get the *frame* next outer frame."
msgstr ""
msgstr "Renvoie la *frame* encadrant immédiatement à *frame*."
#: c-api/frame.rst:45
msgid ""
"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame."
msgstr ""
"Renvoie un :term:`strong reference`, ou ``NULL`` si *frame* n'a pas de "
"*frame* encadrante."
#: c-api/frame.rst:53
msgid "Get the *frame*'s ``f_builtins`` attribute."
msgstr ""
msgstr "Obtenir l'attribut ``f_buitins`` de *frame*."
#: c-api/frame.rst:86
msgid "Return a :term:`strong reference`. The result cannot be ``NULL``."
msgstr ""
"Renvoie un :term:`strong reference`. Le résultat ne peut être ``NULL``."
#: c-api/frame.rst:62
msgid "Get the *frame* code."
msgstr ""
msgstr "Obtenir le code *frame*."
#: c-api/frame.rst:104
msgid "Return a :term:`strong reference`."
msgstr ""
msgstr "Renvoie un :term:`strong reference`."
#: c-api/frame.rst:66
msgid "The result (frame code) cannot be ``NULL``."
msgstr ""
msgstr "Le résultat (code *frame*) ne peut être ``NULL``."
#: c-api/frame.rst:73
msgid ""
@ -98,27 +112,31 @@ msgid ""
"``NULL`` if this frame is not owned by a generator. Does not raise an "
"exception, even if the return value is ``NULL``."
msgstr ""
"Obtenir le générateur, coroutine, ou un générateur asynchrone qui maintient "
"cette *frame*, ou ``NULL`` si cette *frame* n'est pas maintenu par un "
"générateur. Il ne lève pas d'exception, même si la valeur renvoyée est "
"``NULL``."
#: c-api/frame.rst:77
msgid "Return a :term:`strong reference`, or ``NULL``."
msgstr ""
msgstr "Renvoie un :term:`strong reference`, ou ``NULL``."
#: c-api/frame.rst:84
msgid "Get the *frame*'s ``f_globals`` attribute."
msgstr ""
msgstr "Obtenir l'attribut ``f_globals`` de *frame*."
#: c-api/frame.rst:93
msgid "Get the *frame*'s ``f_lasti`` attribute."
msgstr ""
msgstr "Obtenir l'attribut ``f_lasti`` de *frame*."
#: c-api/frame.rst:95
msgid "Returns -1 if ``frame.f_lasti`` is ``None``."
msgstr ""
msgstr "Renvoie -1 si ``frame.f_lasti`` est ``None``."
#: c-api/frame.rst:102
msgid "Get the *frame*'s ``f_locals`` attribute (:class:`dict`)."
msgstr ""
msgstr "Obtenir l'attribut (:class:`dict`) ``f_locals`` de *frame*."
#: c-api/frame.rst:111
msgid "Return the line number that *frame* is currently executing."
msgstr ""
msgstr "Renvoie le numéro de ligne que cette *frame* est en train d'exécuter."

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2023-02-20 13:11+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -16,15 +16,15 @@ msgstr ""
#: c-api/function.rst:6
msgid "Function Objects"
msgstr "Objets fonctions"
msgstr "Objets fonction"
#: c-api/function.rst:10
msgid "There are a few functions specific to Python functions."
msgstr ""
msgstr "Certaines fonctions sont spécifiques aux fonctions Python."
#: c-api/function.rst:15
msgid "The C structure used for functions."
msgstr ""
msgstr "La structure C utilisée pour les fonctions."
#: c-api/function.rst:22
msgid ""
@ -32,6 +32,8 @@ msgid ""
"function type. It is exposed to Python programmers as ``types."
"FunctionType``."
msgstr ""
"C'est une instance de :c:type:`PyTypeObject` et représente le type fonction "
"en Python. Il est exposé aux développeurs comme ``types.FunctionType``."
#: c-api/function.rst:28
msgid ""
@ -39,6 +41,9 @@ msgid ""
"`PyFunction_Type`). The parameter must not be ``NULL``. This function "
"always succeeds."
msgstr ""
"Renvoie vrai si *o* est un objet de type fonction (a comme type :c:data:"
"`PyFunction_Type`). Le paramètre ne doit pas être ``NULL``. Cette fonction "
"réussit toujours."
#: c-api/function.rst:34
msgid ""
@ -46,6 +51,8 @@ msgid ""
"*globals* must be a dictionary with the global variables accessible to the "
"function."
msgstr ""
"Renvoie une nouvelle fonction associée avec l'objet *code*. *globals* doit "
"être un dictionnaire avec les variables globales accessibles à la fonction."
#: c-api/function.rst:37
msgid ""
@ -54,6 +61,10 @@ msgid ""
"and closure are set to ``NULL``. *__qualname__* is set to the same value as "
"the code object's ``co_qualname`` field."
msgstr ""
"La *docstring* et le nom de la fonction sont récupérés à partir de l'objet "
"code. *__module__* est récupéré à partir de *globals*. Les arguments par "
"défaut, les annotations et la fermeture sont mis à ``NULL``. *__qualname__* "
"est mis à la même valeur que celle du champ ``co_qualname`` de l'objet code."
#: c-api/function.rst:45
msgid ""
@ -62,63 +73,85 @@ msgid ""
"``NULL``; if ``NULL``, the ``__qualname__`` attribute is set to the same "
"value as the code object's ``co_qualname`` field."
msgstr ""
"Comme :c:func:`PyFunction_New`, mais accepte aussi une valeur à utiliser "
"pour l'attribut ``__qualname__`` de l'objet fonction. *qualname* doit être "
"un objet Unicode ou ``NULL``; s'il est ``NULL``, l'attribut ``__qualname__`` "
"de l'objet fonction prend la valeur de l'attribut ``co_qualname`` de l'objet "
"code."
#: c-api/function.rst:55
msgid "Return the code object associated with the function object *op*."
msgstr ""
msgstr "Renvoie l'objet code associé avec l'objet de la fonction *op*."
#: c-api/function.rst:60
msgid "Return the globals dictionary associated with the function object *op*."
msgstr ""
"Renvoie le dictionnaire global associé avec l'objet de la fonction *op*."
#: c-api/function.rst:65
msgid ""
"Return a :term:`borrowed reference` to the *__module__* attribute of the "
"function object *op*. It can be *NULL*."
msgstr ""
"Renvoie un :term:`borrowed reference` à l'attribut ``__module__`` de l'objet "
"fonction *op*. Il peut être *NULL*."
#: c-api/function.rst:68
msgid ""
"This is normally a string containing the module name, but can be set to any "
"other object by Python code."
msgstr ""
"C'est typiquement une chaîne de caractère contenant le nom du module, mais "
"il peut être changé par du code Python pour n'importe quel autre objet."
#: c-api/function.rst:74
msgid ""
"Return the argument default values of the function object *op*. This can be "
"a tuple of arguments or ``NULL``."
msgstr ""
"Renvoie les valeurs par défaut de l'argument de l'objet de la fonction *op*. "
"Cela peut être un tuple d'arguments ou ``NULL``."
#: c-api/function.rst:80
msgid ""
"Set the argument default values for the function object *op*. *defaults* "
"must be ``Py_None`` or a tuple."
msgstr ""
"Définir les valeurs par défaut de l'argument pour l'objet de la fonction "
"*op*. *defaults* doit être ``Py_None`` ou un tuple."
#: c-api/function.rst:97 c-api/function.rst:111
msgid "Raises :exc:`SystemError` and returns ``-1`` on failure."
msgstr ""
msgstr "Lève :exc:`SystemError` et renvoie ``-1`` en cas de d'échec."
#: c-api/function.rst:88
msgid ""
"Return the closure associated with the function object *op*. This can be "
"``NULL`` or a tuple of cell objects."
msgstr ""
"Renvoie la fermeture associée avec l'objet de la fonction *op*. Cela peut "
"être ``NULL`` ou un tuple d'objets cellule."
#: c-api/function.rst:94
msgid ""
"Set the closure associated with the function object *op*. *closure* must be "
"``Py_None`` or a tuple of cell objects."
msgstr ""
"Définir la fermeture associée avec l'objet de la fonction *op*. *closure* "
"doit être ``Py_None`` ou un tuple d'objets cellule."
#: c-api/function.rst:102
msgid ""
"Return the annotations of the function object *op*. This can be a mutable "
"dictionary or ``NULL``."
msgstr ""
"Renvoie les annotations de l'objet de la fonction *op*. Cela peut être un "
"dictionnaire mutable ou ``NULL``."
#: c-api/function.rst:108
msgid ""
"Set the annotations for the function object *op*. *annotations* must be a "
"dictionary or ``Py_None``."
msgstr ""
"Définir les annotations pour l'objet de la fonction *op*. *annotations* doit "
"être un dictionnaire ou ``Py_None``."

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2018-11-29 18:22+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -134,7 +134,7 @@ msgstr ""
#: c-api/init.rst:51
#, fuzzy
msgid "Utilities:"
msgstr "Utilitaires"
msgstr "Utilitaires :"
#: c-api/init.rst:53
msgid ":c:func:`Py_DecodeLocale`"
@ -473,7 +473,7 @@ msgid ""
"than once."
msgstr ""
#: c-api/init.rst:305
#: c-api/init.rst:29
msgid ""
"Raises an :ref:`auditing event <auditing>` ``cpython."
"_PySys_ClearAuditHooks`` with no arguments."
@ -585,10 +585,10 @@ msgid ""
"example, if the program name is ``'/usr/local/bin/python'``, the prefix is "
"``'/usr/local'``. The returned string points into static storage; the caller "
"should not modify its value. This corresponds to the :makevar:`prefix` "
"variable in the top-level :file:`Makefile` and the ``--prefix`` argument to "
"the :program:`configure` script at build time. The value is available to "
"Python code as ``sys.prefix``. It is only useful on Unix. See also the next "
"function."
"variable in the top-level :file:`Makefile` and the :option:`--prefix` "
"argument to the :program:`configure` script at build time. The value is "
"available to Python code as ``sys.prefix``. It is only useful on Unix. See "
"also the next function."
msgstr ""
#: c-api/init.rst:420
@ -1266,7 +1266,7 @@ msgid ""
"function."
msgstr ""
#: c-api/init.rst:1109
#: c-api/init.rst:5
msgid ""
"Raises an :ref:`auditing event <auditing>` ``cpython."
"PyInterpreterState_New`` with no arguments."
@ -1278,7 +1278,7 @@ msgid ""
"interpreter lock must be held."
msgstr ""
#: c-api/init.rst:1117
#: c-api/init.rst:4
msgid ""
"Raises an :ref:`auditing event <auditing>` ``cpython."
"PyInterpreterState_Clear`` with no arguments."

View File

@ -86,7 +86,7 @@ msgstr ""
#: c-api/init_config.rst:85
#, fuzzy
msgid "Methods:"
msgstr "Méthodes"
msgstr "Méthodes :"
#: c-api/init_config.rst:89
msgid "Append *item* to *list*."
@ -2040,7 +2040,7 @@ msgstr ""
#, fuzzy
#~ msgid "Functions:"
#~ msgstr "Fonctions"
#~ msgstr "Fonctions :"
#, fuzzy
#~ msgid "Interactive mode."

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: 2023-04-14 13:19+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"
@ -120,11 +120,11 @@ msgstr ""
msgid ""
"The header files are typically installed with Python. On Unix, these are "
"located in the directories :file:`{prefix}/include/pythonversion/` and :file:"
"`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and :envvar:"
"`exec_prefix` are defined by the corresponding parameters to Python's :"
"program:`configure` script and *version* is ``'%d.%d' % sys."
"version_info[:2]``. On Windows, the headers are installed in :file:"
"`{prefix}/include`, where :envvar:`prefix` is the installation directory "
"`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--prefix>` "
"and :option:`exec_prefix <--exec-prefix>` are defined by the corresponding "
"parameters to Python's :program:`configure` script and *version* is ``'%d."
"%d' % sys.version_info[:2]``. On Windows, the headers are installed in :"
"file:`{prefix}/include`, where ``prefix`` is the installation directory "
"specified to the installer."
msgstr ""
@ -134,8 +134,8 @@ msgid ""
"compiler's search path for includes. Do *not* place the parent directories "
"on the search path and then use ``#include <pythonX.Y/Python.h>``; this will "
"break on multi-platform builds since the platform independent headers under :"
"envvar:`prefix` include the platform specific headers from :envvar:"
"`exec_prefix`."
"option:`prefix <--prefix>` include the platform specific headers from :"
"option:`exec_prefix <--exec-prefix>`."
msgstr ""
#: c-api/intro.rst:95

View File

@ -609,7 +609,7 @@ msgstr ""
#: c-api/memory.rst:445 c-api/memory.rst:454
#, fuzzy
msgid "Functions:"
msgstr "Fonctions"
msgstr "Fonctions :"
#: c-api/memory.rst:438
#, fuzzy

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: 2023-04-14 13:19+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"
@ -437,17 +437,17 @@ msgstr ""
#: c-api/module.rst:391
msgid ""
"Create a new module object, given the definition in *module* and the "
"ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` "
"with *module_api_version* set to :const:`PYTHON_API_VERSION`."
"Create a new module object, given the definition in *def* and the ModuleSpec "
"*spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` with "
"*module_api_version* set to :const:`PYTHON_API_VERSION`."
msgstr ""
#: c-api/module.rst:399
msgid ""
"Create a new module object, given the definition in *module* and the "
"ModuleSpec *spec*, assuming the API version *module_api_version*. If that "
"version does not match the version of the running interpreter, a :exc:"
"`RuntimeWarning` is emitted."
"Create a new module object, given the definition in *def* and the ModuleSpec "
"*spec*, assuming the API version *module_api_version*. If that version does "
"not match the version of the running interpreter, a :exc:`RuntimeWarning` is "
"emitted."
msgstr ""
#: c-api/module.rst:406

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: 2023-04-14 13:19+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"
@ -264,7 +264,21 @@ 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:184
#, fuzzy
msgid ""
"Format *obj* using *format_spec*. This is equivalent to the Python "
"expression ``format(obj, format_spec)``."
msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``."
#: c-api/object.rst:187
msgid ""
"*format_spec* may be ``NULL``. In this case the call is equivalent to "
"``format(obj)``. Returns the formatted string on success, ``NULL`` on "
"failure."
msgstr ""
#: c-api/object.rst:195
#, fuzzy
msgid ""
"Compute a string representation of object *o*. Returns the string "
@ -277,7 +291,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:223
msgid ""
"This function now includes a debug assertion to help ensure that it does not "
"silently discard an active exception."
@ -285,7 +299,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:207
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 +314,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:218
#, fuzzy
msgid ""
"Compute a string representation of object *o*. Returns the string "
@ -314,7 +328,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:232
#, fuzzy
msgid ""
"Compute a bytes representation of object *o*. ``NULL`` is returned on "
@ -329,7 +343,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:241
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 +351,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:263
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 +361,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:248
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 +373,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:253
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 +384,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:260
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 +393,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:267
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 +404,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:271
msgid ""
"An instance *inst* can override what is considered its class by having a :"
"attr:`__class__` attribute."
@ -398,7 +412,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:274
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,41 +422,41 @@ 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:283
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:286
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:293
msgid ""
"Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and "
"return ``-1``. This function receives special treatment when stored in a "
"Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` "
"and return ``-1``. This function receives special treatment when stored in a "
"``tp_hash`` slot, allowing a type to explicitly indicate to the interpreter "
"that it is not hashable."
msgstr ""
#: c-api/object.rst:292
#: c-api/object.rst:301
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:308
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:317
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 +467,13 @@ msgid ""
"incremented reference count is needed."
msgstr ""
#: c-api/object.rst:319
#: c-api/object.rst:328
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:337
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 +481,7 @@ msgid ""
"``len(o)``."
msgstr ""
#: c-api/object.rst:335
#: c-api/object.rst:344
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 +490,7 @@ msgid ""
"defaultvalue)``."
msgstr ""
#: c-api/object.rst:345
#: c-api/object.rst:354
#, fuzzy
msgid ""
"Return element of *o* corresponding to the object *key* or ``NULL`` on "
@ -486,7 +500,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:360
#, fuzzy
msgid ""
"Map the object *key* to the value *v*. Raise an exception and return ``-1`` "
@ -498,7 +512,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:368
#, fuzzy
msgid ""
"Remove the mapping for the object *key* from the object *o*. Return ``-1`` "
@ -508,7 +522,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:374
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 +532,7 @@ msgid ""
"`PyErr_Occurred` will return false."
msgstr ""
#: c-api/object.rst:374
#: c-api/object.rst:383
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 +540,7 @@ msgid ""
"object cannot be iterated."
msgstr ""
#: c-api/object.rst:382
#: c-api/object.rst:391
msgid ""
"This is the equivalent to the Python expression ``aiter(o)``. Takes an :"
"class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. "
@ -583,10 +597,6 @@ msgstr ""
#~ "par le *n*-uplet *args*. Si aucun argument n'est nécessaire, alors *args* "
#~ "peut être égal à *NULL*."
#~ msgid ""
#~ "This is the equivalent of the Python expression: ``callable(*args)``."
#~ msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``."
#, fuzzy
#~ msgid ""
#~ "Call a callable Python object *callable*, with a variable number of C "

View File

@ -5,14 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2023-03-05 22:34+0100\n"
"Last-Translator: Rémi Lapeyre <remi.lapeyre@lenstra.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"
#: c-api/refcounting.rst:8
msgid "Reference Counting"
@ -23,10 +24,12 @@ msgid ""
"The macros in this section are used for managing reference counts of Python "
"objects."
msgstr ""
"Les macros dans cette section permettent de gérer le compteur de références "
"des objets Python."
#: c-api/refcounting.rst:16
msgid "Increment the reference count for object *o*."
msgstr ""
msgstr "Incrémente le compteur de références de l'objet *o*."
#: c-api/refcounting.rst:18
msgid ""
@ -34,82 +37,102 @@ msgid ""
"term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be "
"used to create a new :term:`strong reference`."
msgstr ""
"Cette fonction est souvent utilisée pour convertir une :term:`référence "
"empruntée` en une :term:`référence forte` *sur place*. La fonction :c:func:"
"`Py_NewRef` peut être utilisée pour créer une nouvelle :term:`référence "
"forte`."
#: c-api/refcounting.rst:22
msgid ""
"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
"use :c:func:`Py_XINCREF`."
msgstr ""
"L'objet ne doit pas être ``NULL``, la fonction :c:func:`Py_XINCREF` doit "
"être utilisée s'il est possible qu'il soit ``NULL``."
#: c-api/refcounting.rst:28
msgid ""
"Increment the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect."
msgstr ""
"Incrémente le compteur de références de l'objet *o*. La macro n'a pas "
"d'effet si l'objet est ``NULL``."
#: c-api/refcounting.rst:31
msgid "See also :c:func:`Py_XNewRef`."
msgstr ""
msgstr "Voir aussi :c:func:`Py_XNewRef`."
#: c-api/refcounting.rst:36
msgid ""
"Create a new :term:`strong reference` to an object: increment the reference "
"count of the object *o* and return the object *o*."
msgstr ""
"Créer une nouvelle :term:`référence forte` d'un objet : incrémente le "
"compteur de référence de l'objet *o* et renvoie l'objet *o*."
#: c-api/refcounting.rst:39
msgid ""
"When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` "
"should be called on it to decrement the object reference count."
msgstr ""
":c:func:`Py_DECREF` doit être appelée quand la :term:`référence forte` n'est "
"plus utilisée pour décrémenter le compteur de références de l'objet."
#: c-api/refcounting.rst:42
msgid ""
"The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be "
"``NULL``."
msgstr ""
"L'objet *o* ne doit pas être ``NULL`` et la fonction :c:func:`Py_XNewRef` "
"doit être utilisée si *o* peut être ``NULL``."
#: c-api/refcounting.rst:45
msgid "For example::"
msgstr ""
msgstr "Par exemple ::"
#: c-api/refcounting.rst:50
msgid "can be written as::"
msgstr ""
msgstr "peut s'écrire ::"
#: c-api/refcounting.rst:54
msgid "See also :c:func:`Py_INCREF`."
msgstr ""
msgstr "Voir aussi :c:func:`Py_INCREF`."
#: c-api/refcounting.rst:61
msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL."
msgstr ""
msgstr "Semblable à :c:func:`Py_NewRef` mais l'objet *o* peut être ``NULL``."
#: c-api/refcounting.rst:63
msgid "If the object *o* is ``NULL``, the function just returns ``NULL``."
msgstr ""
msgstr "Cette fonction renvoie ``NULL`` si l'objet *o* est ``NULL``."
#: c-api/refcounting.rst:70
msgid "Decrement the reference count for object *o*."
msgstr ""
msgstr "Décrémente le compteur de références de l'objet *o*."
#: c-api/refcounting.rst:72
msgid ""
"If the reference count reaches zero, the object's type's deallocation "
"function (which must not be ``NULL``) is invoked."
msgstr ""
"Si le compteur de références atteint zéro, la fonction de dés-allocation du "
"type de l'objet (qui ne doit pas être ``NULL``) est invoquée."
#: c-api/refcounting.rst:75
msgid ""
"This function is usually used to delete a :term:`strong reference` before "
"exiting its scope."
msgstr ""
"Cette fonction est généralement utilisée pour supprimer une :term:`référence "
"forte` avant qu'elle ne soit plus accessible."
#: c-api/refcounting.rst:78
msgid ""
"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, "
"use :c:func:`Py_XDECREF`."
msgstr ""
"L'objet en argument ne doit pas être ``NULL``. :c:func:`Py_XDECREF` doit "
"être utilisée si l'objet peut être ``NULL``."
#: c-api/refcounting.rst:83
msgid ""
@ -123,6 +146,15 @@ msgid ""
"update the list data structure, and then call :c:func:`Py_DECREF` for the "
"temporary variable."
msgstr ""
"La fonction de dés-allocation peut invoquer du code Python arbitraire (par "
"exemple quand une instance d'une classe avec une méthode :meth:`__del__` est "
"supprimée). Le code exécuté a accès à toutes les variables Python globales "
"mais les exceptions lors de l'exécution de ce code ne sont pas propagées. "
"Tous les objets qui peuvent être atteints à partir d'une variable globale "
"doivent être dans un état cohérent avant d'appeler :c:func:`Py_DECREF`. Par "
"exemple le code pour supprimer un élément d'une liste doit copier une "
"référence à l'objet dans une variable temporaire, mettre à jour la liste, et "
"enfin appeler :c:func:`Py_DECREF` avec la variable temporaire."
#: c-api/refcounting.rst:95
msgid ""
@ -130,6 +162,10 @@ msgid ""
"in which case the macro has no effect; otherwise the effect is the same as "
"for :c:func:`Py_DECREF`, and the same warning applies."
msgstr ""
"Décrémente le compteur de références de l'objet *o*. L'objet peut être "
"``NULL``, dans ce cas la macro n'a pas d'effet. Dans le cas contraire le "
"comportement est identique à :c:func:`Py_DECREF` et les mêmes avertissements "
"sont de rigueur."
#: c-api/refcounting.rst:102
msgid ""
@ -140,24 +176,38 @@ msgid ""
"object passed because the macro carefully uses a temporary variable and sets "
"the argument to ``NULL`` before decrementing its reference count."
msgstr ""
"Décrémente le compteur de références de l'objet *o*. L'objet peut être "
"``NULL``, dans ce cas la macro n'a pas d'effet. Dans le cas contraire le "
"comportement est identique à :c:func:`Py_DECREF`, puis l'argument est mis à "
"``NULL``. L'avertissement au sujet de l'objet passé en argument à :c:func:"
"`Py_DECREF` ne s'applique pas car la macro utilise une variable temporaire "
"et met l'objet à ``NULL`` avant de décrémenter le compteur de références."
#: c-api/refcounting.rst:109
msgid ""
"It is a good idea to use this macro whenever decrementing the reference "
"count of an object that might be traversed during garbage collection."
msgstr ""
"Il est recommandé d'utiliser cette macro lorsqu'on décrémente le compteur de "
"référence d'un objet qui peut être parcouru par le ramasse-miette."
#: c-api/refcounting.rst:114
msgid ""
"Increment the reference count for object *o*. A function version of :c:func:"
"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
"Incrémente le compteur de références de l'objet *o*. C'est la version "
"fonctionnelle de :c:func:`Py_XINCREF`. Elle peut être utilisée lorsque "
"Python est embarqué dynamiquement dans une application."
#: c-api/refcounting.rst:120
msgid ""
"Decrement the reference count for object *o*. A function version of :c:func:"
"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
"Décrémente le compteur de références de l'objet *o*. C'est la version "
"fonctionnelle de :c:func:`Py_XDECREF`. Elle peut être utilisée lorsque "
"Python est embarqué dynamiquement dans une application."
#: c-api/refcounting.rst:124
msgid ""
@ -165,3 +215,7 @@ msgid ""
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
"`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`."
msgstr ""
"Les fonctions ou macros suivantes doivent être uniquement utilisées au sein "
"de l'interpréteur et ne font pas partie de l'API publique : :c:func:"
"`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:`_Py_NewReference`, "
"ainsi que la variable globale :c:data:`_Py_RefTotal`."

View File

@ -6,20 +6,20 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"PO-Revision-Date: 2018-10-04 12:26+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"PO-Revision-Date: 2023-03-05 22:38+0100\n"
"Last-Translator: Rémi Lapeyre <remi.lapeyre@lenstra.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"
#: c-api/stable.rst:7
msgid "C API Stability"
msgstr ""
msgstr "Stabilité de lAPI C"
#: c-api/stable.rst:9
#, fuzzy
msgid ""
"Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. "
"While the C API will change with every minor release (e.g. from 3.9 to "
@ -27,10 +27,12 @@ msgid ""
"API. Changing existing API or removing API is only done after a deprecation "
"period or to fix serious issues."
msgstr ""
"L'API C de Python change à chaque version. La majorité de ces changement "
"n'affecte cependant pas la compatibilité du code source. Typiquement, des "
"API sont ajoutées, mais ni modifiées ni supprimées (bien que certaines "
"interfaces puissent être supprimées, après avoir d'abord été dépréciées)."
"L'API C respecte la politique de rétrocompatibilité de Python, :pep:`387`. "
"Malgré la présence dévolutions dans chaque version mineure (par exemple "
"entre 3.9 et 3.10), la majorité de ces changements n'affecte pas la "
"compatibilité du code source. Typiquement des API sont ajoutées mais pas "
"modifiées ou supprimées, bien que cela puisse arriver après une période de "
"dépréciation ou pour corriger un problème important."
#: c-api/stable.rst:15
msgid ""
@ -40,16 +42,24 @@ msgid ""
"work on 3.10.8 and vice versa, but will need to be compiled separately for "
"3.9.x and 3.10.x."
msgstr ""
"Linterface binaire de CPython (ABI) est entièrement compatible au sein "
"dune version mineure (à condition que la compilation soit toujours faite de "
"même manière, comme indiqué dans :ref:`stable-abi-platform` ci-dessous). "
"Ainsi le code compilé pour Python 3.10.0 fonctionnera avec Python 3.10.8 et "
"inversement, mais il devra être compilé séparément pour 3.9.x et 3.10.x."
#: c-api/stable.rst:21
msgid ""
"Names prefixed by an underscore, such as ``_Py_InternalState``, are private "
"API that can change without notice even in patch releases."
msgstr ""
"Les noms commençant par un caractère souligné, comme ``_Py_InternalState``, "
"font partie de lAPI privée et peuvent changer sans préavis même dans une "
"version de correctif."
#: c-api/stable.rst:26
msgid "Stable Application Binary Interface"
msgstr "ABI Stable"
msgstr "ABI stable"
#: c-api/stable.rst:28
msgid ""
@ -58,6 +68,11 @@ msgid ""
"multiple versions of Python. Contents of the Limited API are :ref:`listed "
"below <stable-abi-list>`."
msgstr ""
"Le concept d*API restreinte*, un sous-ensemble de lAPI C de Python, existe "
"depuis Python 3.2. Les extensions qui utilisent uniquement lAPI restreinte "
"peuvent être compilées une seule fois et fonctionner avec plusieurs versions "
"de Python. Les objets faisant partie de lAPI restreinte sont :ref:"
"`documentés ci-dessous <stable-abi-list>`."
#: c-api/stable.rst:33
msgid ""
@ -66,6 +81,11 @@ msgid ""
"symbols exposed in the Limited API, but also other ones for example, "
"functions necessary to support older versions of the Limited API."
msgstr ""
"Python a aussi une *ABI stable* : un ensemble de symboles qui sont "
"compatibles avec lensemble des versions Python 3.x. LABI stable contient "
"les symboles utilisés par lAPI restreinte, mais pas seulement — par exemple "
"les fonctions nécessaires pour supporter les versions précédentes de lAPI "
"restreinte en font aussi partie."
#: c-api/stable.rst:38
msgid ""
@ -73,12 +93,17 @@ msgid ""
"and Stable ABI work the same way for all uses of the API for example, "
"embedding Python.)"
msgstr ""
"(Par simplicité ce document parle *dextensions*, mais lAPI restreinte et "
"lABI stable fonctionnent de la même manière pour tous les cas dusages de "
"lAPI — par exemple pour embarquer Python.)"
#: c-api/stable.rst:44
msgid ""
"Define this macro before including ``Python.h`` to opt in to only use the "
"Limited API, and to select the Limited API version."
msgstr ""
"Définissez cette macro avant dinclure ``Python.h`` pour ninclure que lAPI "
"restreinte et indiquer sa version."
#: c-api/stable.rst:47
msgid ""
@ -88,6 +113,11 @@ msgid ""
"the specified one onward, and can use Limited API introduced up to that "
"version."
msgstr ""
"Définissez ``Py_LIMITED_API`` à la valeur de :c:data:`PY_VERSION_HEX` "
"correspond à la version minimale de Python que votre extension supporte. "
"Cette extension fonctionnera sans re-compilation avec toutes les versions "
"futures de Python 3, et peut utiliser lensemble des éléments de lAPI "
"restreinte présent dans cette version."
#: c-api/stable.rst:53
msgid ""
@ -95,12 +125,19 @@ msgid ""
"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when "
"compiling with future Python versions."
msgstr ""
"Il est recommandé de renseigner une version mineure minimale (par exemple "
"``0x030A0000`` pour Python 3.10) plutôt que dutiliser directement la macro "
"``PY_VERSION_HEX`` pour ne pas dépendre de la version de Python utilisée "
"lors de la compilation."
#: c-api/stable.rst:57
msgid ""
"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as "
"``0x03020000`` (Python 3.2, the version that introduced Limited API)."
msgstr ""
"Vous pouvez aussi définir ``Py_LIMITED_API`` à ``3``. Cette valeur est "
"équivalente à ``0x03020000`` correspondant à Python 3.2, la première version "
"à supporter lAPI restreinte."
#: c-api/stable.rst:60
msgid ""
@ -108,6 +145,9 @@ msgid ""
"``python3.dll`` rather than a version-specific library such as ``python39."
"dll``."
msgstr ""
"Sur Windows les extensions qui utilisent lABI stable doivent être liées "
"avec ``python3.dll`` et non pas avec une bibliothèque spécifique à une "
"version comme ``python39.dll``."
#: c-api/stable.rst:64
msgid ""
@ -117,6 +157,12 @@ msgid ""
"to ensure that, for example, extensions built with the 3.10+ Limited API are "
"not installed for lower versions of Python."
msgstr ""
"Sur certaines plateformes Python essaiera de charger une bibliothèque "
"partagée dont le nom contient ``abi3`` (par exemple ``mymodule.abi3.so``). "
"Il ne vérifie pas si ces extensions respectent lABI stable. Lutilisateur "
"(ou ses outils dadministration) doit sassurer que les extensions compilées "
"avec une version donnée de lAPI restreinte, par exemple 3.10+, ne sont pas "
"utilisées avec des versions plus anciennes de Python."
#: c-api/stable.rst:71
msgid ""
@ -124,16 +170,23 @@ msgid ""
"library, not solely as macros. This makes them usable from languages that "
"don't use the C preprocessor."
msgstr ""
"Toutes les fonctions de lABI stable sont présentes dans la bibliothèque "
"dynamique de Python en tant que fonction, et pas uniquement comme macro. "
"Elles peuvent donc être utilisées avec des langages qui nutilisent pas le "
"pré-processeur C."
#: c-api/stable.rst:77
msgid "Limited API Scope and Performance"
msgstr ""
msgstr "Porté de lAPI restreinte et performance"
#: c-api/stable.rst:79
msgid ""
"The goal for the Limited API is to allow everything that is possible with "
"the full C API, but possibly with a performance penalty."
msgstr ""
"Lobjectif de lAPI restreinte est de permettre lensemble des opérations "
"possibles avec lAPI C étendue, mais peut avoir un impact sur les "
"performances."
#: c-api/stable.rst:82
msgid ""
@ -141,6 +194,10 @@ msgid ""
"variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it "
"can rely on version-specific implementation details of the list object."
msgstr ""
"Par exemple la fonction :c:func:`PyList_GetItem` est disponible, mais la "
"macro « dangereuse » :c:func:`PyList_GET_ITEM` ne lest pas. Cette macro "
"peut être plus rapide car elle dépend de détails dimplémentation spécifique "
"à lobjet ``list``."
#: c-api/stable.rst:87
msgid ""
@ -149,6 +206,11 @@ msgid ""
"allowing stability as Python's data structures are improved, but possibly "
"reducing performance."
msgstr ""
"Si ``Py_LIMITED_API`` nest pas défini certaines fonctions de lAPI C seront "
"remplacées par des macros ou une version en-ligne. Définir "
"``Py_LIMITED_API`` désactive cette optimisation, permettant de se garantir "
"contre les évolutions des structures de données utilisées par Python, et "
"peut réduire les performances."
#: c-api/stable.rst:92
msgid ""
@ -159,10 +221,17 @@ msgid ""
"where a version-specific one is not available for example, for prereleases "
"of an upcoming Python version."
msgstr ""
"En omettant la définition de ``Py_LIMITED_API`` il est possible de compiler "
"une extension utilisant lAPI restreinte avec une version spécifique de "
"lABI. Les performances seront meilleures pour cette version de Python, mais "
"la compatibilité sera réduite. Compiler en définissant ``Py_LIMITED_API`` "
"produira une extension qui peut être utilisée quand une variante spécifique "
"à une version nest pas disponible — par exemple pour une version alpha de "
"Python."
#: c-api/stable.rst:101
msgid "Limited API Caveats"
msgstr ""
msgstr "Inconvénients de lAPI restreinte"
#: c-api/stable.rst:103
msgid ""
@ -171,6 +240,10 @@ msgid ""
"only covers definitions, but an API also includes other issues, such as "
"expected semantics."
msgstr ""
"Compiler avec ``Py_LIMITED_API`` *nest pas* une garantie absolue que le "
"code est conforme à lAPI restreinte ou à lABI stable. ``Py_LIMITED_API`` "
"ne concerne que la définition des objets, mais une API inclut aussi dautres "
"spécificités comme le comportement attendu."
#: c-api/stable.rst:108
msgid ""
@ -181,18 +254,31 @@ msgid ""
"the argument will be used directly, causing a ``NULL`` dereference and "
"crash. A similar argument works for fields of structs."
msgstr ""
"Une des limitations est que ``Py_LIMITED_API`` ne protège pas contre lappel "
"dune fonction avec des arguments qui sont invalides pour une version de "
"Python plus ancienne. Par exemple considérons une fonction qui accepte "
"``NULL`` comme argument à partir de 3.9. ``NULL`` permet maintenant "
"dutiliser le comportement par défaut, mais Python 3.8 essayera daccéder à "
"lobjet pointé et dé-référencera ``NULL``, causant un crash. Des problèmes "
"similaires peuvent se produire avec les attributs des structures."
#: c-api/stable.rst:115
msgid ""
"Another issue is that some struct fields are currently not hidden when "
"``Py_LIMITED_API`` is defined, even though they're part of the Limited API."
msgstr ""
"Un autre problème est que certains attributs ne sont pas encore cachés "
"lorsque ``Py_LIMITED_API`` est défini, même sils ne font pas partie de "
"lAPI restreinte."
#: c-api/stable.rst:118
msgid ""
"For these reasons, we recommend testing an extension with *all* minor Python "
"versions it supports, and preferably to build with the *lowest* such version."
msgstr ""
"Pour ces raisons il est recommandé de tester une extension avec *lensemble "
"des versions mineures* supportées de Python, et généralement de la compiler "
"avec la plus *ancienne* de ces versions."
#: c-api/stable.rst:121
msgid ""
@ -201,6 +287,11 @@ msgid ""
"few private declarations are exposed for technical reasons (or even "
"unintentionally, as bugs)."
msgstr ""
"Il est aussi recommandé de vérifier la documentation de toutes les API "
"utilisées pour vérifier quelles fassent bien partie de lAPI restreinte. "
"Même lorsque ``Py_LIMITED_API`` est défini quelques fonctions privées "
"peuvent être exposées aux utilisateurs pour des raisons techniques, ou par "
"erreur."
#: c-api/stable.rst:126
msgid ""
@ -210,10 +301,15 @@ msgid ""
"particular, parts of the Limited API may be deprecated and removed, provided "
"that the Stable ABI stays stable."
msgstr ""
"Notez aussi que lAPI restreinte nest pas forcément stable : compiler avec "
"Python 3.8 en définissant ``Py_LIMITED_API`` garanti que lextension "
"fonctionnera avec Python 3.12, mais pas quelle pourra *être compilée* avec "
"Python 3.12. En particulier certaines parties de lAPI restreinte peuvent "
"être dépréciées et retirées tant que lABI stable nest pas modifiée."
#: c-api/stable.rst:136
msgid "Platform Considerations"
msgstr ""
msgstr "Considérations relatives aux plateformes"
#: c-api/stable.rst:138
msgid ""
@ -222,6 +318,11 @@ msgid ""
"ABI, these details define a “platform”. They usually depend on the OS type "
"and processor architecture"
msgstr ""
"La stabilité de lABI ne dépend pas que de Python mais aussi du compilateur "
"utilisé, des bibliothèques systèmes et des options du compilateur. "
"Lensemble de ces détails correspondent à ce que lABI stable appelle une "
 plateforme ». Ils dépendent généralement du système dexploitation et de "
"larchitecture du processeur."
#: c-api/stable.rst:143
msgid ""
@ -230,76 +331,16 @@ msgid ""
"does not break the Stable ABI. This is the case with Windows and macOS "
"releases from ``python.org`` and many third-party distributors."
msgstr ""
"Les distributeurs de Python doivent sassurer que toutes les versions de "
"Python pour une plateforme donnée sont compilées de manière à ne pas rompre "
"la compatibilité de lABI stable. Cest le cas des versions produites pour "
"Windows et macOS de ``python.org`` et de la plupart des distributions "
"tierces."
#: c-api/stable.rst:153
msgid "Contents of Limited API"
msgstr ""
msgstr "Contenu de lAPI restreinte"
#: c-api/stable.rst:156
msgid "Currently, the Limited API includes the following items:"
msgstr ""
#~ msgid ""
#~ "Unfortunately, the API compatibility does not extend to binary "
#~ "compatibility (the ABI). The reason is primarily the evolution of struct "
#~ "definitions, where addition of a new field, or changing the type of a "
#~ "field, might not break the API, but can break the ABI. As a consequence, "
#~ "extension modules need to be recompiled for every Python release "
#~ "(although an exception is possible on Unix when none of the affected "
#~ "interfaces are used). In addition, on Windows, extension modules link "
#~ "with a specific pythonXY.dll and need to be recompiled to link with a "
#~ "newer one."
#~ msgstr ""
#~ "Malheureusement, la compatibilité de l'API ne s'étend pas à une "
#~ "compatibilité binaire (l'ABI). L'évolution des structures en est la "
#~ "raison principale : l'ajout de nouveaux attributs, ou le changement du "
#~ "type d'un attribut peut ne pas casser l'API mais casser l'ABI. Par "
#~ "conséquent, les modules d'extension doivent être recompilés à chaque "
#~ "nouvelle version de Python (ce n'est exceptionnellement pas nécessaire "
#~ "sur Unix, si aucune des interfaces modifiées n'est utilisée). De plus, "
#~ "sous Windows, les modules d'extension sont liés à un *pythonXY.dll* "
#~ "spécifique, ils est donc nécessaire de les recompiler pour les lier au "
#~ "nouveau DLL."
#~ msgid ""
#~ "Since Python 3.2, a subset of the API has been declared to guarantee a "
#~ "stable ABI. Extension modules wishing to use this API (called \"limited "
#~ "API\") need to define ``Py_LIMITED_API``. A number of interpreter details "
#~ "then become hidden from the extension module; in return, a module is "
#~ "built that works on any 3.x version (x>=2) without recompilation."
#~ msgstr ""
#~ "Depuis Python 3.2 il est garanti qu'une certaine partie de l'API gardera "
#~ "une ABI stable. Les modules d'extension souhaitant utiliser cette API "
#~ "(Appellée \"API limitée\") doivent définir ``Py_LIMITED_API``. Des "
#~ "spécificités de l'interpréteur sont alors cachées au module, en "
#~ "contrepartie le module devient compatible avec toutes les versions de "
#~ "Python 3.x (x>=2) sans recompilation."
#~ msgid ""
#~ "In some cases, the stable ABI needs to be extended with new functions. "
#~ "Extension modules wishing to use these new APIs need to set "
#~ "``Py_LIMITED_API`` to the ``PY_VERSION_HEX`` value (see :ref:"
#~ "`apiabiversion`) of the minimum Python version they want to support (e.g. "
#~ "``0x03030000`` for Python 3.3). Such modules will work on all subsequent "
#~ "Python releases, but fail to load (because of missing symbols) on the "
#~ "older releases."
#~ msgstr ""
#~ "Dans certains cas, il est nécessaire d'étendre l'ABI stable avec de "
#~ "nouvelles fonctions. Les modules d'extension souhaitant utiliser ces "
#~ "nouvelles APIs doivent configurer ``Py_LIMITED_API`` à la valeur "
#~ "``Py_VERSION_HEX`` correspondant à la plus ancienne version de Python "
#~ "qu'ils souhaitent supporter (voir :ref:`apiabiversion`, par exemple "
#~ "``0x03030000`` pour Python 3.3). De tels modules fonctionneront dans "
#~ "toutes les versions ultérieures de Python, mais ne pourront pas se "
#~ "charger (dû à des symboles manquants) sur les versions plus anciennes."
#~ msgid ""
#~ "As of Python 3.2, the set of functions available to the limited API is "
#~ "documented in :pep:`384`. In the C API documentation, API elements that "
#~ "are not part of the limited API are marked as \"Not part of the limited "
#~ "API.\""
#~ msgstr ""
#~ "Depuis Python 3.2, l'ensemble des fonctions exposées par l'API limitée "
#~ "est documentée dans la :pep:`384`. Dans la documentation de l'API C, les "
#~ "éléments ne faisant pas partie de l'API limitée sont notés \"Ne faisant "
#~ "pas partie de l'API limitée\" (*\"Not part of the limited API\"*)."
msgstr "Pour le moment lAPI restreinte inclut les éléments suivants :"

View File

@ -6,8 +6,8 @@ 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: 2018-10-04 12:27+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2023-02-20 12:47+0100\n"
"Last-Translator: Victor Stinner <vstinner@python.org>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -16,11 +16,11 @@ msgstr ""
#: c-api/unicode.rst:6
msgid "Unicode Objects and Codecs"
msgstr ""
msgstr "Objets Unicode et Codecs"
#: c-api/unicode.rst:12
msgid "Unicode Objects"
msgstr ""
msgstr "Objets Unicode"
#: c-api/unicode.rst:14
msgid ""
@ -31,6 +31,12 @@ msgid ""
"65536; otherwise, code points must be below 1114112 (which is the full "
"Unicode range)."
msgstr ""
"Depuis l'implémentation de :pep:`393` dans Python 3.3, les objets Unicode "
"utilisent une variété de représentations internes, pour permettre de gérer "
"l'intervalle complet des caractères Unicode en restant efficace en termes de "
"mémoire. Il y a des cas spéciaux pour les chaînes où tous les points de code "
"sont inférieurs à 128, 256, ou 65536 ; sinon, les points de code doivent "
"être inférieurs à 1114112 (qui est l'intervalle Unicode complet)."
#: c-api/unicode.rst:20
msgid ""
@ -38,12 +44,18 @@ msgid ""
"cached in the Unicode object. The :c:expr:`Py_UNICODE*` representation is "
"deprecated and inefficient."
msgstr ""
"Des représentations :c:expr:`Py_UNICODE*` et UTF-8 sont créées à la demande "
"et mises en cache dans l'objet Unicode. La représentation :c:expr:"
"`Py_UNICODE*` est dépréciée et inefficace."
#: c-api/unicode.rst:24
msgid ""
"Due to the transition between the old APIs and the new APIs, Unicode objects "
"can internally be in two states depending on how they were created:"
msgstr ""
"En raison de la transition des anciennes APIs vers les nouvelles APIs, les "
"objets Unicode peuvent être dans deux états internes selon comment ils ont "
"été créés :"
#: c-api/unicode.rst:27
msgid ""
@ -51,6 +63,9 @@ msgid ""
"Unicode API. They use the most efficient representation allowed by the "
"implementation."
msgstr ""
"Les objets Unicode « canoniques » sont tous les objets créés par une API "
"Unicode non-dépréciée. Ils utilisent la représentation la plus efficace "
"permise par l'implémentation."
#: c-api/unicode.rst:31
msgid ""
@ -59,6 +74,10 @@ msgid ""
"`Py_UNICODE*` representation; you will have to call :c:func:"
"`PyUnicode_READY` on them before calling any other API."
msgstr ""
"Les objets Unicode « historiques » ont été créés via une des APIs dépréciées "
"(typiquement :c:func:`PyUnicode_FromUnicode`) et supportent uniquement la "
"représentation :c:expr:`Py_UNICODE*`; vous devrez appeler :c:func:"
"`PyUnicode_READY` sur eux avant d'appeler n'importe quelle autre API."
#: c-api/unicode.rst:37
msgid ""
@ -66,16 +85,21 @@ msgid ""
"APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` "
"for more information."
msgstr ""
"Les objets Unicode « historiques » vont être supprimés de Python 3.12 avec "
"les APIs dépréciées. Tous les objets Unicode vont être « canoniques » à "
"partir de là. Voir :pep:`623` pour plus d'information."
#: c-api/unicode.rst:43
msgid "Unicode Type"
msgstr ""
msgstr "Type Unicode"
#: c-api/unicode.rst:45
msgid ""
"These are the basic Unicode object types used for the Unicode implementation "
"in Python:"
msgstr ""
"Voici les types d'objets Unicode utilisés pour l'implémentation Unicode en "
"Python :"
#: c-api/unicode.rst:52
msgid ""
@ -83,12 +107,17 @@ msgid ""
"characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with "
"single Unicode characters, use :c:type:`Py_UCS4`."
msgstr ""
"Voici les *typedefs* pour les types entiers non signés suffisamment large "
"pour contenir des caractères de 32 bits, 16 bits et 8 bits, respectivement. "
"Pour traiter des caractères uniques, utilisez :c:type:`Py_UCS4`."
#: c-api/unicode.rst:61
msgid ""
"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit "
"type depending on the platform."
msgstr ""
"Ceci est un *typedef* de :c:expr:`wchar_t`, qui est un type 16-bit ou un "
"type 32-bit selon la plateforme."
#: c-api/unicode.rst:64
msgid ""
@ -96,6 +125,9 @@ msgid ""
"whether you selected a \"narrow\" or \"wide\" Unicode version of Python at "
"build time."
msgstr ""
"Dans les versions précédentes, ceci était un type 16-bit ou un type 32-bit "
"selon que vous choisissiez une version Unicode *narrow* ou *wide* de Python "
"à la compilation."
#: c-api/unicode.rst:74
msgid ""

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: 2023-04-14 13:19+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"
@ -121,3 +121,16 @@ msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking."
msgstr ""
"Similaire à :c:func:`PyWeakref_GetObject`, mais implémenté comme une macro "
"qui ne vérifie pas les erreurs."
#: c-api/weakref.rst:74
msgid ""
"This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler "
"to clear weak references."
msgstr ""
#: c-api/weakref.rst:77
msgid ""
"This iterates through the weak references for *object* and calls callbacks "
"for those references which have one. It returns when all callbacks have been "
"attempted."
msgstr ""

View File

@ -21,7 +21,7 @@ msgstr "Copyright"
#: copyright.rst:5
msgid "Python and this documentation is:"
msgstr "Python et cette documentation sont :"
msgstr "Python et cette documentation sont :"
#: copyright.rst:7
#, fuzzy

3
dict
View File

@ -4,12 +4,14 @@
-uplet
-uplets
017f
1-uplet
212a
abi
ahlstrom
allocateur
allocateurs
alpn
attendable
base16
base32
base64
@ -173,6 +175,7 @@ réusinages
réusiné
réutilisabilité
serwy
shebang
shell
slot
smalltalk

View File

@ -68,7 +68,7 @@ msgstr "Créer une distribution source: la commande :command:`sdist`"
#: distutils/commandref.rst:60
msgid "The manifest template commands are:"
msgstr "Les commandes du modèle manifeste sont :"
msgstr "Les commandes du modèle manifeste sont :"
#: distutils/commandref.rst:63
msgid "Command"

View File

@ -128,7 +128,7 @@ msgid ""
msgstr ""
"Si tout ce que vous voulez est de distribuer un module appelé :mod:`foo`, "
"contenu dans un fichier :file:`foo.py`, alors votre script d'installation "
"peut se résumer à :"
"peut se résumer à ::"
#: distutils/introduction.rst:67
msgid "Some observations:"
@ -178,7 +178,7 @@ msgid ""
msgstr ""
"Pour créer une distribution source pour ce module, il faut créer un script "
"d'installation, :file:`setup.py`, contenant le code ci-dessus, et exécuter "
"cette commande depuis un terminal :"
"cette commande depuis un terminal ::"
#: distutils/introduction.rst:89
msgid ""
@ -186,7 +186,7 @@ msgid ""
"Accessories`) and change the command to::"
msgstr ""
"Pour Windows, ouvrez une invite de commande (:menuselection:`Démarrer --> "
"Accessoires`) et changez la commande en :"
"Accessoires`) et changez la commande en ::"
#: distutils/introduction.rst:94
msgid ""
@ -210,7 +210,7 @@ msgstr ""
"Si un utilisateur final souhaite installer votre module :mod:`foo`, tout ce "
"qu'il aura à faire est de télécharger le fichier :file:`foo-1.0.tar.gz` (ou :"
"file:`.zip`), le décompresser et ---depuis le répertoire :file:`foo-1.0`--- "
"exécuter :"
"exécuter ::"
#: distutils/introduction.rst:105
msgid ""
@ -248,7 +248,7 @@ msgstr ""
"la commande :command:`bdist_rpm`, Solaris :program:`pkgtool` (:command:"
"`bdist_pkgtool`), et HP-UX :program:`swinstall` (:command:`bdist_sdux`). Par "
"exemple, la commande suivante va créer un fichier RPM appelé :file:`foo-1.0."
"noarch.rpm`::"
"noarch.rpm` ::"
#: distutils/introduction.rst:123
msgid ""
@ -266,7 +266,7 @@ msgid ""
"running ::"
msgstr ""
"Vous pouvez trouver quelles sont les formats de distribution disponibles à "
"n'importe quel moment en exécutant :"
"n'importe quel moment en exécutant ::"
#: distutils/introduction.rst:136
msgid "General Python terminology"
@ -282,7 +282,7 @@ msgstr ""
"Si vous lisez ce document, vous avez probablement une bonne idée de ce que "
"sont les modules, extensions, etc. Néanmoins, juste pour être sur que tout "
"le monde opère depuis un point d'entrée commun, nous reprécisons le "
"glossaire suivant des termes Python communs :"
"glossaire suivant des termes Python communs :"
#: distutils/introduction.rst:146
msgid "module"
@ -380,7 +380,7 @@ msgid ""
"Python modules using the Distutils:"
msgstr ""
"Les termes suivant s'appliquent plus spécifiquement au domaine de la "
"distribution de modules Python en utilisant les Distutils :"
"distribution de modules Python en utilisant les Distutils :"
#: distutils/introduction.rst:190
msgid "module distribution"
@ -453,7 +453,7 @@ msgstr ""
#~ "voulez rendre les choses faciles pour les autres utilisateurs Windows, "
#~ "vous pouvez créer un installateur exécutable (le mode de distribution le "
#~ "plus approprié pour cette plateforme) avec la commande :command:"
#~ "`bdist_wininst`. Par exemple :"
#~ "`bdist_wininst`. Par exemple ::"
#~ msgid ""
#~ "will create an executable installer, :file:`foo-1.0.win32.exe`, in the "

View File

@ -67,7 +67,7 @@ msgstr ""
"entière de telle sorte que les utilisateurs de Python 1.5.2 puissent les "
"utiliser pour installer d'autres modules. Le propre script ``setup.py`` des "
"*Distutils* montré ici est utilisé pour installer le paquet dans Python "
"1.5.2). ::"
"1.5.2). ::"
#: distutils/setupscript.rst:37
msgid ""
@ -170,7 +170,7 @@ msgstr ""
"sous :file:`lib`, de telle sorte que les modules dans le « paquet "
"racine » (c'est-à-dire dans aucun paquet du tout) sont dans :file:`lib`, les "
"modules dans le paquet :mod:`foo` sont dans :file:`lib/foo`, et ainsi de "
"suite. Alors, vous pouvez mettre ::"
"suite. Alors, vous pouvez mettre ::"
#: distutils/setupscript.rst:88
msgid ""
@ -194,7 +194,7 @@ msgid ""
msgstr ""
"Une autre convention possible est de mettre le paquet :mod:`foo` directement "
"dans :file:`lib`, le paquet :mod:`foo.bar` dans :file:`lib/bar`, etc. Cela "
"s'écrirait ainsi dans le script ``setup.py`` : ::"
"s'écrirait ainsi dans le script ``setup.py`` ::"
#: distutils/setupscript.rst:99
msgid ""
@ -314,11 +314,11 @@ msgid ""
"example, ::"
msgstr ""
"Le premier argument du constructeur :class:`~distutils.core.Extension` est "
"toujours le nom de l'extension, incluant tout nom de paquet. Par exemple ::"
"toujours le nom de l'extension, incluant tout nom de paquet. Par exemple ::"
#: distutils/setupscript.rst:176
msgid "describes an extension that lives in the root package, while ::"
msgstr "décrit une extension qui se situe dans le paquet racine, tandis que ::"
msgstr "décrit une extension qui se situe dans le paquet racine, tandis que ::"
#: distutils/setupscript.rst:180
msgid ""
@ -341,7 +341,7 @@ msgid ""
msgstr ""
"Si vous avez un certain nombre d'extensions toutes dans le même paquet (ou "
"toutes sous le même paquet de base), utilisez l'argument nommé "
"``ext_package`` de :func:`setup`. Par exemple ::"
"``ext_package`` de :func:`setup`. Par exemple ::"
#: distutils/setupscript.rst:195
msgid ""
@ -442,7 +442,7 @@ msgid ""
msgstr ""
"Ici, vous pouvez définir le chemin absolu des répertoires ; si vous savez "
"que votre extension sera compilée sur un système Unix avec ``X11R6`` "
"installé dans :file:`/usr`, vous pouvez vous en sortir avec ::"
"installé dans :file:`/usr`, vous pouvez vous en sortir avec ::"
#: distutils/setupscript.rst:254
msgid ""
@ -450,7 +450,7 @@ msgid ""
"your code: it's probably better to write C code like ::"
msgstr ""
"Il convient d'éviter ce type d'utilisation non portable si vous envisagez de "
"distribuer votre code : Il est probablement mieux d'écrire du code C comme ::"
"distribuer votre code : Il est probablement mieux d'écrire du code C comme ::"
#: distutils/setupscript.rst:259
msgid ""
@ -474,7 +474,7 @@ msgstr ""
"répertoire :file:`include` de Python —\\ :file:`/usr/local/include/"
"python1.5` dans ce cas-ci — est toujours inclus dans le chemin de recherche "
"quand vous construisez des extensions Python, la meilleure approche est "
"d'écrire du code C comme ::"
"d'écrire du code C comme ::"
#: distutils/setupscript.rst:271
msgid ""
@ -551,7 +551,7 @@ msgid ""
"standard library search path on target systems ::"
msgstr ""
"Par exemple, pour lier des bibliothèques que l'on sait dans le chemin des "
"bibliothèques standards des systèmes cibles ::"
"bibliothèques standards des systèmes cibles ::"
#: distutils/setupscript.rst:323
msgid ""

View File

@ -428,7 +428,7 @@ msgid ""
msgstr ""
"Voici le manifeste modèle de Distutils, suivons comment la commande :command:"
"`sdist` construit la liste des fichiers à inclure dans la distribution "
"source de Distutils."
"source de Distutils :"
#: distutils/sourcedist.rst:185
msgid ""

View File

@ -41,7 +41,7 @@ msgstr ""
#: extending/building.rst:16
msgid "The initialization function has the signature:"
msgstr "La fonction d'initialisation doit avoir le prototype :"
msgstr "La fonction d'initialisation doit avoir le prototype :"
#: extending/building.rst:20
#, fuzzy
@ -107,7 +107,7 @@ msgid ""
"plain Python file, which, in the most simple case, could look like this:"
msgstr ""
"Un paquet *distutils* contient un script :file:`setup.py`. C'est un simple "
"fichier Python, ressemblant dans la plupart des cas à :"
"fichier Python, ressemblant dans la plupart des cas à :"
#: extending/building.rst:73
msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::"

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2019-12-25 17:24+0100\n"
"PO-Revision-Date: 2023-02-16 16:53+0100\n"
"Last-Translator: Antoine <antoine.venier@hotmail.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"X-Generator: Poedit 2.3\n"
#: extending/embedding.rst:8
msgid "Embedding Python in Another Application"
@ -421,13 +421,12 @@ msgstr ""
"compiler :"
#: extending/embedding.rst:304
#, fuzzy
msgid ""
"``pythonX.Y-config --ldflags --embed`` 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 :"
"``pythonX.Y-config --ldflags --embed`` vous donnera les drapeaux recommandés "
"lors de l'édition de lien :"
#: extending/embedding.rst:313
msgid ""

View File

@ -911,7 +911,7 @@ msgstr ""
"Vous pouvez également appeler une fonction avec des arguments nommés en "
"utilisant :c:func:`PyObject_Call`, qui accepte les arguments et les "
"arguments nommés. Comme dans l'exemple ci-dessus, nous utilisons :c:func:"
"`Py_BuildValue` pour construire le dictionnaire. ::"
"`Py_BuildValue` pour construire le dictionnaire. ::"
#: extending/extending.rst:628
msgid "Extracting Parameters in Extension Functions"
@ -1728,7 +1728,7 @@ msgstr "La fonction :c:func:`spam_system` est modifiée de manière simple ::"
#: extending/extending.rst:1241
msgid "In the beginning of the module, right after the line ::"
msgstr "Au début du module, immédiatement après la ligne ::"
msgstr "Au début du module, immédiatement après la ligne ::"
#: extending/extending.rst:1245
msgid "two more lines must be added::"

View File

@ -167,7 +167,7 @@ msgstr ""
#: extending/newtypes_tutorial.rst:88
msgid "The second bit is the definition of the type object. ::"
msgstr "La deuxième partie est la définition de l'objet type ::"
msgstr "La deuxième partie est la définition de l'objet type ::"
#: extending/newtypes_tutorial.rst:101
msgid ""
@ -202,7 +202,7 @@ msgid ""
"mentioned above. ::"
msgstr ""
"Cette ligne, obligatoire, initialise le champ ``ob_base`` mentionné "
"précédemment."
"précédemment. ::"
#: extending/newtypes_tutorial.rst:119
msgid ""
@ -298,7 +298,7 @@ msgstr ""
"c:member:`~PyTypeObject.tp_new`, qui est l'équivalent de la méthode Python :"
"meth:`__new__`, mais elle a besoin d'être spécifiée explicitement. Dans ce "
"cas, on se contente de l'implémentation par défaut fournie par la fonction :"
"c:func:`PyType_GenericNew` de l'API."
"c:func:`PyType_GenericNew` de l'API. ::"
#: extending/newtypes_tutorial.rst:173
msgid ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-11-20 22:13+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"PO-Revision-Date: 2023-03-26 17:18+0200\n"
"Last-Translator: Mathieu Dupuy\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.2.2\n"
#: faq/design.rst:3
msgid "Design and History FAQ"
@ -433,7 +433,7 @@ msgstr ""
"une séquence de joindre ses membres avec une constante de chaîne ? ». "
"Malheureusement, ce n'est pas ça. Allez savoir, il semble être bien moins "
"difficile de comprendre ce qui se passe avec :meth:`~str.split` en tant que "
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
#: faq/design.rst:222
msgid ""
@ -594,7 +594,6 @@ msgstr ""
"définir une fonction."
#: faq/design.rst:314
#, fuzzy
msgid ""
"Functions are already first class objects in Python, and can be declared in "
"a local scope. Therefore the only advantage of using a lambda instead of a "
@ -616,18 +615,16 @@ msgstr ""
"Python peut-il être compilé en code machine, en C ou dans un autre langage ?"
#: faq/design.rst:324
#, fuzzy
msgid ""
"`Cython <https://cython.org/>`_ compiles a modified version of Python with "
"optional annotations into C extensions. `Nuitka <https://www.nuitka.net/>`_ "
"is an up-and-coming compiler of Python into C++ code, aiming to support the "
"full Python language."
msgstr ""
"`Cython <http://cython.org/>`_ compile une version modifiée de Python avec "
"des annotations optionnelles en extensions C. `Nuitka <http://www.nuitka.net/"
">`_ est un nouveau compilateur de Python vers C++, visant à supporter le "
"langage Python entièrement. Pour compiler en Java, vous pouvez regarder `VOC "
"<https://voc.readthedocs.io>`_."
"`Cython <https://cython.org/>`_ compile une version modifiée de Python avec "
"des annotations optionnelles en extensions C. `Nuitka <https://www.nuitka."
"net/>`_ est un compilateur en devenir de Python vers C++, visant à supporter "
"le langage Python dans son entièreté."
#: faq/design.rst:331
msgid "How does Python manage memory?"
@ -653,7 +650,6 @@ msgstr ""
"d'obtenir des statistiques de débogage et ajuster ses paramètres."
#: faq/design.rst:341
#, fuzzy
msgid ""
"Other implementations (such as `Jython <https://www.jython.org>`_ or `PyPy "
"<https://www.pypy.org>`_), however, can rely on a different mechanism such "
@ -661,8 +657,8 @@ msgid ""
"porting problems if your Python code depends on the behavior of the "
"reference counting implementation."
msgstr ""
"Cependant, d'autres implémentations (par exemple `Jython <http://www.jython."
"org>`_ ou `PyPy <http://www.pypy.org>`_) peuvent compter sur un mécanisme "
"Cependant, d'autres implémentations (par exemple `Jython <https://www.jython."
"org>`_ ou `PyPy <https://www.pypy.org>`_) peuvent compter sur un mécanisme "
"différent comme un véritable ramasse-miettes. Cette différence peut causer "
"de subtils problèmes de portabilité si votre code Python dépend du "
"comportement de l'implémentation du compteur de références."
@ -1283,7 +1279,7 @@ msgid ""
"If you're trying to build a pathname for a DOS command, try e.g. one of ::"
msgstr ""
"Si vous essayez de construire un chemin d'accès pour une commande DOS, "
"essayez par exemple l'un de ceux-ci ::"
"essayez par exemple l'un de ceux-ci ::"
#: faq/design.rst:653
msgid "Why doesn't Python have a \"with\" statement for attribute assignments?"
@ -1408,7 +1404,7 @@ msgstr ""
#: faq/design.rst:725
msgid "versus ::"
msgstr "et cela ::"
msgstr "et cela ::"
#: faq/design.rst:730
msgid ""

View File

@ -279,12 +279,12 @@ msgstr ""
#: faq/extending.rst:149
msgid "The easiest way to do this is to use the :class:`io.StringIO` class:"
msgstr ""
"La façon la plus simple consiste à utiliser la classe :class:`io.StringIO` :"
"La façon la plus simple consiste à utiliser la classe :class:`io.StringIO` :"
#: faq/extending.rst:161
msgid "A custom object to do the same would look like this:"
msgstr ""
"Le code d'un objet à la fonctionnalité similaire ressemblerait à ceci :"
"Le code d'un objet à la fonctionnalité similaire ressemblerait à ceci :"
#: faq/extending.rst:182
msgid "How do I access a module written in Python from C?"
@ -382,11 +382,11 @@ msgstr ""
#: faq/extending.rst:229
msgid "In your ``.gdbinit`` file (or interactively), add the command:"
msgstr ""
"Dans votre fichier ``.gdbinit`` (ou manuellement), ajoutez la commande :"
"Dans votre fichier ``.gdbinit`` (ou manuellement), ajoutez la commande :"
#: faq/extending.rst:235
msgid "Then, when you run GDB:"
msgstr "Ensuite, lorsque vous exécutez GDB :"
msgstr "Ensuite, lorsque vous exécutez GDB :"
#: faq/extending.rst:247
msgid ""

View File

@ -6,14 +6,14 @@ 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: 2021-12-16 02:40+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"PO-Revision-Date: 2023-03-27 16:40+0200\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.2.2\n"
#: faq/general.rst:5
msgid "General Python FAQ"
@ -152,7 +152,7 @@ msgid ""
"Rossum:"
msgstr ""
"Voici un *très* bref résumé de comment tout a commencé, écrit par Guido van "
"Rossum (puis traduit en français) :"
"Rossum (puis traduit en français) :"
#: faq/general.rst:71
msgid ""
@ -255,7 +255,6 @@ 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 "
@ -270,7 +269,7 @@ 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 "
"régulières, Unicode, calcul de différences entre les fichiers), les "
"protocoles Internet (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, script CGI), "
"protocoles internet (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, script CGI), "
"ingénierie logicielle (tests unitaires, enregistrement, analyse de code "
"Python), et interfaces pour systèmes d'exploitation (appels système, système "
"de fichiers, connecteurs TCP/IP). Regardez la table des matières :ref:"
@ -427,7 +426,6 @@ msgstr ""
"sont aussi disponibles à https://docs.python.org/3/download.html."
#: faq/general.rst:190
#, fuzzy
msgid ""
"The documentation is written in reStructuredText and processed by `the "
"Sphinx documentation tool <https://www.sphinx-doc.org/>`__. The "
@ -435,7 +433,7 @@ msgid ""
"distribution."
msgstr ""
"La documentation est écrite au format *reStructuredText* et traitée par "
"l'outil de documentation `Sphinx <http://sphinx-doc.org/>`__. La source du "
"l'outil de documentation `Sphinx <https://sphinx-doc.org/>`__. La source du "
"*reStructuredText* pour la documentation constitue une partie des sources de "
"Python."
@ -534,13 +532,12 @@ 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."
msgstr ""
"Pour reporter un bogue ou soumettre un correctif, merci d'utiliser https://"
"bugs.python.org/."
"Pour signaler un bogue ou soumettre un correctif, utilisez le système de "
"suivi des problèmes à l'adresse https://github.com/python/cpython/issues."
#: faq/general.rst:242
msgid ""
@ -563,13 +560,12 @@ msgstr ""
"Python."
#: faq/general.rst:251
#, fuzzy
msgid ""
"The `very first article <https://ir.cwi.nl/pub/18204>`_ 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."
"Le `tout premier article <https://ir.cwi.nl/pub/18204>`_ sur Python a été "
"écrit en 1991 et est aujourd'hui assez dépassé."
#: faq/general.rst:254
msgid ""
@ -607,14 +603,13 @@ 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
#, fuzzy
msgid ""
"The Python project's infrastructure is located all over the world and is "
"managed by the Python Infrastructure Team. Details `here <https://infra.psf."
"io>`__."
msgstr ""
"L'infrastructure du projet Python est située dans le monde entier et est "
"gérée par l'équipe de l'infrastructure Python. Plus de détails `ici <http://"
"gérée par l'équipe de l'infrastructure Python. Plus de détails `ici <https://"
"infra.psf.io>`__."
#: faq/general.rst:277
@ -679,7 +674,6 @@ msgstr ""
"versions correctives."
#: faq/general.rst:309
#, fuzzy
msgid ""
"The latest stable releases can always be found on the `Python download page "
"<https://www.python.org/downloads/>`_. There are two production-ready "
@ -692,7 +686,7 @@ msgstr ""
"deux versions stables de Python : 2.x et 3.x, mais seule la version 3 est "
"recommandée, c'est celle qui est compatible avec les bibliothèques les plus "
"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/>`_."
"désormais plus maintenu <https://peps.python.org/pep-0373/>`_."
#: faq/general.rst:316
msgid "How many people are using Python?"
@ -743,7 +737,6 @@ msgstr ""
"entreprises divers."
#: faq/general.rst:337
#, fuzzy
msgid ""
"High-profile Python projects include `the Mailman mailing list manager "
"<https://www.list.org>`_ and `the Zope application server <https://www.zope."
@ -752,9 +745,9 @@ msgid ""
"administration software in Python. Companies that use Python internally "
"include Google, Yahoo, and Lucasfilm Ltd."
msgstr ""
"Les projets Python à grande visibilité incluent `Mailman mailing list "
"manager <http://www.list.org>`_ et `l'application serveur Zope <http://www."
"zope.org>`_. Plusieurs distributions Linux, notamment `Red Hat <https://www."
"Les projets Python les plus connus incluent `Mailman mailing list manager "
"<https://www.list.org>`_ et `l'application serveur Zope <https://www.zope."
"org>`_. Plusieurs distributions Linux, notamment `Red Hat <https://www."
"redhat.com>`_, qui a écrit tout ou partie de son installateur et de son "
"logiciel d'administration système en Python. Les entreprises qui utilisent "
"Python en interne comprennent Google, Yahoo, et Lucasfilm Ltd."
@ -764,7 +757,6 @@ 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
msgid ""
"See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). "
"PEPs are design documents describing a suggested new feature for Python, "
@ -773,8 +765,8 @@ msgid ""
"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 "
"des documents techniques qui décrivent une nouvelle fonctionnalité qui a été "
"Proposals* », ou *PEP*) sur https://peps.python.org/. Les PEP sont des "
"documents techniques qui décrivent une nouvelle fonctionnalité qui a été "
"suggérée pour Python, en fournissant une spécification technique concise et "
"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."
@ -918,7 +910,6 @@ msgstr ""
"ils travaillent."
#: faq/general.rst:437
#, fuzzy
msgid ""
"There are also good IDEs for Python. IDLE is a cross-platform IDE for "
"Python that is written in Python using Tkinter. Emacs users will be happy to "
@ -930,13 +921,12 @@ msgid ""
msgstr ""
"Il y a aussi de bons environnements de développement intégrés (EDIs) pour "
"Python. IDLE est un EDI multiplateformes pour Python qui est écrit en Python "
"en utilisant Tkinter. *PythonWin* est un IDE spécifique à Windows. Les "
"utilisateurs d'Emacs seront heureux d'apprendre qu'il y a un très bon mode "
"Python pour Emacs. Tous ces environnements de développement intégrés "
"fournissent la coloration syntaxique, l'auto-indentation, et l'accès à "
"l'interpréteur interactif durant le codage. Consultez `le wiki Python "
"<https://wiki.python.org/moin/PythonEditors>`_ pour une liste complète des "
"environnements de développement intégrés."
"en utilisant Tkinter. Les utilisateurs d'Emacs seront heureux d'apprendre "
"qu'il y a un très bon mode Python pour Emacs. Tous ces environnements de "
"développement intégrés fournissent la coloration syntaxique, l'auto-"
"indentation, et l'accès à l'interpréteur interactif durant le codage. "
"Consultez `le wiki Python <https://wiki.python.org/moin/PythonEditors>`_ "
"pour une liste complète des environnements de développement intégrés."
#: faq/general.rst:445
msgid ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2021-12-16 02:34+0100\n"
"PO-Revision-Date: 2023-05-23 21:32+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.3.1\n"
#: faq/gui.rst:5
msgid "Graphic User Interface FAQ"
@ -93,7 +93,6 @@ msgstr ""
"d'environnement :envvar:`TCL_LIBRARY` et :envvar:`TK_LIBRARY`."
#: faq/gui.rst:49
#, fuzzy
msgid ""
"To get truly stand-alone applications, the Tcl scripts that form the library "
"have to be integrated into the application as well. One tool supporting that "
@ -103,7 +102,7 @@ msgstr ""
"Pour obtenir des applications vraiment autonomes, les scripts *Tcl* qui "
"forment la bibliothèque doivent également être intégrés dans l'application. "
"Un outil supportant cela est *SAM* (modules autonomes), qui fait partie de "
"la distribution *Tix* (http://tix.sourceforge.net/)."
"la distribution *Tix* (https://tix.sourceforge.net/)."
#: faq/gui.rst:54
msgid ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2021-12-06 20:15+0100\n"
"Last-Translator: Fipaddict <fipaddict@protonmail.com>\n"
"PO-Revision-Date: 2023-03-27 18:03+0200\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.2.2\n"
#: faq/library.rst:5
msgid "Library and Extension FAQ"
@ -127,7 +127,7 @@ msgid ""
"to write ::"
msgstr ""
"Il y a plusieurs façons de remplir la seconde. La plus simple consiste à "
"écrire au tout début du fichier ::"
"écrire au tout début du fichier ::"
#: faq/library.rst:61
msgid ""
@ -175,7 +175,7 @@ msgid ""
"However, you can fix that by adding ::"
msgstr ""
"Le léger inconvénient est que cela définit la variable *__doc__* du script. "
"Cependant, il est possible de corriger cela en ajoutant ::"
"Cependant, il est possible de corriger cela en ajoutant ::"
#: faq/library.rst:94
msgid "Is there a curses/termcap package for Python?"
@ -232,7 +232,7 @@ msgid ""
"wrong argument list. It is called as ::"
msgstr ""
"Le problème le plus courant est d'appeler le gestionnaire de signaux avec "
"les mauvais arguments. Un gestionnaire est appelé de la façon suivante ::"
"les mauvais arguments. Un gestionnaire est appelé de la façon suivante ::"
#: faq/library.rst:125
msgid "so it should be declared with two parameters::"
@ -286,7 +286,7 @@ msgstr ""
#: faq/library.rst:152
msgid "The \"global main logic\" of your program may be as simple as ::"
msgstr ""
"La « logique générale » d'un programme devrait être aussi simple que ::"
"La « logique générale » d'un programme devrait être aussi simple que ::"
#: faq/library.rst:157
msgid "at the bottom of the main module of your program."
@ -337,7 +337,6 @@ msgid "How do I create documentation from doc strings?"
msgstr "Comment générer la documentation à partir des *docstrings* ?"
#: faq/library.rst:181
#, fuzzy
msgid ""
"The :mod:`pydoc` module can create HTML from the doc strings in your Python "
"source code. An alternative for creating API documentation purely from "
@ -346,8 +345,8 @@ msgid ""
msgstr ""
"Le module :mod:`pydoc` peut générer du HTML à partir des *docstrings* du "
"code source Python. Il est aussi possible de documenter une API uniquement à "
"partir des *docstrings* à l'aide de `epydoc <http://epydoc.sourceforge.net/"
">`_. `Sphinx <http://sphinx-doc.org>`_ peut également inclure du contenu "
"partir des *docstrings* à l'aide de `epydoc <https://epydoc.sourceforge.net/"
">`_. `Sphinx <https://sphinx-doc.org>`_ peut également inclure du contenu "
"provenant de *docstrings*."
#: faq/library.rst:188
@ -893,7 +892,7 @@ msgstr "Programmation réseau et Internet"
#: faq/library.rst:661
msgid "What WWW tools are there for Python?"
msgstr "Quels sont les outils Python dédiés à la Toile ?"
msgstr "Quels sont les outils Python dédiés à au web ?"
#: faq/library.rst:663
msgid ""
@ -903,7 +902,7 @@ msgid ""
msgstr ""
"Référez-vous aux chapitres intitulés :ref:`internet` et :ref:`netdata` dans "
"le manuel de référence de la bibliothèque. Python a de nombreux modules pour "
"construire des applications de Toile côté client comme côté serveur."
"construire des applications web côté client comme côté serveur."
#: faq/library.rst:669
msgid ""
@ -914,15 +913,14 @@ msgstr ""
"l'adresse https://wiki.python.org/moin/WebProgramming\\ ."
#: faq/library.rst:672
#, fuzzy
msgid ""
"Cameron Laird maintains a useful set of pages about Python web technologies "
"at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp."
"lang.python/web_python."
msgstr ""
"Cameron Laird maintient un ensemble intéressant d'articles sur les "
"technologies Python dédiées à la Toile à l'adresse http://phaseit.net/claird/"
"comp.lang.python/web_python."
"technologies Python dédiées au web à l'adresse https://web.archive.org/"
"web/20210224183619/http://phaseit.net/claird/comp.lang.python/web_python."
#: faq/library.rst:677
msgid "How can I mimic CGI form submission (METHOD=POST)?"
@ -933,8 +931,8 @@ msgid ""
"I would like to retrieve web pages that are the result of POSTing a form. Is "
"there existing code that would let me do this easily?"
msgstr ""
"J'aimerais récupérer la page de retour d'un envoi de formulaire sur la "
"Toile. Existe-t-il déjà du code qui pourrait m'aider à le faire facilement ?"
"J'aimerais récupérer la page web d'un envoi de formulaire via POST. Existe-t-"
"il déjà du code qui pourrait m'aider à le faire facilement ?"
#: faq/library.rst:682
msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::"
@ -964,7 +962,7 @@ msgid ""
"You can find a collection of useful links on the `Web Programming wiki page "
"<https://wiki.python.org/moin/WebProgramming>`_."
msgstr ""
"La `page wiki de la programmation Toile <https://wiki.python.org/moin/"
"La `page wiki de la programmation web <https://wiki.python.org/moin/"
"WebProgramming>`_ (en anglais) répertorie un ensemble de liens pertinents."
#: faq/library.rst:718

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2022-11-20 22:12+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -993,7 +993,7 @@ msgstr "Ou en utilisant un objet appelable ::"
#: faq/programming.rst:598
msgid "In both cases, ::"
msgstr "Dans les deux cas ::"
msgstr "Dans les deux cas ::"
#: faq/programming.rst:602
msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``."
@ -1326,7 +1326,7 @@ msgid ""
msgstr ""
"Essayer d'utiliser l'opérateur d'accès à un attribut sur un entier littéral "
"conduit à une erreur de syntaxe car le point est compris comme un séparateur "
"décimal en notation anglo-saxonne :"
"décimal en notation anglo-saxonne ::"
#: faq/programming.rst:859
msgid ""
@ -1906,7 +1906,7 @@ msgid ""
msgstr ""
"Si tous les éléments de la liste peuvent être utilisés comme des clés de "
"dictionnaire (c'est-à-dire, qu'elles sont toutes :term:`hachables "
"<hashable>`) ceci est souvent plus rapide ::"
"<hashable>`) ceci est souvent plus rapide ::"
#: faq/programming.rst:1225
msgid ""
@ -1930,7 +1930,7 @@ msgstr ""
"Comme pour supprimer les doublons, il est possible ditérer explicitement à "
"lenvers avec une condition de suppression. Cependant, il est plus facile et "
"plus rapide dutiliser le remplacement des tranches par une itération avant, "
"implicite ou explicite. Voici trois variantes. ::"
"implicite ou explicite. Voici trois variantes ::"
#: faq/programming.rst:1241
msgid "The list comprehension may be fastest."
@ -2006,8 +2006,7 @@ msgstr "Elle semble correcte si on l'affiche :"
#: faq/programming.rst:1290
msgid "But when you assign a value, it shows up in multiple places:"
msgstr ""
"Mais quand vous affectez une valeur, celle-ci apparaît à plusieurs "
"endroits ::"
"Mais quand vous affectez une valeur, celle-ci apparaît à plusieurs endroits :"
#: faq/programming.rst:1302
msgid ""
@ -2221,7 +2220,7 @@ msgid ""
"pick out the element you want. ::"
msgstr ""
"Fusionnez-les dans un itérateur de *n*-uplets, ordonnez la liste obtenue, "
"puis choisissez l'élément que vous voulez ::"
"puis choisissez l'élément que vous voulez ::"
#: faq/programming.rst:1461
msgid "Objects"
@ -2578,7 +2577,7 @@ msgstr ""
msgid "You could also try a variable-length argument list, e.g. ::"
msgstr ""
"Vous pouvez aussi utiliser une liste d'arguments de longueur variable, par "
"exemple ::"
"exemple ::"
#: faq/programming.rst:1732
msgid "The same approach works for all method definitions."
@ -2869,7 +2868,7 @@ msgstr ""
"peu de subtilité lorsque ``None`` est une valeur acceptable pour le "
"paramètre. Dans ces cas, il faut créer un objet singleton dit "
 sentinelle », distinct de toute valeur acceptable. Voici par exemple "
"comment écrire une méthode qui émule :meth:`dict.pop` :"
"comment écrire une méthode qui émule :meth:`dict.pop` ::"
#: faq/programming.rst:1901
msgid ""
@ -2959,10 +2958,11 @@ msgstr ""
"instances, sans limite de nombre."
#: faq/programming.rst:1982
#, fuzzy
msgid ""
"The *lru_cache* approach works with methods that have hashable arguments. "
"It creates a reference to the instance unless special efforts are made to "
"pass in weak references."
"The *lru_cache* approach works with methods that have :term:`hashable` "
"arguments. It creates a reference to the instance unless special efforts "
"are made to pass in weak references."
msgstr ""
"La fonction ``lru_cache`` s'applique quant à elle aux méthodes dont les "
"arguments sont hachables. Elle crée une référence forte à l'instance, sauf à "
@ -3322,7 +3322,7 @@ msgid ""
"containing statements like ::"
msgstr ""
"Attention, cette technique ne marche pas systématiquement. En particulier, "
"les modules qui contiennent des instructions comme ::"
"les modules qui contiennent des instructions comme ::"
#: faq/programming.rst:2197
msgid ""
@ -3371,7 +3371,7 @@ msgstr ""
#~ msgstr ""
#~ "Bien évidemment, *freeze* nécessite un compilateur C. Il existe d'autres "
#~ "outils qui peuvent s'en passer. Un de ceux-ci est py2exe de Thomas Heller "
#~ "(pour Windows uniquement) disponible sur"
#~ "(pour Windows uniquement) disponible sur :"
#~ msgid ""
#~ "Pydb is a version of the standard Python debugger pdb, modified for use "

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-27 12:17+0200\n"
"PO-Revision-Date: 2023-03-26 11:57+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.2.2\n"
#: faq/windows.rst:9
msgid "Python on Windows FAQ"
@ -60,7 +60,7 @@ msgid ""
"you might just as easily see something like:"
msgstr ""
"La lettre peut être différente, et il peut y avoir d'autres choses à la "
"suite, alors il se peut que ça ressemble également à ça :"
"suite, alors il se peut que ça ressemble également à ça :"
#: faq/windows.rst:46
msgid ""
@ -286,10 +286,9 @@ msgid ""
"follows:"
msgstr ""
"L'intégration de l'interpréteur Python dans une application Windows peut se "
"résumer comme suit :"
"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 "
@ -339,7 +338,6 @@ 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 "
@ -397,18 +395,17 @@ msgstr ""
"construire *pythonNN.dll*."
#: faq/windows.rst:221
#, fuzzy
msgid ""
"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."
msgstr ""
"Problème 1 : Les fonctions dites de \"Très Haut Niveau\" qui prennent les "
"arguments FILE * ne fonctionneront pas dans un environnement multi-"
"compilateur car chaque compilateur aura une notion différente de la "
"structure de FILE. Du point de vue de l'implémentation, il s'agit de "
"fonctions de très bas niveau."
"Problème 1 : Les fonctions dites de « Très Haut Niveau » qui prennent les "
"arguments ``FILE *`` ne fonctionneront pas dans un environnement multi-"
"compilateur car chaque compilateur aura une notion différente de ``struct "
"FILE``. Du point de vue de l'implémentation, il s'agit de fonctions de très "
"bas niveau."
#: faq/windows.rst:226
msgid ""
@ -416,7 +413,7 @@ msgid ""
"void functions:"
msgstr ""
"Problème 2 : SWIG génère le code suivant lors de la génération "
"*d'encapsuleurs* pour annuler les fonctions :"
"*d'encapsuleurs* pour annuler les fonctions :"
#: faq/windows.rst:235
msgid ""
@ -427,7 +424,7 @@ msgstr ""
"Hélas, *Py_None* est une macro qui se développe en référence à une structure "
"de données complexe appelée *_Py_NoneStruct* dans *pythonNN.dll*. Encore "
"une fois, ce code échouera dans un environnement multi-compilateur. "
"Remplacez ce code par :"
"Remplacez ce code par :"
#: faq/windows.rst:243
msgid ""
@ -521,6 +518,8 @@ msgstr ""
#: faq/windows.rst:281
msgid "How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?"
msgstr ""
"Comment résoudre l'erreur « ``api-ms-win-crt-runtime-l1-1-0.dll`` "
"manquante » ?"
#: faq/windows.rst:283
msgid ""
@ -530,6 +529,13 @@ msgid ""
"issue, visit the `Microsoft support page <https://support.microsoft.com/en-"
"us/help/3118401/>`_ for guidance on manually installing the C Runtime update."
msgstr ""
"Ce problème peut se produire avec Python 3.5 et les versions ultérieures "
"lorsque vous utilisez Windows 8.1 ou une version antérieure sans que toutes "
"les mises à jour aient été installées. Assurez-vous d'abord que votre "
"système d'exploitation est pris en charge et qu'il est à jour, et si cela ne "
"résout pas le problème, visitez la `page dassistance de Microsoft <https://"
"support.microsoft.com/en-us/help/3118401/>`_ pour obtenir des conseils sur "
"l'installation manuelle de la mise à jour du *C Runtime*."
#~ msgid ""
#~ "Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."

View File

@ -6,7 +6,7 @@ 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 16:33+0100\n"
"PO-Revision-Date: 2023-03-19 13:06+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -329,15 +329,14 @@ msgid "attribute"
msgstr "attribut"
#: glossary.rst:139
#, fuzzy
msgid ""
"A value associated with an object which is usually referenced by name using "
"dotted expressions. For example, if an object *o* has an attribute *a* it "
"would be referenced as *o.a*."
msgstr ""
"Valeur associée à un objet et désignée par son nom via une notation "
"utilisant des points. Par exemple, si un objet *o* possède un attribut *a*, "
"il sera référencé par *o.a*."
"Valeur associée à un objet et habituellement désignée par son nom *via* une "
"notation utilisant des points. Par exemple, si un objet *o* possède un "
"attribut *a*, cet attribut est référencé par *o.a*."
#: glossary.rst:144
msgid ""
@ -347,10 +346,15 @@ msgid ""
"using a dotted expression, and would instead need to be retrieved with :func:"
"`getattr`."
msgstr ""
"Il est possible de donner à un objet un attribut dont le nom n'est pas un "
"identifiant tel que défini pour les :ref:`identifiers`, par exemple en "
"utilisant :func:`setattr`, si l'objet le permet. Un tel attribut ne sera pas "
"accessible à l'aide d'une expression pointée et on devra y accéder avec :"
"func:`getattr`."
#: glossary.rst:149
msgid "awaitable"
msgstr "awaitable"
msgstr "attendable (*awaitable*)"
#: glossary.rst:151
msgid ""
@ -446,12 +450,13 @@ msgid ""
"with binary data; these include compression, saving to a binary file, and "
"sending over a socket."
msgstr ""
"Un objet gérant les :ref:`bufferobjects` et pouvant exporter un tampon "
"(*buffer* en anglais) C-:term:`contiguous`. Cela inclut les objets :class:"
"`bytes`, :class:`bytearray` et :class:`array.array`, ainsi que beaucoup "
"d'objets :class:`memoryview`. Les objets bytes-compatibles peuvent être "
"utilisés pour diverses opérations sur des données binaires, comme la "
"compression, la sauvegarde dans un fichier binaire ou l'envoi sur le réseau."
"Un objet gérant le :ref:`protocole tampon <bufferobjects>` et pouvant "
"exporter un tampon (*buffer* en anglais) C-:term:`contigu <contiguous>`. "
"Cela inclut les objets :class:`bytes`, :class:`bytearray` et :class:`array."
"array`, ainsi que beaucoup d'objets :class:`memoryview`. Les objets octets-"
"compatibles peuvent être utilisés pour diverses opérations sur des données "
"binaires, comme la compression, la sauvegarde dans un fichier binaire ou "
"l'envoi sur le réseau."
#: glossary.rst:190
msgid ""
@ -467,8 +472,8 @@ msgstr ""
"like objects*. Par exemple, :class:`bytearray` ou une :class:`memoryview` "
"d'un :class:`bytearray` en font partie. D'autres opérations nécessitent de "
"travailler sur des données binaires stockées dans des objets immuables "
"(*\"read-only bytes-like objects\"*), par exemple :class:`bytes` ou :class:"
"`memoryview` d'un objet :class:`byte`."
"(« *objets octets-compatibles en lecture seule* »), par exemple des :class:"
"`bytes` ou des :class:`memoryview` d'un objet :class:`bytes`."
#: glossary.rst:198
msgid "bytecode"
@ -504,15 +509,16 @@ msgstr ""
"instructions du code intermédiaire."
#: glossary.rst:212
#, fuzzy
msgid "callable"
msgstr "fonction de rappel"
msgstr "appelable (*callable*)"
#: glossary.rst:214
msgid ""
"A callable is an object that can be called, possibly with a set of arguments "
"(see :term:`argument`), with the following syntax::"
msgstr ""
"Un appelable est un objet qui peut être appelé, éventuellement avec un "
"ensemble d'arguments (voir :term:`argument`), avec la syntaxe suivante ::"
#: glossary.rst:219
msgid ""
@ -520,16 +526,21 @@ msgid ""
"instance of a class that implements the :meth:`~object.__call__` method is "
"also a callable."
msgstr ""
"Une :term:`fonction <function>`, et par extension une :term:`méthode "
"<method>`, est un appelable. Une instance d'une classe qui implémente la "
"méthode :meth:`~object.__call__` est également un appelable."
#: glossary.rst:222
msgid "callback"
msgstr "fonction de rappel"
msgstr "fonction de rappel (*callback*)"
#: glossary.rst:224
msgid ""
"A subroutine function which is passed as an argument to be executed at some "
"point in the future."
msgstr "Une sous-fonction passée en argument pour être exécutée plus tard."
msgstr ""
"Une fonction (classique, par opposition à une coroutine) passée en argument "
"pour être exécutée plus tard."
#: glossary.rst:226
msgid "class"
@ -788,8 +799,8 @@ msgid ""
msgstr ""
"Écriture concise pour traiter tout ou partie des éléments d'un itérable et "
"renvoyer un dictionnaire contenant les résultats. ``results = {n: n ** 2 for "
"n in range(10)}`` génère un dictionnaire contenant des clés ``n`` liée à "
"leur valeurs ``n ** 2``. Voir :ref:`comprehensions`."
"n in range(10)}`` génère un dictionnaire contenant des clés ``n`` liées à "
"leurs valeurs ``n ** 2``. Voir :ref:`compréhensions <comprehensions>`."
#: glossary.rst:338
msgid "dictionary view"
@ -811,7 +822,7 @@ msgstr ""
#: glossary.rst:346
msgid "docstring"
msgstr "*docstring* (chaîne de documentation)"
msgstr "chaîne de documentation (*docstring*)"
#: glossary.rst:348
msgid ""
@ -829,7 +840,7 @@ msgstr ""
#: glossary.rst:354
msgid "duck-typing"
msgstr "duck-typing"
msgstr "typage canard (*duck-typing*)"
#: glossary.rst:356
msgid ""
@ -1299,7 +1310,6 @@ msgstr ""
"machines ayant plusieurs processeurs."
#: glossary.rst:551
#, fuzzy
msgid ""
"However, some extension modules, either standard or third-party, are "
"designed so as to release the GIL when doing computationally intensive tasks "
@ -1309,7 +1319,7 @@ msgstr ""
"Cependant, certains modules d'extension, standards ou non, sont conçus de "
"manière à libérer le GIL lorsqu'ils effectuent des tâches lourdes tel que la "
"compression ou le hachage. De la même manière, le GIL est toujours libéré "
"lors des entrées / sorties."
"lors des entrées-sorties."
#: glossary.rst:556
msgid ""
@ -1388,14 +1398,14 @@ msgid "IDLE"
msgstr "IDLE"
#: glossary.rst:586
#, fuzzy
msgid ""
"An Integrated Development and Learning Environment for Python. :ref:`idle` "
"is a basic editor and interpreter environment which ships with the standard "
"distribution of Python."
msgstr ""
"Environnement de développement intégré pour Python. IDLE est un éditeur "
"basique et un interpréteur livré avec la distribution standard de Python."
"Environnement d'apprentissage et de développement intégré pour Python. :ref:"
"`IDLE <idle>` est un éditeur basique et un interpréteur livré avec la "
"distribution standard de Python."
#: glossary.rst:589
msgid "immutable"
@ -1434,7 +1444,7 @@ msgstr ""
#: glossary.rst:603
msgid "importing"
msgstr "importing"
msgstr "importation"
#: glossary.rst:605
msgid ""
@ -1541,10 +1551,11 @@ msgid ""
"term:`sequence` semantics."
msgstr ""
"Objet capable de renvoyer ses éléments un à un. Par exemple, tous les types "
"séquence (comme :class:`list`, :class:`str`, et :class:`tuple`), quelques "
"autres types comme :class:`dict`, les :term:`objets fichiers <file object>` "
"ou tout objet d'une classe ayant une méthode :meth:`__iter__` ou :meth:"
"`__getitem__` qui implémente la sémantique d'une :term:`séquence <sequence>`."
"de séquences (comme :class:`list`, :class:`str`, et :class:`tuple`), "
"quelques autres types comme :class:`dict`, les :term:`objets fichiers <file "
"object>` ou tout objet d'une classe ayant une méthode :meth:`__iter__` ou :"
"meth:`__getitem__` qui implémente la sémantique d'une :term:`séquence "
"<sequence>`."
#: glossary.rst:650
msgid ""
@ -1756,7 +1767,7 @@ msgstr ""
#: glossary.rst:735
msgid "list"
msgstr "list"
msgstr "liste"
#: glossary.rst:737
msgid ""
@ -1976,7 +1987,7 @@ msgstr ""
#: glossary.rst:818
msgid "named tuple"
msgstr "n-uplet nommé"
msgstr "*n*-uplet nommé"
#: glossary.rst:820
msgid ""
@ -2122,7 +2133,6 @@ msgid "package"
msgstr "paquet"
#: glossary.rst:884
#, fuzzy
msgid ""
"A Python :term:`module` which can contain submodules or recursively, "
"subpackages. Technically, a package is a Python module with a ``__path__`` "
@ -2172,7 +2182,7 @@ msgstr ""
":dfn:`positional-only` : définit un argument qui ne peut être fourni que par "
"position. Les paramètres *positional-only* peuvent être définis en insérant "
"un caractère \"/\" dans la liste de paramètres de la définition de fonction "
"après eux. Par exemple : *posonly1* et *posonly2* dans le code suivant ::"
"après eux. Par exemple : *posonly1* et *posonly2* dans le code suivant ::"
#: glossary.rst:913
msgid ""
@ -2345,7 +2355,7 @@ msgid ""
"responsible for building consensus within the community and documenting "
"dissenting opinions."
msgstr ""
"Les PEPs sont censés être les principaux mécanismes pour proposer de "
"Les PEP sont censées être les principaux mécanismes pour proposer de "
"nouvelles fonctionnalités majeures, pour recueillir les commentaires de la "
"communauté sur une question et pour documenter les décisions de conception "
"qui sont intégrées en Python. Lauteur du PEP est responsable de "
@ -2838,8 +2848,8 @@ msgid ""
"Type hints of global variables, class attributes, and functions, but not "
"local variables, can be accessed using :func:`typing.get_type_hints`."
msgstr ""
"Les indicateurs de type de variables globales, d'attributs de classe et de "
"fonctions, mais pas de variables locales, peuvent être consultés en "
"Les indications de type de variables globales, d'attributs de classe et de "
"fonctions, mais pas de variables locales, peuvent être consultées en "
"utilisant :func:`typing.get_type_hints`."
#: glossary.rst:1214
@ -2887,7 +2897,7 @@ msgstr ""
#: glossary.rst:1236
msgid "Variable annotation syntax is explained in section :ref:`annassign`."
msgstr ""
"La syntaxe d'annotation de la variable est expliquée dans la section :ref:"
"La syntaxe d'annotation de variable est expliquée dans la section :ref:"
"`annassign`."
#: glossary.rst:1238

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-12 09:43+0200\n"
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
"PO-Revision-Date: 2023-02-17 10:44+0100\n"
"Last-Translator: CédricM <c.morgantini@free.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.2.2\n"
#: howto/annotations.rst:5
msgid "Annotations Best Practices"
@ -132,6 +132,11 @@ msgid ""
"parent's ``__annotations__``. In Python 3.10 and newer, the child class's "
"annotations will be an empty dict instead."
msgstr ""
"Dans les versions antérieures à Python 3.10, l'accès aux ``__annotations__`` "
"d'une classe qui n'a pas d'annotation mais dont un parent de cette classe en "
"a, aurait renvoyé les ``__annotations__`` de la classe parent. Dans les "
"versions 3.10 et plus récentes, le résultat d'annotations de la classe "
"enfant est un dictionnaire vide."
#: howto/annotations.rst:68
msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older"
@ -175,8 +180,7 @@ msgstr ""
"problème est que, puisque ``__annotations__`` est optionnel sur les classes "
"et que les classes peuvent hériter des attributs de leurs classes de base, "
"accéder à l'attribut ``__annotations__`` d'une classe peut par inadvertance "
"renvoyer le dictionnaire d'annotations d'une *classe de base.* Par "
"exemple : ::"
"renvoyer le dictionnaire d'annotations d'une *classe de base.* Par exemple ::"
#: howto/annotations.rst:98
msgid "This will print the annotations dict from ``Base``, not ``Derived``."
@ -208,7 +212,7 @@ msgid ""
msgstr ""
"Pour résumer, voici un exemple de code qui accède en toute sécurité à "
"l'attribut ``__annotations__`` d'un objet quelconque en Python 3.9 et "
"antérieur : ::"
"antérieur ::"
#: howto/annotations.rst:118
msgid ""
@ -453,7 +457,7 @@ msgstr ""
"Si Python convertit vos annotations en chaînes de caractères (en utilisant "
"``from __future__ import annotations``), et que vous spécifiez une chaîne de "
"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 : ::"
"fait, l'annotation est mise entre guillemets *deux fois*. Par exemple ::"
#: howto/annotations.rst:231
msgid ""

View File

@ -58,11 +58,11 @@ msgid ""
"introductory tutorial by making use of the :command:`ls` command:"
msgstr ""
"Commençons par l'utilisation de la commande :command:`ls` pour voir le type "
"de fonctionnalité que nous allons étudier dans ce tutoriel d'introduction :"
"de fonctionnalité que nous allons étudier dans ce tutoriel d'introduction :"
#: howto/argparse.rst:46
msgid "A few concepts we can learn from the four commands:"
msgstr "Quelques concepts que l'on peut apprendre avec les quatre commandes :"
msgstr "Quelques concepts que l'on peut apprendre avec les quatre commandes :"
#: howto/argparse.rst:48
msgid ""
@ -122,11 +122,11 @@ msgstr "Commençons par un exemple très simple qui ne fait (quasiment) rien ::
#: howto/argparse.rst:186 howto/argparse.rst:207
msgid "Following is a result of running the code:"
msgstr "Ce qui suit est le résultat de l'exécution du code :"
msgstr "Ce qui suit est le résultat de l'exécution du code :"
#: howto/argparse.rst:252 howto/argparse.rst:296
msgid "Here is what is happening:"
msgstr "Voilà ce qu'il se passe :"
msgstr "Voilà ce qu'il se passe :"
#: howto/argparse.rst:97
msgid ""
@ -166,11 +166,11 @@ msgstr "Un exemple ::"
#: howto/argparse.rst:120
msgid "And running the code:"
msgstr "On exécute le code :"
msgstr "On exécute le code :"
#: howto/argparse.rst:138
msgid "Here is what's happening:"
msgstr "Voilà ce qu'il se passe :"
msgstr "Voilà ce qu'il se passe :"
#: howto/argparse.rst:140
msgid ""
@ -223,7 +223,7 @@ msgstr ""
#: howto/argparse.rst:165
msgid "And we get:"
msgstr "Et on obtient :"
msgstr "Et on obtient :"
#: howto/argparse.rst:178
msgid "Now, how about doing something even more useful::"
@ -263,7 +263,7 @@ msgstr ""
#: howto/argparse.rst:280 howto/argparse.rst:430
msgid "And the output:"
msgstr "Et le résultat :"
msgstr "Et le résultat :"
#: howto/argparse.rst:254
msgid ""
@ -353,7 +353,7 @@ msgstr ""
#: howto/argparse.rst:326
msgid "And here goes:"
msgstr "Et voilà :"
msgstr "Et voilà :"
#: howto/argparse.rst:339
msgid "Note that the new ability is also reflected in the help text."
@ -369,7 +369,7 @@ msgstr "Notre programme continue de croître en complexité ::"
#: howto/argparse.rst:360
msgid "And now the output:"
msgstr "Et voilà le résultat :"
msgstr "Et voilà le résultat :"
#: howto/argparse.rst:374
msgid "We've brought back a positional argument, hence the complaint."
@ -481,7 +481,7 @@ msgstr "Corrigeons ::"
#: howto/argparse.rst:539
msgid "And this is what it gives:"
msgstr "Et c'est ce que ça donne :"
msgstr "Et c'est ce que ça donne :"
#: howto/argparse.rst:554
msgid ""
@ -516,7 +516,7 @@ msgstr ""
#: howto/argparse.rst:583
msgid "And:"
msgstr "Et :"
msgstr "Et :"
#: howto/argparse.rst:590
msgid ""
@ -543,7 +543,7 @@ msgstr ""
#: howto/argparse.rst:654
msgid "Output:"
msgstr "Sortie :"
msgstr "Sortie :"
#: howto/argparse.rst:637
msgid ""
@ -583,7 +583,7 @@ msgid ""
msgstr ""
"Notre programme est maintenant plus simple, et nous avons perdu des "
"fonctionnalités pour faire cette démonstration. Peu importe, voici la sortie "
"du programme :"
"du programme :"
#: howto/argparse.rst:714
msgid ""
@ -612,7 +612,7 @@ msgid ""
msgstr ""
"Notez cette nuance dans le texte d'utilisation. Les options ``[-v | -q]`` "
"nous disent que nous pouvons utiliser au choix ``-v`` ou ``-q``, mais pas "
"les deux ensemble :"
"les deux ensemble :"
#: howto/argparse.rst:761
msgid "Conclusion"

View File

@ -1073,7 +1073,7 @@ msgstr ""
"avant les paramètres que vous souhaitez inclure dans le groupe, puis un "
"``]`` seul sur une ligne après ces paramètres. Voici, par exemple, comment "
"``curses.window.addch`` utilise les groupes optionnels pour rendre optionnel "
"les deux premiers paramètres ainsi que le dernier :"
"les deux premiers paramètres ainsi que le dernier ::"
#: howto/clinic.rst:699
msgid "Notes:"

View File

@ -423,7 +423,7 @@ msgstr ""
"partie du tampon à la fois. La création d'un tampon nécessite de fournir sa "
"hauteur et sa largeur, tandis que pour le rafraîchissement du tampon, vous "
"devez fournir les coordonnées de la zone de l'écran où une partie du tampon "
"sera affichée."
"sera affichée. ::"
#: howto/curses.rst:237
msgid ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2023-01-14 19:47+0100\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"PO-Revision-Date: 2023-03-27 16:50+0200\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.1\n"
"X-Generator: Poedit 3.2.2\n"
#: howto/descriptor.rst:5
msgid "Descriptor HowTo Guide"
@ -898,7 +898,6 @@ msgid "ORM example"
msgstr "Exemple d'ORM"
#: howto/descriptor.rst:850
#, fuzzy
msgid ""
"The following code is a simplified skeleton showing how data descriptors "
"could be used to implement an `object relational mapping <https://en."
@ -979,7 +978,7 @@ msgid ""
"The documentation shows a typical use to define a managed attribute ``x``:"
msgstr ""
"La documentation montre une utilisation caractéristique pour définir un "
"attribut géré ``x`` ::"
"attribut géré ``x`` :"
#: howto/descriptor.rst:988
msgid ""
@ -987,7 +986,7 @@ msgid ""
"protocol, here is a pure Python equivalent:"
msgstr ""
"Pour voir comment :func:`property` est implémentée dans le protocole du "
"descripteur, voici un équivalent en Python pur ::"
"descripteur, voici un équivalent en Python pur :"
#: howto/descriptor.rst:1091
msgid ""
@ -1013,7 +1012,7 @@ msgstr ""
"exigent que la cellule soit recalculée à chaque accès ; cependant, le "
"programmeur ne veut pas impacter le code client existant accédant "
"directement à l'attribut. La solution consiste à envelopper l'accès à "
"l'attribut *value* dans un descripteur de données ::"
"l'attribut *value* dans un descripteur de données :"
#: howto/descriptor.rst:1112
msgid ""
@ -1069,7 +1068,7 @@ msgstr ""
"incluent la méthode :meth:`__get__` pour lier les méthodes pendant l'accès "
"aux attributs. Cela signifie que toutes les fonctions sont des descripteurs "
"hors-données qui renvoient des méthodes liées au cours d'une recherche "
"d'attribut d'une instance. Cela fonctionne ainsi ::"
"d'attribut d'une instance. Cela fonctionne ainsi :"
#: howto/descriptor.rst:1160
msgid ""
@ -1077,7 +1076,7 @@ msgid ""
"descriptor works in practice:"
msgstr ""
"L'exécution de la classe suivante dans l'interpréteur montre comment le "
"descripteur de fonction se comporte en pratique ::"
"descripteur de fonction se comporte en pratique :"
#: howto/descriptor.rst:1169
msgid ""
@ -1156,7 +1155,7 @@ msgstr ""
msgid "This chart summarizes the binding and its two most useful variants:"
msgstr ""
"Ce tableau résume le lien classique (*binding*) et ses deux variantes les "
"plus utiles ::"
"plus utiles :"
#: howto/descriptor.rst:1222
msgid "Transformation"
@ -1252,7 +1251,7 @@ msgid ""
"example calls are unexciting:"
msgstr ""
"Puisque les méthodes statiques renvoient la fonction sous-jacente sans "
"changement, les exemples dappels sont d'une grande banalité ::"
"changement, les exemples dappels sont d'une grande banalité :"
#: howto/descriptor.rst:1271
msgid ""
@ -1260,7 +1259,7 @@ msgid ""
"`staticmethod` would look like this:"
msgstr ""
"En utilisant le protocole de descripteur hors-données, une version Python "
"pure de :func:`staticmethod` ressemblerait à ceci ::"
"pure de :func:`staticmethod` ressemblerait à ceci :"
#: howto/descriptor.rst:1310
msgid "Class methods"
@ -1274,7 +1273,7 @@ msgid ""
msgstr ""
"Contrairement aux méthodes statiques, les méthodes de classe ajoutent la "
"référence de classe en tête de la liste d'arguments, avant d'appeler la "
"fonction. C'est le même format que l'appelant soit un objet ou une classe ::"
"fonction. C'est le même format que l'appelant soit un objet ou une classe :"
#: howto/descriptor.rst:1330
msgid ""
@ -1289,7 +1288,7 @@ msgstr ""
"particulière. Une des utilisations des méthodes de classe est de créer des "
"constructeurs de classe personnalisés. Par exemple, la méthode de classe :"
"func:`dict.fromkeys` crée un nouveau dictionnaire à partir d'une liste de "
"clés. L'équivalent Python pur est ::"
"clés. L'équivalent Python pur est :"
#: howto/descriptor.rst:1347
msgid "Now a new dictionary of unique keys can be constructed like this:"

File diff suppressed because it is too large Load Diff

View File

@ -33,4 +33,4 @@ msgstr ""
#: howto/index.rst:11
msgid "Currently, the HOWTOs are:"
msgstr "Actuellement, les HOWTOs sont :"
msgstr "Actuellement, les HOWTOs sont :"

View File

@ -40,7 +40,7 @@ msgstr ""
"*DTrace* et *SystemTap* sont des outils de surveillance, chacun fournissant "
"un moyen de d'inspecter ce que font les processus d'un système informatique. "
"Ils utilisent tous les deux des langages dédiés permettant à un utilisateur "
"d'écrire des scripts qui permettent de ::"
"d'écrire des scripts qui permettent de :"
#: howto/instrumentation.rst:16
msgid "filter which processes are to be observed"
@ -103,7 +103,7 @@ msgstr "ou ::"
msgid ""
"CPython must then be :option:`configured with the --with-dtrace option <--"
"with-dtrace>`:"
msgstr "CPython doit être configuré avec l'option :option:`--with-dtrace` ::"
msgstr "CPython doit être configuré avec l'option :option:`--with-dtrace` :"
#: howto/instrumentation.rst:56
msgid ""
@ -166,7 +166,7 @@ msgstr ""
"L'exemple suivant de script *DTrace* montre la hiérarchie d'appel/retour "
"d'un script Python, en ne traçant que l'invocation d'une fonction ``start``. "
"En d'autres termes, les appels de fonctions lors de la phase d'import ne "
"seront pas répertoriées ::"
"seront pas répertoriées :"
#: howto/instrumentation.rst:230
msgid "It can be invoked like this::"
@ -174,7 +174,7 @@ msgstr "Il peut être utilisé de cette manière ::"
#: howto/instrumentation.rst:236
msgid "The output looks like this:"
msgstr "La sortie ressemble à ceci ::"
msgstr "La sortie ressemble à ceci :"
#: howto/instrumentation.rst:201
msgid "Static SystemTap markers"
@ -196,11 +196,11 @@ msgid ""
"hierarchy of a Python script:"
msgstr ""
"Par exemple, ce script *SystemTap* peut être utilisé pour afficher la "
"hiérarchie d'appel/retour d'un script Python ::"
"hiérarchie d'appel/retour d'un script Python :"
#: howto/instrumentation.rst:247
msgid "where the columns are:"
msgstr "où les colonnes sont ::"
msgstr "où les colonnes sont :"
#: howto/instrumentation.rst:249
msgid "time in microseconds since start of script"
@ -233,7 +233,7 @@ msgstr ""
#: howto/instrumentation.rst:265
msgid "should instead read:"
msgstr "doit plutôt se lire comme ::"
msgstr "doit plutôt se lire comme :"
#: howto/instrumentation.rst:271
msgid "(assuming a :ref:`debug build <debug-build>` of CPython 3.6)"
@ -375,7 +375,7 @@ msgstr ""
msgid "Here is a tapset file, based on a non-shared build of CPython:"
msgstr ""
"Voici un fichier *tapset*, basé sur une version non partagée compilée de "
"CPython ::"
"CPython :"
#: howto/instrumentation.rst:374
msgid ""
@ -384,7 +384,7 @@ msgid ""
msgstr ""
"Si ce fichier est installé dans le répertoire *tapset* de *SystemTap* (par "
"exemple ``/usr/share/systemtap/tapset``), alors ces sondes supplémentaires "
"deviennent disponibles ::"
"deviennent disponibles :"
#: howto/instrumentation.rst:380
msgid ""
@ -419,7 +419,7 @@ msgstr ""
"Ce script *SystemTap* utilise le *tapset* ci-dessus pour implémenter plus "
"proprement l'exemple précédent de traçage de la hiérarchie des appels de "
"fonctions Python, sans avoir besoin de nommer directement les marqueurs "
"statiques ::"
"statiques :"
#: howto/instrumentation.rst:412
#, fuzzy
@ -431,4 +431,4 @@ msgstr ""
"Le script suivant utilise le *tapset* ci-dessus pour fournir une vue de "
"l'ensemble du code CPython en cours d'exécution, montrant les 20 cadres de "
"la pile d'appel (*stack frames*) les plus fréquemment utilisées du code "
"intermédiaire, chaque seconde, sur l'ensemble du système ::"
"intermédiaire, chaque seconde, sur l'ensemble du système :"

File diff suppressed because it is too large Load Diff

View File

@ -5,14 +5,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-16 21:06+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"PO-Revision-Date: 2023-03-24 12:32+0100\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.1\n"
"X-Generator: Poedit 3.2.2\n"
#: howto/logging.rst:3
msgid "Logging HOWTO"
@ -281,7 +281,6 @@ msgid "Logging to a file"
msgstr "Enregistrer les évènements dans un fichier"
#: howto/logging.rst:126
#, fuzzy
msgid ""
"A very common situation is that of recording logging events in a file, so "
"let's look at that next. Be sure to try the following in a newly started "
@ -352,7 +351,6 @@ msgstr ""
"erreur pour la valeur de ce paramètre, comme dans l'exemple ci-dessous ::"
#: howto/logging.rst:181
#, fuzzy
msgid ""
"The call to :func:`basicConfig` should come *before* any calls to :func:"
"`debug`, :func:`info`, etc. Otherwise, those functions will call :func:"
@ -360,10 +358,11 @@ msgid ""
"off simple configuration facility, only the first call will actually do "
"anything: subsequent calls are effectively no-ops."
msgstr ""
"L'appel à :func:`basicConfig` doit être fait *avant* un appel à :func:"
"`debug`, :func:`info`, etc. Comme l'objectif est d'avoir un outil de "
"configuration simple et d'usage unique, seul le premier appel aura un effet, "
"les appels suivants ne font rien."
"L'appel à :func:`basicConfig` doit être fait *avant* tout appel à :func:"
"`debug`, :func:`info`, etc. Sinon, ces fonctions appelleront :func:"
"`basicConfig` pour vous avec les options par défaut. Comme il s'agit d'un "
"outil de configuration simple et unique, seul le premier appel fera quelque "
"chose : les appels suivants ne feront rien."
#: howto/logging.rst:187
msgid ""
@ -713,7 +712,7 @@ msgstr ""
msgid "The default format set by :func:`basicConfig` for messages is:"
msgstr ""
"Le format par défaut des messages est défini par :func:`basicConfig` comme "
"suit ::"
"suit :"
#: howto/logging.rst:407
msgid ""
@ -1052,17 +1051,16 @@ msgstr ""
"défaut est :"
#: howto/logging.rst:555
#, fuzzy
msgid ""
"with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``, "
"``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be "
"used."
msgstr ""
"avec les millisecondes en suffixe. Le ``style`` est ``%``, ``{`` ou ``$``. "
"Si aucun n'est spécifié, ``%`` sera utilisé."
"avec les millisecondes ajoutées à la fin. ``style`` est l'un des suivants : "
"``'%'``, ``'{'``, ou ``'$'``. Si l'un de ces styles n'est pas spécifié, "
"alors ``'%'`` sera utilisé."
#: howto/logging.rst:558
#, fuzzy
msgid ""
"If the ``style`` is ``'%'``, the message format string uses ``%(<dictionary "
"key>)s`` styled string substitution; the possible keys are documented in :"
@ -1071,13 +1069,13 @@ msgid ""
"arguments), while if the style is ``'$'`` then the message format string "
"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 ; "
"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 "
"style est ``$`` alors la chaîne de formatage du message doit être conforme à "
"ce qui est attendu de :meth:`string.Template.substitute`."
"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. 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 nommés). "
"Enfin si le style est ``'$'`` alors la chaîne de formatage du message doit "
"être conforme à ce qui est attendu de :meth:`string.Template.substitute`."
#: howto/logging.rst:565
msgid "Added the ``style`` parameter."

View File

@ -79,7 +79,7 @@ msgid ""
"are:"
msgstr ""
"Afin de rendre votre projet compatible Python 2/3 avec le même code source, "
"les étapes de base sont :"
"les étapes de base sont :"
#: howto/pyporting.rst:32
msgid "Only worry about supporting Python 2.7"
@ -423,7 +423,7 @@ msgstr ""
"division`` à tous les fichiers utilisant les opérateurs ``/`` et ``//`` ou à "
"exécuter l'interpréteur avec l'option ``-Q``. Si vous n'avez pas suivi cette "
"recommandation, vous devrez manuellement modifier votre code et effectuer "
"deux changements :"
"deux changements :"
#: howto/pyporting.rst:178
msgid "Add ``from __future__ import division`` to your files"
@ -686,7 +686,7 @@ msgstr ""
#: howto/pyporting.rst:286
msgid "To summarize:"
msgstr "Pour résumer :"
msgstr "Pour résumer :"
#: howto/pyporting.rst:288
msgid "Decide which of your APIs take text and which take binary data"

View File

@ -6,7 +6,7 @@ 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"
"PO-Revision-Date: 2023-03-28 11:09+0200\n"
"Last-Translator: Nabil Bendafi <nabil@bendafi.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -1398,7 +1398,7 @@ msgid ""
"it is to read? ::"
msgstr ""
"Par exemple, voici une RE qui utilise :const:`re.VERBOSE` ; vous pouvez "
"constater qu'elle est beaucoup plus facile à lire ::"
"constater qu'elle est beaucoup plus facile à lire ::"
#: howto/regex.rst:660
msgid "Without the verbose setting, the RE would look like this::"
@ -1762,7 +1762,7 @@ msgid ""
"substitutions."
msgstr ""
"Les renvois tels que celui-ci ne sont pas très utiles pour effectuer une "
"simple recherche dans une chaîne —­ il n'y a que peu de formats de textes qui "
"simple recherche dans une chaîne — il n'y a que peu de formats de textes qui "
"répètent des données ainsi — mais vous verrez bientôt qu'ils sont *très* "
"utiles pour effectuer des substitutions dans les chaînes."
@ -1918,7 +1918,6 @@ msgstr ""
"meth:`~re.Match.groupdict` ::"
#: howto/regex.rst:952
#, fuzzy
msgid ""
"Named groups are handy because they let you use easily remembered names, "
"instead of having to remember numbers. Here's an example RE from the :mod:"

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-10-18 12:27+0200\n"
"PO-Revision-Date: 2023-02-16 15:07+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.2.2\n"
#: howto/sockets.rst:5
msgid "Socket Programming HOWTO"
@ -201,7 +201,7 @@ msgid ""
"mainloop of the web server::"
msgstr ""
"Maintenant que nous avons un connecteur « serveur », en écoute sur le port "
"80, nous pouvons entrer dans la boucle principale du serveur web ::"
"80, nous pouvons entrer dans la boucle principale du serveur web ::"
#: howto/sockets.rst:106
msgid ""
@ -481,7 +481,6 @@ msgid ""
msgstr ""
#: howto/sockets.rst:262
#, fuzzy
msgid ""
"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, "
"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, "
@ -489,21 +488,14 @@ msgid ""
"order, these do nothing, but where the machine is byte-reversed, these swap "
"the bytes around appropriately."
msgstr ""
"Il est parfaitement possible denvoyer des données binaires sur un "
"connecteur. Le gros problème est que toutes les machines nutilisent pas les "
"mêmes formats pour les données binaires. Par exemple, une puce Motorola code "
"l'entier 1, sous 16 bits, comme les deux octets hexadécimaux 00 01. Intel et "
"DEC, cependant, utilisent lordre doctets inverse — ce même 1 est codé 01 "
"00. Les bibliothèques de connecteurs ont des appels pour convertir des "
"entiers de 16 et 32 bits — ``ntohl, htonl, ntohs, htons`` où ``n`` signifie "
"*réseau* (*network*, en anglais) et ``h`` signifie *hôte*, ``s`` signifie "
"*court* (*short*, en anglais) et ``l`` signifie *long*. Lorsque lordre du "
"réseau est lordre de lhôte, ceux-ci ne font rien, mais lorsque la machine "
"utilise lordre doctets inverse, ceux-ci échangent les octets de manière "
"appropriée."
"Les bibliothèques de sockets ont des appels pour convertir les entiers 16 et "
"32 bits - ``ntohl, htonl, ntohs, htons`` où « n » signifie *network* "
"(réseau) et « h » signifie *host* (hôte), « s » signifie *short* (court) et "
 l » signifie *long*. Lorsque lordre du réseau est lordre de lhôte, ils "
"ne font rien, mais lorsque la machine fonctionne en ordre inversé, ils "
"échangent les octets de manière appropriée."
#: howto/sockets.rst:268
#, fuzzy
msgid ""
"In these days of 64-bit machines, the ASCII representation of binary data is "
"frequently smaller than the binary representation. That's because a "
@ -512,13 +504,13 @@ msgid ""
"be 8. Of course, this doesn't fit well with fixed-length messages. "
"Decisions, decisions."
msgstr ""
"De nos jours, avec les machines 32 bits, la représentation *ASCII* des "
"De nos jours, avec les machines 64 bits, la représentation *ASCII* des "
"données binaires est souvent plus compacte que la représentation binaire. "
"Cest parce quun nombre surprenant de fois, tous ces *longs* ont la valeur "
"0, ou peut-être 1. La chaîne « 0 » serait codée sur deux octets, alors "
"qu'elle le serait sur quatre en binaire. Bien sûr, cela ne fonctionne pas "
"très bien avec les messages de longueur fixe. Ah, les décisions, les "
"décisions…"
"Cest parce que dans un nombre surprenant de cas, tous ces *entiers* ont la "
"valeur 0 et parfois 1. La chaîne « 0 » serait codée sur deux octets, alors "
"qu'elle le serait sur 8 en tant que binaire 64 bits. Bien sûr, cela ne "
"fonctionne pas très bien avec les messages de longueur fixe. Cest une "
"affaire de choix."
#: howto/sockets.rst:277
msgid "Disconnecting"

View File

@ -103,7 +103,7 @@ msgstr ""
#: howto/sorting.rst:55
msgid "For example, here's a case-insensitive string comparison:"
msgstr "Par exemple, voici une comparaison de texte insensible à la casse:"
msgstr "Par exemple, voici une comparaison de texte insensible à la casse :"
#: howto/sorting.rst:62
msgid ""
@ -394,7 +394,7 @@ msgid ""
msgstr ""
"Pour effectuer les comparaisons entre deux objets, les routines de tri "
"utilisent l'opérateur ``<``. Il est donc facile d'ajouter un ordre de tri "
"standard à une classe en définissant sa méthode :meth:`__lt__` ::"
"standard à une classe en définissant sa méthode :meth:`__lt__` :"
#: howto/sorting.rst:284
msgid ""
@ -468,7 +468,7 @@ 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 ::"
#~ "d'encapsulation suivante rend cela plus facile à faire :"
#~ msgid "To convert to a key function, just wrap the old comparison function:"
#~ msgstr ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2021-12-11 17:16+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"PO-Revision-Date: 2023-03-26 17:48+0200\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.2.2\n"
#: howto/unicode.rst:5
msgid "Unicode HOWTO"
@ -357,14 +357,13 @@ msgstr ""
"v=MijmeoH9LT4>`_ (9 minutes et 36 secondes)."
#: howto/unicode.rst:169
#, fuzzy
msgid ""
"To help understand the standard, Jukka Korpela has written `an introductory "
"guide <https://jkorpela.fi/unicode/guide.html>`_ to reading the Unicode "
"character tables."
msgstr ""
"Pour aider à comprendre le standard, Jukka Korpela a écrit `un guide "
"dintroduction <http://jkorpela.fi/unicode/guide.html>`_ à la lecture des "
"dintroduction <https://jkorpela.fi/unicode/guide.html>`_ à la lecture des "
"tables de caractères Unicode (ressource en anglais)."
#: howto/unicode.rst:173
@ -836,12 +835,11 @@ msgstr ""
"sont :"
#: howto/unicode.rst:520
#, fuzzy
msgid ""
"`Processing Text Files in Python 3 <https://python-notes.curiousefficiency."
"org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan."
msgstr ""
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency."
"`Processing Text Files in Python 3 <https://python-notes.curiousefficiency."
"org/en/latest/python3/text_file_processing.html>`_, par Nick Coghlan."
#: howto/unicode.rst:521
@ -1240,16 +1238,15 @@ msgstr ""
"données et les réécrire."
#: howto/unicode.rst:737
#, fuzzy
msgid ""
"One section of `Mastering Python 3 Input/Output <https://pyvideo.org/"
"video/289/pycon-2010--mastering-python-3-i-o>`_, a PyCon 2010 talk by David "
"Beazley, discusses text processing and binary data handling."
msgstr ""
"Une partie de la conférence `Mastering Python 3 Input/Output <http://pyvideo."
"org/video/289/pycon-2010--mastering-python-3-i-o>`_ (ressource en anglais), "
"donnée lors de *PyCon* 2010 de David Beazley, parle du traitement de texte "
"et du traitement des données binaires."
"Une partie de la conférence `Mastering Python 3 Input/Output <https://"
"pyvideo.org/video/289/pycon-2010--mastering-python-3-i-o>`_ (ressource en "
"anglais), donnée lors de *PyCon* 2010 de David Beazley, parle du traitement "
"de texte et du traitement des données binaires."
#: howto/unicode.rst:741
msgid ""
@ -1267,13 +1264,12 @@ msgstr ""
"diapositives ne couvrent que Python 2.x."
#: howto/unicode.rst:747
#, fuzzy
msgid ""
"`The Guts of Unicode in Python <https://pyvideo.org/video/1768/the-guts-of-"
"unicode-in-python>`_ is a PyCon 2013 talk by Benjamin Peterson that "
"discusses the internal Unicode representation in Python 3.3."
msgstr ""
"`The Guts of Unicode in Python <http://pyvideo.org/video/1768/the-guts-of-"
"`The Guts of Unicode in Python <https://pyvideo.org/video/1768/the-guts-of-"
"unicode-in-python>`_ (ressource en anglais) est une conférence *PyCon* 2013 "
"donnée par Benjamin Peterson qui traite de la représentation interne Unicode "
"en Python 3.3."

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

@ -622,7 +622,7 @@ msgstr ""
"USER_BASE` (écrit :file:`{userbase}` dans la suite). Ce schéma installe des "
"modules Python purs et les modules dextension au même endroit (aussi connu "
"sous le nom de :data:`site.USER_SITE`).Voici les valeurs pour UNIX, y "
"compris Mac OS X ::"
"compris Mac OS X :"
#: install/index.rst:329 install/index.rst:429 install/index.rst:506
#: install/index.rst:754
@ -667,7 +667,7 @@ msgstr ":file:`{userbase}/include/python{X.Y}{abiflags}/{distname}`"
#: install/index.rst:326
msgid "And here are the values used on Windows:"
msgstr "Et voici les valeurs utilisées sur Windows ::"
msgstr "Et voici les valeurs utilisées sur Windows :"
#: install/index.rst:331
msgid ":file:`{userbase}\\\\Python{XY}\\\\site-packages`"
@ -730,7 +730,7 @@ msgstr ""
#: install/index.rst:361
msgid "Installing a new module distribution is as simple as ::"
msgstr "Installer une nouvelle distribution de module est aussi simple que ::"
msgstr "Installer une nouvelle distribution de module est aussi simple que ::"
#: install/index.rst:365
msgid ""
@ -763,7 +763,7 @@ msgid ""
msgstr ""
"Loption :option:`!--home` définit le dossier de base de linstallation. Les "
"fichiers sont installés dans les dossiers suivants sous la base de "
"l'installation de la façon suivante ::"
"l'installation de la façon suivante :"
#: install/index.rst:382
msgid ":file:`{home}/lib/python`"
@ -824,7 +824,7 @@ msgstr ""
"plutôt que dune addition locale. Cependant, si vous installez des modules "
"Python depuis leur source, vous voulez probablement quils aillent dans :"
"file:`/usr/local/lib/python2.{X}` plutôt que dans :file:`/usr/lib/python2.{X}"
"`. Ça peut être fait avec ::"
"`. Ça peut être fait avec ::"
#: install/index.rst:412
msgid ""
@ -840,7 +840,7 @@ msgstr ""
"lire : par exemple, linterpréteur Python auquel on accède par :file:`/usr/"
"local/bin/python` peut chercher les modules dans :file:`/usr/local/lib/"
"python2.{X}`, mais ces modules doivent être installés dans, par exemple, :"
"file:`/mnt/{@server}/export/lib/python2.{X}`. Ça peut être fait avec ::"
"file:`/mnt/{@server}/export/lib/python2.{X}`. Ça peut être fait avec ::"
#: install/index.rst:421
msgid ""
@ -1110,7 +1110,7 @@ msgstr ""
#: install/index.rst:574
msgid "or, equivalently, ::"
msgstr "ou ::"
msgstr "ou ::"
#: install/index.rst:582
msgid ""

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-02-23 18:50+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"PO-Revision-Date: 2023-03-26 12:02+0200\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.2.2\n"
#: installing/index.rst:7
msgid "Installing Python Modules"
@ -407,14 +407,14 @@ msgstr ""
"est ::"
#: installing/index.rst:216
#, fuzzy
msgid ""
"There are also additional resources for `installing pip. <https://packaging."
"python.org/en/latest/tutorials/installing-packages/#ensure-pip-setuptools-"
"and-wheel-are-up-to-date>`__"
msgstr ""
"Voir aussi `installing pip. <https://packaging.python.org/tutorials/"
"installing-packages/#install-pip-setuptools-and-wheel>`__"
"Il existe également des ressources supplémentaires pour `installer pip. "
"<https://packaging.python.org/en/latest/tutorials/installing-packages/"
"#ensure-pip-setuptools-and-wheel-are-up-to-date>`__"
#: installing/index.rst:221
msgid "Installing binary extensions"

View File

@ -72,7 +72,7 @@ msgstr "Voici un exemple de fichier source Python 2.x, :file:`example.py` ::"
#: library/2to3.rst:39
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 :"
"Il peut être converti en code Python 3.x par *2to3* en ligne de commande :"
#: library/2to3.rst:45
msgid ""
@ -85,7 +85,7 @@ msgstr ""
"aussi écrire les modifications nécessaires directement dans le fichier "
"source. (Une sauvegarde du fichier d'origine est effectuée à moins que "
"l'option :option:`!-n` soit également donnée.) L'écriture des modifications "
"est activée avec l'option :option:`!-w` :"
"est activée avec l'option :option:`!-w` :"
#: library/2to3.rst:54
msgid "After transformation, :file:`example.py` looks like this::"
@ -112,12 +112,12 @@ msgstr ""
"Un ensemble explicite de correcteurs à exécuter peut être donné avec :option:"
"`!-f`. De même, :option:`!-x` désactive explicitement un correcteur. "
"L'exemple suivant exécute uniquement les ``import`` et les correcteurs "
"``has_key`` :"
"``has_key`` :"
#: library/2to3.rst:73
msgid "This command runs every fixer except the ``apply`` fixer:"
msgstr ""
"Cette commande exécute tous les correcteurs, sauf le correcteurs ``apply`` :"
"Cette commande exécute tous les correcteurs, sauf le correcteurs ``apply`` :"
#: library/2to3.rst:79
msgid ""
@ -128,7 +128,7 @@ msgstr ""
"Certains correcteurs sont *explicites*, ce qui signifie qu'ils ne sont pas "
"exécutés par défaut et doivent être énumérés sur la ligne de commande à "
"exécuter. Ici, en plus des correcteurs par défaut, le correcteur ``idioms`` "
"est exécuté :"
"est exécuté :"
#: library/2to3.rst:87
msgid "Notice how passing ``all`` enables all default fixers."
@ -233,7 +233,7 @@ msgstr ""
"L'option :option:`!--add-suffix` spécifie une chaîne à ajouter à tous les "
"noms de fichiers de sortie. L'option :option:`!-n` est nécessaire dans ce "
"cas, puisque sauvegarder n'est pas nécessaire en écrivant dans des fichiers "
"différents. Exemple:"
"différents. Exemple :"
#: library/2to3.rst:135
msgid "Will cause a converted file named ``example.py3`` to be written."
@ -247,7 +247,7 @@ msgstr "L'option :option:`!--add-suffix` est ajoutée."
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 :"
"autre, utilisez :"
#: library/2to3.rst:150
msgid "Fixers"
@ -589,7 +589,7 @@ msgstr ""
"Convertit les appels à diverses fonctions du module :mod:`operator` en "
"appels d'autres fonctions équivalentes. Si besoin, les instructions "
"``import`` appropriées sont ajoutées, e.g. ``import collections.abc``. Les "
"correspondances suivantes sont appliquées :"
"correspondances suivantes sont appliquées :"
#: library/2to3.rst:358
msgid "``operator.isCallable(obj)``"

View File

@ -26,7 +26,7 @@ msgstr "**Source code:** :source:`Lib/_future_.py`"
#: library/__future__.rst:11
msgid ":mod:`__future__` is a real module, and serves three purposes:"
msgstr ""
"Le module :mod:`__future__` est un vrai module, et il a trois objectifs :"
"Le module :mod:`__future__` est un vrai module, et il a trois objectifs :"
#: library/__future__.rst:13
msgid ""
@ -139,7 +139,7 @@ msgid ""
msgstr ""
"Aucune fonctionnalité ne sera jamais supprimée de :mod:`__future__`. Depuis "
"son introduction dans Python 2.1, les fonctionnalités suivantes ont trouvé "
"leur places dans le langage utilisant ce mécanisme :"
"leur places dans le langage utilisant ce mécanisme :"
#: library/__future__.rst:67
msgid "feature"

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: 2023-04-14 13:19+0200\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"
@ -64,7 +64,7 @@ msgid ""
msgstr ""
"Lorsqu'un module ou un paquet Python est importé, son attribut ``__name__`` "
"est défini à son nom, qui est la plupart du temps le nom du fichier qui le "
"contient sans l'extension ``.py`` :"
"contient sans l'extension ``.py`` ::"
#: library/__main__.rst:35
msgid ""
@ -72,7 +72,7 @@ msgid ""
"package's path::"
msgstr ""
"Si le fichier fait partie d'un paquet, ``__name__`` donne tout le chemin "
"d'accès :"
"d'accès ::"
#: library/__main__.rst:42
msgid ""
@ -106,7 +106,7 @@ msgstr "L'environnement principal peut prendre diverses formes :"
#: library/__main__.rst:55
msgid "the scope of an interactive prompt::"
msgstr "l'environnement d'une invite de commande interactive :"
msgstr "l'environnement d'une invite de commande interactive ::"
#: library/__main__.rst:60
msgid "the Python module passed to the Python interpreter as a file argument:"
@ -196,7 +196,7 @@ msgstr ""
"Il vaut mieux mettre aussi peu de code que possible sous le ``if __name__ == "
"'__main__'`` pour garder le code clair et limiter les risques d'erreur. La "
"plupart du temps, on écrit une fonction ``main`` qui contient tout le code "
"spécifique à l'utilisation comme script :"
"spécifique à l'utilisation comme script ::"
#: library/__main__.rst:151
msgid ""
@ -241,7 +241,7 @@ msgstr ""
"d'entrée, qui demandent à `pip <https://pip.pypa.io/>`_ de créer un "
"exécutable. Il le fait en insérant un appel à la fonction à l'intérieur d'un "
"modèle prédéfini où la valeur qu'elle renvoie est passée directement à :func:"
"`sys.exit` :"
"`sys.exit` ::"
#: library/__main__.rst:175
msgid ""
@ -363,7 +363,7 @@ msgstr ""
"Cependant, un ``if __name__ == '__main__'``, s'il est présent dans le "
"``__main__.py``, fonctionne correctement. En effet, si ``__main__.py`` est "
"importé depuis autre module, son attribut ``__name__`` contient, avant "
"``__main__``, le nom du paquet dont il fait partie :"
"``__main__``, le nom du paquet dont il fait partie ::"
#: library/__main__.rst:254
msgid ""
@ -376,10 +376,11 @@ msgstr ""
"py`` dans le style minimal de celui de :mod:`venv` mentionné ci-dessus."
#: library/__main__.rst:260
#, fuzzy
msgid ""
"See :mod:`venv` for an example of a package with a minimal ``__main__.py`` "
"in the standard library. It doesn't contain a ``if __name__ == '__main__'`` "
"block. You can invoke it with ``python3 -m venv [directory]``."
"block. You can invoke it with ``python -m venv [directory]``."
msgstr ""
"Le module :mod:`venv` de la bibliothèque standard est un exemple de paquet "
"contenant un fichier ``__main__.py`` minimal, sans ``if __name__ == "
@ -424,11 +425,11 @@ msgstr ""
#: library/__main__.rst:282
msgid "Here is an example module that consumes the ``__main__`` namespace::"
msgstr "Voici un exemple d'utilisation du module ``__main__`` :"
msgstr "Voici un exemple d'utilisation du module ``__main__`` ::"
#: library/__main__.rst:300
msgid "Example usage of this module could be as follows::"
msgstr "Ce code s'utilise comme ceci :"
msgstr "Ce code s'utilise comme ceci ::"
#: library/__main__.rst:319
msgid "Now, if we started our program, the result would look like this:"
@ -488,7 +489,7 @@ msgid ""
msgstr ""
"L'interpréteur interactif est un autre environnement d'exécution principal "
"possible. Toute variable qui y est définie appartient à l'espace de nommage "
"``__main__`` :"
"``__main__`` ::"
#: library/__main__.rst:364
msgid ""

View File

@ -330,7 +330,7 @@ msgid ""
"`with` statement, e.g.::"
msgstr ""
"En plus de ces méthodes, les objets verrous peuvent aussi être utilisés via "
"l'instruction :keyword:`with`, e.g. ::"
"l'instruction :keyword:`with`, e.g ::"
#: library/_thread.rst:207
msgid "**Caveats:**"

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2022-11-20 22:28+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -40,12 +40,13 @@ msgstr ""
"abstraite."
#: library/abc.rst:20
#, fuzzy
msgid ""
"The :mod:`collections` module has some concrete classes that derive from "
"ABCs; these can, of course, be further derived. In addition, the :mod:"
"`collections.abc` submodule has some ABCs that can be used to test whether a "
"class or instance provides a particular interface, for example, if it is "
"hashable or if it is a mapping."
"class or instance provides a particular interface, for example, if it is :"
"term:`hashable` or if it is a mapping."
msgstr ""
"Le module :mod:`collections` possède certaines classes concrètes qui "
"dérivent d'ABC. Celles-ci peuvent, bien sur, être elles-mêmes dérivées. De "

View File

@ -57,7 +57,7 @@ msgstr ""
#: library/aifc.rst:40
msgid "Module :mod:`aifc` defines the following function:"
msgstr "Le module :mod:`aifc` définit les fonctions suivantes :"
msgstr "Le module :mod:`aifc` définit les fonctions suivantes :"
#: library/aifc.rst:45
msgid ""

View File

@ -30,4 +30,4 @@ msgstr ""
"fonctionnalités communes à la grande majorité des systèmes d'exploitation, "
"telles que les fichiers et l'horloge. Bien que ces interfaces soient "
"classiquement calquées sur les interfaces Unix ou C, elles sont aussi "
"disponibles sur la plupart des autres systèmes. En voici un aperçu."
"disponibles sur la plupart des autres systèmes. En voici un aperçu :"

File diff suppressed because it is too large Load Diff

View File

@ -218,7 +218,7 @@ msgstr ""
#: library/array.rst:65
#, fuzzy
msgid "The module defines the following item:"
msgstr "Le module définit le type suivant :"
msgstr "Le module définit le type suivant :"
#: library/array.rst:70
msgid "A string with all available type codes."
@ -226,7 +226,7 @@ msgstr "Une chaîne avec tous les codes de types disponibles."
#: library/array.rst:73
msgid "The module defines the following type:"
msgstr "Le module définit le type suivant :"
msgstr "Le module définit le type suivant :"
#: library/array.rst:78
msgid ""
@ -532,7 +532,7 @@ msgstr ""
#~ msgid "The following data items and methods are also supported:"
#~ msgstr ""
#~ "Les éléments de données et méthodes suivants sont également supportés :"
#~ "Les éléments de données et méthodes suivants sont également supportés :"
#~ msgid ""
#~ "Return the smallest *i* such that *i* is the index of the first "

View File

@ -193,11 +193,11 @@ msgid ""
"use ::"
msgstr ""
"Par exemple, pour créer et peupler un nœud :class:`ast.UnaryOp`, on peut "
"utiliser ::"
"utiliser ::"
#: library/ast.rst:115
msgid "or the more compact ::"
msgstr "ou, plus compact ::"
msgstr "ou, plus compact ::"
#: library/ast.rst:122
msgid "Class :class:`ast.Constant` is now used for all constants."
@ -1231,7 +1231,7 @@ msgid ""
msgstr ""
"À part les classes de nœuds, le module :mod:`ast` définit plusieurs "
"fonctions et classes utilitaires pour traverser les arbres syntaxiques "
"abstraits."
"abstraits :"
#: library/ast.rst:1927
msgid ""
@ -1638,7 +1638,7 @@ msgstr ""
"Si :class:`NodeTransformer` ajoute de nouveaux nœuds à l'original sans leur "
"donner les attributs de position dans la source (:attr:`lineno` et "
"consorts), il faut passer le nouvel arbre (ou la nouvelle partie de l'arbre) "
"à :func:`fix_missing_locations` pour calculer les positions manquantes :"
"à :func:`fix_missing_locations` pour calculer les positions manquantes ::"
#: library/ast.rst:2170
msgid "Usually you use the transformer like this::"
@ -1695,7 +1695,7 @@ msgid ""
"effects on the compilation of a program:"
msgstr ""
"Les options suivantes sont prises en charge par la fonction :func:`compile`. "
"Elles permettent de modifier le comportement de la compilation."
"Elles permettent de modifier le comportement de la compilation :"
#: library/ast.rst:2206
msgid ""

File diff suppressed because it is too large Load Diff

View File

@ -92,7 +92,7 @@ msgstr "Sujets de stratégie"
msgid "The abstract event loop policy base class is defined as follows:"
msgstr ""
"La classe de base abstraite de la stratégie de boucle d'événements est "
"définie comme suit:"
"définie comme suit :"
#: library/asyncio-policy.rst:59
msgid "An abstract base class for asyncio policies."

View File

@ -284,7 +284,7 @@ msgstr ""
#: library/asyncio-protocol.rst:199
msgid "SSL socket:"
msgstr "Connecteur (*socket* en anglais) SSL :"
msgstr "Connecteur (*socket* en anglais) SSL :"
#: library/asyncio-protocol.rst:201
msgid ""
@ -778,7 +778,7 @@ msgstr ""
#: library/asyncio-protocol.rst:578 library/asyncio-protocol.rst:636
msgid "State machine:"
msgstr "Machine à états :"
msgstr "Machine à états :"
#: library/asyncio-protocol.rst:589
msgid "Buffered Streaming Protocols"

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2019-09-06 13:48+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -192,63 +192,73 @@ msgid ""
msgstr ""
#: library/asyncio-stream.rst:209
msgid ""
"Read up to *n* bytes. If *n* is not provided, or set to ``-1``, read until "
"EOF and return all read bytes."
msgid "Read up to *n* bytes from the stream."
msgstr ""
#: library/asyncio-stream.rst:212
#: library/asyncio-stream.rst:211
msgid ""
"If EOF was received and the internal buffer is empty, return an empty "
"``bytes`` object."
"If *n* is not provided or set to ``-1``, read until EOF, then return all "
"read :class:`bytes`. If EOF was received and the internal buffer is empty, "
"return an empty ``bytes`` object."
msgstr ""
#: library/asyncio-stream.rst:217
#: library/asyncio-stream.rst:216
msgid "If *n* is ``0``, return an empty ``bytes`` object immediately."
msgstr ""
#: library/asyncio-stream.rst:218
msgid ""
"If *n* is positive, return at most *n* available ``bytes`` as soon as at "
"least 1 byte is available in the internal buffer. If EOF is received before "
"any byte is read, return an empty ``bytes`` object."
msgstr ""
#: library/asyncio-stream.rst:225
msgid ""
"Read one line, where \"line\" is a sequence of bytes ending with ``\\n``."
msgstr ""
#: library/asyncio-stream.rst:220
#: library/asyncio-stream.rst:228
msgid ""
"If EOF is received and ``\\n`` was not found, the method returns partially "
"read data."
msgstr ""
#: library/asyncio-stream.rst:223
#: library/asyncio-stream.rst:231
msgid ""
"If EOF is received and the internal buffer is empty, return an empty "
"``bytes`` object."
msgstr ""
#: library/asyncio-stream.rst:228
#: library/asyncio-stream.rst:236
msgid "Read exactly *n* bytes."
msgstr ""
#: library/asyncio-stream.rst:230
#: library/asyncio-stream.rst:238
msgid ""
"Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be "
"read. Use the :attr:`IncompleteReadError.partial` attribute to get the "
"partially read data."
msgstr ""
#: library/asyncio-stream.rst:236
#: library/asyncio-stream.rst:244
msgid "Read data from the stream until *separator* is found."
msgstr ""
#: library/asyncio-stream.rst:238
#: library/asyncio-stream.rst:246
msgid ""
"On success, the data and separator will be removed from the internal buffer "
"(consumed). Returned data will include the separator at the end."
msgstr ""
#: library/asyncio-stream.rst:242
#: library/asyncio-stream.rst:250
msgid ""
"If the amount of data read exceeds the configured stream limit, a :exc:"
"`LimitOverrunError` exception is raised, and the data is left in the "
"internal buffer and can be read again."
msgstr ""
#: library/asyncio-stream.rst:246
#: library/asyncio-stream.rst:254
msgid ""
"If EOF is reached before the complete separator is found, an :exc:"
"`IncompleteReadError` exception is raised, and the internal buffer is "
@ -256,79 +266,79 @@ msgid ""
"portion of the separator."
msgstr ""
#: library/asyncio-stream.rst:255
#: library/asyncio-stream.rst:263
msgid "Return ``True`` if the buffer is empty and :meth:`feed_eof` was called."
msgstr ""
#: library/asyncio-stream.rst:260
#: library/asyncio-stream.rst:268
msgid "StreamWriter"
msgstr "StreamWriter"
#: library/asyncio-stream.rst:264
#: library/asyncio-stream.rst:272
msgid ""
"Represents a writer object that provides APIs to write data to the IO stream."
msgstr ""
#: library/asyncio-stream.rst:267
#: library/asyncio-stream.rst:275
msgid ""
"It is not recommended to instantiate *StreamWriter* objects directly; use :"
"func:`open_connection` and :func:`start_server` instead."
msgstr ""
#: library/asyncio-stream.rst:273
#: library/asyncio-stream.rst:281
msgid ""
"The method attempts to write the *data* to the underlying socket "
"immediately. If that fails, the data is queued in an internal write buffer "
"until it can be sent."
msgstr ""
#: library/asyncio-stream.rst:289
#: library/asyncio-stream.rst:297
msgid "The method should be used along with the ``drain()`` method::"
msgstr ""
#: library/asyncio-stream.rst:284
#: library/asyncio-stream.rst:292
msgid ""
"The method writes a list (or any iterable) of bytes to the underlying socket "
"immediately. If that fails, the data is queued in an internal write buffer "
"until it can be sent."
msgstr ""
#: library/asyncio-stream.rst:296
#: library/asyncio-stream.rst:304
msgid "The method closes the stream and the underlying socket."
msgstr ""
#: library/asyncio-stream.rst:298
#: library/asyncio-stream.rst:306
msgid ""
"The method should be used, though not mandatory, along with the "
"``wait_closed()`` method::"
msgstr ""
#: library/asyncio-stream.rst:306
#: library/asyncio-stream.rst:314
msgid ""
"Return ``True`` if the underlying transport supports the :meth:`write_eof` "
"method, ``False`` otherwise."
msgstr ""
#: library/asyncio-stream.rst:311
#: library/asyncio-stream.rst:319
msgid ""
"Close the write end of the stream after the buffered write data is flushed."
msgstr ""
#: library/asyncio-stream.rst:316
#: library/asyncio-stream.rst:324
msgid "Return the underlying asyncio transport."
msgstr ""
#: library/asyncio-stream.rst:320
#: library/asyncio-stream.rst:328
msgid ""
"Access optional transport information; see :meth:`BaseTransport."
"get_extra_info` for details."
msgstr ""
#: library/asyncio-stream.rst:325
#: library/asyncio-stream.rst:333
msgid "Wait until it is appropriate to resume writing to the stream. Example::"
msgstr ""
#: library/asyncio-stream.rst:331
#: library/asyncio-stream.rst:339
msgid ""
"This is a flow control method that interacts with the underlying IO write "
"buffer. When the size of the buffer reaches the high watermark, *drain()* "
@ -337,116 +347,116 @@ msgid ""
"`drain` returns immediately."
msgstr ""
#: library/asyncio-stream.rst:341
#: library/asyncio-stream.rst:349
msgid "Upgrade an existing stream-based connection to TLS."
msgstr ""
#: library/asyncio-stream.rst:343
#: library/asyncio-stream.rst:351
msgid "Parameters:"
msgstr ""
#: library/asyncio-stream.rst:345
#: library/asyncio-stream.rst:353
msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`."
msgstr ""
#: library/asyncio-stream.rst:347
#: library/asyncio-stream.rst:355
msgid ""
"*server_hostname*: sets or overrides the host name that the target server's "
"certificate will be matched against."
msgstr ""
#: library/asyncio-stream.rst:350
#: library/asyncio-stream.rst:358
msgid ""
"*ssl_handshake_timeout* is the time in seconds to wait for the TLS handshake "
"to complete before aborting the connection. ``60.0`` seconds if ``None`` "
"(default)."
msgstr ""
#: library/asyncio-stream.rst:358
#: library/asyncio-stream.rst:366
msgid ""
"Return ``True`` if the stream is closed or in the process of being closed."
msgstr ""
#: library/asyncio-stream.rst:365
#: library/asyncio-stream.rst:373
msgid "Wait until the stream is closed."
msgstr ""
#: library/asyncio-stream.rst:367
#: library/asyncio-stream.rst:375
msgid ""
"Should be called after :meth:`close` to wait until the underlying connection "
"is closed, ensuring that all data has been flushed before e.g. exiting the "
"program."
msgstr ""
#: library/asyncio-stream.rst:375
#: library/asyncio-stream.rst:383
msgid "Examples"
msgstr "Exemples"
#: library/asyncio-stream.rst:380
#: library/asyncio-stream.rst:388
msgid "TCP echo client using streams"
msgstr ""
#: library/asyncio-stream.rst:382
#: library/asyncio-stream.rst:390
msgid "TCP echo client using the :func:`asyncio.open_connection` function::"
msgstr ""
#: library/asyncio-stream.rst:406
#: library/asyncio-stream.rst:414
msgid ""
"The :ref:`TCP echo client protocol "
"<asyncio_example_tcp_echo_client_protocol>` example uses the low-level :meth:"
"`loop.create_connection` method."
msgstr ""
#: library/asyncio-stream.rst:413
#: library/asyncio-stream.rst:421
msgid "TCP echo server using streams"
msgstr ""
#: library/asyncio-stream.rst:415
#: library/asyncio-stream.rst:423
msgid "TCP echo server using the :func:`asyncio.start_server` function::"
msgstr ""
#: library/asyncio-stream.rst:449
#: library/asyncio-stream.rst:457
msgid ""
"The :ref:`TCP echo server protocol "
"<asyncio_example_tcp_echo_server_protocol>` example uses the :meth:`loop."
"create_server` method."
msgstr ""
#: library/asyncio-stream.rst:454
#: library/asyncio-stream.rst:462
msgid "Get HTTP headers"
msgstr "Récupère les en-têtes HTTP"
#: library/asyncio-stream.rst:456
#: library/asyncio-stream.rst:464
msgid ""
"Simple example querying HTTP headers of the URL passed on the command line::"
msgstr ""
#: library/asyncio-stream.rst:495
#: library/asyncio-stream.rst:503
msgid "Usage::"
msgstr "Utilisation ::"
#: library/asyncio-stream.rst:499
#: library/asyncio-stream.rst:507
msgid "or with HTTPS::"
msgstr "ou avec HTTPS ::"
#: library/asyncio-stream.rst:507
#: library/asyncio-stream.rst:515
msgid "Register an open socket to wait for data using streams"
msgstr ""
#: library/asyncio-stream.rst:509
#: library/asyncio-stream.rst:517
msgid ""
"Coroutine waiting until a socket receives data using the :func:"
"`open_connection` function::"
msgstr ""
#: library/asyncio-stream.rst:544
#: library/asyncio-stream.rst:552
msgid ""
"The :ref:`register an open socket to wait for data using a protocol "
"<asyncio_example_create_connection>` example uses a low-level protocol and "
"the :meth:`loop.create_connection` method."
msgstr ""
#: library/asyncio-stream.rst:548
#: library/asyncio-stream.rst:556
msgid ""
"The :ref:`watch a file descriptor for read events "
"<asyncio_example_watch_fd>` example uses the low-level :meth:`loop."

View File

@ -6,13 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2018-10-15 00:37+0200\n"
"PO-Revision-Date: 2023-03-19 14:41+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
#: library/asyncio-subprocess.rst:7
msgid "Subprocesses"
@ -29,37 +30,45 @@ msgid ""
"This section describes high-level async/await asyncio APIs to create and "
"manage subprocesses."
msgstr ""
"Cette section décrit des API de haut niveau de *asyncio* pour créer et gérer "
"des sous-processus via ``async``/``await``."
#: library/asyncio-subprocess.rst:19
msgid ""
"Here's an example of how asyncio can run a shell command and obtain its "
"result::"
msgstr ""
"Voici un exemple de comment *asyncio* peut lancer une commande shell et "
"obtenir son résultat ::"
#: library/asyncio-subprocess.rst:40
#, fuzzy
msgid "will print::"
msgstr "affiche ::"
#: library/asyncio-subprocess.rst:46
#, fuzzy
msgid ""
"Because all asyncio subprocess functions are asynchronous and asyncio "
"provides many tools to work with such functions, it is easy to execute and "
"monitor multiple subprocesses in parallel. It is indeed trivial to modify "
"the above example to run several commands simultaneously::"
msgstr ""
"Puisque toutes les fonctions à sous-processus d'*asyncio* sont synchrones et "
"qu'*asyncio* fournit de nombreux outils pour travailler avec de telles "
"fonctions, il est facile d'exécuter et de surveiller de nombreux processus "
"en parallèle ::"
#: library/asyncio-subprocess.rst:58
msgid "See also the `Examples`_ subsection."
msgstr ""
msgstr "Voir également la section `Exemples`_."
#: library/asyncio-subprocess.rst:62
msgid "Creating Subprocesses"
msgstr ""
msgstr "Créer des sous-processus"
#: library/asyncio-subprocess.rst:67
msgid "Create a subprocess."
msgstr ""
msgstr "Crée un sous-processus."
#: library/asyncio-subprocess.rst:69 library/asyncio-subprocess.rst:87
msgid ""
@ -67,20 +76,25 @@ msgid ""
"wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :attr:"
"`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)."
msgstr ""
"Le paramètre *limit* définit la taille maximale du tampon pour les instances "
"de :class:`StreamReader` encapsulant :attr:`Process.stdout` et :attr:"
"`Process.stderr` (Si :attr:`subprocess.PIPE` est passé aux paramètres "
"*stdout* et *stderr*)."
#: library/asyncio-subprocess.rst:73 library/asyncio-subprocess.rst:91
msgid "Return a :class:`~asyncio.subprocess.Process` instance."
msgstr ""
msgstr "Renvoie une instance de :class:`~asyncio.subprocess.Process`."
#: library/asyncio-subprocess.rst:75
msgid ""
"See the documentation of :meth:`loop.subprocess_exec` for other parameters."
msgstr ""
"Voir la documentation de :meth:`loop.subprocess_exec` pour d'autres "
"paramètres."
#: library/asyncio-subprocess.rst:78 library/asyncio-subprocess.rst:105
#, fuzzy
msgid "Removed the *loop* parameter."
msgstr "Autres paramètres :"
msgstr "Suppression du paramètre *loop*."
#: library/asyncio-subprocess.rst:85
msgid "Run the *cmd* shell command."
@ -90,6 +104,8 @@ msgstr "Exécute la commande *cmd* dans un *shell*."
msgid ""
"See the documentation of :meth:`loop.subprocess_shell` for other parameters."
msgstr ""
"Voir la documentation de :meth:`loop.subprocess_shell` pour d'autres "
"paramètres."
#: library/asyncio-subprocess.rst:98
msgid ""
@ -100,6 +116,13 @@ msgid ""
"escape whitespace and special shell characters in strings that are going to "
"be used to construct shell commands."
msgstr ""
"Il est de la responsabilité de l'application de s'assurer que tous les "
"espaces et les caractères spéciaux sont correctement mis entre guillemets "
"pour éviter les vulnérabilités de type `injection de code <https://en."
"wikipedia.org/wiki/Shell_injection#Shell_injection>`_. La fonction :func:"
"`shlex.quote` peut être utilisée pour léchappement des espaces et "
"caractères spéciaux dans les chaînes utilisées pour construire des commandes "
"shell."
#: library/asyncio-subprocess.rst:110
msgid ""
@ -107,8 +130,12 @@ msgid ""
"used. See :ref:`Subprocess Support on Windows <asyncio-windows-subprocess>` "
"for details."
msgstr ""
"Les sous-processus sont disponibles pour Windows si un :class:"
"`ProactorEventLoop` est utilisé. Voir :ref:`Support des sous-processus sous "
"Windows <asyncio-windows-subprocess>` pour plus de précisions."
#: library/asyncio-subprocess.rst:116
#, fuzzy
msgid ""
"asyncio also has the following *low-level* APIs to work with subprocesses: :"
"meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop."
@ -116,6 +143,8 @@ msgid ""
"`Subprocess Transports <asyncio-subprocess-transports>` and :ref:`Subprocess "
"Protocols <asyncio-subprocess-protocols>`."
msgstr ""
"*asyncio* propose aussi les API de « bas niveau » suivantes pour travailler "
"avec les sous-processus :"
#: library/asyncio-subprocess.rst:124
msgid "Constants"
@ -123,7 +152,7 @@ msgstr "Constantes"
#: library/asyncio-subprocess.rst:129
msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters."
msgstr ""
msgstr "Peut être passé aux paramètres *stdin*, *stdout* ou *stderr*."
#: library/asyncio-subprocess.rst:131
msgid ""
@ -131,6 +160,9 @@ msgid ""
"subprocess.Process.stdin>` attribute will point to a :class:`StreamWriter` "
"instance."
msgstr ""
"Si *PIPE* est passé au paramètre *stdin*, l'attribut :attr:`Process.stdin "
"<asyncio.subprocess.Process.stdin>` ne pointera pas vers une instance de :"
"class:`StreamWriter`."
#: library/asyncio-subprocess.rst:135
msgid ""
@ -139,12 +171,18 @@ msgid ""
"<asyncio.subprocess.Process.stderr>` attributes will point to :class:"
"`StreamReader` instances."
msgstr ""
"Si *PIPE* est passé au paramètre *stdout* ou *stderr* , l'attribut :attr:"
"`Process.stdout <asyncio.subprocess.Process.stdout>` et :attr:`Process."
"stderr <asyncio.subprocess.Process.stderr>` pointeront vers des instances "
"de :class:`StreamReader`."
#: library/asyncio-subprocess.rst:143
msgid ""
"Special value that can be used as the *stderr* argument and indicates that "
"standard error should be redirected into standard output."
msgstr ""
"Une valeur spéciale qui peut être passée au paramètre *stderr* et qui "
"indique que la sortie d'erreur doit être redirigée vers la sortie standard."
#: library/asyncio-subprocess.rst:149
msgid ""
@ -152,10 +190,13 @@ msgid ""
"to process creation functions. It indicates that the special file :data:`os."
"devnull` will be used for the corresponding subprocess stream."
msgstr ""
"Une valeur spéciale qui peut être passée à l'argument *stdin*, *stdout* ou "
"*stderr* des fonctions créant des processus. Elle implique l'utilisation du "
"fichier :data:`os.devnull` pour le flux correspondant du processus."
#: library/asyncio-subprocess.rst:155
msgid "Interacting with Subprocesses"
msgstr ""
msgstr "Interagir avec les sous-processus"
#: library/asyncio-subprocess.rst:157
msgid ""
@ -199,11 +240,13 @@ msgstr ""
#: library/asyncio-subprocess.rst:184
msgid "the *universal_newlines* parameter is not supported."
msgstr ""
msgstr "le paramètre *universal_newlines* n'est pas pris en charge."
#: library/asyncio-subprocess.rst:186
msgid "This class is :ref:`not thread safe <asyncio-multithreading>`."
msgstr ""
"Cette classe n'est :ref:`pas conçue pour un contexte multi-fils <asyncio-"
"multithreading>`."
#: library/asyncio-subprocess.rst:188
msgid ""
@ -215,11 +258,11 @@ msgstr ""
#: library/asyncio-subprocess.rst:193
msgid "Wait for the child process to terminate."
msgstr ""
msgstr "Attend que le sous processus s'arrête."
#: library/asyncio-subprocess.rst:195
msgid "Set and return the :attr:`returncode` attribute."
msgstr ""
msgstr "Définit et renvoie l'attribut :attr:`returncode`."
#: library/asyncio-subprocess.rst:199
msgid ""
@ -228,32 +271,41 @@ msgid ""
"pipe buffer to accept more data. Use the :meth:`communicate` method when "
"using pipes to avoid this condition."
msgstr ""
"Cette méthode peut générer un interblocage quand ``stdout=PIPE`` ou "
"``stderr=PIPE`` est utilisé et que le sous-processus génère tellement de "
"sorties qu'il se bloque, dans l'attente que le tampon du tube côté OS "
"accepte des données supplémentaires. Pour éviter cette situation, choisissez "
"la méthode :meth:`communicate` quand vous utilisez des tubes."
#: library/asyncio-subprocess.rst:207
msgid "Interact with process:"
msgstr ""
msgstr "Interagit avec le processus :"
#: library/asyncio-subprocess.rst:209
msgid "send data to *stdin* (if *input* is not ``None``);"
msgstr ""
msgstr "envoie des données sur le *stdin* (si *input* n'est pas ``None``);"
#: library/asyncio-subprocess.rst:210
msgid "read data from *stdout* and *stderr*, until EOF is reached;"
msgstr ""
"lit les données sur *stdout* et *stderr*, jusqu'à ce que le EOF soit "
"atteint ;"
#: library/asyncio-subprocess.rst:211
msgid "wait for process to terminate."
msgstr ""
msgstr "attend que le processus s'arrête."
#: library/asyncio-subprocess.rst:213
msgid ""
"The optional *input* argument is the data (:class:`bytes` object) that will "
"be sent to the child process."
msgstr ""
"Le paramètre optionnel *input* (objet de type :class:`bytes`) représente les "
"données transmises au sous-processus."
#: library/asyncio-subprocess.rst:216
msgid "Return a tuple ``(stdout_data, stderr_data)``."
msgstr ""
msgstr "Renvoie un tuple ``(stdout_data, stderr_data)``."
#: library/asyncio-subprocess.rst:218
msgid ""
@ -284,15 +336,15 @@ msgid "Sends the signal *signal* to the child process."
msgstr "Envoie le signal *signal* au sous-processus."
#: library/asyncio-subprocess.rst:238
#, fuzzy
msgid ""
"On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. "
"``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started "
"with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``."
msgstr ""
"Sous Windows, *SIGTERM* est un alias pour :meth:`terminate`. *CTRL_C_EVENT* "
"et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un "
"paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`."
"Sous Windows, :py:data:`SIGTERM` est un alias pour :meth:`terminate`. "
"*CTRL_C_EVENT* et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus "
"démarrés avec un paramètre *creationflags* incluant "
"``CREATE_NEW_PROCESS_GROUP``."
#: library/asyncio-subprocess.rst:245
msgid "Stop the child process."
@ -303,7 +355,7 @@ msgid ""
"On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child "
"process."
msgstr ""
"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au "
"Sur les systèmes POSIX, cette méthode envoie :py:data:`signal.SIGTERM` au "
"sous-processus."
#: library/asyncio-subprocess.rst:250
@ -313,21 +365,19 @@ msgid ""
msgstr ""
#: library/asyncio-subprocess.rst:255
#, fuzzy
msgid "Kill the child process."
msgstr "Arrête le sous-processus."
#: library/asyncio-subprocess.rst:257
#, fuzzy
msgid ""
"On POSIX systems this method sends :py:data:`SIGKILL` to the child process."
msgstr ""
"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au "
"Sur les systèmes POSIX, cette méthode envoie :py:data:`signal.SIGTERM` au "
"sous-processus."
#: library/asyncio-subprocess.rst:260
msgid "On Windows this method is an alias for :meth:`terminate`."
msgstr ""
msgstr "Sous Windows, cette méthode est un alias pour :meth:`terminate`."
#: library/asyncio-subprocess.rst:264
msgid ""
@ -358,6 +408,8 @@ msgstr ""
#: library/asyncio-subprocess.rst:288
msgid "Process identification number (PID)."
msgstr ""
"Numéro d'identification du processus (PID, pour *Process Identification "
"Number* en anglais)."
#: library/asyncio-subprocess.rst:290
msgid ""
@ -367,7 +419,7 @@ msgstr ""
#: library/asyncio-subprocess.rst:295
msgid "Return code of the process when it exits."
msgstr ""
msgstr "Code de retour du processus quand il se termine."
#: library/asyncio-subprocess.rst:297
msgid "A ``None`` value indicates that the process has not terminated yet."
@ -379,7 +431,7 @@ msgid ""
"``N`` (POSIX only)."
msgstr ""
"Une valeur négative ``-N`` indique que le sous-processus a été terminé par "
"un signal ``N`` (seulement sur les systèmes *POSIX*)."
"le signal ``N`` (seulement sur les systèmes *POSIX*)."
#: library/asyncio-subprocess.rst:306
msgid "Subprocess and Threads"
@ -414,18 +466,25 @@ msgid ""
"Spawning a subprocess with *inactive* current child watcher raises :exc:"
"`RuntimeError`."
msgstr ""
"Instancier un sous-processus avec un observateur enfant actuel *inactif* "
"lève l'exception :exc:`RuntimeError`."
#: library/asyncio-subprocess.rst:326
msgid ""
"Note that alternative event loop implementations might have own limitations; "
"please refer to their documentation."
msgstr ""
"Notez que ces implémentations alternatives de la boucle d'événements peuvent "
"comporter leurs propres limitations. Veuillez vous référer à leur "
"documentation."
#: library/asyncio-subprocess.rst:331
msgid ""
"The :ref:`Concurrency and multithreading in asyncio <asyncio-"
"multithreading>` section."
msgstr ""
"La section :ref:`Exécution concurrente et multi-fils d'exécution <asyncio-"
"multithreading>`."
#: library/asyncio-subprocess.rst:336
msgid "Examples"
@ -437,14 +496,20 @@ msgid ""
"subprocess and the :class:`StreamReader` class to read from its standard "
"output."
msgstr ""
"Un exemple utilisant la classe :class:`~asyncio.subprocess.Process` pour "
"contrôler un sous-processus et la classe :class:`StreamReader` pour lire sa "
"sortie standard."
#: library/asyncio-subprocess.rst:344
msgid ""
"The subprocess is created by the :func:`create_subprocess_exec` function::"
msgstr ""
"Le sous-processus est créé par la fonction :func:`create_subprocess_exec` ::"
#: library/asyncio-subprocess.rst:371
msgid ""
"See also the :ref:`same example <asyncio_example_subprocess_proto>` written "
"using low-level APIs."
msgstr ""
"Voir également :ref:`le même exemple <asyncio_example_subprocess_proto>`, "
"écrit en utilisant des API de bas niveau."

File diff suppressed because it is too large Load Diff

View File

@ -65,7 +65,7 @@ msgstr ""
#: library/asyncio.rst:32
msgid "asyncio provides a set of **high-level** APIs to:"
msgstr ""
"``asyncio`` fournit des interfaces de programmation **haut-niveau** pour :"
"``asyncio`` fournit des interfaces de programmation **haut-niveau** pour :"
#: library/asyncio.rst:34
msgid ""
@ -101,7 +101,7 @@ msgid ""
"developers* to:"
msgstr ""
"En plus, il existe des bibliothèques de **bas-niveau** pour que les "
"*développeurs de bibliothèques et de frameworks* puissent :"
"*développeurs de bibliothèques et de frameworks* puissent :"
#: library/asyncio.rst:48
msgid ""

View File

@ -56,7 +56,7 @@ msgid ""
"public API of CPython:"
msgstr ""
"Les évènements suivants sont levés en interne et ne correspondent à aucune "
"API publique de CPython:"
"API publique de CPython :"
#: library/audit_events.rst:27
#, fuzzy

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2022-10-18 15:43+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -106,7 +106,7 @@ msgstr ""
#: library/base64.rst:49
msgid "The modern interface provides:"
msgstr "L'interface moderne propose :"
msgstr "L'interface moderne propose :"
#: library/base64.rst:53
msgid ""
@ -134,7 +134,7 @@ msgstr ""
#: library/base64.rst:61
msgid ""
"May assert or raise a a :exc:`ValueError` if the length of *altchars* is not "
"May assert or raise a :exc:`ValueError` if the length of *altchars* is not "
"2. Raises a :exc:`TypeError` if *altchars* is not a :term:`bytes-like "
"object`."
msgstr ""
@ -438,7 +438,7 @@ msgstr ""
#: library/base64.rst:247
msgid "The legacy interface:"
msgstr "L'interface historique :"
msgstr "L'interface historique :"
#: library/base64.rst:251
msgid ""
@ -493,7 +493,7 @@ msgstr ""
#: library/base64.rst:285
msgid "An example usage of the module:"
msgstr "Un exemple d'utilisation du module :"
msgstr "Un exemple d'utilisation du module :"
#: library/base64.rst:298
msgid "Security Considerations"

View File

@ -30,7 +30,7 @@ msgstr ""
#: library/bdb.rst:14
msgid "The following exception is defined:"
msgstr "L'exception suivante est définie :"
msgstr "L'exception suivante est définie :"
#: library/bdb.rst:18
msgid "Exception raised by the :class:`Bdb` class for quitting the debugger."
@ -38,7 +38,7 @@ msgstr ""
#: library/bdb.rst:21
msgid "The :mod:`bdb` module also defines two classes:"
msgstr "Le module :mod:`bdb` définis deux classes :"
msgstr "Le module :mod:`bdb` définis deux classes :"
#: library/bdb.rst:25
msgid ""

View File

@ -260,7 +260,7 @@ msgstr ""
"tableaux de nombres. Cet exemple utilise :func:`bisect` pour rechercher la "
"note (sous forme de lettre) correspondant à une note sous forme de points, "
"en se basant sur une échelle prédéfinie : plus de 90 vaut 'A', de 80 à 89 "
"vaut 'B', etc. ::"
"vaut 'B', etc ::"
#: library/bisect.rst:201
msgid ""

View File

@ -554,7 +554,7 @@ msgstr ""
#: library/calendar.rst:385
msgid "The :mod:`calendar` module exports the following data attributes:"
msgstr "Le module :mod:`calendar` exporte les attributs suivants :"
msgstr "Le module :mod:`calendar` exporte les attributs suivants :"
#: library/calendar.rst:389
msgid "An array that represents the days of the week in the current locale."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2019-05-28 20:19+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -39,23 +39,34 @@ msgstr ""
#: library/cmath.rst:18
msgid ""
"On platforms with hardware and system-level support for signed zeros, "
"functions involving branch cuts are continuous on *both* sides of the branch "
"cut: the sign of the zero distinguishes one side of the branch cut from the "
"other. On platforms that do not support signed zeros the continuity is as "
"specified below."
"For functions involving branch cuts, we have the problem of deciding how to "
"define those functions on the cut itself. Following Kahan's \"Branch cuts "
"for complex elementary functions\" paper, as well as Annex G of C99 and "
"later C standards, we use the sign of zero to distinguish one side of the "
"branch cut from the other: for a branch cut along (a portion of) the real "
"axis we look at the sign of the imaginary part, while for a branch cut along "
"the imaginary axis we look at the sign of the real part."
msgstr ""
"Sur les plate-formes avec un support système et matériel des zéros signés, "
"les fonctions incluant une coupure complexe sont continues *de chaque* côté "
"de la coupure : le signe du zéro distingue les deux extrémités de la "
"coupure. Sur les plate-formes ne supportant pas les zéros signés, la "
"continuité est spécifiée en-dessous."
#: library/cmath.rst:26
msgid ""
"For example, the :func:`cmath.sqrt` function has a branch cut along the "
"negative real axis. An argument of ``complex(-2.0, -0.0)`` is treated as "
"though it lies *below* the branch cut, and so gives a result on the negative "
"imaginary axis::"
msgstr ""
#: library/cmath.rst:34
msgid ""
"But an argument of ``complex(-2.0, 0.0)`` is treated as though it lies above "
"the branch cut::"
msgstr ""
#: library/cmath.rst:42
msgid "Conversions to and from polar coordinates"
msgstr "Conversion vers et à partir de coordonnées polaires"
#: library/cmath.rst:28
#: library/cmath.rst:44
msgid ""
"A Python complex number ``z`` is stored internally using *rectangular* or "
"*Cartesian* coordinates. It is completely determined by its *real part* ``z."
@ -65,7 +76,7 @@ msgstr ""
"*cartésiennes*. Il est entièrement défini par sa *partie réelle* ``z.real`` "
"et sa *partie complexe* ``z.imag``. En d'autres termes ::"
#: library/cmath.rst:35
#: library/cmath.rst:51
msgid ""
"*Polar coordinates* give an alternative way to represent a complex number. "
"In polar coordinates, a complex number *z* is defined by the modulus *r* and "
@ -82,7 +93,7 @@ msgstr ""
"trigonométrique), mesuré en radians, à partir de l'axe X positif, et vers le "
"segment de droite joignant *z* à l'origine."
#: library/cmath.rst:42
#: library/cmath.rst:58
msgid ""
"The following functions can be used to convert from the native rectangular "
"coordinates to polar coordinates and back."
@ -91,15 +102,14 @@ msgstr ""
"coordonnées rectangulaires natives vers les coordonnées polaires, et vice-"
"versa."
#: library/cmath.rst:47
#: library/cmath.rst:63
#, fuzzy
msgid ""
"Return the phase of *x* (also known as the *argument* of *x*), as a float. "
"Return the phase of *x* (also known as the *argument* of *x*), as a float. "
"``phase(x)`` is equivalent to ``math.atan2(x.imag, x.real)``. The result "
"lies in the range [-\\ *π*, *π*], and the branch cut for this operation lies "
"along the negative real axis, continuous from above. On systems with "
"support for signed zeros (which includes most systems in current use), this "
"means that the sign of the result is the same as the sign of ``x.imag``, "
"even when ``x.imag`` is zero::"
"along the negative real axis. The sign of the result is the same as the "
"sign of ``x.imag``, even when ``x.imag`` is zero::"
msgstr ""
"Renvoie l'argument de *x*, dans un nombre flottant. ``phase(x)`` est "
"équivalent à ``math.atan2(x.imag, x.real)``. Le résultat se situe dans "
@ -109,7 +119,7 @@ msgstr ""
"utilisés actuellement), cela signifie que le signe du résultat est le même "
"que ``x.imag`` même quand ``x.imag`` vaut zéro ::"
#: library/cmath.rst:64
#: library/cmath.rst:77
msgid ""
"The modulus (absolute value) of a complex number *x* can be computed using "
"the built-in :func:`abs` function. There is no separate :mod:`cmath` module "
@ -119,7 +129,7 @@ msgstr ""
"utilisant la primitive :func:`abs`. Il n'y a pas de fonction spéciale du "
"module :mod:`cmath` pour cette opération."
#: library/cmath.rst:71
#: library/cmath.rst:84
msgid ""
"Return the representation of *x* in polar coordinates. Returns a pair ``(r, "
"phi)`` where *r* is the modulus of *x* and phi is the phase of *x*. "
@ -129,7 +139,7 @@ msgstr ""
"``(r, phi)`` où *r* est le module de *x* et phi est l'argument de *x*. "
"``polar(x)`` est équivalent à ``(abs(x), phase(x))``."
#: library/cmath.rst:79
#: library/cmath.rst:92
msgid ""
"Return the complex number *x* with polar coordinates *r* and *phi*. "
"Equivalent to ``r * (math.cos(phi) + math.sin(phi)*1j)``."
@ -137,11 +147,11 @@ msgstr ""
"Renvoie le nombre complexe *x* dont les coordonnées polaires sont *r* et "
"*phi*. Équivalent à ``r * (math.cos(phi) + math.sin(phi)*1j)``."
#: library/cmath.rst:84
#: library/cmath.rst:97
msgid "Power and logarithmic functions"
msgstr "Fonctions logarithme et exponentielle"
#: library/cmath.rst:88
#: library/cmath.rst:101
msgid ""
"Return *e* raised to the power *x*, where *e* is the base of natural "
"logarithms."
@ -149,18 +159,19 @@ msgstr ""
"Renvoie *e* élevé à la puissance *x*, où *e* est la base des logarithmes "
"naturels."
#: library/cmath.rst:94
#: library/cmath.rst:107
#, fuzzy
msgid ""
"Returns the logarithm of *x* to the given *base*. If the *base* is not "
"specified, returns the natural logarithm of *x*. There is one branch cut, "
"from 0 along the negative real axis to -∞, continuous from above."
"from 0 along the negative real axis to -∞."
msgstr ""
"Renvoie le logarithme de *x* dans la *base* précisée. Si la *base* n'est pas "
"spécifiée, le logarithme *naturel* (népérien) de *x* est renvoyé. Il y a une "
"coupure, partant de 0 sur l'axe réel négatif et vers ``-∞``, continue par au-"
"dessus."
#: library/cmath.rst:101
#: library/cmath.rst:114
msgid ""
"Return the base-10 logarithm of *x*. This has the same branch cut as :func:"
"`log`."
@ -168,106 +179,108 @@ msgstr ""
"Renvoie le logarithme en base 10 de *x*. Elle a la même coupure que :func:"
"`log`."
#: library/cmath.rst:107
#: library/cmath.rst:120
msgid ""
"Return the square root of *x*. This has the same branch cut as :func:`log`."
msgstr ""
"Renvoie la racine carrée de *x*. Elle a la même coupure que :func:`log`."
#: library/cmath.rst:111
#: library/cmath.rst:124
msgid "Trigonometric functions"
msgstr "Fonctions trigonométriques"
#: library/cmath.rst:115
#: library/cmath.rst:128
#, fuzzy
msgid ""
"Return the arc cosine of *x*. There are two branch cuts: One extends right "
"from 1 along the real axis to ∞, continuous from below. The other extends "
"left from -1 along the real axis to -∞, continuous from above."
"from 1 along the real axis to ∞. The other extends left from -1 along the "
"real axis to -∞."
msgstr ""
"Renvoie l'arc cosinus de *x*. Il y a deux coupures : une allant de 1 sur "
"l'axe réel vers ∞, continue par en-dessous ; l'autre allant de ``-1`` sur "
"l'axe réel vers ``-∞``, continue par au-dessus."
#: library/cmath.rst:122
#: library/cmath.rst:135
msgid ""
"Return the arc sine of *x*. This has the same branch cuts as :func:`acos`."
msgstr ""
"Renvoie l'arc sinus de *x*. Elle a les mêmes coupures que :func:`acos`."
#: library/cmath.rst:127
#: library/cmath.rst:140
#, fuzzy
msgid ""
"Return the arc tangent of *x*. There are two branch cuts: One extends from "
"``1j`` along the imaginary axis to ``∞j``, continuous from the right. The "
"other extends from ``-1j`` along the imaginary axis to ``-∞j``, continuous "
"from the left."
"``1j`` along the imaginary axis to ``∞j``. The other extends from ``-1j`` "
"along the imaginary axis to ``-∞j``."
msgstr ""
"Renvoie la tangente de *x*. l y a deux coupures : une allant de ``1j`` sur "
"l'axe imaginaire vers ``∞j``, continue par la droite ; l'autre allant de "
"``-1j`` sur l'axe imaginaire vers ``-∞j``, continue par la gauche."
#: library/cmath.rst:135
#: library/cmath.rst:147
msgid "Return the cosine of *x*."
msgstr "Renvoie le cosinus de *x*."
#: library/cmath.rst:140
#: library/cmath.rst:152
msgid "Return the sine of *x*."
msgstr "Renvoie le sinus de *x*."
#: library/cmath.rst:145
#: library/cmath.rst:157
msgid "Return the tangent of *x*."
msgstr "Renvoie la tangente de *x*."
#: library/cmath.rst:149
#: library/cmath.rst:161
msgid "Hyperbolic functions"
msgstr "Fonctions hyperboliques"
#: library/cmath.rst:153
#: library/cmath.rst:165
#, fuzzy
msgid ""
"Return the inverse hyperbolic cosine of *x*. There is one branch cut, "
"extending left from 1 along the real axis to -∞, continuous from above."
"extending left from 1 along the real axis to -∞."
msgstr ""
"Renvoie l'arc cosinus hyperbolique de *x*. Il y a une coupure, allant de 1 "
"sur l'axe réel vers ``-∞``, continue par au-dessus."
#: library/cmath.rst:159
#: library/cmath.rst:171
#, fuzzy
msgid ""
"Return the inverse hyperbolic sine of *x*. There are two branch cuts: One "
"extends from ``1j`` along the imaginary axis to ``∞j``, continuous from the "
"right. The other extends from ``-1j`` along the imaginary axis to ``-∞j``, "
"continuous from the left."
"extends from ``1j`` along the imaginary axis to ``∞j``. The other extends "
"from ``-1j`` along the imaginary axis to ``-∞j``."
msgstr ""
"Renvoie l'arc sinus hyperbolique de *x*. Il y a deux coupures : une allant "
"de ``1j`` sur l'axe imaginaire vers ``∞j``, continue par la droite ; l'autre "
"allant de ``-1j`` sur l'axe imaginaire vers ``∞j``, continue par la gauche."
#: library/cmath.rst:167
#: library/cmath.rst:178
#, fuzzy
msgid ""
"Return the inverse hyperbolic tangent of *x*. There are two branch cuts: One "
"extends from ``1`` along the real axis to ``∞``, continuous from below. The "
"other extends from ``-1`` along the real axis to ``-∞``, continuous from "
"above."
"extends from ``1`` along the real axis to ``∞``. The other extends from "
"``-1`` along the real axis to ``-∞``."
msgstr ""
"Renvoie l'arc tangente hyperbolique de *x*. Il y a deux coupures : une "
"allant de ``1`` sur l'axe réel allant vers ``∞``, continue par en-dessous ; "
"l'autre allant de ``-1`` sur l'axe réel vers ``-∞``, continue par au-dessus."
#: library/cmath.rst:175
#: library/cmath.rst:185
msgid "Return the hyperbolic cosine of *x*."
msgstr "Renvoie le cosinus hyperbolique de *x*."
#: library/cmath.rst:180
#: library/cmath.rst:190
msgid "Return the hyperbolic sine of *x*."
msgstr "Renvoie le sinus hyperbolique de *x*."
#: library/cmath.rst:185
#: library/cmath.rst:195
msgid "Return the hyperbolic tangent of *x*."
msgstr "Renvoie la tangente hyperbolique de *x*."
#: library/cmath.rst:189
#: library/cmath.rst:199
msgid "Classification functions"
msgstr "Fonctions de classifications"
#: library/cmath.rst:193
#: library/cmath.rst:203
msgid ""
"Return ``True`` if both the real and imaginary parts of *x* are finite, and "
"``False`` otherwise."
@ -275,7 +288,7 @@ msgstr ""
"Renvoie ``True`` si la partie réelle *et* la partie imaginaire de *x* sont "
"finies, et ``False`` sinon."
#: library/cmath.rst:201
#: library/cmath.rst:211
msgid ""
"Return ``True`` if either the real or the imaginary part of *x* is an "
"infinity, and ``False`` otherwise."
@ -283,7 +296,7 @@ msgstr ""
"Renvoie ``True`` si soit la partie réelle *ou* la partie imaginaire de *x* "
"est infinie, et ``False`` sinon."
#: library/cmath.rst:207
#: library/cmath.rst:217
msgid ""
"Return ``True`` if either the real or the imaginary part of *x* is a NaN, "
"and ``False`` otherwise."
@ -291,7 +304,7 @@ msgstr ""
"Renvoie ``True`` si soit la partie réelle *ou* la partie imaginaire de *x* "
"est NaN, et ``False`` sinon."
#: library/cmath.rst:213
#: library/cmath.rst:223
msgid ""
"Return ``True`` if the values *a* and *b* are close to each other and "
"``False`` otherwise."
@ -299,7 +312,7 @@ msgstr ""
"Renvoie ``True`` si les valeurs *a* et *b* sont proches l'une de l'autre, et "
"``False`` sinon."
#: library/cmath.rst:216
#: library/cmath.rst:226
msgid ""
"Whether or not two values are considered close is determined according to "
"given absolute and relative tolerances."
@ -307,7 +320,7 @@ msgstr ""
"Déterminer si deux valeurs sont proches se fait à l'aide des tolérances "
"absolues et relatives données en paramètres."
#: library/cmath.rst:219
#: library/cmath.rst:229
msgid ""
"*rel_tol* is the relative tolerance -- it is the maximum allowed difference "
"between *a* and *b*, relative to the larger absolute value of *a* or *b*. "
@ -322,7 +335,7 @@ msgstr ""
"mêmes à partir de la 9\\ :sup:`e` décimale. *rel_tol* doit être supérieur à "
"zéro."
#: library/cmath.rst:225
#: library/cmath.rst:235
msgid ""
"*abs_tol* is the minimum absolute tolerance -- useful for comparisons near "
"zero. *abs_tol* must be at least zero."
@ -330,7 +343,7 @@ msgstr ""
"*abs_tol* est la tolérance absolue minimale -- utile pour les comparaisons "
"proches de zéro. *abs_tol* doit valoir au moins zéro."
#: library/cmath.rst:228
#: library/cmath.rst:238
msgid ""
"If no errors occur, the result will be: ``abs(a-b) <= max(rel_tol * "
"max(abs(a), abs(b)), abs_tol)``."
@ -338,7 +351,7 @@ msgstr ""
"Si aucune erreur n'est rencontrée, le résultat sera : ``abs(a-b) <= "
"max(rel_tol * max(abs(a), abs(b)), abs_tol)``."
#: library/cmath.rst:231
#: library/cmath.rst:241
msgid ""
"The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be "
"handled according to IEEE rules. Specifically, ``NaN`` is not considered "
@ -351,32 +364,32 @@ msgstr ""
"``NaN`` inclus. ``inf`` et ``-inf`` ne sont considérés proches que d'eux-"
"mêmes."
#: library/cmath.rst:240
#: library/cmath.rst:250
msgid ":pep:`485` -- A function for testing approximate equality"
msgstr ":pep:`485` -- Une fonction pour tester des égalités approximées"
#: library/cmath.rst:244
#: library/cmath.rst:254
msgid "Constants"
msgstr "Constantes"
#: library/cmath.rst:248
#: library/cmath.rst:258
msgid "The mathematical constant *π*, as a float."
msgstr "La constante mathématique *π*, en tant que flottant."
#: library/cmath.rst:253
#: library/cmath.rst:263
msgid "The mathematical constant *e*, as a float."
msgstr "La constante mathématique *e*, en tant que flottant."
#: library/cmath.rst:258
#: library/cmath.rst:268
msgid "The mathematical constant *τ*, as a float."
msgstr "La constante mathématique *τ*, sous forme de flottant."
#: library/cmath.rst:265
#: library/cmath.rst:275
msgid "Floating-point positive infinity. Equivalent to ``float('inf')``."
msgstr ""
"Nombre à virgule flottante positif infini. Équivaut à ``float('inf')``."
#: library/cmath.rst:272
#: library/cmath.rst:282
msgid ""
"Complex number with zero real part and positive infinity imaginary part. "
"Equivalent to ``complex(0.0, float('inf'))``."
@ -384,7 +397,7 @@ msgstr ""
"Nombre complexe dont la partie réelle vaut zéro et la partie imaginaire un "
"infini positif. Équivalent à ``complex(0.0, float('inf'))``."
#: library/cmath.rst:280
#: library/cmath.rst:290
msgid ""
"A floating-point \"not a number\" (NaN) value. Equivalent to "
"``float('nan')``."
@ -392,7 +405,7 @@ msgstr ""
"Un nombre à virgule flottante *NaN* (*Not a number*). Équivalent à "
"``float('nan')``."
#: library/cmath.rst:288
#: library/cmath.rst:298
msgid ""
"Complex number with zero real part and NaN imaginary part. Equivalent to "
"``complex(0.0, float('nan'))``."
@ -400,7 +413,7 @@ msgstr ""
"Nombre complexe dont la partie réelle vaut zéro et la partie imaginaire vaut "
"un *NaN*. Équivalent à ``complex(0.0, float('nan'))``."
#: library/cmath.rst:296
#: library/cmath.rst:306
msgid ""
"Note that the selection of functions is similar, but not identical, to that "
"in module :mod:`math`. The reason for having two modules is that some users "
@ -420,7 +433,7 @@ msgstr ""
"toujours un nombre complexe, même si le résultat peut être exprimé à l'aide "
"d'un nombre réel (en quel cas la partie imaginaire du complexe vaut zéro)."
#: library/cmath.rst:304
#: library/cmath.rst:314
msgid ""
"A note on branch cuts: They are curves along which the given function fails "
"to be continuous. They are a necessary feature of many complex functions. "
@ -436,9 +449,9 @@ msgstr ""
"fonctions complexes, vous comprendrez ce que sont les coupures. Consultez "
"n'importe quel livre (pas trop élémentaire) sur les variables complexes pour "
"plus d'informations. Pour des informations sur les choix des coupures à des "
"fins numériques, voici une bonne référence :"
"fins numériques, voici une bonne référence :"
#: library/cmath.rst:314
#: library/cmath.rst:324
msgid ""
"Kahan, W: Branch cuts for complex elementary functions; or, Much ado about "
"nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the "
@ -447,3 +460,16 @@ msgstr ""
"Kahan, W: Branch cuts for complex elementary functions; or, Much ado about "
"nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the "
"art in numerical analysis. Clarendon Press (1987) pp165--211."
#~ msgid ""
#~ "On platforms with hardware and system-level support for signed zeros, "
#~ "functions involving branch cuts are continuous on *both* sides of the "
#~ "branch cut: the sign of the zero distinguishes one side of the branch cut "
#~ "from the other. On platforms that do not support signed zeros the "
#~ "continuity is as specified below."
#~ msgstr ""
#~ "Sur les plate-formes avec un support système et matériel des zéros "
#~ "signés, les fonctions incluant une coupure complexe sont continues *de "
#~ "chaque* côté de la coupure : le signe du zéro distingue les deux "
#~ "extrémités de la coupure. Sur les plate-formes ne supportant pas les "
#~ "zéros signés, la continuité est spécifiée en-dessous."

View File

@ -311,7 +311,7 @@ msgid ""
"Instances of :class:`Cmd` subclasses have some public instance variables:"
msgstr ""
"Les instances de classes filles de :class:`Cmd` possèdent des variables "
"d'instance publiques:"
"d'instance publiques :"
#: library/cmd.rst:168
msgid "The prompt issued to solicit input."
@ -453,4 +453,4 @@ msgid ""
msgstr ""
"Voici une session d'exemple avec l'invite de commande *turtle*. Elle montre "
"les fonctions d'aide, utilise les lignes vides pour répéter des commandes et "
"montre l'utilitaire de *playback*:"
"montre l'utilitaire de *playback* :"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
"POT-Creation-Date: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2021-11-06 20:25+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -39,11 +39,12 @@ msgstr ""
#: library/codeop.rst:20
msgid "There are two parts to this job:"
msgstr "Cette tâche se divise en deux parties:"
msgstr "Cette tâche se divise en deux parties :"
#: library/codeop.rst:22
#, fuzzy
msgid ""
"Being able to tell if a line of input completes a Python statement: in "
"Being able to tell if a line of input completes a Python statement: in "
"short, telling whether to print '``>>>``' or '``...``' next."
msgstr ""
"Pouvoir affirmer qu'une ligne d'entrée est une instruction complète, ou "
@ -51,8 +52,9 @@ msgstr ""
"« ``...`` » à sa suite."
#: library/codeop.rst:25
#, fuzzy
msgid ""
"Remembering which future statements the user has entered, so subsequent "
"Remembering which future statements the user has entered, so subsequent "
"input can be compiled with these in effect."
msgstr ""
"Conserver les instructions déjà entrées par l'utilisateur, afin que les "
@ -68,14 +70,15 @@ msgstr ""
#: library/codeop.rst:31
msgid "To do just the former:"
msgstr "Pour ne faire que la première partie:"
msgstr "Pour ne faire que la première partie :"
#: library/codeop.rst:35
#, fuzzy
msgid ""
"Tries to compile *source*, which should be a string of Python code and "
"return a code object if *source* is valid Python code. In that case, the "
"return a code object if *source* is valid Python code. In that case, the "
"filename attribute of the code object will be *filename*, which defaults to "
"``'<input>'``. Returns ``None`` if *source* is *not* valid Python code, but "
"``'<input>'``. Returns ``None`` if *source* is *not* valid Python code, but "
"is a prefix of valid Python code."
msgstr ""
"Essaye de compiler *source*, qui doit être une chaîne de caractères "
@ -95,11 +98,12 @@ msgstr ""
"ou :exc:`ValueError` si un littéral invalide est rencontré."
#: library/codeop.rst:45
#, fuzzy
msgid ""
"The *symbol* argument determines whether *source* is compiled as a statement "
"(``'single'``, the default), as a sequence of statements (``'exec'``) or as "
"an :term:`expression` (``'eval'``). Any other value will cause :exc:"
"`ValueError` to be raised."
"(``'single'``, the default), as a sequence of :term:`statement` (``'exec'``) "
"or as an :term:`expression` (``'eval'``). Any other value will cause :exc:"
"`ValueError` to be raised."
msgstr ""
"L'argument *symbol* détermine si *source* est compilée comme une instruction "
"(``'single'``, par défaut), comme une suite d'instructions (``'exec'``), ou "
@ -136,11 +140,13 @@ msgstr ""
"sources suivants avec cette instruction activée."
#: library/codeop.rst:70
#, fuzzy
msgid ""
"Instances of this class have :meth:`__call__` methods identical in signature "
"to :func:`compile_command`; the difference is that if the instance compiles "
"program text containing a ``__future__`` statement, the instance 'remembers' "
"and compiles all subsequent program texts with the statement in force."
"program text containing a :mod:`__future__` statement, the instance "
"'remembers' and compiles all subsequent program texts with the statement in "
"force."
msgstr ""
"Les instances de cette classe ont des méthodes :meth:`__call__` de signature "
"identique à la fonction :func:`compile_command`, à la différence près que si "

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2021-03-21 16:06+0100\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -30,10 +30,11 @@ msgid "**Source code:** :source:`Lib/_collections_abc.py`"
msgstr "**Code source :** :source:`Lib/_collections_abc.py`"
#: library/collections.abc.rst:23
#, fuzzy
msgid ""
"This module provides :term:`abstract base classes <abstract base class>` "
"that can be used to test whether a class provides a particular interface; "
"for example, whether it is hashable or whether it is a mapping."
"for example, whether it is :term:`hashable` or whether it is a mapping."
msgstr ""
"Ce module fournit :term:`des classes de base abstraites <abstract base "
"class>` qui peuvent être utilisées pour vérifier si une classe fournit une "
@ -105,7 +106,7 @@ msgid ""
"class>`:"
msgstr ""
"Le module collections apporte les :term:`ABC <abstract base class>` "
"suivantes :"
"suivantes :"
#: library/collections.abc.rst:121
msgid "ABC"
@ -690,7 +691,7 @@ msgstr ""
msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:"
msgstr ""
"Notes à propos de l'utilisation de :class:`Set` et :class:`MutableSet` comme "
"*mixin* :"
"*mixin* :"
#: library/collections.abc.rst:391
msgid ""
@ -726,12 +727,13 @@ msgstr ""
"puis les autres opérations seront automatiquement adaptées."
#: library/collections.abc.rst:407
#, fuzzy
msgid ""
"The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash "
"value for the set; however, :meth:`__hash__` is not defined because not all "
"sets are hashable or immutable. To add set hashability using mixins, "
"inherit from both :meth:`Set` and :meth:`Hashable`, then define ``__hash__ = "
"Set._hash``."
"sets are :term:`hashable` or immutable. To add set hashability using "
"mixins, inherit from both :meth:`Set` and :meth:`Hashable`, then define "
"``__hash__ = Set._hash``."
msgstr ""
"La classe *mixin* :class:`Set` apporte une méthode :meth:`_hash` pour "
"calculer une valeur de hachage pour l'ensemble ; cependant :meth:`__hash__` "

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2021-11-06 20:46+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -69,7 +69,8 @@ msgid ":class:`Counter`"
msgstr ":class:`Counter`"
#: library/collections.rst:28
msgid "dict subclass for counting hashable objects"
#, fuzzy
msgid "dict subclass for counting :term:`hashable` objects"
msgstr "sous-classe de ``dict`` pour compter des objets hachables"
#: library/collections.rst:29
@ -378,8 +379,9 @@ msgstr ""
"dénombrements. Par exemple ::"
#: library/collections.rst:244
#, fuzzy
msgid ""
"A :class:`Counter` is a :class:`dict` subclass for counting hashable "
"A :class:`Counter` is a :class:`dict` subclass for counting :term:`hashable` "
"objects. It is a collection where elements are stored as dictionary keys and "
"their counts are stored as dictionary values. Counts are allowed to be any "
"integer value including zero or negative counts. The :class:`Counter` class "
@ -1591,7 +1593,7 @@ msgstr ""
"Déplace une clé *key* existante à l'une des deux extrémités du "
"dictionnaire : à droite si *last* vaut ``True`` (comportement par défaut) ou "
"à gauche sinon. Lève une exception :exc:`KeyError` si la clé *key* n'est pas "
"trouvée ::"
"trouvée :"
#: library/collections.rst:1161
msgid ""

View File

@ -37,4 +37,4 @@ msgstr ""
msgid "The following are support modules for some of the above services:"
msgstr ""
"Les modules suivants servent de fondation pour certains services cités ci-"
"dessus."
"dessus :"

View File

@ -502,7 +502,7 @@ msgid ""
"the following constants:"
msgstr ""
"*return_when* indique quand la fonction doit se terminer. Il peut prendre "
"les valeurs suivantes :"
"les valeurs suivantes :"
#: library/concurrent.futures.rst:475
msgid "Constant"

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: 2023-04-14 13:19+0200\n"
"PO-Revision-Date: 2022-10-18 12:35+0200\n"
"Last-Translator: Dimitri Merejkowsky <dimitri@dmerej.info>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -216,11 +216,12 @@ msgstr ""
"d'une section en spécifiant une valeur de substitution :"
#: library/configparser.rst:224
#, fuzzy
msgid ""
"Please note that default values have precedence over fallback values. For "
"instance, in our example the ``'CompressionLevel'`` key was specified only "
"in the ``'DEFAULT'`` section. If we try to get it from the section "
"``'topsecret.server.com'``, we will always get the default, even if we "
"``'topsecret.server.example'``, we will always get the default, even if we "
"specify a fallback:"
msgstr ""
"Notez que les valeurs par défaut sont prioritaires par rapport aux valeurs "
@ -464,7 +465,7 @@ msgstr ""
#: library/configparser.rst:450
msgid "``DEFAULTSECT`` cannot be removed from the parser:"
msgstr "La section ``DEFAULTSECT`` ne peut pas être supprimée ::"
msgstr "La section ``DEFAULTSECT`` ne peut pas être supprimée :"
# fausse alerte dans poedit - garder le point-virgule
#: library/configparser.rst:452

View File

@ -23,7 +23,7 @@ msgstr "Constantes natives"
msgid "A small number of constants live in the built-in namespace. They are:"
msgstr ""
"Un petit nombre de constantes existent dans le *namespace* natif. Elles "
"sont :"
"sont :"
#: library/constants.rst:10
msgid ""

View File

@ -205,7 +205,7 @@ msgid ""
msgstr ""
"Les gestionnaires de contexte définis avec :func:`asynccontextmanager` "
"peuvent s'utiliser comme décorateurs ou dans les instructions :keyword:"
"`async with` :"
"`async with` ::"
#: library/contextlib.rst:149
msgid ""
@ -289,7 +289,7 @@ msgid ""
"<async-context-managers>`::"
msgstr ""
"Similaire à :func:`~contextlib.contextmanager`, mais crée un :ref:"
"`gestionnaire de contexte asynchrone <async-context-managers>`."
"`gestionnaire de contexte asynchrone <async-context-managers>` ::"
#: library/contextlib.rst:266
msgid ":term:`asynchronous context manager` support was added."

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2021-05-26 21:26-0400\n"
"PO-Revision-Date: 2023-04-08 19:57+0200\n"
"Last-Translator: Martin Chlumsky <martin.chlumsky@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.3\n"
"X-Generator: Poedit 3.2.1\n"
#: library/contextvars.rst:2
msgid ":mod:`contextvars` --- Context Variables"
@ -57,7 +57,7 @@ msgstr "Variables de contexte"
msgid "This class is used to declare a new Context Variable, e.g.::"
msgstr ""
"Cette classe est utilisée pour déclarer une nouvelle variable de contexte, "
"p. ex. ::"
"p. ex ::"
#: library/contextvars.rst:35
msgid ""
@ -208,7 +208,7 @@ msgid ""
"variables and their values that are set in it::"
msgstr ""
"Le fragment de code qui suit obtient une copie du contexte actuel et affiche "
"toutes les variables avec leurs valeurs définies dans ce contexte."
"toutes les variables avec leurs valeurs définies dans ce contexte ::"
#: library/contextvars.rst:134
msgid ""
@ -284,7 +284,7 @@ msgstr ""
#: library/contextvars.rst:195
msgid "Return a shallow copy of the context object."
msgstr "Renvoie une copie de surface de l'objet de contexte."
msgstr "Renvoie une copie superficielle de l'objet de contexte."
#: library/contextvars.rst:199
msgid ""

View File

@ -28,4 +28,4 @@ msgstr ""
"Les modules décrits dans ce chapitre mettent en œuvre divers algorithmes "
"cryptographiques. Ils peuvent, ou pas, être disponibles, en fonction de "
"l'installation Sur les systèmes Unix, le module :mod:`crypt` peut aussi être "
"disponible. Voici une vue d'ensemble:"
"disponible. Voici une vue d'ensemble :"

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-20 10:21+0200\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"PO-Revision-Date: 2023-03-27 00:24+0200\n"
"Last-Translator: Mathieu Dupuy\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.2.2\n"
#: library/csv.rst:2
msgid ":mod:`csv` --- CSV File Reading and Writing"
@ -340,7 +340,7 @@ msgstr ""
"Tous les noms disponibles de :class:`Dialect` sont renvoyés par :func:"
"`list_dialects`, et ils peuvent être enregistrés avec des classes :class:"
"`reader` et :class:`writer` spécifiques en passant par leur fonction "
"dinitialisation (``__init__``) comme ici :"
"dinitialisation (``__init__``) comme ici ::"
#: library/csv.rst:247
msgid ""
@ -572,7 +572,7 @@ msgstr ""
#: library/csv.rst:386
msgid "An empty *escapechar* is not allowed."
msgstr ""
msgstr "Un ``escapechar`` vide n'est pas autorisé."
#: library/csv.rst:391
msgid ""
@ -604,7 +604,7 @@ msgstr ""
#: library/csv.rst:407
msgid "An empty *quotechar* is not allowed."
msgstr ""
msgstr "Un ``quotechar`` vide n'est pas autorisé."
#: library/csv.rst:412
msgid ""
@ -618,7 +618,6 @@ msgstr ""
"const:`QUOTE_MINIMAL`."
#: library/csv.rst:419
#, fuzzy
msgid ""
"When :const:`True`, spaces immediately following the *delimiter* are "
"ignored. The default is :const:`False`."
@ -787,7 +786,6 @@ msgid "The corresponding simplest possible writing example is::"
msgstr "Le plus simple exemple d'écriture correspondant est ::"
#: library/csv.rst:543
#, fuzzy
msgid ""
"Since :func:`open` is used to open a CSV file for reading, the file will by "
"default be decoded into unicode using the system default encoding (see :func:"
@ -796,9 +794,8 @@ msgid ""
msgstr ""
"Puisque :func:`open` est utilisée pour ouvrir un fichier CSV en lecture, le "
"fichier sera par défaut décodé vers Unicode en utilisant l'encodage par "
"défaut (voir :func:`locale.getpreferredencoding`). Pour décoder un fichier "
"utilisant un encodage différent, utilisez l'argument ``encoding`` de "
"*open* ::"
"défaut (voir :func:`locale.getencoding`). Pour décoder un fichier utilisant "
"un encodage différent, utilisez l'argument ``encoding`` de *open* ::"
#: library/csv.rst:554
msgid ""

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