From 5209ba68556ed44c375a4ed5d50b4b45a00ce149 Mon Sep 17 00:00:00 2001 From: CedricM Date: Fri, 17 Feb 2023 13:41:19 +0000 Subject: [PATCH 01/14] traduction de howto/annotations.po (#58) closes #47 Co-authored-by: cedricm Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/58 Co-authored-by: CedricM Co-committed-by: CedricM --- howto/annotations.po | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/howto/annotations.po b/howto/annotations.po index d93d3b7b..b9b7cdfe 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -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 \n" +"PO-Revision-Date: 2023-02-17 10:44+0100\n" +"Last-Translator: CédricM \n" "Language-Team: FRENCH \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" From 5ef82877422b0eb6d370bcdd744417c15680f9ff Mon Sep 17 00:00:00 2001 From: Iucounu Date: Fri, 17 Feb 2023 15:53:58 +0000 Subject: [PATCH 02/14] make fuzzy closes #54 (#55) Co-authored-by: Iucounu Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/55 Reviewed-by: Julien Palard Co-authored-by: Iucounu Co-committed-by: Iucounu --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1ff1268e..c886c484 100644 --- a/Makefile +++ b/Makefile @@ -155,7 +155,7 @@ $(POSPELL_TMP_DIR)/%.po.out: %.po dict .PHONY: fuzzy fuzzy: ensure_prerequisites - potodo -f --exclude venv .venv $(EXCLUDED) + potodo --offline -f --exclude venv .venv $(EXCLUDED) .PHONY: check-headers check-headers: From 2d33759ac306e13c73294257add620225004575e Mon Sep 17 00:00:00 2001 From: Iucounu Date: Fri, 17 Feb 2023 15:54:43 +0000 Subject: [PATCH 03/14] fuzzy extending/embedding.po closes #56 (#57) closes issue #56 Co-authored-by: Iucounu Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/57 Co-authored-by: Iucounu Co-committed-by: Iucounu --- extending/embedding.po | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/extending/embedding.po b/extending/embedding.po index 04d0ac1e..28f1c095 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -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 \n" "Language-Team: FRENCH \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 "" From f20eb52ad6c5c76eee1e4930ddb3af62df613d6e Mon Sep 17 00:00:00 2001 From: finevine Date: Fri, 17 Feb 2023 16:39:19 +0000 Subject: [PATCH 04/14] Translate fuzzy close #38 (#46) Co-authored-by: finevine Co-authored-by: Vinz Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/46 Co-authored-by: finevine Co-committed-by: finevine --- howto/sockets.po | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/howto/sockets.po b/howto/sockets.po index 73398592..16ebf7c9 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -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 \n" "Language-Team: FRENCH \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" @@ -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 d’envoyer des données binaires sur un " -"connecteur. Le gros problème est que toutes les machines n’utilisent 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 l’ordre d’octets 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 l’ordre du " -"réseau est l’ordre de l’hôte, ceux-ci ne font rien, mais lorsque la machine " -"utilise l’ordre d’octets 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 l’ordre du réseau est l’ordre de l’hô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. " -"C’est parce qu’un 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…" +"C’est 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. C’est une " +"affaire de choix." #: howto/sockets.rst:277 msgid "Disconnecting" From 4232990623ba2d83bfe92cb077cfdb19a2973572 Mon Sep 17 00:00:00 2001 From: finevine Date: Fri, 17 Feb 2023 16:41:17 +0000 Subject: [PATCH 05/14] feature/library-itertools closes #63 (#68) Co-authored-by: finevine Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/68 Co-authored-by: finevine Co-committed-by: finevine --- library/itertools.po | 65 +++++++++++++------------------------------- 1 file changed, 19 insertions(+), 46 deletions(-) diff --git a/library/itertools.po b/library/itertools.po index ef917a72..439634f8 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -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-11-06 21:59+0100\n" +"PO-Revision-Date: 2023-02-17 11:56+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \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" #: library/itertools.rst:2 msgid ":mod:`itertools` --- Functions creating iterators for efficient looping" @@ -54,7 +54,6 @@ msgstr "" "count())``." #: library/itertools.rst:33 -#, fuzzy msgid "" "These tools and their built-in counterparts also work well with the high-" "speed functions in the :mod:`operator` module. For example, the " @@ -437,11 +436,10 @@ msgid "" "`~fractions.Fraction`.)" msgstr "" "Si *func* est renseigné, il doit être une fonction à deux arguments. Les " -"éléments de l'entrée *iterable* peuvent être de n'importe quel type " -"acceptable comme arguments de *func*. Par exemple, avec l'opération par " -"défaut d'addition, les éléments peuvent être de n'importe quel type " -"additionnable, :class:`~decimal.Decimal` ou :class:`~fractions.Fraction` " -"inclus." +"éléments de *iterable* peuvent être de n'importe quel type acceptable comme " +"arguments de *func*. Par exemple, avec l'opération par défaut d'addition, " +"les éléments peuvent être de n'importe quel type additionnable, :class:" +"`~decimal.Decimal` ou :class:`~fractions.Fraction` inclus." #: library/itertools.rst:112 msgid "" @@ -462,7 +460,6 @@ msgid "Roughly equivalent to::" msgstr "À peu près équivalent à ::" #: library/itertools.rst:136 -#, fuzzy msgid "" "There are a number of uses for the *func* argument. It can be set to :func:" "`min` for a running minimum, :func:`max` for a running maximum, or :func:" @@ -473,11 +470,7 @@ msgstr "" "func:`min` pour calculer un minimum glissant, :func:`max` pour un maximum " "glissant ou :func:`operator.mul` pour un produit glissant. Des tableaux de " "remboursements peuvent être construits en ajoutant les intérêts et en " -"soustrayant les paiements. Des `suites par récurrence `_ de premier ordre peuvent " -"être modélisées en en passant la valeur initiale dans *iterable* et en " -"n'utilisant que le premier argument de *func*, qui contient le résultat des " -"évaluations précédentes ::" +"soustrayant les paiements:" #: library/itertools.rst:154 msgid "" @@ -521,18 +514,16 @@ msgid "Return *r* length subsequences of elements from the input *iterable*." msgstr "Renvoie les combinaisons de longueur *r* de *iterable*." #: library/itertools.rst:244 -#, fuzzy msgid "" "The combination tuples are emitted in lexicographic ordering according to " "the order of the input *iterable*. So, if the input *iterable* is sorted, " "the output tuples will be produced in sorted order." msgstr "" "Les combinaisons sont produites dans l'ordre lexicographique dérivé de " -"l'ordre des éléments de l'itérable *iterable*. Ainsi, si *iterable* est " -"ordonné, les *n*-uplets de combinaison produits le sont aussi." +"l'ordre des éléments de *iterable*. Ainsi, si *iterable* est ordonné, les " +"*n*-uplets de combinaison produits le sont aussi." #: library/itertools.rst:199 -#, fuzzy msgid "" "Elements are treated as unique based on their position, not on their value. " "So if the input elements are unique, there will be no repeated values in " @@ -724,7 +715,6 @@ msgid ":func:`groupby` is roughly equivalent to::" msgstr ":func:`groupby` est à peu près équivalente à ::" #: library/itertools.rst:437 -#, fuzzy msgid "" "Make an iterator that returns selected elements from the iterable. If " "*start* is non-zero, then elements from the iterable are skipped until start " @@ -739,12 +729,7 @@ msgstr "" "consécutivement sauf si *step* est plus grand que 1, auquel cas certains " "éléments seront ignorés. Si *stop* est ``None``, alors l'itération continue " "jusqu'à ce que l'itérateur soit épuisé s'il ne l'est pas déjà ; sinon, il " -"s'arrête à la position spécifiée. À la différence des tranches standards, :" -"func:`slice` ne gère pas les valeurs négatives pour *start*, *stop* ou " -"*step*. Peut être utilisée pour extraire les champs consécutifs depuis des " -"données dont la structure interne a été aplatie (par exemple, un rapport " -"multi-lignes pourrait lister un nom de champ toutes les trois lignes). À peu " -"près similaire à ::" +"s'arrête à la position spécifiée." #: library/itertools.rst:444 msgid "" @@ -792,18 +777,16 @@ msgstr "" "sont générées." #: library/itertools.rst:507 -#, fuzzy msgid "" "The permutation tuples are emitted in lexicographic order according to the " "order of the input *iterable*. So, if the input *iterable* is sorted, the " "output tuples will be produced in sorted order." msgstr "" "Les combinaisons sont produites dans l'ordre lexicographique qui provient de " -"l'ordre des éléments de l'itérable *iterable*. Ainsi, si *iterable* est " -"ordonné, les *n*-uplets de combinaison produits le sont aussi." +"l'ordre des éléments de *iterable*. Ainsi, si *iterable* est ordonné, les " +"*n*-uplets de combinaison produits le sont aussi." #: library/itertools.rst:511 -#, fuzzy msgid "" "Elements are treated as unique based on their position, not on their value. " "So if the input elements are unique, there will be no repeated values within " @@ -887,27 +870,22 @@ msgstr "" "cette fonction ne sert que sur des itérables finis." #: library/itertools.rst:592 -#, fuzzy msgid "" "Make an iterator that returns *object* over and over again. Runs " "indefinitely unless the *times* argument is specified." msgstr "" "Crée un itérateur qui renvoie *object* à l'infini. S'exécute indéfiniment " -"sauf si l'argument *times* est spécifié. Utilisée comme argument de :func:" -"`map` pour les paramètres invariants de la fonction appelée. Aussi utilisée " -"avec :func:`zip` pour créer une partie invariante d'un *n*-uplet." +"sauf si l'argument *times* est spécifié." #: library/itertools.rst:606 -#, fuzzy msgid "" "A common use for *repeat* is to supply a stream of constant values to *map* " "or *zip*:" msgstr "" "Une utilisation courante de *repeat* est de fournir un flux constant de " -"valeurs à *map* ou *zip* ::" +"valeurs à *map* ou *zip* :" #: library/itertools.rst:616 -#, fuzzy msgid "" "Make an iterator that computes the function using arguments obtained from " "the iterable. Used instead of :func:`map` when argument parameters are " @@ -917,9 +895,7 @@ msgstr "" "Crée un itérateur qui exécute la fonction avec les arguments obtenus depuis " "l'itérable. Utilisée à la place de :func:`map` quand les arguments sont déjà " "groupés en *n*-uplets depuis un seul itérable — la donnée a déjà été « pré-" -"zippée ». La différence entre :func:`map` et :func:`starmap` est similaire à " -"la différence entre ``fonction(a,b)`` et ``fonction(*c)``. À peu près " -"équivalent à ::" +"zippée »." #: library/itertools.rst:621 msgid "" @@ -941,7 +917,6 @@ msgid "Return *n* independent iterators from a single iterable." msgstr "Renvoie *n* itérateurs indépendants depuis un unique itérable." #: library/itertools.rst:649 -#, fuzzy msgid "" "The following Python code helps explain what *tee* does (although the actual " "implementation is more complex and uses only a single underlying :abbr:`FIFO " @@ -949,18 +924,17 @@ msgid "" msgstr "" "Le code Python qui suit aide à expliquer ce que fait *tee*, bien que la " "vraie implémentation soit plus complexe et n'utilise qu'une file :abbr:`FIFO " -"(premier entré, premier sorti ou *first-in, first-out* en anglais)`." +"(premier entré, premier sorti ou *first-in, first-out* en anglais)` :" #: library/itertools.rst:668 -#, fuzzy msgid "" "Once a :func:`tee` has been created, the original *iterable* should not be " "used anywhere else; otherwise, the *iterable* could get advanced without the " "tee objects being informed." msgstr "" -"Une fois que :func:`tee` a créé un branchement, l'itérable *iterable* ne " -"doit être utilisé nulle part ailleurs ; sinon, *iterable* pourrait être " -"avancé sans que les objets tee ne soient informés." +"Une fois qu’un :func:`tee` a été créé, l’original de *iterable* ne doit être " +"utilisé nulle part ailleurs ; sinon *iterable* pourrait être avancé sans que " +"les objets *tee* n’en soient informés." #: library/itertools.rst:672 msgid "" @@ -1053,7 +1027,6 @@ msgstr "" "disponible dans le Python Package Index ::" #: library/itertools.rst:742 -#, fuzzy msgid "" "Many of the recipes offer the same high performance as the underlying " "toolset. Superior memory performance is kept by processing elements one at a " From fa5ab2955f1d108235b42340f265f9037bc371f0 Mon Sep 17 00:00:00 2001 From: remil Date: Fri, 17 Feb 2023 16:46:19 +0000 Subject: [PATCH 06/14] Add initial translation for c-api/stable.po (#85) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rémi Lapeyre Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/85 Co-authored-by: remil Co-committed-by: remil --- c-api/stable.po | 198 +++++++++++++++++++++++++++++------------------- 1 file changed, 119 insertions(+), 79 deletions(-) diff --git a/c-api/stable.po b/c-api/stable.po index 0e0c2607..a790ddbf 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -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 \n" +"PO-Revision-Date: 2023-02-17 17:33+0100\n" +"Last-Translator: Rémi Lapeyre \n" "Language-Team: FRENCH \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" #: c-api/stable.rst:7 msgid "C API Stability" -msgstr "" +msgstr "Stabilité de l’API 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 changement n'affecte pas la " +"compatibilité du code source. Typiquement des APIs 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 "" +"L’interface binaire de CPython (ABI) est entièrement compatible au sein " +"d’une 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 l’API 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 `." msgstr "" +"Le concept d’*API restreinte*, un sous-ensemble de l’API C de Python, existe " +"depuis Python 3.2. Les extensions qui utilisent uniquement l’API restreinte " +"peuvent être compilées une seule fois et fonctionner avec plusieurs versions " +"de Python. Les objets faisant partie de l’API restreinte sont :ref:`documentés " +"ci-dessous `." #: 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 l’ensemble des versions Python 3.x. L’ABI stable contient " +"les symboles utilisés par l’API restreinte, mais pas seulement — par exemple " +"les fonctions nécessaires pour supporter les versions précédentes de l’API " +"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 *d’extensions*, mais l’API restreinte et " +"l’ABI stable fonctionnent de la même manière pour tous les cas d’usages de " +"l’API — 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 d’inclure ``Python.h`` pour n’inclure que l’API " +"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 l’ensemble des éléments de l’API " +"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 d’utiliser 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 l’API 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 l’ABI 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 l’ABI stable. L’utilisateur " +"(ou ses outils d’administration) doit s’assurer que les extensions compilées " +"avec une version donnée de l’API 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 l’ABI 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 n’utilisent pas le " +"pré-processeur C." #: c-api/stable.rst:77 msgid "Limited API Scope and Performance" -msgstr "" +msgstr "Porté de l’API 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 "" +"L’objectif de l’API restreinte est de permettre l’ensemble des opérations " +"possibles avec l’API 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 l’est pas. Cette macro " +"peut être plus rapide car elle dépend de détails d’implémentation spécifique " +"à l’objet ``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`` n’est pas défini certaines fonctions de l’API 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 l’API restreinte avec une version spécifique de l’ABI. " +"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 n’est pas disponible — par exemple pour une version alpha de " +"Python." #: c-api/stable.rst:101 msgid "Limited API Caveats" -msgstr "" +msgstr "Inconvénients de l’API 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`` *n’est pas* une garantie absolue que le " +"code est conforme à l’API restreinte ou à l’ABI stable. ``Py_LIMITED_API`` ne " +"concerne que la définition des objets, mais une API inclut aussi d’autres " +"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 l’appel " +"d’une 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 " +"d’utiliser le comportement par défaut, mais Python 3.8 essayera d’accéder à " +"l’objet 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 s’il ne font pas partie de l’API " +"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 *l’ensemble " +"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,10 @@ 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 qu’elles fassent bien partie de l’API 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 +300,15 @@ msgid "" "particular, parts of the Limited API may be deprecated and removed, provided " "that the Stable ABI stays stable." msgstr "" +"Notez aussi que l’API restreinte n’est pas forcément stable : compiler avec " +"Python 3.8 en définissant ``Py_LIMITED_API`` garanti que l’extension " +"fonctionnera avec Python 3.12, mais pas qu’elle pourra *être compilée* avec " +"Python 3.12. En particulier certaines parties de l’API restreinte peuvent être " +"dépréciées et retirées tant que l’ABI stable n’est 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 +317,11 @@ msgid "" "ABI, these details define a “platform”. They usually depend on the OS type " "and processor architecture" msgstr "" +"La stabilité de l’ABI ne dépend pas que de Python mais aussi du compilateur " +"utilisé, des bibliothèques systèmes et des options du compilateur. " +"L’ensemble de ces détails correspondent à ce que l’ABI stable appelle une " +"« plateforme ». Ils dépendent généralement du système d’exploitation et de " +"l’architecture du processeur." #: c-api/stable.rst:143 msgid "" @@ -230,76 +330,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 s’assurer que toutes les versions de " +"Python pour une plateforme donnée sont compilées de manière à ne pas rompre " +"la compatibilité de l’ABI stable. C’est 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 l’API 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 l’API restreinte inclut les éléments suivants :" From 92e43cb2cbcd47ad2a308512aa2e3ae12745c62e Mon Sep 17 00:00:00 2001 From: NicolasGibaud Date: Fri, 17 Feb 2023 16:53:03 +0000 Subject: [PATCH 07/14] library-typing (#84) Closes #49 Co-authored-by: Zoe Drey Co-authored-by: Nicolas Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/84 Co-authored-by: NicolasGibaud Co-committed-by: NicolasGibaud --- library/typing.po | 365 +++++++++++++++++++++++++++++++++------------- 1 file changed, 262 insertions(+), 103 deletions(-) diff --git a/library/typing.po b/library/typing.po index a0a6fda5..9306b0b9 100644 --- a/library/typing.po +++ b/library/typing.po @@ -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-21 22:01+0100\n" -"Last-Translator: Jean-Michel Laprise \n" +"PO-Revision-Date: 2023-02-17 16:13+0100\n" +"Last-Translator: Nicolas Gibaud \n" "Language-Team: FRENCH \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 2.3\n" #: library/typing.rst:3 msgid ":mod:`typing` --- Support for type hints" @@ -69,12 +69,19 @@ msgid "" "`typing_extensions `_ package " "provides backports of these new features to older versions of Python." msgstr "" +"Le module ``typing`` est fréquemment enrichi de nouvelles fonctionnalités. " +"Le package `typing_extensions `_ fournit des rétro-portages de ces fonctionnalités vers les anciennes " +"versions de Python." #: library/typing.rst:39 msgid "" "For a summary of deprecated features and a deprecation timeline, please see " "`Deprecation Timeline of Major Features`_." msgstr "" +"Pour un résumé des fonctionnalités obsolètes et leur planification " +"d'obsolescence, consultez les `Etapes d'Obsolescence des Fonctionnalités " +"Majeures`_." #: library/typing.rst:44 msgid "" @@ -82,10 +89,15 @@ msgid "" "reference for type system features, useful typing related tools and typing " "best practices." msgstr "" +"La documentation https://typing.readthedocs.io/ est une référence utile pour " +"les fonctionnalités du système de types, les outils liés au typage et les " +"bonnes pratiques de typage.La documentation sur https://typing.readthedocs." +"io/ sert de référence pour les fonctionnalités, les outils utiles et les " +"meilleures pratiques liés au système de typage." #: library/typing.rst:51 msgid "Relevant PEPs" -msgstr "" +msgstr "PEPs pertinentes" #: library/typing.rst:53 msgid "" @@ -93,147 +105,165 @@ msgid "" "number of PEPs have modified and enhanced Python's framework for type " "annotations. These include:" msgstr "" +"Depuis l'introduction initiale des annotations de type dans les :pep:`484` " +"et :pep:`483`, plusieurs PEPs ont modifié et amélioré le framework " +"d'annotation de type. Cela inclut :" #: library/typing.rst:58 msgid ":pep:`526`: Syntax for Variable Annotations" -msgstr "" +msgstr ":pep:`526` : Syntaxe pour les Annotations de Variables" #: library/typing.rst:58 msgid "" "*Introducing* syntax for annotating variables outside of function " "definitions, and :data:`ClassVar`" msgstr "" +"*Introduction* d'une syntaxe permettant d'annoter les variables autrement " +"qu'au sein de la définition d'une fonction et de :data:`ClassVar`" #: library/typing.rst:61 msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)" msgstr "" +":pep:`544`: Protocoles : Sous-typage Structurel (*duck-typing* statique)" #: library/typing.rst:61 msgid "" "*Introducing* :class:`Protocol` and the :func:" "`@runtime_checkable` decorator" msgstr "" +"*Ajout* de :class:`Protocol` et du décorateur :func:" +"`@runtime_checkable`" #: library/typing.rst:64 msgid ":pep:`585`: Type Hinting Generics In Standard Collections" -msgstr "" +msgstr ":pep:`585`: Annotations de Type Générique dans les Collections Natives" #: library/typing.rst:64 msgid "" "*Introducing* :class:`types.GenericAlias` and the ability to use standard " "library classes as :ref:`generic types`" msgstr "" +"*Ajout* de :class:`types.GenericAlias` et de la possibilité d'utiliser les " +"classes de bibliothèques natives comme les :ref:`types génériques`" #: library/typing.rst:66 msgid ":pep:`586`: Literal Types" -msgstr "" +msgstr ":pep:`586`: Types Littéraux" #: library/typing.rst:67 msgid "*Introducing* :data:`Literal`" -msgstr "" +msgstr "*Ajout* de :data:`Literal`" #: library/typing.rst:68 msgid "" ":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys" msgstr "" +":pep:`589`: TypedDict: Annotations de Type pour les Dictionnaires ayant un " +"Ensemble Fixe de Clés" #: library/typing.rst:69 msgid "*Introducing* :class:`TypedDict`" -msgstr "" +msgstr "*Ajout* de :class:`TypedDict`" #: library/typing.rst:70 msgid ":pep:`591`: Adding a final qualifier to typing" -msgstr "" +msgstr ":pep:`591`: Ajout d'un qualificatif final au typage" #: library/typing.rst:71 msgid "*Introducing* :data:`Final` and the :func:`@final` decorator" -msgstr "" +msgstr "*Ajout* de :data:`Final` et du décorateur :func:`@final`" #: library/typing.rst:72 msgid ":pep:`593`: Flexible function and variable annotations" -msgstr "" +msgstr ":pep:`593`: fonction Flexible et annotations de variables" #: library/typing.rst:73 msgid "*Introducing* :data:`Annotated`" -msgstr "" +msgstr "*Ajout* de :data:`Annotated`" #: library/typing.rst:76 msgid ":pep:`604`: Allow writing union types as ``X | Y``" -msgstr "" +msgstr ":pep:`604`: Permettre l'écriture de types union tels que ``X | Y``" #: library/typing.rst:75 msgid "" "*Introducing* :data:`types.UnionType` and the ability to use the binary-or " "operator ``|`` to signify a :ref:`union of types`" msgstr "" +"*Ajout* de :data:`types.UnionType` et la possibilité d'utiliser l'opérateur " +"binaire ``|`` (*ou*) pour signifier :ref:`union of types`" #: library/typing.rst:78 msgid ":pep:`612`: Parameter Specification Variables" -msgstr "" +msgstr ":pep:`612`: Variables de Spécification de Paramètre" #: library/typing.rst:79 msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`" -msgstr "" +msgstr "*Ajout* de :class:`ParamSpec` et de :data:`Concatenate`" #: library/typing.rst:80 #, fuzzy msgid ":pep:`613`: Explicit Type Aliases" -msgstr "Voir la :pep:`484` pour plus de détails." +msgstr ":pep:`613`: Alias de Type Explicites" #: library/typing.rst:81 msgid "*Introducing* :data:`TypeAlias`" -msgstr "" +msgstr "*Ajout* de :data:`TypeAlias`" #: library/typing.rst:82 msgid ":pep:`646`: Variadic Generics" -msgstr "" +msgstr ":pep:`646`: Génériques Variadiques" #: library/typing.rst:83 msgid "*Introducing* :data:`TypeVarTuple`" -msgstr "" +msgstr "*Ajout* de :data:`TypeVarTuple`" #: library/typing.rst:84 msgid ":pep:`647`: User-Defined Type Guards" -msgstr "" +msgstr ":pep:`647`: Gardes de Types Définies par l'Utilisateur" #: library/typing.rst:85 msgid "*Introducing* :data:`TypeGuard`" -msgstr "" +msgstr "*Ajout* de :data:`TypeGuard`" #: library/typing.rst:86 msgid "" ":pep:`655`: Marking individual TypedDict items as required or potentially " "missing" msgstr "" +":pep:`655`: Marquer les items individuels TypedDict comme nécessaires ou " +"potentiellement manquants" #: library/typing.rst:87 msgid "*Introducing* :data:`Required` and :data:`NotRequired`" -msgstr "" +msgstr "*Ajout* de :data:`Required` et de :data:`NotRequired`" #: library/typing.rst:88 msgid ":pep:`673`: Self type" -msgstr "" +msgstr ":pep:`673`: Type self" #: library/typing.rst:89 msgid "*Introducing* :data:`Self`" -msgstr "" +msgstr "*Ajout* de :data:`Self`" #: library/typing.rst:90 msgid ":pep:`675`: Arbitrary Literal String Type" -msgstr "" +msgstr ":pep:`675`: Type String Littéral Arbitraire" #: library/typing.rst:91 msgid "*Introducing* :data:`LiteralString`" -msgstr "" +msgstr "*Ajout* de :data:`LiteralString`" #: library/typing.rst:93 msgid ":pep:`681`: Data Class Transforms" -msgstr "" +msgstr ":pep:`681`: Transformateurs de Classes de Données" #: library/typing.rst:93 msgid "" "*Introducing* the :func:`@dataclass_transform` decorator" msgstr "" +"*Ajout* du décorateur :func:`@dataclass_transform`" #: library/typing.rst:98 msgid "Type aliases" @@ -245,7 +275,7 @@ msgid "" "A type alias is defined by assigning the type to the alias. In this example, " "``Vector`` and ``list[float]`` will be treated as interchangeable synonyms::" msgstr "" -"Un alias de type est défini en assignant le type à l'alias. Dans cet " +"Un alias de type est défini en affectant le type à l'alias. Dans cet " "exemple, ``Vector`` et ``List[float]`` sont traités comme des synonymes " "interchangeables ::" @@ -262,7 +292,7 @@ msgid "" "Note that ``None`` as a type hint is a special case and is replaced by " "``type(None)``." msgstr "" -"Notez que ``None`` comme indication de type est un cas particulier et est " +"Notez que ``None`` comme annotation de type est un cas particulier et est " "remplacé par ``type(None)``." #: library/typing.rst:135 @@ -270,17 +300,15 @@ msgid "NewType" msgstr "*NewType*" #: library/typing.rst:137 -#, fuzzy msgid "Use the :class:`NewType` helper to create distinct types::" -msgstr "" -"Aidez-vous de la fonction :func:`NewType` pour créer des types distincts ::" +msgstr "Utilisez la classe :class:`NewType` pour créer des types distincts ::" #: library/typing.rst:144 msgid "" "The static type checker will treat the new type as if it were a subclass of " "the original type. This is useful in helping catch logical errors::" msgstr "" -"Le vérificateur de type statique traite le nouveau type comme s'il " +"Le vérificateur de types statiques traite le nouveau type comme s'il " "s'agissait d'une sous-classe du type original. C'est utile pour aider à " "détecter les erreurs logiques ::" @@ -298,7 +326,6 @@ msgstr "" "``UserId`` d'une manière invalide ::" #: library/typing.rst:164 -#, fuzzy msgid "" "Note that these checks are enforced only by the static type checker. At " "runtime, the statement ``Derived = NewType('Derived', Base)`` will make " @@ -306,11 +333,11 @@ msgid "" "it. That means the expression ``Derived(some_value)`` does not create a new " "class or introduce much overhead beyond that of a regular function call." msgstr "" -"Notez que ces contrôles ne sont exécutés que par le vérificateur de type " +"Notez que ces contrôles ne sont exécutés que par le vérificateur de types " "statique. À l'exécution, l'instruction ``Derived = NewType('Derived', " "Base)`` fait de ``Derived`` une fonction qui renvoie immédiatement le " "paramètre que vous lui passez. Cela signifie que l'expression " -"``Derived(some_value)`` ne crée pas une nouvelle classe ou n'introduit pas " +"``Derived(some_value)`` ne crée pas une nouvelle classe et n'introduit pas " "de surcharge au-delà de celle d'un appel de fonction normal." #: library/typing.rst:170 @@ -323,15 +350,14 @@ msgstr "" #: library/typing.rst:173 msgid "It is invalid to create a subtype of ``Derived``::" -msgstr "" +msgstr "La création d'un sous-type de ``Derived`` est invalide:" #: library/typing.rst:182 -#, fuzzy msgid "" "However, it is possible to create a :class:`NewType` based on a 'derived' " "``NewType``::" msgstr "" -"Cependant, il est possible de créer un :func:`NewType` basé sur un " +"Il est néanmoins possible de créer un :class:`NewType` basé sur un " "``NewType`` « dérivé » ::" #: library/typing.rst:190 @@ -351,7 +377,7 @@ msgid "" msgstr "" "Rappelons que l'utilisation d'un alias de type déclare que deux types sont " "*équivalents* l'un à l'autre. Écrire ``Alias = Original`` fait que le " -"vérificateur de type statique traite ``Alias`` comme étant *exactement " +"vérificateur de types statiques traite ``Alias`` comme étant *exactement " "équivalent* à ``Original`` dans tous les cas. C'est utile lorsque vous " "voulez simplifier des signatures complexes." @@ -365,12 +391,12 @@ msgid "" "errors with minimal runtime cost." msgstr "" "En revanche, ``NewType`` déclare qu'un type est un *sous-type* d'un autre. " -"Écrire ``Derived = NewType('Derived', Original)`` fait en sorte que le " -"vérificateur de type statique traite ``Derived`` comme une *sous-classe* de " -"``Original``, ce qui signifie qu'une valeur de type ``Original`` ne peut " -"être utilisée dans les endroits où une valeur de type ``Derived`` est " -"prévue. C'est utile lorsque vous voulez éviter les erreurs logiques avec un " -"coût d'exécution minimal." +"Écrire ``Derived = NewType('Derived', Original)`` fait que le vérificateur " +"de type statique traite ``Derived`` comme une *sous-classe* de ``Original``, " +"ce qui signifie qu'une valeur de type ``Original`` ne peut être utilisée " +"dans les endroits où une valeur de type ``Derived`` est prévue. C'est utile " +"lorsque vous voulez éviter les erreurs logiques avec un coût d'exécution " +"minimal." #: library/typing.rst:210 msgid "" @@ -378,6 +404,9 @@ msgid "" "runtime cost when calling ``NewType`` over a regular function. However, " "this cost will be reduced in 3.11.0." msgstr "" +"``NewType`` est maintenant une classe (plutôt qu'une fonction). Cela " +"entraine un coût supplémentaire en temps d'exécution lors d'un appel. " +"Cependant, ce coût sera réduit dans la version 3.11.0." #: library/typing.rst:217 msgid "Callable" @@ -416,18 +445,29 @@ msgid "" "``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " "ReturnType]`` respectively." msgstr "" +"Les appelables qui prennent en argument d'autres appelables peuvent indiquer " +"que leurs types de paramètres dépendent les uns des autres en utilisant :" +"class:`ParamSpec`. De plus, si un appelable ajoute ou supprime des arguments " +"d'autres appelables, l'opérateur :data:`Concatenate` peut être utilisé. Ils " +"prennent la forme ``Callable[ParamSpecVariable, ReturnType]`` et " +"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " +"ReturnType]`` respectivement." #: library/typing.rst:855 msgid "" "``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :" "pep:`612` for more details." msgstr "" +"``Callable`` prend désormais en charge :class:`ParamSpec` et :data:" +"`Concatenate`. Voir :pep:`612` pour plus de détails." #: library/typing.rst:254 msgid "" "The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " "examples of usage in ``Callable``." msgstr "" +"La documentation pour :class:`ParamSpec` et :class:`Concatenate` fournit des " +"exemples d'utilisation dans ``Callable``." #: library/typing.rst:260 msgid "Generics" @@ -590,9 +630,9 @@ msgid "" "every type as being compatible with :data:`Any` and :data:`Any` as being " "compatible with every type." msgstr "" -"Un type particulier est :data:`Any`. Un vérificateur de type statique traite " -"chaque type comme étant compatible avec :data:`Any` et :data:`Any` comme " -"étant compatible avec chaque type." +"Un type particulier est :data:`Any`. Un vérificateur de types statiques " +"traite chaque type comme étant compatible avec :data:`Any` et :data:`Any` " +"comme étant compatible avec chaque type." #: library/typing.rst:453 #, fuzzy @@ -615,9 +655,9 @@ msgid "" msgstr "" "Notez qu'aucun contrôle de typage n'est effectué lors de l'affectation d'une " "valeur de type :data:`Any` à un type plus précis. Par exemple, le " -"vérificateur de type statique ne signale pas d'erreur lors de l'affectation " -"de ``a`` à ``s`` même si ``s`` était déclaré être de type :class:`str` et " -"reçoit une valeur :class:`int` au moment de son exécution !" +"vérificateur de types statiques ne signale pas d'erreur lors de " +"l'affectation de ``a`` à ``s`` même si ``s`` était déclaré être de type :" +"class:`str` et reçoit une valeur :class:`int` au moment de son exécution !" #: library/typing.rst:477 msgid "" @@ -655,7 +695,7 @@ msgid "" "example::" msgstr "" "Cela signifie que lorsque le type d'une valeur est :class:`object`, un " -"vérificateur de type rejette presque toutes les opérations sur celle-ci, et " +"vérificateur de types rejette presque toutes les opérations sur celle-ci, et " "l'affecter à une variable (ou l'utiliser comme une valeur de retour) d'un " "type plus spécialisé est une erreur de typage. Par exemple ::" @@ -1146,7 +1186,7 @@ msgid "" msgstr "" "Le fait que ``Type[C]`` soit covariant implique que toutes les sous-classes " "de ``C`` doivent implémenter la même signature de constructeur et les " -"signatures de méthode de classe que ``C``. Le vérificateur de type doit " +"signatures de méthode de classe que ``C``. Le vérificateur de types doit " "signaler les manquements à cette règle. Il doit également autoriser les " "appels du constructeur dans les sous-classes qui correspondent aux appels du " "constructeur dans la classe mère indiquée. La façon dont le vérificateur de " @@ -1238,7 +1278,7 @@ msgstr "" ":data:`ClassVar` n'est pas une classe en soi, et ne devrait pas être " "utilisée avec :func:`isinstance` ou :func:`issubclass`. :data:`ClassVar` ne " "modifie pas le comportement d'exécution Python, mais il peut être utilisé " -"par des vérificateurs tiers. Par exemple, un vérificateur de type peut " +"par des vérificateurs tiers. Par exemple, un vérificateur de types peut " "marquer le code suivant comme une erreur ::" #: library/typing.rst:1019 @@ -1765,9 +1805,9 @@ msgstr "Marquez une classe de protocole comme protocole d'exécution." msgid "" "Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " "This raises :exc:`TypeError` when applied to a non-protocol class. This " -"allows a simple-minded structural check, very similar to \"one trick " -"ponies\" in :mod:`collections.abc` such as :class:`~collections.abc." -"Iterable`. For example::" +"allows a simple-minded structural check, very similar to \"one trick ponies" +"\" in :mod:`collections.abc` such as :class:`~collections.abc.Iterable`. " +"For example::" msgstr "" "Un tel protocole peut être utilisé avec :func:`isinstance` et :func:" "`issubclass`. Cela lève :exc:`TypeError` lorsqu'il est appliqué à une classe " @@ -1888,7 +1928,7 @@ msgid "" "called. Usage::" msgstr "" "Une fonction pour faciliter l'indication d'un type distinct à un " -"vérificateur de type, voir :ref:`distinct`. Lors de l'exécution, elle " +"vérificateur de types, voir :ref:`distinct`. Lors de l'exécution, elle " "renvoie une fonction qui renvoie son argument. Utilisation ::" #: library/typing.rst:1682 @@ -2297,7 +2337,7 @@ msgstr "Classe de base abstraite pour les types génériques." #: library/typing.rst:2058 msgid "Corresponding to collections in :mod:`collections.abc`" -msgstr "" +msgstr "Correspond aux collections au sein de :mod:`collections.abc`" #: library/typing.rst:2062 msgid "A generic version of :class:`collections.abc.Set`." @@ -2491,7 +2531,7 @@ msgstr "" #: library/typing.rst:2179 msgid "Corresponding to other types in :mod:`collections.abc`" -msgstr "" +msgstr "Correspond aux autres types au sein de :mod:`collections.abc`." #: library/typing.rst:2183 msgid "A generic version of :class:`collections.abc.Iterable`." @@ -2587,7 +2627,7 @@ msgstr "Un alias pour :class:`collections.abc.Sized`" #: library/typing.rst:2249 msgid "Asynchronous programming" -msgstr "" +msgstr "Programmation asynchrone" #: library/typing.rst:2253 msgid "" @@ -2692,7 +2732,7 @@ msgstr "" #: library/typing.rst:2339 msgid "Context manager types" -msgstr "" +msgstr "Types associés aux gestionnaires de contexte" #: library/typing.rst:2343 msgid "A generic version of :class:`contextlib.AbstractContextManager`." @@ -2723,11 +2763,11 @@ msgstr "" #: library/typing.rst:2366 msgid "Protocols" -msgstr "" +msgstr "Protocoles" #: library/typing.rst:2368 msgid "These protocols are decorated with :func:`runtime_checkable`." -msgstr "" +msgstr "Ces protocoles sont décorés par :func:`runtime_checkable`." #: library/typing.rst:2372 msgid "" @@ -2780,7 +2820,7 @@ msgid "" "return value has the designated type, but at runtime we intentionally don't " "check anything (we want this to be as fast as possible)." msgstr "" -"Ceci renvoie la valeur inchangée. Pour le vérificateur de type, cela " +"Ceci renvoie la valeur inchangée. Pour le vérificateur de types, cela " "signifie que la valeur de retour a le type désigné mais, à l'exécution, " "intentionnellement, rien n'est vérifié (afin que cela soit aussi rapide que " "possible)." @@ -2789,29 +2829,35 @@ msgstr "" msgid "" "Ask a static type checker to confirm that *val* has an inferred type of " "*typ*." -msgstr "" +msgstr "Vérifie que *val* est bien du type *typ*." #: library/typing.rst:2418 msgid "" "When the type checker encounters a call to ``assert_type()``, it emits an " "error if the value is not of the specified type::" msgstr "" +"Lors d'un appel à ``assert_type()``, le vérificateur de types va lever " +"émettre une erreur si la variable n'est pas du type renseigné ::" #: library/typing.rst:2425 msgid "" "At runtime this returns the first argument unchanged with no side effects." -msgstr "" +msgstr "Renvoie le premier argument inchangé lors de l'exécution." #: library/typing.rst:2427 msgid "" "This function is useful for ensuring the type checker's understanding of a " "script is in line with the developer's intentions::" msgstr "" +"Cette fonction permet de s'assurer de la compréhension du vérificateur de " +"type d'un script par rapport aux intentions du développeur ::" #: library/typing.rst:2441 msgid "" "Ask a static type checker to confirm that a line of code is unreachable." msgstr "" +"Demande une confirmation de la part du vérificateur statique de type qu'une " +"ligne de code est inaccessible." #: library/typing.rst:2454 msgid "" @@ -2825,10 +2871,19 @@ msgid "" "pass type checking, the inferred type of the argument passed in must be the " "bottom type, :data:`Never`, and nothing else." msgstr "" +"Les annotations permettent ici au vérificateur de types de déduire que le " +"dernier cas ne sera jamais exécuté car les seuls cas possibles (qu'``arg`` " +"soit un :class:`int` ou un :class:`str`) sont couverts dans les cas " +"précédents. Une erreur est levée si un appel à ``assert_never()`` est " +"atteignable. Par exemple, si l'annotation de type d'``arg`` est ``int | str " +"| float``, une erreur sera levée indiquant qu'``unreachable`` est de type :" +"class:`float`. Lors d'un appel à ``assert_never``, afin de passer la " +"vérification de type avec succès, le type déduit de l'argument doit être de " +"type :data:`Never`." #: library/typing.rst:2466 msgid "At runtime, this throws an exception when called." -msgstr "" +msgstr "Une erreur est levé si la fonction est appelé lors de l'exécution." #: library/typing.rst:2469 msgid "" @@ -2836,28 +2891,37 @@ msgid "" "en/latest/source/unreachable.html>`__ has more information about " "exhaustiveness checking with static typing." msgstr "" +"`Unreachable Code and Exhaustiveness Checking `__ pour plus détails sur la vérification " +"exhaustive statique de type." #: library/typing.rst:2477 msgid "Reveal the inferred static type of an expression." -msgstr "" +msgstr "Révèle le type statique déduit d'une expression." #: library/typing.rst:2479 msgid "" "When a static type checker encounters a call to this function, it emits a " "diagnostic with the type of the argument. For example::" msgstr "" +"Lorsqu'un vérificateur de types rencontre un appel à cette fonction, il va " +"diagnostiquer le type de l'argument. Par exemple ::" #: library/typing.rst:2485 msgid "" "This can be useful when you want to debug how your type checker handles a " "particular piece of code." msgstr "" +"Cela est utile afin de comprendre comment le vérificateur de types va " +"traiter un bout de code précis." #: library/typing.rst:2488 msgid "" "The function returns its argument unchanged, which allows using it within an " "expression::" msgstr "" +"La fonction renvoie l'argument inchangé. Ce qui permet de l'utiliser au sein " +"d'une expression ::" #: library/typing.rst:2493 msgid "" @@ -2865,12 +2929,18 @@ msgid "" "not imported from ``typing``. Importing the name from ``typing`` allows your " "code to run without runtime errors and communicates intent more clearly." msgstr "" +"La plupart des vérificateurs de type supportent ``reveal_type()``, même dans " +"le cas ou le nom du type n'est pas importé depuis ``typing``. Cependant, " +"l'import depuis ``typing`` permet d'éviter les erreurs d'exécution et " +"devient plus compréhensible." #: library/typing.rst:2498 msgid "" "At runtime, this function prints the runtime type of its argument to stderr " "and returns it unchanged::" msgstr "" +"Lors de l'exécution, cette fonction affiche le type de son argument dans " +"*stderr* et le renvoie inchangé ::" #: library/typing.rst:2508 msgid "" @@ -2880,18 +2950,23 @@ msgid "" "object performs runtime \"magic\" that transforms a class, giving it :func:" "`dataclasses.dataclass`-like behaviors." msgstr "" +":data:`~typing.dataclass_transform` permet de décorer une classe, une " +"métaclasse ou une fonction décoratrice. L'utilisation de " +"``@dataclass_transform()`` avertit le vérificateur de types statiques que " +"l'objet décoré effectue de la \"magie\" consistant à transformer une classe, " +"lui appliquant un comportement du type de :func:`dataclasses.dataclass`." #: library/typing.rst:2514 msgid "Example usage with a decorator function::" -msgstr "" +msgstr "Exemple d'utilisation avec une fonction décoratrice::" #: library/typing.rst:2528 msgid "On a base class::" -msgstr "" +msgstr "Avec une classe de base :" #: library/typing.rst:2537 msgid "On a metaclass::" -msgstr "" +msgstr "Avec une métaclasse :" #: library/typing.rst:2548 msgid "" @@ -2900,6 +2975,11 @@ msgid "" "dataclass>`. For example, type checkers will assume these classes have " "``__init__`` methods that accept ``id`` and ``name``." msgstr "" +"Les classes ``CustomerModel`` définis ci-dessus sont traitées par les " +"vérificateurs de type de la même que les classes créées avec :func:" +"`@dataclasses.dataclass `. Par exemple, les " +"vérificateurs de type déduisent que ces classes possèdent une méthode " +"``__init__`` acceptant ``id`` et ``name`` comme arguments." #: library/typing.rst:2554 msgid "" @@ -2910,6 +2990,12 @@ msgid "" "``kw_only``, and ``slots``. It must be possible for the value of these " "arguments (``True`` or ``False``) to be statically evaluated." msgstr "" +"Les arguments booléens suivants sont acceptés,les vérificateurs de type " +"supposent qu'ils ont le même effet qu'ils auraient eu sur le décorateur :" +"func:`@dataclasses.dataclass` : ``init``, ``eq``, " +"``order``, ``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, et " +"``slots``. Il est possible d'évaluer statiquement les valeurs de ces " +"arguments (``True`` or ``False``)." #: library/typing.rst:2562 msgid "" @@ -2917,51 +3003,69 @@ msgid "" "customize the default behaviors of the decorated class, metaclass, or " "function:" msgstr "" +"Les arguments du décorateur ``dataclass_transform`` permettent de " +"personnaliser le comportement par défaut de la classe, métaclasse ou " +"fonction décorée :" #: library/typing.rst:2566 msgid "" "``eq_default`` indicates whether the ``eq`` parameter is assumed to be " "``True`` or ``False`` if it is omitted by the caller." msgstr "" +"``eq_default`` indique la valeur du paramètre ``eq`` (``True`` ou ``False``) " +"si ce ne n'est pas précisé lors de l'appel." #: library/typing.rst:2568 msgid "" "``order_default`` indicates whether the ``order`` parameter is assumed to be " "True or False if it is omitted by the caller." msgstr "" +"``order_default`` indique la valeur du paramètre ``order`` (``True`` ou " +"``False``) si ce n'est pas précisé lors de l'appel." #: library/typing.rst:2570 msgid "" "``kw_only_default`` indicates whether the ``kw_only`` parameter is assumed " "to be True or False if it is omitted by the caller." msgstr "" +"``kw_only_default`` indique la valeur du paramètre ``kw_only_default`` " +"(``True`` ou ``False``) si ce ne n'est pas précisé lors de l'appel." #: library/typing.rst:2572 msgid "" "``field_specifiers`` specifies a static list of supported classes or " "functions that describe fields, similar to ``dataclasses.field()``." msgstr "" +"``field_specifiers`` spécifie une liste statique des classes ou fonctions " +"prises en charge pour la description des champs, similaire à ``dataclasses." +"field()``." #: library/typing.rst:2574 msgid "" "Arbitrary other keyword arguments are accepted in order to allow for " "possible future extensions." msgstr "" +"D'autres arguments sont acceptés afin d'autoriser de futurs possibles " +"extensions." #: library/typing.rst:2577 msgid "" "Type checkers recognize the following optional arguments on field specifiers:" msgstr "" +"Les arguments optionnels suivants pour la spécifications des champs sont " +"reconnus :" #: library/typing.rst:2580 msgid "" "``init`` indicates whether the field should be included in the synthesized " "``__init__`` method. If unspecified, ``init`` defaults to ``True``." msgstr "" +"``init`` indique si le champ doit être inclut au sein de la méthode " +"``__init__``. Vaut ``True`` par défaut." #: library/typing.rst:2583 msgid "``default`` provides the default value for the field." -msgstr "" +msgstr "``default`` indique la valeur par défaut du champ." #: library/typing.rst:2584 msgid "" @@ -2970,10 +3074,14 @@ msgid "" "specified, the field is assumed to have no default value and must be " "provided a value when the class is instantiated." msgstr "" +"``default_factory`` fournit une fonction de rappel renvoyant la valeur par " +"défaut du champ. Si les arguments ``default`` et ``default_factory`` ne sont " +"pas renseignés, le champ n'a pas de valeur pas défaut et il faudra en " +"fournir une lors de l'instanciation de la classe." #: library/typing.rst:2589 msgid "``factory`` is an alias for ``default_factory``." -msgstr "" +msgstr "``factory`` est un alias pour ``default_factory``." #: library/typing.rst:2590 msgid "" @@ -2984,12 +3092,19 @@ msgid "" "unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " "will be used." msgstr "" +"``kw_only`` indique si le champ est uniquement par mot-clé. Si l'argument " +"n'est pas renseigné, la valeur du paramètre ``kw_only`` de l'objet décoré " +"avec ``dataclass_transform`` est utilisé. Ou si cette valeur n'est pas " +"renseigné non plus, la valeur de ``kw_only_default`` de " +"``dataclass_transform`` est utilisé." #: library/typing.rst:2596 msgid "" "``alias`` provides an alternative name for the field. This alternative name " "is used in the synthesized ``__init__`` method." msgstr "" +"``alias`` indique un nom alternatif pour le champ. Cet alias est utilisé " +"dans le méthode ``__init__`` synthétisée." #: library/typing.rst:2599 msgid "" @@ -2997,6 +3112,9 @@ msgid "" "``__dataclass_transform__`` attribute on the decorated object. It has no " "other runtime effect." msgstr "" +"Lors de l'exécution, les arguments de ce décorateur sont enregistrés au sein " +"de l'attribut ``__dataclass_transform__`` de l'objet décoré. Il n'y pas " +"d'autre effet à l'exécution." #: library/typing.rst:2603 #, fuzzy @@ -3024,7 +3142,7 @@ msgstr "" "définitions décorées de ``@overload`` ne sont destinées qu'au vérificateur " "de type, puisqu'elles sont écrasées par la définition non décorée de " "``@overload`` ; cette dernière, en revanche, est utilisée à l'exécution mais " -"qu'il convient que le vérificateur de type l'ignore. Lors de l'exécution, " +"qu'il convient que le vérificateur de types l'ignore. Lors de l'exécution, " "l'appel direct d'une fonction décorée avec ``@overload`` lèvera :exc:" "`NotImplementedError`. Un exemple de surcharge qui donne un type plus précis " "que celui qui peut être exprimé à l'aide d'une variable union ou type ::" @@ -3042,6 +3160,8 @@ msgid "" "Overloaded functions can now be introspected at runtime using :func:" "`get_overloads`." msgstr "" +"Les fonctions surchargées peuvent maintenant être inspectées durant " +"l'exécution via :func:`get_overloads`." #: library/typing.rst:2642 msgid "" @@ -3053,18 +3173,31 @@ msgid "" "overloads. If called on a function with no overloads, ``get_overloads()`` " "returns an empty sequence." msgstr "" +"Renvoie la séquence des définitions des fonctions décorées comme :func:" +"`@overload ` associées à *func*. *func* est l'objet de la fonction " +"implémenté de base. Par exemple, en reprenant le définition de ``process`` " +"dans la documentation pour :func:`@overload `, " +"``get_overloads(process)`` renvoie une séquence composée de trois objets de " +"fonction associés aux trois fonctions surchargées définies. En cas d'appel à " +"``get_overloads()`` sur une fonction non surchargés, une séquence vide est " +"retournée." #: library/typing.rst:2650 msgid "" "``get_overloads()`` can be used for introspecting an overloaded function at " "runtime." msgstr "" +"``get_overloads()`` peut être utilisé afin d'inspecter une fonction " +"surchargée durant l'exécution." #: library/typing.rst:2658 msgid "" "Clear all registered overloads in the internal registry. This can be used to " "reclaim the memory used by the registry." msgstr "" +"Suppression de toutes les surcharges enregistrées au sein du registre " +"interne. Cela peut être utilisé afin de récupérer la mémoire utilisé par le " +"registre." #: library/typing.rst:2666 msgid "" @@ -3084,6 +3217,12 @@ msgid "" "attributes, the decorator returns the object unchanged without raising an " "exception." msgstr "" +"Le décorateur met l'attribut ``__final__`` à ``True`` de l'objet décoré. " +"Cela permet d'utiliser une vérification comme ``if getattr(obj, \"__final__" +"\", False)`` durant l'exécution afin de vérifier si un objet ``obj`` est " +"décoré comme ``final``. Dans le cas où l'objet décoré ne supporte pas la " +"modification d'attributs, le décorateur retournera l'objet de base sans " +"lever d'exception." #: library/typing.rst:2700 msgid "Decorator to indicate that annotations are not type hints." @@ -3147,18 +3286,17 @@ msgstr "" #: library/typing.rst:2734 msgid "Introspection helpers" -msgstr "" +msgstr "Utilitaires d'introspection" #: library/typing.rst:2738 msgid "" "Return a dictionary containing type hints for a function, method, module or " "class object." msgstr "" -"renvoie un dictionnaire contenant des indications de type pour une fonction, " +"Renvoie un dictionnaire contenant des annotations de type pour une fonction, " "une méthode, un module ou un objet de classe." #: library/typing.rst:2741 -#, fuzzy msgid "" "This is often the same as ``obj.__annotations__``. In addition, forward " "references encoded as string literals are handled by evaluating them in " @@ -3167,11 +3305,9 @@ msgid "" "__mro__`` in reverse order." msgstr "" "C'est souvent équivalent à ``obj.__annotations__``. De plus, les références " -"directes encodées sous forme de chaîne littérales sont traitées en les " -"évaluant dans les espaces de nommage ``globals`` et ``locals``. Si " -"nécessaire, ``Optional[t]`` est ajouté pour les annotations de fonction et " -"de méthode si une valeur par défaut égale à ``None`` est définie. Pour une " -"classe ``C``, renvoie un dictionnaire construit en fusionnant toutes les " +"postérieures encodées sous forme de chaîne de caractères sont évaluées dans " +"les espaces de nommage ``globals`` et ``locals``. Pour une classe ``C``, " +"elle renvoie un dictionnaire construit en fusionnant toutes les " "``__annotations__`` en parcourant ``C.__mro__`` en ordre inverse." #: library/typing.rst:2747 @@ -3180,6 +3316,9 @@ msgid "" "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " "more information). For example::" msgstr "" +"La fonction remplace récursivement tous les ``Annotated[T, ...]`` avec " +"``T``, sauf si la valeur de ``include_extras`` est définie à ``True`` (voir :" +"class:`Annotated` pour plus d'information). Par exemple ::" #: library/typing.rst:2762 msgid "" @@ -3187,10 +3326,14 @@ msgid "" "aliases>` that include forward references. Enabling postponed evaluation of " "annotations (:pep:`563`) may remove the need for most forward references." msgstr "" +":func:`get_type_hints` ne fonctionne pas avec les :ref:`alias de type ` importés contenant des références postérieures. L'activation " +"d'évaluation différée des annotations (:pep:`563`) permet de supprimer le " +"besoin de références postérieures supplémentaires." #: library/typing.rst:2767 msgid "Added ``include_extras`` parameter as part of :pep:`593`." -msgstr "" +msgstr "Ajout du paramètre ``include_extras`` comme énoncé dans la :pep:`593`." #: library/typing.rst:2770 msgid "" @@ -3198,6 +3341,9 @@ msgid "" "a default value equal to ``None`` was set. Now the annotation is returned " "unchanged." msgstr "" +"Avant, ``Optional[t]`` était ajouté pour les annotations de fonctions et de " +"méthodes dans le cas où une valeur par défaut était égal à ``None``. " +"Maintenant, les annotations sont renvoyées inchangées." #: library/typing.rst:2778 msgid "Provide basic introspection for generic types and special typing forms." @@ -3206,7 +3352,6 @@ msgstr "" "spéciales de typage." #: library/typing.rst:2780 -#, fuzzy msgid "" "For a typing object of the form ``X[Y, Z, ...]`` these functions return " "``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" @@ -3218,15 +3363,17 @@ msgid "" msgstr "" "Pour un objet de typage de la forme ``X[Y, Z, ....]``, ces fonctions " "renvoient ``X`` et ``(Y, Z,...)``. Si ``X`` est un alias pour une classe " -"native ou de :mod:`collections`, il est normalisé en la classe originale. " -"Pour les objets non gérés, renvoie la paire ``None`` , ``()``. Exemples ::" +"native ou de :mod:`collections`, il est normalisé vers la classe originale. " +"Si ``X`` est une union or un :class:`Literal` contenu dans un autre type " +"générique, l'ordre de ``(Y, Z, ...)`` peut différer de l'ordre des arguments " +"originels ``[Y, Z, ...]`` à cause du cache de types.Pour les objets non " +"gérés, renvoient ``None`` et ``()`` respectivement. Exemples ::" #: library/typing.rst:2799 msgid "Check if a type is a :class:`TypedDict`." -msgstr "" +msgstr "Vérifier si un type est un :class:`TypedDict`." #: library/typing.rst:2814 -#, fuzzy msgid "" "A class used for internal typing representation of string forward " "references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " @@ -3234,9 +3381,9 @@ msgid "" "instantiated by a user, but may be used by introspection tools." msgstr "" "Une classe utilisée pour le typage interne de la représentation des " -"références directes des chaînes de caractères. Par exemple, " -"``Liste[\"SomeClass\"]`` est implicitement transformé en " -"``Liste[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être " +"références postérieures des chaînes de caractères. Par exemple, " +"``List[\"SomeClass\"]`` est implicitement transformé en " +"``List[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être " "instanciée par un utilisateur, mais peut être utilisée par des outils " "d'introspection." @@ -3246,6 +3393,9 @@ msgid "" "implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " "will not automatically resolve to ``list[SomeClass]``." msgstr "" +"Les types :pep:`585` tels que ``list[\"SomeClass\"]`` ne seront pas " +"implicitement transformés en ``list[ForwardRef(\"SomeClass\")]`` et ne " +"seront donc pas automatiquement résolus en ``list[SomeClass]``." #: library/typing.rst:2827 msgid "Constant" @@ -3256,8 +3406,8 @@ msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" msgstr "" -"Constante spéciale qui vaut ``True`` pour les vérificateurs de type " -"statiques tiers et ``False`` à l'exécution. Utilisation ::" +"Constante spéciale qui vaut ``True`` pour les vérificateurs de types " +"statique tiers et ``False`` à l'exécution. Utilisation ::" #: library/typing.rst:2840 #, fuzzy @@ -3281,10 +3431,15 @@ msgid "" "in ``__annotations__``. This makes it unnecessary to use quotes around the " "annotation (see :pep:`563`)." msgstr "" +"Si ``from __future__ import annotations`` est utilisé, les annotations ne " +"sont pas évaluées au moment de la définition de fonction. Elles sont alors " +"stockées comme des chaînes de caractères dans ``__annotations__``, ce qui " +"rend inutile l'utilisation de guillemets autour de l'annotation (Voir :pep:" +"`563`)." #: library/typing.rst:2856 msgid "Deprecation Timeline of Major Features" -msgstr "" +msgstr "Étapes d'Obsolescence des Fonctionnalités Majeures" #: library/typing.rst:2858 msgid "" @@ -3293,18 +3448,22 @@ msgid "" "your convenience. This is subject to change, and not all deprecations are " "listed." msgstr "" +"Certaines fonctionnalités dans ``typing`` sont obsolètes et peuvent être " +"supprimées dans une future version de Python. Le tableau suivant résume les " +"principales dépréciations. Celui-ci peut changer et toutes les dépréciations " +"ne sont pas listées." #: library/typing.rst:2863 msgid "Feature" -msgstr "" +msgstr "Fonctionnalité" #: library/typing.rst:2863 msgid "Deprecated in" -msgstr "" +msgstr "Obsolète en" #: library/typing.rst:2863 msgid "Projected removal" -msgstr "" +msgstr "Suppression prévue" #: library/typing.rst:2863 msgid "PEP/issue" @@ -3312,7 +3471,7 @@ msgstr "" #: library/typing.rst:2865 msgid "``typing.io`` and ``typing.re`` submodules" -msgstr "" +msgstr "sous-modules ``typing.io`` et ``typing.re``" #: library/typing.rst:2865 msgid "3.8" @@ -3328,7 +3487,7 @@ msgstr "" #: library/typing.rst:2868 msgid "``typing`` versions of standard collections" -msgstr "" +msgstr "Versions de typage des collections standards" #: library/typing.rst:2868 msgid "3.9" @@ -3336,7 +3495,7 @@ msgstr "" #: library/typing.rst:2871 msgid "Undecided" -msgstr "" +msgstr "Non défini" #: library/typing.rst:2868 msgid ":pep:`585`" From c2c85f28c095dc59b6569f126dbffcd6eae2ff5a Mon Sep 17 00:00:00 2001 From: finevine Date: Fri, 17 Feb 2023 17:27:17 +0000 Subject: [PATCH 08/14] FIRST sqlite3 commit closes #80 (#81) Co-authored-by: finevine Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/81 Co-authored-by: finevine Co-committed-by: finevine --- library/sqlite3.po | 182 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 166 insertions(+), 16 deletions(-) diff --git a/library/sqlite3.po b/library/sqlite3.po index 2d6f7b4b..0c459f29 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-02-12 21:25+0100\n" -"PO-Revision-Date: 2019-03-26 15:55+0100\n" +"PO-Revision-Date: 2023-02-17 18:06+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 3.2.2\n" #: library/sqlite3.rst:2 msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases" @@ -52,27 +52,35 @@ msgstr "" #: library/sqlite3.rst:34 msgid "This document includes four main sections:" -msgstr "" +msgstr "Ce document inclus 4 sections principales :" #: library/sqlite3.rst:36 msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." msgstr "" +":ref:`tutoriel sqlite3 ` explique comment utiliser le " +"module :mod:`!sqlite3`." #: library/sqlite3.rst:37 msgid "" ":ref:`sqlite3-reference` describes the classes and functions this module " "defines." msgstr "" +":ref:`référence sqlite3 ` décrit les classes et les " +"fonctions que ce module définit." #: library/sqlite3.rst:39 msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." msgstr "" +":ref:`guide sqlite3 ` détaille comment gérer des tâches " +"spécifiques." #: library/sqlite3.rst:40 msgid "" ":ref:`sqlite3-explanation` provides in-depth background on transaction " "control." msgstr "" +":ref:`explications sqlite3 ` propose un contexte " +"détaillé du contrôle de transaction." #: library/sqlite3.rst:47 msgid "https://www.sqlite.org" @@ -104,7 +112,7 @@ msgstr "PEP écrite par Marc-André Lemburg." #: library/sqlite3.rst:66 msgid "Tutorial" -msgstr "" +msgstr "Tutoriel" #: library/sqlite3.rst:68 msgid "" @@ -112,6 +120,10 @@ msgid "" "basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " "of database concepts, including `cursors`_ and `transactions`_." msgstr "" +"Dans ce tutoriel, vous allez créer une base de données des films des Monty " +"Python en utilisant les fonctionnalités de base de :mod:`!sqlite3`. Cela " +"nécessite une compréhension élémentaire des concepts des bases de données, " +"notamment les `curseurs`_ et les `transactions`_." #: library/sqlite3.rst:73 msgid "" @@ -120,12 +132,19 @@ msgid "" "create a connection to the database :file:`tutorial.db` in the current " "working directory, implicitly creating it if it does not exist:" msgstr "" +"Tout d’abord, nous devons créer une nouvelle base de données et ouvrir une " +"connexion à la base de données pour permettre à :mod:`!sqlite3` de " +"travailler avec elle. Appelez :func:`sqlite3.connect` pour créer une " +"connexion à la base de données :file:`tutorial.db` dans le répertoire de " +"travail actuel, en la créant implicitement si elle n’existe pas :" #: library/sqlite3.rst:84 msgid "" "The returned :class:`Connection` object ``con`` represents the connection to " "the on-disk database." msgstr "" +"L’objet :class:`Connection` renvoyé — ``con`` — représente la connexion à la " +"base de données sur disque." #: library/sqlite3.rst:87 msgid "" @@ -133,6 +152,9 @@ msgid "" "will need to use a database cursor. Call :meth:`con.cursor() ` to create the :class:`Cursor`:" msgstr "" +"Afin d’exécuter les instructions SQL et de récupérer les résultats des " +"requêtes SQL, nous devrons utiliser un curseur de base de données. Appelez :" +"meth:`con.cursor() ` pour créer la :class:`Cursor` :" #: library/sqlite3.rst:95 msgid "" @@ -143,6 +165,14 @@ msgid "" "types is optional. Execute the ``CREATE TABLE`` statement by calling :meth:" "`cur.execute(...) `:" msgstr "" +"Maintenant que nous avons une connexion à la base de données et un curseur, " +"nous pouvons créer une table ``movie`` avec des colonnes pour le titre, " +"l’année de sortie et la note de la critique. Pour plus de simplicité, nous " +"pouvons simplement utiliser les noms des colonnes dans la déclaration de la " +"table — grâce à la fonctionnalité de `typage flexible `_ " +"de SQLite, spécifier les types de données est facultatif. Exécutez " +"l’instruction ``CREATE TABLE`` en appelant :meth:`cur.execute(…) ` :" #: library/sqlite3.rst:111 msgid "" @@ -153,6 +183,13 @@ msgid "" "execute>`, assign the result to ``res``, and call :meth:`res.fetchone() " "` to fetch the resulting row:" msgstr "" +"Nous pouvons vérifier que la nouvelle table a été créée en interrogeant la " +"table ``sqlite_master`` intégrée à SQLite, qui devrait maintenant contenir " +"une entrée pour la définition de la table ``movie`` (voir `le schéma Table " +"`_ pour plus de détails). Exécutez cette requête en " +"appelant :meth:`cur.execute(…) `, affectez le résultat à " +"``res``, et appelez :meth:`res.fetchone() ` pour récupérer " +"la ligne résultante :" #: library/sqlite3.rst:125 msgid "" @@ -160,6 +197,10 @@ msgid "" "`tuple` containing the table's name. If we query ``sqlite_master`` for a non-" "existent table ``spam``, :meth:`!res.fetchone()` will return ``None``:" msgstr "" +"Nous pouvons voir que la table a été créée, puisque la requête retourne un :" +"class:`tuple` contenant le nom de la table. Si nous interrogeons " +"``sqlite_master`` pour une table ``spam`` inexistante, :meth:`!res." +"fetchone()`` retournera ``None`` :" #: library/sqlite3.rst:136 msgid "" @@ -167,6 +208,9 @@ msgid "" "``INSERT`` statement, once again by calling :meth:`cur.execute(...) `:" msgstr "" +"Maintenant, ajoutez deux lignes de données en tant que littéraux SQL en " +"exécutant une instruction ``INSERT``, une fois encore en appelant :meth:`cur." +"execute(…) ` :" #: library/sqlite3.rst:148 msgid "" @@ -175,6 +219,11 @@ msgid "" "controlling-transactions` for details). Call :meth:`con.commit() ` on the connection object to commit the transaction:" msgstr "" +"L’instruction ``INSERT`` ouvre implicitement une transaction, qui doit être " +"validée avant que les modifications ne soient enregistrées dans la base de " +"données (voir :ref:`contrôle des transactions SQL ` pour plus de détails). Appelez :meth:`con.commit() " +"` sur l’objet de connexion pour valider la transaction :" #: library/sqlite3.rst:158 msgid "" @@ -183,18 +232,27 @@ msgid "" "assign the result to ``res``, and call :meth:`res.fetchall() ` to return all resulting rows:" msgstr "" +"Nous pouvons vérifier que les données ont été insérées correctement en " +"exécutant une requête ``SELECT``. Utilisez la désormais familière :meth:`cur." +"execute(…) ` pour affecter le résultat à ``res``, et " +"appelez :meth:`res.fetchall() ` pour retourner toutes les " +"lignes résultantes :" #: library/sqlite3.rst:170 msgid "" "The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " "containing that row's ``score`` value." msgstr "" +"Le résultat est une :class:`liste ` de deux :class:`!tuple`\\s, une " +"par ligne, chacun contenant la valeur ``score`` de cette ligne." #: library/sqlite3.rst:173 msgid "" "Now, insert three more rows by calling :meth:`cur.executemany(...) `:" msgstr "" +"Maintenant, insérez trois lignes supplémentaires en appelant :meth:`cur." +"executemany(…) ` :" #: library/sqlite3.rst:186 msgid "" @@ -203,18 +261,28 @@ msgid "" "to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " "(see :ref:`sqlite3-placeholders` for more details)." msgstr "" +"Remarquez que les placeholders ``?`` sont utilisés pour lier les ``data`` à " +"la requête. Utilisez toujours les placeholders au lieu d’:ref:`expressions " +"formatées ` pour lier les valeurs Python aux instructions " +"SQL, afin d’éviter les `injections SQL`_ (voir :ref:`placeholder SQL " +"` pour plus de détails)." #: library/sqlite3.rst:192 msgid "" "We can verify that the new rows were inserted by executing a ``SELECT`` " "query, this time iterating over the results of the query:" msgstr "" +"Nous pouvons vérifier que les nouvelles lignes ont été insérées en exécutant " +"une requête ``SELECT``, cette fois-ci en itérant sur les résultats de la " +"requête :" #: library/sqlite3.rst:206 msgid "" "Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " "columns selected in the query." msgstr "" +"Chaque ligne est un :class:`tuple` de deux éléments ``(année, titre)``, " +"correspondant aux colonnes sélectionnées dans la requête." #: library/sqlite3.rst:209 msgid "" @@ -222,64 +290,76 @@ msgid "" "`con.close() ` to close the existing connection, opening a " "new one, creating a new cursor, then querying the database:" msgstr "" +"Enfin, vérifiez que la base de données a été écrite sur le disque en " +"appelant :meth:`con.close() ` pour fermer la connexion " +"existante, en ouvrir une nouvelle, créer un nouveau curseur, puis interroger " +"la base de données :" #: library/sqlite3.rst:224 msgid "" "You've now created an SQLite database using the :mod:`!sqlite3` module, " "inserted data and retrieved values from it in multiple ways." msgstr "" +"Vous avez maintenant créé une base de données SQLite à l’aide du module :mod:" +"`!sqlite3`, inséré des données et récupéré des valeurs de plusieurs façons." #: library/sqlite3.rst:236 msgid ":ref:`sqlite3-howtos` for further reading:" -msgstr "" +msgstr ":ref:`guide sqlite3 ` pour une lecture plus poussée:" #: library/sqlite3.rst:238 msgid ":ref:`sqlite3-placeholders`" -msgstr "" +msgstr ":ref:`placeholders sqlite3 `" #: library/sqlite3.rst:239 msgid ":ref:`sqlite3-adapters`" -msgstr "" +msgstr ":ref:`adaptateurs sqlite3 `" #: library/sqlite3.rst:240 msgid ":ref:`sqlite3-converters`" -msgstr "" +msgstr ":ref:`convertisseurs sqlite3 `" #: library/sqlite3.rst:557 msgid ":ref:`sqlite3-connection-context-manager`" msgstr "" +":ref:`gestionnaire de contexte de connexion sqlite3 `" #: library/sqlite3.rst:242 msgid ":ref:`sqlite3-howto-row-factory`" -msgstr "" +msgstr ":ref:`guide de fabrique de ligne sqlite3 `" #: library/sqlite3.rst:244 msgid "" ":ref:`sqlite3-explanation` for in-depth background on transaction control." msgstr "" +":ref:`explications sqlite3 ` pour un contexte détaillé " +"du contrôle de transaction." #: library/sqlite3.rst:249 msgid "Reference" -msgstr "" +msgstr "Références" #: library/sqlite3.rst:257 -#, fuzzy msgid "Module functions" -msgstr "Fonctions et constantes du module" +msgstr "Fonctions du module" #: library/sqlite3.rst:264 msgid "Open a connection to an SQLite database." -msgstr "" +msgstr "Ouvrez une connexion à une base de données SQLite." #: library/sqlite3.rst:0 msgid "Parameters" -msgstr "" +msgstr "Paramètres" #: library/sqlite3.rst:266 msgid "" "The path to the database file to be opened. Pass ``\":memory:\"`` to open a " "connection to a database that is in RAM instead of on disk." msgstr "" +"Le chemin d’accès au fichier de la base de données à ouvrir. Passez ``\":" +"memory:\"`` pour ouvrir une connexion à une base de données qui est dans la " +"RAM plutôt que sur le disque." #: library/sqlite3.rst:272 msgid "" @@ -288,6 +368,11 @@ msgid "" "transaction to modify the database, it will be locked until that transaction " "is committed. Default five seconds." msgstr "" +"Le temps (en secondes) que la connexion doit attendre avant de lever une " +"exception, si la base de données est verrouillée par une autre connexion. Si " +"une autre connexion ouvre une transaction pour modifier la base de données, " +"celle-ci sera verrouillée jusqu’à ce que cette transaction soit validée. Par " +"défaut, cinq secondes." #: library/sqlite3.rst:279 msgid "" @@ -301,6 +386,17 @@ msgid "" "class:`str` will be returned instead. By default (``0``), type detection is " "disabled." msgstr "" +"Contrôle si et comment les types de données non :ref:`nativement pris en " +"charge par SQLite ` sont recherchés pour être convertis en " +"types Python, en utilisant les convertisseurs enregistrés avec :func:" +"`register_converter`. Définissez-le à n’importe quelle combinaison (en " +"utilisant ``|``, opérateurs bit-à-bit OR) de :const:`PARSE_DECLTYPES` et :" +"const:`PARSE_COLNAMES` pour activer ceci. Les noms de colonnes ont la " +"priorité sur les types déclarés si les deux drapeaux sont activés. Les types " +"ne peuvent pas être détectés pour les champs générés (par exemple " +"``max(data)``), même si le paramètre *detect_types* est activé ; :class:" +"`str` sera retourné à la place. Par défaut (``0``), la détection des types " +"est désactivée." #: library/sqlite3.rst:293 msgid "" @@ -310,6 +406,12 @@ msgid "" "opening transactions implicitly. See :ref:`sqlite3-controlling-transactions` " "for more." msgstr "" +"L’attribut :attr:`~Connection.isolation_level` de la connexion, contrôlant " +"si et comment les transactions sont ouvertes implicitement. Peut être " +"``\"DEFERRED\"`` (par défaut), ``\"EXCLUSIVE\"`` ou ``\"IMMEDIATE\"`` ; ou " +"``None`` pour désactiver l’ouverture implicite des transactions. Voir :ref:" +"`contrôle des transactions sqlite3 ` pour " +"en savoir plus." #: library/sqlite3.rst:301 msgid "" @@ -319,18 +421,29 @@ msgid "" "operations may need to be serialized by the user to avoid data corruption. " "See :attr:`threadsafety` for more information." msgstr "" +"Si ``True`` (par défaut), :exc:`ProgrammingError` sera levée si la connexion " +"à la base de données est utilisée par un thread autre que celui qui l’a " +"créée. Si ``False``, la connexion peut être utilisée par plusieurs threads ; " +"les opérations d’écriture devront peut-être être sérialisées par " +"l’utilisateur pour éviter la corruption des données. Voir :attr:`sécurité " +"des threads ` pour plus d’informations." #: library/sqlite3.rst:310 msgid "" "A custom subclass of :class:`Connection` to create the connection with, if " "not the default :class:`Connection` class." msgstr "" +"Une sous-classe personnalisée de :class:`Connection` pour créer la " +"connexion, si ce n’est pas la classe par défaut :class:`Connection`." #: library/sqlite3.rst:314 msgid "" "The number of statements that :mod:`!sqlite3` should internally cache for " "this connection, to avoid parsing overhead. By default, 128 statements." msgstr "" +"Le nombre d’instructions que :mod:`!sqlite3` doit mettre en cache en interne " +"pour cette connexion, afin d’éviter les surcharges d’analyse. Par défaut, " +"128 instructions." #: library/sqlite3.rst:319 msgid "" @@ -340,6 +453,12 @@ msgid "" "absolute. The query string allows passing parameters to SQLite, enabling " "various :ref:`sqlite3-uri-tricks`." msgstr "" +"Si elle a pour valeur ``True``, la base de données est interprétée comme un :" +"abbr:`URI (Uniform Resource Identifier)` avec un chemin d’accès au fichier " +"et une chaîne de requête facultative. La partie schéma *doit* être ``\"file:" +"\"``, et le chemin peut être relatif ou absolu. La chaîne d’interrogation " +"permet de passer des paramètres à SQLite, ce qui permet d’activer diverses :" +"ref:`astuces d’URI sqlite3 `." #: library/sqlite3.rst:0 #, fuzzy @@ -366,6 +485,8 @@ msgstr "" msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" +"*database* peut maintenant aussi être un :term:`objet de type chemin `, et pas seulement une chaîne de caractères." #: library/sqlite3.rst:339 msgid "The ``sqlite3.connect/handle`` auditing event." @@ -378,9 +499,13 @@ msgid "" "performed, other than checking that there are no unclosed string literals " "and the statement is terminated by a semicolon." msgstr "" +"Renvoie ``True`` si la déclaration de la chaîne semble contenir une ou " +"plusieurs déclarations SQL complètes. Aucune vérification syntaxique ou " +"analyse syntaxique d’aucune sorte n’est effectuée, si ce n’est la " +"vérification qu’il n’y a pas de chaîne littérale non fermée et que " +"l’instruction se termine par un point-virgule." #: library/sqlite3.rst:350 -#, fuzzy msgid "For example:" msgstr "Exemple :" @@ -390,6 +515,10 @@ msgid "" "entered text seems to form a complete SQL statement, or if additional input " "is needed before calling :meth:`~Cursor.execute`." msgstr "" +"Cette fonction peut être utile pendant la saisie en ligne de commande pour " +"déterminer si le texte saisi semble former une instruction SQL complète, ou " +"si une saisie supplémentaire est nécessaire avant d’appeler :meth:`~Cursor." +"execute`." #: library/sqlite3.rst:365 msgid "" @@ -399,12 +528,22 @@ msgid "" "*flag* set to ``True``. Afterwards, you will get tracebacks from callbacks " "on :data:`sys.stderr`. Use ``False`` to disable the feature again." msgstr "" +"Activer ou désactiver les traces des fonctions de rappel. Par défaut, vous " +"n’obtiendrez pas de traces de pile d’appels dans les fonctions définies par " +"l’utilisateur, les agrégats, les convertisseurs, les fonctions de rappel des " +"mécanismes d’autorisation, etc. Si vous voulez les déboguer, vous pouvez " +"appeler cette fonction avec *flag* à ``True``. Ensuite, vous obtiendrez les " +"traces des fonctions de rappel sur :data:`sys.stderr`. Utilisez ``False`` " +"pour désactiver à nouveau cette fonctionnalité." #: library/sqlite3.rst:372 msgid "" "Register an :func:`unraisable hook handler ` for an " "improved debug experience:" msgstr "" +"Enregistrez un :func:`gestionnaire de point d’entrée *non levable* ` (*unraisable* en anglais) pour une expérience de débogage " +"améliorée :" #: library/sqlite3.rst:397 msgid "" @@ -413,6 +552,10 @@ msgid "" "its sole argument, and must return a value of a :ref:`type that SQLite " "natively understands `." msgstr "" +"Enregistre un *adaptateur* appelable pour adapter le type Python *type* en " +"un type SQLite. L’adaptateur est appelé avec un objet Python de type *type* " +"comme unique argument, et doit retourner une valeur d’un :ref:`type que " +"SQLite comprend nativement `." #: library/sqlite3.rst:405 msgid "" @@ -423,15 +566,22 @@ msgid "" "parameter *detect_types* of :func:`connect` for information regarding how " "type detection works." msgstr "" +"Enregistre le *convertisseur* appellable pour convertir les objets SQLite de " +"type *typename* en un objet Python d’un type spécifique. Le convertisseur " +"est invoqué pour toutes les valeurs SQLite de type *typename* ; on lui passe " +"un objet :class:`bytes` et il doit retourner un objet du type Python désiré. " +"Consultez le paramètre *detect_types* de :func:`connect` pour des " +"informations sur le fonctionnement de la détection des types." #: library/sqlite3.rst:413 msgid "" "Note: *typename* and the name of the type in your query are matched case-" "insensitively." msgstr "" +"Remarque : *typename* et le nom du type dans votre requête sont comparés " +"sans tenir compte de la casse." #: library/sqlite3.rst:420 -#, fuzzy msgid "Module constants" msgstr "Fonctions et constantes du module" From cb9d346d5ff958a21284b312c6cb538e14467380 Mon Sep 17 00:00:00 2001 From: nicolas talabardon Date: Fri, 17 Feb 2023 17:28:28 +0000 Subject: [PATCH 09/14] Petites erreurs grammaticales (#78) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit défini -> définit quand définir est le verbe, conjugué à la troisième personne de l'indicatif présent. Co-authored-by: nicolastala Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/78 Co-authored-by: nicolas talabardon Co-committed-by: nicolas talabardon --- library/turtle.po | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/library/turtle.po b/library/turtle.po index 37769ce4..7d865681 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -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 16:14+0200\n" +"PO-Revision-Date: 2023-02-17 15:37+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0.1\n" #: library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" @@ -1830,8 +1830,8 @@ msgid "" "*picname* is ``\"nopic\"``, delete background image, if present. If " "*picname* is ``None``, return the filename of the current backgroundimage. ::" msgstr "" -"Défini l'image de fond ou renvoie l'image de fond actuelle. Si *picname* est " -"un nom de fichier, cette image et mis en image de fond. Si *picname* est " +"Définit l'image de fond ou renvoie l'image de fond actuelle. Si *picname* " +"est un nom de fichier, cette image et mis en image de fond. Si *picname* est " "``\"nopic\"``, l'image de fond sera supprimée si présente. SI *picname* est " "``None``, le nom du fichier de l'image de fond actuelle est renvoyé. ::" @@ -1949,7 +1949,7 @@ msgid "" "the time interval between two consecutive canvas updates.) The longer the " "drawing delay, the slower the animation." msgstr "" -"Défini ou renvoie le délai (*delay*) de dessin en millisecondes. (Cet " +"Définit ou renvoie le délai (*delay*) de dessin en millisecondes. (Cet " "approximativement le temps passé entre deux mises à jour du canevas.) Plus " "le délai est long, plus l'animation sera lente." @@ -1969,11 +1969,11 @@ msgid "" "arguments, returns the currently stored value of n. Second argument sets " "delay value (see :func:`delay`)." msgstr "" -"Active/désactive les animations des tortues et défini le délai pour mettre à " -"jour les dessins.Si *n* est passé, seulement les n-ièmes mises à jours " +"Active/désactive les animations des tortues et définit le délai pour mettre " +"à jour les dessins.Si *n* est passé, seulement les n-ièmes mises à jours " "régulières de l'écran seront vraiment effectuées. (Peut être utilisé pour " "accélérer le dessin de graphiques complexes.) Lorsqu'appelé sans arguments, " -"renvoie la valeur actuelle de *n*. Le deuxième argument défini la valeur du " +"renvoie la valeur actuelle de *n*. Le deuxième argument définit la valeur du " "délai (voir :func:`delay`)." #: library/turtle.rst:1760 @@ -2183,12 +2183,11 @@ msgid "one of the values 1.0 or 255" msgstr "l'une des valeurs suivantes : 1.0 ou 255" #: library/turtle.rst:1944 -#, fuzzy msgid "" "Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " "values of color triples have to be in the range 0..*cmode*." msgstr "" -"Renvoie le mode de couleur (*colormode*) ou le défini à 1.0 ou 255. Les " +"Renvoie le mode de couleur (*colormode*) ou le définit à 1.0 ou 255. Les " "valeurs *r*, *g* et *b* doivent aussi être dans la gamme ``0``\\ ..\\ " "*cmode*." @@ -2346,7 +2345,7 @@ msgstr "" #: library/turtle.rst:2096 msgid "Set title of turtle window to *titlestring*." -msgstr "Défini le titre de la fenêtre de la tortue à *titlestring*." +msgstr "Définit le titre de la fenêtre de la tortue comme *titlestring*." #: library/turtle.rst:2105 msgid "Public classes" From 74549be6bcf8d329a9177a3a7aed944f7b567010 Mon Sep 17 00:00:00 2001 From: nicolas talabardon Date: Sat, 18 Feb 2023 14:30:02 +0000 Subject: [PATCH 10/14] =?UTF-8?q?Petite=20confusion=20corrig=C3=A9e.=20(#7?= =?UTF-8?q?7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Erreur détectée par hasard... Je suis davantage sûr de moi sur ce coup-là ;-). Co-authored-by: nicolastala Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/77 Co-authored-by: nicolas talabardon Co-committed-by: nicolas talabardon --- library/email.examples.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/email.examples.po b/library/email.examples.po index 8abcb298..9a7b6fe8 100644 --- a/library/email.examples.po +++ b/library/email.examples.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-08-24 09:01+0200\n" -"PO-Revision-Date: 2018-09-28 13:01+0200\n" +"PO-Revision-Date: 2023-02-17 14:44+0100\n" "Last-Translator: \n" "Language-Team: FRENCH \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.5\n" +"X-Generator: Poedit 3.0.1\n" #: library/email.examples.rst:4 msgid ":mod:`email`: Examples" @@ -66,7 +66,7 @@ msgid "" "Here's an example of how to unpack a MIME message like the one above, into a " "directory of files:" msgstr "" -"Voici un message de comment décomposer un message MIME comme celui ci dessus " +"Voici un exemple de comment décomposer un message MIME comme celui ci-dessus " "en tant que fichiers dans un dossier :" #: library/email.examples.rst:39 From a57e01d8e0e44efb09df079ee4528420cf312fdf Mon Sep 17 00:00:00 2001 From: remil Date: Sun, 19 Feb 2023 02:33:51 +0000 Subject: [PATCH 11/14] Add initial translation of c-api/refcounting (#70) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rémi Lapeyre Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/70 Co-authored-by: remil Co-committed-by: remil --- c-api/refcounting.po | 75 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 12 deletions(-) diff --git a/c-api/refcounting.po b/c-api/refcounting.po index 91751cf3..cd456dd9 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -6,8 +6,8 @@ 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 \n" +"PO-Revision-Date: 2023-02-17 12:00+0200\n" +"Last-Translator: Rémi Lapeyre \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -15,18 +15,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: c-api/refcounting.rst:8 -msgid "Reference Counting" +msgid "Comptage de références" msgstr "" #: c-api/refcounting.rst:10 msgid "" "The macros in this section are used for managing reference counts of Python " "objects." -msgstr "" +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'object *o*." #: c-api/refcounting.rst:18 msgid "" @@ -34,82 +35,101 @@ 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'object 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* and 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 être écrit ::" #: 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 +143,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 +159,9 @@ 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 +172,39 @@ 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 competeur 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é 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 +212,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`." From 4ac1f07021e19f39b79e3f895d194851e445ca71 Mon Sep 17 00:00:00 2001 From: mounasb Date: Sun, 19 Feb 2023 02:35:28 +0000 Subject: [PATCH 12/14] update translation (#82) [library/csv.po](https://git.afpy.org/AFPy/python-docs-fr/issues/64) [library/re.po](https://git.afpy.org/AFPy/python-docs-fr/issues/65) [whatsnew/3.11.po](https://git.afpy.org/AFPy/python-docs-fr/issues/74) Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/82 Co-authored-by: mounasb Co-committed-by: mounasb --- library/csv.po | 11 ++++--- library/re.po | 71 ++++++++++++++++++++++---------------------- whatsnew/3.11.po | 76 ++++++++++++++++++++++++++++++------------------ 3 files changed, 88 insertions(+), 70 deletions(-) diff --git a/library/csv.po b/library/csv.po index 57cd7405..8408e4c3 100644 --- a/library/csv.po +++ b/library/csv.po @@ -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: 2022-05-20 10:21+0200\n" -"Last-Translator: Mathieu Dupuy \n" +"PO-Revision-Date: 2023-02-17 10:21+0200\n" +"Last-Translator: Mouna Sebti \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -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 "" @@ -787,7 +787,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,7 +795,7 @@ 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 " +"défaut (voir :func:`locale.getencoding`). Pour décoder un fichier " "utilisant un encodage différent, utilisez l'argument ``encoding`` de " "*open* ::" diff --git a/library/re.po b/library/re.po index 95c4e7e9..1f560865 100644 --- a/library/re.po +++ b/library/re.po @@ -5,8 +5,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: 2022-10-18 15:52+0200\n" -"Last-Translator: Jules Lasne \n" +"PO-Revision-Date: 2023-02-17 14:52+0200\n" +"Last-Translator: Mouna Sebti \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -19,9 +19,8 @@ msgid ":mod:`re` --- Regular expression operations" msgstr ":mod:`re` — Opérations à base d'expressions rationnelles" #: library/re.rst:10 -#, fuzzy msgid "**Source code:** :source:`Lib/re/`" -msgstr "**Code source :** :source:`Lib/re.py`" +msgstr "**Code source :** :source:`Lib/re/`" #: library/re.rst:14 msgid "" @@ -199,7 +198,6 @@ msgstr "" "interprétées." #: library/re.rst:90 -#, fuzzy msgid "" "Repetition operators or quantifiers (``*``, ``+``, ``?``, ``{m,n}``, etc) " "cannot be directly nested. This avoids ambiguity with the non-greedy " @@ -208,7 +206,7 @@ msgid "" "For example, the expression ``(?:a{6})*`` matches any multiple of six " "``'a'`` characters." msgstr "" -"Les caractères de répétition (``*``, ``+``, ``?``, ``{m,n}``, etc.) ne " +"Les caractères de répétition ou quantificateurs (``*``, ``+``, ``?``, ``{m,n}``, etc.) ne " "peuvent être directement imbriqués. Cela empêche l'ambiguïté avec le suffixe " "modificateur non gourmand ``?`` et avec les autres modificateurs dans " "d'autres implémentations. Pour appliquer une seconde répétition à une " @@ -315,7 +313,6 @@ msgid "``*?``, ``+?``, ``??``" msgstr "``*?``, ``+?``, ``??``" #: library/re.rst:149 -#, fuzzy msgid "" "The ``'*'``, ``'+'``, and ``'?'`` quantifiers are all :dfn:`greedy`; they " "match as much text as possible. Sometimes this behaviour isn't desired; if " @@ -325,19 +322,18 @@ msgid "" "characters as possible will be matched. Using the RE ``<.*?>`` will match " "only ``''``." msgstr "" -"Les qualificateurs ``'*'``, ``'+'`` et ``'?'`` sont tous :dfn:`greedy` " +"Les quantificateurs ``'*'``, ``'+'`` et ``'?'`` sont tous :dfn:`greedy` " "(gourmands) ; ils valident autant de texte que possible. Parfois ce " "comportement n'est pas désiré ; si l'expression rationnelle ``<.*>`` est " "testée avec la chaîne ``' b '``, cela correspondra à la chaîne " -"entière, et non juste à ``''``. Ajouter ``?`` derrière le qualificateur " +"entière, et non juste à ``''``. Ajouter ``?`` derrière le quantificateur " "lui fait réaliser l'opération de façon :dfn:`non-greedy` (ou :dfn:" "`minimal`) ; le *moins* de caractères possibles seront validés. Utiliser " "l'expression rationnelle ``<.*?>`` validera uniquement ``''``." #: library/re.rst:179 -#, fuzzy msgid "``*+``, ``++``, ``?+``" -msgstr "``*?``, ``+?``, ``??``" +msgstr "``*+``, ``++``, ``?+``" #: library/re.rst:163 msgid "" @@ -400,7 +396,6 @@ msgid "``{m,n}?``" msgstr "``{m,n}?``" #: library/re.rst:199 -#, fuzzy msgid "" "Causes the resulting RE to match from *m* to *n* repetitions of the " "preceding RE, attempting to match as *few* repetitions as possible. This is " @@ -408,16 +403,15 @@ msgid "" "character string ``'aaaaaa'``, ``a{3,5}`` will match 5 ``'a'`` characters, " "while ``a{3,5}?`` will only match 3 characters." msgstr "" -"Fait valider par l'expression rationnelle résultante entre *m* et *n* " +"Fait valider l'expression rationnelle résultante entre *m* et *n* " "répétitions de l'expression qui précède, cherchant à en valider le moins " -"possible. Il s'agit de la version non gourmande du précédent qualificateur. " +"possible. Il s'agit de la version non gourmande du précédent quantificateur. " "Par exemple, dans la chaîne de 6 caractères ``'aaaaaa'``, ``a{3,5}`` " "trouvera 5 caractères ``'a'``, alors que ``a{3,5}?`` n'en trouvera que 3." #: library/re.rst:218 -#, fuzzy msgid "``{m,n}+``" -msgstr "``{m,n}``" +msgstr "``{m,n}+``" #: library/re.rst:206 #, fuzzy @@ -434,7 +428,7 @@ msgid "" msgstr "" "Fait valider par l'expression rationnelle résultante entre *m* et *n* " "répétitions de l'expression qui précède, cherchant à en valider le moins " -"possible. Il s'agit de la version non gourmande du précédent qualificateur. " +"possible. Il s'agit de la version non gourmande du précédent quantificateur. " "Par exemple, dans la chaîne de 6 caractères ``'aaaaaa'``, ``a{3,5}`` " "trouvera 5 caractères ``'a'``, alors que ``a{3,5}?`` n'en trouvera que 3." @@ -679,9 +673,8 @@ msgstr "" "l'expression." #: library/re.rst:341 -#, fuzzy msgid "This construction can only be used at the start of the expression." -msgstr "Correspond uniquement au début d'une chaîne de caractères." +msgstr "Cette construction ne peut être utilisée qu'au début d'une chaîne de caractères." #: library/re.rst:350 msgid "``(?:...)``" @@ -755,9 +748,8 @@ msgstr "" "groupe." #: library/re.rst:391 -#, fuzzy msgid "``(?>...)``" -msgstr "``(?...)``" +msgstr "``(?>...)``" #: library/re.rst:379 msgid "" @@ -848,7 +840,8 @@ msgstr "``\\g<1>``" #: library/re.rst:420 msgid "Group names containing non-ASCII characters in bytes patterns." -msgstr "" +msgstr "Les noms de groupe qui contiennent des caractères non-ASCII" +"dans des motifs d'octets (type *bytes*)." #: library/re.rst:427 msgid "``(?P=name)``" @@ -977,7 +970,8 @@ msgstr "" #: library/re.rst:495 msgid "Group *id* containing anything except ASCII digits." -msgstr "" +msgstr "Identifiant ``id`` de groupe contenant autre chose que des chiffres" +"ASCII." #: library/re.rst:499 msgid "" @@ -1168,15 +1162,14 @@ msgid "``\\w``" msgstr "``\\w``" #: library/re.rst:592 -#, fuzzy msgid "" "Matches Unicode word characters; this includes alphanumeric characters (as " "defined by :meth:`str.isalnum`) as well as the underscore (``_``). If the :" "const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" -"Valide les caractères Unicode de mot ; cela inclut la plupart des caractères " -"qui peuvent être compris dans un mot d'une quelconque langue, aussi bien que " -"les nombres et les tirets bas. Si l'option :const:`ASCII` est utilisée, " +"Valide les caractères Unicode de mot ; cela inclut les caractères alphanumériques " +"(tels que définis par :meth:`str.isalnum`), ainsi que les tirets bas(``_``). " +"Si l'option :const:`ASCII` est utilisée, " "seuls les caractères de la classe ``[a-zA-Z0-9_]`` sont validés." #: library/re.rst:597 @@ -1454,7 +1447,6 @@ msgstr "" "l'exception du saut de ligne. Correspond à l'option de groupe ``(?s)``." #: library/re.rst:782 -#, fuzzy msgid "" "This flag allows you to write regular expressions that look nicer and are " "more readable by allowing you to visually separate logical sections of the " @@ -1470,9 +1462,10 @@ msgstr "" "présentent mieux et sont plus lisibles en vous permettant de séparer " "visuellement les sections logiques du motif et d'ajouter des commentaires. " "Les caractères d'espacement à l'intérieur du motif sont ignorés, sauf à " -"l'intérieur des classes de caractères ou quand précédés d'un *backslash* non " -"échappé, ou dans des séquences comme ``*?``, ``(?:`` or ``(?P<...>``. Quand " -"une ligne contient un ``#`` qui n'est pas dans une classe de caractères ou " +"l'intérieur des classes de caractères ou quand ils sont précédés d'un *backslash* " +"non échappé, ou dans des séquences comme ``*?``, ``(?:`` ou ``(?P<...>``." +"Par exemple, ``(? :`` et ``* ?`` ne sont pas autorisés. Quand une ligne" +"contient un ``#`` qui n'est ni dans une classe de caractères, ni " "précédé d'un *backslash* non échappé, tous les caractères depuis le ``#`` le " "plus à gauche jusqu'à la fin de la ligne sont ignorés." @@ -1807,10 +1800,12 @@ msgstr "" "adjacentes à une correspondance non vide précédente." #: library/re.rst:1016 +#, fuzzy msgid "" "Group *id* containing anything except ASCII digits. Group names containing " "non-ASCII characters in bytes replacement strings." -msgstr "" +msgstr "Identifiant de groupe contenant autre chose que des chiffres" +"ASCII." #: library/re.rst:1023 msgid "" @@ -2481,21 +2476,25 @@ msgstr "search() vs. match()" msgid "" "Python offers different primitive operations based on regular expressions:" msgstr "" +"Python offre différentes opérations primitives basées sur des expressions" +"régulières." #: library/re.rst:1566 -#, fuzzy msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr "Correspond uniquement à la fin d'une chaîne de caractères." +msgstr ":func:`re.match` cherche une correspondance uniquement au début de la" +"chaîne de caractères" #: library/re.rst:1567 msgid "" ":func:`re.search` checks for a match anywhere in the string (this is what " "Perl does by default)" -msgstr "" +msgstr ":func:`re.search` cherche une correspondance n'importe où dans" +"la chaîne de caractères (ce que fait Perl par défaut)" #: library/re.rst:1569 msgid ":func:`re.fullmatch` checks for entire string to be a match" -msgstr "" +msgstr ":func:`re.fullmatch` cherche une correspondance avec l'intégralité" +"de la chaîne de caractères." #: library/re.rst:1581 msgid "" diff --git a/whatsnew/3.11.po b/whatsnew/3.11.po index 6541931d..26699c93 100644 --- a/whatsnew/3.11.po +++ b/whatsnew/3.11.po @@ -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: 2022-11-14 15:35+0100\n" -"Last-Translator: Yannick Gingras \n" +"PO-Revision-Date: 2023-02-17 15:35+0100\n" +"Last-Translator: Mouna Sebti \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "Les nouveautés de Python 3.11" #: whatsnew/3.11.rst:0 msgid "Release" -msgstr "" +msgstr "Version" #: whatsnew/3.11.rst:5 msgid "|release|" @@ -38,7 +38,7 @@ msgstr "" #: whatsnew/3.11.rst:0 msgid "Editor" -msgstr "" +msgstr "Éditeur" #: whatsnew/3.11.rst:7 msgid "Pablo Galindo Salgado" @@ -66,6 +66,9 @@ msgid "" "measured a 1.25x speedup on the standard benchmark suite. See :ref:" "`whatsnew311-faster-cpython` for details." msgstr "" +"Python 3.11 est entre 10 et 60% plus rapide que Python 3.10. En moyenne," +"nous avons mesuré une multiplication de la vitesse par 1.25 sur la suite de" +"benchmark standard. Voir les détails sur :ref:`whatsnew311-faster-cpython`." #: whatsnew/3.11.rst:68 msgid "New syntax features:" @@ -76,9 +79,8 @@ msgid ":ref:`whatsnew311-pep654`" msgstr "" #: whatsnew/3.11.rst:72 -#, fuzzy msgid "New built-in features:" -msgstr "Nouvelles fonctionnalités de typage :" +msgstr "Nouvelles fonctionnalités natives :" #: whatsnew/3.11.rst:74 msgid ":ref:`whatsnew311-pep678`" @@ -86,7 +88,7 @@ msgstr "" #: whatsnew/3.11.rst:76 msgid "New standard library modules:" -msgstr "" +msgstr "Nouveaux modules de bibliothèque standard :" #: whatsnew/3.11.rst:78 msgid "" @@ -96,7 +98,7 @@ msgstr "" #: whatsnew/3.11.rst:81 msgid "Interpreter improvements:" -msgstr "" +msgstr "Améliorations de l'interpréteur :" #: whatsnew/3.11.rst:83 msgid ":ref:`whatsnew311-pep657`" @@ -142,12 +144,16 @@ msgid "" ":pep:`594`: :ref:`Many legacy standard library modules have been deprecated " "` and will be removed in Python 3.13" msgstr "" +":pep:`594`: :ref:`De nombreux anciens modules de la bibliothèque standard sont" +"devenus obsolètes ` et seront supprimés dans la version 3.13" #: whatsnew/3.11.rst:101 msgid "" ":pep:`624`: :ref:`Py_UNICODE encoder APIs have been removed `" msgstr "" +":pep:`624`: :ref:`les API d'encodage Py_UNICODE ont été supprimées `" #: whatsnew/3.11.rst:103 msgid "" @@ -183,9 +189,9 @@ msgid "" "function calls:" msgstr "" "Les versions précédentes de l'interpréteur indiquaient uniquement la ligne, " -"ce qui rendait ambigu quel objet était ``None``. Les messages d'erreurs " +"ce qui rendait ambigu quel objet était ``None``. Ces messages d'erreurs " "améliorés sont aussi utiles quand on travaille avec des objets dictionnaires " -"fortement imbriqués et des appels de fonction multiples," +":class:`dict` fortement imbriqués et des appels de fonction multiples :" #: whatsnew/3.11.rst:151 #, fuzzy @@ -234,7 +240,7 @@ msgstr "" #: whatsnew/3.11.rst:185 msgid "PEP 654: Exception Groups and ``except*``" -msgstr "" +msgstr "PEP 654: Groupes d'exception et ``except*``" #: whatsnew/3.11.rst:187 msgid "" @@ -248,7 +254,7 @@ msgstr "" #: whatsnew/3.11.rst:194 msgid "See :pep:`654` for more details." -msgstr "" +msgstr "Voir :pep:`654` pour plus de détails." #: whatsnew/3.11.rst:196 msgid "" @@ -276,7 +282,7 @@ msgstr "" #: whatsnew/3.11.rst:210 msgid "See :pep:`678` for more details." -msgstr "" +msgstr "Voir :pep:`678` pour plus de détails." #: whatsnew/3.11.rst:212 msgid "" @@ -286,7 +292,7 @@ msgstr "" #: whatsnew/3.11.rst:219 msgid "Windows ``py.exe`` launcher improvements" -msgstr "" +msgstr "Améliorations du lanceur Windows ``py.exe``" #: whatsnew/3.11.rst:221 msgid "" @@ -351,7 +357,7 @@ msgstr "" #: whatsnew/3.11.rst:270 msgid "See :pep:`646` for more details." -msgstr "" +msgstr "Voir :pep:`646` pour plus de détails." #: whatsnew/3.11.rst:272 msgid "" @@ -383,11 +389,11 @@ msgstr "" #: whatsnew/3.11.rst:301 msgid "The following definition is equivalent::" -msgstr "" +msgstr "La définition suivante est équivalente ::" #: whatsnew/3.11.rst:307 msgid "See :pep:`655` for more details." -msgstr "" +msgstr "Voir :pep:`655` pour plus de détails." #: whatsnew/3.11.rst:309 msgid "" @@ -423,7 +429,7 @@ msgstr "" #: whatsnew/3.11.rst:345 msgid "See :pep:`673` for more details." -msgstr "" +msgstr "Voir :pep:`673` pour plus de détails." #: whatsnew/3.11.rst:347 msgid "" @@ -449,10 +455,12 @@ msgstr "" #: whatsnew/3.11.rst:364 msgid "For example, a SQL query function could be annotated as follows::" msgstr "" +"Par exemple, une fonction de requête SQL pourrait être annotée de cette" +"façon ::" #: whatsnew/3.11.rst:382 msgid "See :pep:`675` for more details." -msgstr "" +msgstr "Voir :pep:`675` pour plus de détails." #: whatsnew/3.11.rst:384 msgid "" @@ -475,11 +483,11 @@ msgstr "" #: whatsnew/3.11.rst:399 msgid "For example::" -msgstr "" +msgstr "Par exemple ::" #: whatsnew/3.11.rst:417 msgid "See :pep:`681` for more details." -msgstr "" +msgstr "Voir :pep:`681` pour plus de détails." #: whatsnew/3.11.rst:419 msgid "" @@ -954,12 +962,11 @@ msgid "IDLE and idlelib" msgstr "``IDLE`` et ``idlelib``" #: whatsnew/3.11.rst:804 -#, fuzzy msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" msgstr "" -"Fait la coloration syntaxique des fichiers ``.pyi`` (contribution d'*Alex " +"Applique la coloration syntaxique aux fichiers ``.pyi`` (contribution d'*Alex " "Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)." #: whatsnew/3.11.rst:807 @@ -1430,6 +1437,8 @@ msgstr "" #: whatsnew/3.11.rst:1131 msgid "For major changes, see :ref:`new-feat-related-type-hints-311`." msgstr "" +"Pour les modifications majeures, voir :ref:`new-feat-related-" +"type-hints-311`." #: whatsnew/3.11.rst:1133 msgid "" @@ -1739,7 +1748,9 @@ msgstr "" msgid "" "Interpreter startup is now 10-15% faster in Python 3.11. This has a big " "impact for short-running programs using Python." -msgstr "" +msgstr "Le lancement de l'interpréteur est 10 à 15% plus rapide" +"dans la version 3.11. Cela a un grand impact pour les programmes courts" +"utilisant Python." #: whatsnew/3.11.rst:1362 msgid "" @@ -1954,7 +1965,7 @@ msgstr "" #: whatsnew/3.11.rst:1467 msgid "Calls" -msgstr "" +msgstr "Appels" #: whatsnew/3.11.rst:1467 msgid "``f(arg)`` ``C(arg)``" @@ -2162,7 +2173,7 @@ msgstr "" #: whatsnew/3.11.rst:1554 msgid "About" -msgstr "" +msgstr "À propos" #: whatsnew/3.11.rst:1556 msgid "" @@ -2429,6 +2440,8 @@ msgstr "Obsolescence" msgid "" "This section lists Python APIs that have been deprecated in Python 3.11." msgstr "" +"Cette section liste les API Python qui sont devenues obsolètes dans la" +"version 3.11." #: whatsnew/3.11.rst:1671 msgid "" @@ -2585,7 +2598,7 @@ msgstr "" #: whatsnew/3.11.rst:1742 msgid "Standard Library" -msgstr "" +msgstr "Bibliothèque Standard" #: whatsnew/3.11.rst:1744 msgid "" @@ -2776,6 +2789,8 @@ msgid "" "The following Python APIs have been deprecated in earlier Python releases, " "and will be removed in Python 3.12." msgstr "" +"Les API Python suivantes sont devenues obsolètes dans des versions " +"précédentes, et seront supprimées dans la version 3.12." #: whatsnew/3.11.rst:1847 msgid "" @@ -3038,6 +3053,8 @@ msgstr "Retraits" #: whatsnew/3.11.rst:1907 msgid "This section lists Python APIs that have been removed in Python 3.11." msgstr "" +"Cette section liste les API Python qui ont été supprimées dans la version " +"3.11." #: whatsnew/3.11.rst:1909 msgid "" @@ -3213,6 +3230,9 @@ msgid "" "This section lists previously described changes and other bugfixes in the " "Python API that may require changes to your Python code." msgstr "" +"Cette section liste les modifications précédemment décrites et d'autres" +"corrections de bogues dans l'API Python qui pourraient nécessiter des" +"modification dans votre code." #: whatsnew/3.11.rst:2016 msgid "" @@ -3314,7 +3334,7 @@ msgstr "" #: whatsnew/3.11.rst:2087 msgid "Building Python now requires:" -msgstr "" +msgstr "Compiler Python nécessite à présent :" #: whatsnew/3.11.rst:2089 msgid "" From 4cb6264f884b724bd7adac59ef0d420c25ba7d79 Mon Sep 17 00:00:00 2001 From: zoe Date: Sun, 19 Feb 2023 02:36:34 +0000 Subject: [PATCH 13/14] ajout d'une explication pour git config (#62) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Une ligne dans CONTRIBUTING.rst pour indiquer de changer de répertoire avant de lancer git config. Co-authored-by: Zoe Drey Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/62 Co-authored-by: zoe Co-committed-by: zoe --- CONTRIBUTING.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index b2b0121d..88ca63fe 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -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 From eef2c04e9eae99cd1b1cc8e6206d368345e2c2e3 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Sun, 19 Feb 2023 16:39:18 +0100 Subject: [PATCH 14/14] FIX: Bad link. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index a54b0d4e..08b93ba7 100644 --- a/README.rst +++ b/README.rst @@ -61,7 +61,7 @@ vous signifiez votre acceptation de cet accord. Historique du projet -------------------- -- vers 2000 : `lancement du projet `_ ; +- vers 2000 : lancement du projet ; - vers 2012 : `reprise `_ par l'`AFPy `_ ; - 2016 : 15 % de la documentation traduite ; - 2017 : le projet devient traduction officielle de la documentation Python par la `PEP 545 `_ ;