Merge branch '3.11' into asyncio-subprocess

This commit is contained in:
Julien Palard 2023-03-19 13:46:08 +00:00
commit c3c91daec8
24 changed files with 1158 additions and 774 deletions

View File

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

View File

@ -124,7 +124,7 @@ htmlview: all
.PHONY: todo
todo: ensure_prerequisites
potodo --exclude venv .venv $(EXCLUDED)
potodo --api-url 'https://git.afpy.org/api/v1/repos/AFPy/python-docs-fr/issues?state=open&type=issues' --exclude venv .venv $(EXCLUDED)
.PHONY: wrap
wrap: ensure_prerequisites
@ -155,7 +155,7 @@ $(POSPELL_TMP_DIR)/%.po.out: %.po dict
.PHONY: fuzzy
fuzzy: ensure_prerequisites
potodo -f --exclude venv .venv $(EXCLUDED)
potodo --only-fuzzy --api-url 'https://git.afpy.org/api/v1/repos/AFPy/python-docs-fr/issues?state=open&type=issues' --exclude venv .venv $(EXCLUDED)
.PHONY: check-headers
check-headers:

View File

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

View File

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

View File

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

View File

@ -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 <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2023-02-17 12:00+0200\n"
"Last-Translator: Rémi Lapeyre <remi.lapeyre@lenstra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -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`."

View File

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

View File

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

View File

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

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-12 09:43+0200\n"
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
"PO-Revision-Date: 2023-02-17 10:44+0100\n"
"Last-Translator: CédricM <c.morgantini@free.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.2.2\n"
#: howto/annotations.rst:5
msgid "Annotations Best Practices"
@ -132,6 +132,11 @@ msgid ""
"parent's ``__annotations__``. In Python 3.10 and newer, the child class's "
"annotations will be an empty dict instead."
msgstr ""
"Dans les versions antérieures à Python 3.10, l'accès aux ``__annotations__`` "
"d'une classe qui n'a pas d'annotation mais dont un parent de cette classe en "
"a, aurait renvoyé les ``__annotations__`` de la classe parent. Dans les "
"versions 3.10 et plus récentes, le résultat d'annotations de la classe "
"enfant est un dictionnaire vide."
#: howto/annotations.rst:68
msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older"

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -6,8 +6,8 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-20 10:21+0200\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"PO-Revision-Date: 2023-02-17 10:21+0200\n"
"Last-Translator: Mouna Sebti <mounasb@proton.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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* ::"

View File

@ -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 <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.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

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2021-11-06 21:59+0100\n"
"PO-Revision-Date: 2023-02-17 11:56+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.2.2\n"
#: 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 <https://fr.wikipedia."
"org/wiki/Suite_d%C3%A9finie_par_r%C3%A9currence>`_ 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 quun :func:`tee` a été créé, loriginal de *iterable* ne doit être "
"utilisé nulle part ailleurs ; sinon *iterable* pourrait être avancé sans que "
"les objets *tee* nen 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 "

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-12 11:56+0100\n"
"PO-Revision-Date: 2022-10-18 15:43+0200\n"
"PO-Revision-Date: 2023-02-19 20:43+0100\n"
"Last-Translator: Vincent Poulailleau <vpoulailleau@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 3.0.1\n"
#: library/pathlib.rst:3
msgid ":mod:`pathlib` --- Object-oriented filesystem paths"
@ -158,30 +158,31 @@ msgid "When *pathsegments* is empty, the current directory is assumed::"
msgstr "Quand *pathsegments* est vide, le dossier courant est utilisé ::"
#: library/pathlib.rst:121
#, fuzzy
msgid ""
"If a segment is an absolute path, all previous segments are ignored (like :"
"func:`os.path.join`)::"
msgstr ""
"Quand plusieurs chemins absolus sont fournis, le dernier est pris comme "
"ancre (recopiant le comportement de :func:`os.path.join`) ::"
"Si un segment est un chemin absolu, tous les segments précédents sont "
"ignorés (comme :func:`os.path.join`) ::"
#: library/pathlib.rst:129
msgid ""
"On Windows, the drive is not reset when a rooted relative path segment (e."
"g., ``r'\\foo'``) is encountered::"
msgstr ""
"Sous Windows, le lecteur n'est pas effacé quand un segment enraciné de "
"chemin relatif (par exemple ``r'\\foo'``) est rencontré::"
#: library/pathlib.rst:135
#, fuzzy
msgid ""
"Spurious slashes and single dots are collapsed, but double dots (``'..'``) "
"and leading double slashes (``'//'``) are not, since this would change the "
"meaning of a path for various reasons (e.g. symbolic links, UNC paths)::"
msgstr ""
"Les points et slashs superflus sont supprimés, mais les doubles points "
"(``'..'``) ne le sont pas, puisque cela changerait la signification du "
"chemin dans le cas de liens symboliques ::"
"(``'..'``) et les double slashes (``'//'``) en début de segment ne le sont "
"pas, puisque cela changerait la signification du chemin pour différentes "
"raisons (par exemple pour des liens symboliques ou des chemins UNC) ::"
#: library/pathlib.rst:148
msgid ""
@ -203,7 +204,7 @@ msgstr ""
#: library/pathlib.rst:155
msgid "Added support for the :class:`os.PathLike` interface."
msgstr "Ajout de la gestion de l'interface :class:`os.PathLike`."
msgstr "ajout de la gestion de l'interface :class:`os.PathLike`."
#: library/pathlib.rst:160
msgid ""
@ -218,13 +219,13 @@ msgid "*pathsegments* is specified similarly to :class:`PurePath`."
msgstr "*pathsegments* est spécifié de manière similaire à :class:`PurePath`."
#: library/pathlib.rst:170
#, fuzzy
msgid ""
"A subclass of :class:`PurePath`, this path flavour represents Windows "
"filesystem paths, including `UNC paths`_::"
msgstr ""
"Une sous-classe de :class:`PurePath`, cette famille de chemin représente les "
"chemins de systèmes de fichiers Windows ::"
"chemins de systèmes de fichiers Windows, y compris les chemin UNC (voir`UNC "
"paths`_) ::"
#: library/pathlib.rst:182
msgid ""
@ -266,6 +267,10 @@ msgid ""
"the drive is not reset when the argument is a rooted relative path (e.g., "
"``r'\\foo'``)::"
msgstr ""
"L'opérateur slash aide à créer les chemins enfants, de manière similaire à :"
"func:`os.path.join`. Si l'argument est un chemin absolu, le chemin précédent "
"est ignoré. Sous Windows, le lecteur n'est pas effacé quand l'argument est "
"un chemin relatif enraciné (par exemple ``r'\\foo'``)::"
#: library/pathlib.rst:233
msgid ""
@ -358,6 +363,8 @@ msgid ""
"If the path starts with more than two successive slashes, :class:`~pathlib."
"PurePosixPath` collapses them::"
msgstr ""
"Si le chemin commence par plus de deux slashes successifs, :class:`~pathlib."
"PurePosixPath`n'en conserve qu'un ::"
#: library/pathlib.rst:337
msgid ""
@ -365,6 +372,9 @@ msgid ""
"paragraph `4.11 Pathname Resolution <https://pubs.opengroup.org/"
"onlinepubs/009695399/basedefs/xbd_chap04.html#tag_04_11>`_:"
msgstr ""
"Ce comportement se conforme au paragraphe 4.11 `Pathname Resolution <https://"
"pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04."
"html#tag_04_11>`_ des *Open Group Base Specifications* version 6  :"
#: library/pathlib.rst:341
msgid ""
@ -404,13 +414,12 @@ msgid "This is a purely lexical operation, hence the following behaviour::"
msgstr "C'est une opération purement lexicale, d'où le comportement suivant ::"
#: library/pathlib.rst:399
#, fuzzy
msgid ""
"If you want to walk an arbitrary filesystem path upwards, it is recommended "
"to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate "
"``\"..\"`` components."
msgstr ""
"Si vous voulez parcourir un chemin arbitraire du système de fichiers, il est "
"Si vous voulez remonter un chemin arbitraire du système de fichiers, il est "
"recommandé de d'abord appeler :meth:`Path.resolve` de manière à résoudre les "
"liens symboliques et éliminer les composantes ``\"..\"``."
@ -766,6 +775,8 @@ msgid ""
"Return only directories if *pattern* ends with a pathname components "
"separator (:data:`~os.sep` or :data:`~os.altsep`)."
msgstr ""
"Renvoie uniquement des répertoires si *pattern* finit par un séparateur "
"d'éléments de chemin (:data:`~os.sep` ou :data:`~os.altsep`)."
#: library/pathlib.rst:857
msgid ""
@ -1034,6 +1045,8 @@ msgid ""
"It is implemented in terms of :func:`os.rename` and gives the same "
"guarantees."
msgstr ""
"Cette méthode est implémentée d'après :func:`os.rename` et fournit les mêmes "
"garanties."
# « nouveau dans la version … »
#: library/pathlib.rst:1090
@ -1041,24 +1054,22 @@ msgid "Added return value, return the new Path instance."
msgstr "ajout de la valeur de retour, renvoie une nouvelle instance *Path*."
#: library/pathlib.rst:1082
#, fuzzy
msgid ""
"Rename this file or directory to the given *target*, and return a new Path "
"instance pointing to *target*. If *target* points to an existing file or "
"empty directory, it will be unconditionally replaced."
msgstr ""
"Renomme ce fichier ou dossier vers la cible *target* fournie, et renvoie une "
"nouvelle instance de *Path* pointant sur *target*. Si *target* pointe sur un "
"fichier ou un dossier vide existant, il est systématiquement remplacé."
"Renomme ce fichier ou dossier vers la cible *target* fournie et renvoie une "
"nouvelle instance de *Path* pointant vers *target*. Si *target* pointe vers "
"un fichier ou un dossier vide existant, il sera systématiquement remplacé."
#: library/pathlib.rst:1096
#, fuzzy
msgid ""
"Make the path absolute, without normalization or resolving symlinks. Returns "
"a new path object::"
msgstr ""
"Rend le chemin absolu, résolvant les liens symboliques. Un nouveau chemin "
"est renvoyé ::"
"Rend le chemin absolu, sans normaliser ou résoudre les liens symboliques. "
"Renvoie un nouveau  ::"
#: library/pathlib.rst:1108
msgid ""
@ -1276,18 +1287,17 @@ msgstr ""
"leur équivalent :class:`PurePath` / :class:`Path` correspondant."
#: library/pathlib.rst:1294
#, fuzzy
msgid ""
"Not all pairs of functions/methods below are equivalent. Some of them, "
"despite having some overlapping use-cases, have different semantics. They "
"include :func:`os.path.abspath` and :meth:`Path.absolute`, :func:`os.path."
"relpath` and :meth:`PurePath.relative_to`."
msgstr ""
"Il n'y a pas toujours équivalence complète entre les deux fonctions dans les "
"lignes du tableau ci-dessous. Il arrive que des différences de comportement "
"existent malgré les fonctionnalités similaires. C'est notamment le cas de :"
"func:`os.path.abspath` et :meth:`Path.resolve`, ainsi que :func:`os.path."
"relpath` et :meth:`PurePath.relative_to`."
"Sur chaque ligne du tableau ci-dessous, les fonctions/méthodes ne sont pas "
"toujours équivalentes. Certaines, malgré des fonctionnalités similaires ont "
"des comportements différents. C'est notamment le cas de :func:`os.path."
"abspath` et :meth:`Path.absolute`, ainsi que :func:`os.path.relpath` et :"
"meth:`PurePath.relative_to`."
#: library/pathlib.rst:1300
msgid ":mod:`os` and :mod:`os.path`"
@ -1302,19 +1312,16 @@ msgid ":func:`os.path.abspath`"
msgstr ":func:`os.path.abspath`"
#: library/pathlib.rst:1302
#, fuzzy
msgid ":meth:`Path.absolute` [#]_"
msgstr ":meth:`Path.resolve` [#]_"
msgstr ":meth:`Path.absolute` [#]_"
#: library/pathlib.rst:1303
#, fuzzy
msgid ":func:`os.path.realpath`"
msgstr ":func:`os.path.relpath`"
msgstr ":func:`os.path.realpath`"
#: library/pathlib.rst:1303
#, fuzzy
msgid ":meth:`Path.resolve`"
msgstr ":meth:`Path.resolve` [#]_"
msgstr ":meth:`Path.resolve`"
#: library/pathlib.rst:1304
msgid ":func:`os.chmod`"
@ -1453,9 +1460,8 @@ msgid ":func:`os.path.relpath`"
msgstr ":func:`os.path.relpath`"
#: library/pathlib.rst:1322
#, fuzzy
msgid ":meth:`PurePath.relative_to` [#]_"
msgstr ":meth:`Path.relative_to` [#]_"
msgstr ":meth:`PurePath.relative_to` [#]_"
#: library/pathlib.rst:1323
msgid ":func:`os.stat`"
@ -1486,18 +1492,16 @@ msgid ":func:`os.path.basename`"
msgstr ":func:`os.path.basename`"
#: library/pathlib.rst:1328
#, fuzzy
msgid ":attr:`PurePath.name`"
msgstr ":data:`PurePath.name`"
msgstr ":attr:`PurePath.name`"
#: library/pathlib.rst:1329
msgid ":func:`os.path.dirname`"
msgstr ":func:`os.path.dirname`"
#: library/pathlib.rst:1329
#, fuzzy
msgid ":attr:`PurePath.parent`"
msgstr ":data:`PurePath.parent`"
msgstr ":attr:`PurePath.parent`"
#: library/pathlib.rst:1330
msgid ":func:`os.path.samefile`"
@ -1512,25 +1516,23 @@ msgid ":func:`os.path.splitext`"
msgstr ":func:`os.path.splitext`"
#: library/pathlib.rst:1331
#, fuzzy
msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`"
msgstr ":data:`PurePath.suffix`"
msgstr ":attr:`PurePath.stem` et :attr:`PurePath.suffix`"
#: library/pathlib.rst:1336
msgid "Footnotes"
msgstr "Notes"
#: library/pathlib.rst:1337
#, fuzzy
msgid ""
":func:`os.path.abspath` normalizes the resulting path, which may change its "
"meaning in the presence of symlinks, while :meth:`Path.absolute` does not."
msgstr ""
":func:`os.path.abspath` ne résout pas les liens symboliques alors que :meth:"
"`Path.resolve` le fait."
":func:`os.path.abspath` normalise le chemin généré, ce qui peut en changer "
"la signification en présence de liens symboliques , alors que :meth:`Path."
"absolute` ne le fait pas."
#: library/pathlib.rst:1338
#, fuzzy
msgid ""
":meth:`PurePath.relative_to` requires ``self`` to be the subpath of the "
"argument, but :func:`os.path.relpath` does not."

View File

@ -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 <jules.lasne@gmail.com>\n"
"PO-Revision-Date: 2023-02-17 14:52+0200\n"
"Last-Translator: Mouna Sebti <mounasb@proton.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 ``'<a>'``."
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 ``'<a> b <c>'``, cela correspondra à la chaîne "
"entière, et non juste à ``'<a>'``. Ajouter ``?`` derrière le qualificateur "
"entière, et non juste à ``'<a>'``. 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 ``'<a>'``."
#: 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 ""

View File

@ -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 <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 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 <sqlite3-tutorial>` 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 <sqlite3-reference>` 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 <sqlite3-howtos>` 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 <sqlite3-explanation>` 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 dabord, 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 nexiste pas :"
#: library/sqlite3.rst:84
msgid ""
"The returned :class:`Connection` object ``con`` represents the connection to "
"the on-disk database."
msgstr ""
"Lobjet :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() <Connection."
"cursor>` to create the :class:`Cursor`:"
msgstr ""
"Afin dexé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() <Connection.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(...) <Cursor.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, "
"lanné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 <flexible typing_>`_ "
"de SQLite, spécifier les types de données est facultatif. Exécutez "
"linstruction ``CREATE TABLE`` en appelant :meth:`cur.execute(…) <Cursor."
"execute>` :"
#: library/sqlite3.rst:111
msgid ""
@ -153,6 +183,13 @@ msgid ""
"execute>`, assign the result to ``res``, and call :meth:`res.fetchone() "
"<Cursor.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 "
"<The Schema Table_>`_ pour plus de détails). Exécutez cette requête en "
"appelant :meth:`cur.execute(…) <Cursor.execute>`, affectez le résultat à "
"``res``, et appelez :meth:`res.fetchone() <Cursor.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(...) <Cursor."
"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(…) <Cursor.execute>` :"
#: library/sqlite3.rst:148
msgid ""
@ -175,6 +219,11 @@ msgid ""
"controlling-transactions` for details). Call :meth:`con.commit() <Connection."
"commit>` on the connection object to commit the transaction:"
msgstr ""
"Linstruction ``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 <sqlite3-controlling-"
"transactions>` pour plus de détails). Appelez :meth:`con.commit() "
"<Connection.commit>` sur lobjet 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() <Cursor."
"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(…) <Cursor.execute>` pour affecter le résultat à ``res``, et "
"appelez :meth:`res.fetchall() <Cursor.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 <list>` 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(...) <Cursor."
"executemany>`:"
msgstr ""
"Maintenant, insérez trois lignes supplémentaires en appelant :meth:`cur."
"executemany(…) <Cursor.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 <tut-formatting>` pour lier les valeurs Python aux instructions "
"SQL, afin déviter les `injections SQL`_ (voir :ref:`placeholder SQL "
"<sqlite3-placeholders>` 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() <Connection.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() <Connection.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 à laide 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 <sqlite3-howtos>` pour une lecture plus poussée:"
#: library/sqlite3.rst:238
msgid ":ref:`sqlite3-placeholders`"
msgstr ""
msgstr ":ref:`placeholders sqlite3 <sqlite3-placeholders>`"
#: library/sqlite3.rst:239
msgid ":ref:`sqlite3-adapters`"
msgstr ""
msgstr ":ref:`adaptateurs sqlite3 <sqlite3-adapters>`"
#: library/sqlite3.rst:240
msgid ":ref:`sqlite3-converters`"
msgstr ""
msgstr ":ref:`convertisseurs sqlite3 <sqlite3-converters>`"
#: library/sqlite3.rst:557
msgid ":ref:`sqlite3-connection-context-manager`"
msgstr ""
":ref:`gestionnaire de contexte de connexion sqlite3 <sqlite3-connection-"
"context-manager>`"
#: library/sqlite3.rst:242
msgid ":ref:`sqlite3-howto-row-factory`"
msgstr ""
msgstr ":ref:`guide de fabrique de ligne sqlite3 <sqlite3-howto-row-factory>`"
#: library/sqlite3.rst:244
msgid ""
":ref:`sqlite3-explanation` for in-depth background on transaction control."
msgstr ""
":ref:`explications sqlite3 <sqlite3-explanation>` 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 daccè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 <sqlite3-types>` sont recherchés pour être convertis en "
"types Python, en utilisant les convertisseurs enregistrés avec :func:"
"`register_converter`. Définissez-le à nimporte 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 ""
"Lattribut :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 louverture implicite des transactions. Voir :ref:"
"`contrôle des transactions sqlite3 <sqlite3-controlling-transactions>` 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 la "
"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 "
"lutilisateur pour éviter la corruption des données. Voir :attr:`sécurité "
"des threads <threadsafety>` pour plus dinformations."
#: 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 nest 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 dinstructions que :mod:`!sqlite3` doit mettre en cache en interne "
"pour cette connexion, afin déviter les surcharges danalyse. 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 daccè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 dinterrogation "
"permet de passer des paramètres à SQLite, ce qui permet dactiver diverses :"
"ref:`astuces dURI sqlite3 <sqlite3-uri-tricks>`."
#: 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 <path-"
"like object>`, 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 daucune sorte nest effectuée, si ce nest la "
"vérification quil ny a pas de chaîne littérale non fermée et que "
"linstruction 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 dappeler :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 "
"nobtiendrez pas de traces de pile dappels dans les fonctions définies par "
"lutilisateur, les agrégats, les convertisseurs, les fonctions de rappel des "
"mécanismes dautorisation, 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 <sys.unraisablehook>` for an "
"improved debug experience:"
msgstr ""
"Enregistrez un :func:`gestionnaire de point dentrée *non levable* <sys."
"unraisablehook>` (*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 <sqlite3-types>`."
msgstr ""
"Enregistre un *adaptateur* appelable pour adapter le type Python *type* en "
"un type SQLite. Ladaptateur est appelé avec un objet Python de type *type* "
"comme unique argument, et doit retourner une valeur dun :ref:`type que "
"SQLite comprend nativement <sqlite3-types>`."
#: 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 dun 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"

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2020-12-03 22:31+0100\n"
"PO-Revision-Date: 2023-02-17 17:29+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.4\n"
"X-Generator: Poedit 3.2.2\n"
#: library/time.rst:2
msgid ":mod:`time` --- Time access and conversions"
@ -49,15 +49,13 @@ msgstr ""
"terminologie et aux conventions."
#: library/time.rst:24
#, fuzzy
msgid ""
"The :dfn:`epoch` is the point where the time starts, the return value of "
"``time.gmtime(0)``. It is January 1, 1970, 00:00:00 (UTC) on all platforms."
msgstr ""
"L':dfn:`epoch` est le point de départ du temps et dépend de la plate-forme. "
"Pour Unix, *epoch* est le 1\\ :sup:`er` janvier 1970 à 00:00:00 (UTC). Pour "
"savoir comment est définie *epoch* sur une plate-forme donnée, regardez "
"``time.gmtime(0)``."
"L':dfn:`epoch` est le point de départ du temps, le résultat de ``time."
"gmtime(0)`` est le 1\\ :sup:`er` janvier 1970 à 00:00:00 (UTC) pour toutes "
"les plateformes."
#: library/time.rst:31
msgid ""
@ -71,14 +69,13 @@ msgstr ""
"toutes les plates-formes conformes POSIX."
#: library/time.rst:38
#, fuzzy
msgid ""
"The functions in this module may not handle dates and times before the "
"epoch_ or far in the future. The cut-off point in the future is determined "
"by the C library; for 32-bit systems, it is typically in 2038."
msgstr ""
"Les fonctions de ce module peuvent ne pas gérer les dates et heures "
"antérieures à *epoch* ou dans un avenir lointain. Le seuil du futur est "
"antérieures à epoch_ ou dans un avenir lointain. Le seuil du futur est "
"déterminé par la bibliothèque C ; pour les systèmes 32 bits, il sagit "
"généralement de 2038."
@ -289,18 +286,16 @@ msgstr ""
"comportement indéfini, tel quune erreur de segmentation."
#: library/time.rst:None
#, fuzzy
msgid ":ref:`Availability <availability>`: Unix"
msgstr ":ref:`Disponibilité <availability>` : Unix."
msgstr ":ref:`Disponibilité <availability>` : Unix"
#: library/time.rst:149
#, fuzzy
msgid ""
"See the man page for :manpage:`pthread_getcpuclockid(3)` for further "
"information."
msgstr ""
":ref:`Disponibilité <availability>` : Unix (regardez la page man pour :"
"manpage:`pthread_getcpuclockid(3)` pour plus dinformation)."
"Se reporter à la page de manuel :manpage:`pthread_getcpuclockid(3)` pour "
"plus dinformations."
#: library/time.rst:156
msgid ""
@ -355,15 +350,14 @@ msgstr ""
"Similaire à :func:`clock_settime` mais définit lheure avec des nanosecondes."
#: library/time.rst:210
#, fuzzy
msgid ""
"Convert a time expressed in seconds since the epoch_ to a string of a form: "
"``'Sun Jun 20 23:21:05 1993'`` representing local time. The day field is two "
"characters long and is space padded if the day is a single digit, e.g.: "
"``'Wed Jun 9 04:26:40 1993'``."
msgstr ""
"Convertit une heure exprimée en secondes depuis *epoch* en une chaîne "
"représentant lheure locale, sous la forme suivante : ``'Sun Jun 20 23:21:05 "
"Convertit une heure exprimée en secondes depuis epoch_ en une chaîne "
"représentant lheure locale sous la forme suivante : ``'Sun Jun 20 23:21:05 "
"1993'``. Le numéro du jour est un champ de deux caractères complété par une "
"espace si celui-ci n'a qu'un seul chiffre, par exemple : ``'Wed Jun 9 "
"04:26:40 1993'``."
@ -443,7 +437,6 @@ msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)"
msgstr "*resolution* : La résolution de lhorloge en secondes (:class:`float`)"
#: library/time.rst:248
#, fuzzy
msgid ""
"Convert a time expressed in seconds since the epoch_ to a :class:"
"`struct_time` in UTC in which the dst flag is always zero. If *secs* is not "
@ -452,7 +445,7 @@ msgid ""
"the :class:`struct_time` object. See :func:`calendar.timegm` for the inverse "
"of this function."
msgstr ""
"Convertit un temps exprimé en secondes depuis *epoch* en un :class:"
"Convertit un temps exprimé en secondes depuis epoch_ en un :class:"
"`struct_time` au format UTC dans lequel le drapeau *dst* est toujours égal à "
"zéro. Si *secs* nest pas fourni ou vaut :const:`None`, lheure actuelle "
"renvoyée par :func:`.time` est utilisée. Les fractions de seconde sont "
@ -502,7 +495,6 @@ msgstr ""
"plus proche pour laquelle il peut générer une heure dépend de la plate-forme."
#: library/time.rst:283
#, fuzzy
msgid ""
"Return the value (in fractional seconds) of a monotonic clock, i.e. a clock "
"that cannot go backwards. The clock is not affected by system clock "
@ -528,11 +520,8 @@ msgstr ""
"système."
#: library/time.rst:296
#, fuzzy
msgid "On macOS, the function is now system-wide."
msgstr ""
"La fonction est maintenant toujours disponible et toujours à léchelle du "
"système."
msgstr "Sur macOS, la fonction est maintenant toujours à léchelle du système."
#: library/time.rst:302
msgid "Similar to :func:`monotonic`, but return time as nanoseconds."
@ -541,7 +530,6 @@ msgstr ""
"nanosecondes."
#: library/time.rst:311
#, fuzzy
msgid ""
"Return the value (in fractional seconds) of a performance counter, i.e. a "
"clock with the highest available resolution to measure a short duration. It "
@ -897,7 +885,6 @@ msgid "``%z``"
msgstr "``%z``"
#: library/time.rst:481
#, fuzzy
msgid ""
"Time zone offset indicating a positive or negative time difference from UTC/"
"GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M "
@ -906,17 +893,17 @@ msgstr ""
"Décalage de fuseau horaire indiquant une différence de temps positive ou "
"négative par rapport à UTC / GMT de la forme *+HHMM* ou *-HHMM*, où H "
"représente les chiffres des heures décimales et M, les chiffres des minutes "
"décimales [*-23:59*, *+23:59*]."
"décimales [*-23:59*, *+23:59*] [1]_"
#: library/time.rst:487
msgid "``%Z``"
msgstr "``%Z``"
#: library/time.rst:487
#, fuzzy
msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_"
msgstr ""
"Nom du fuseau horaire (pas de caractères sil ny a pas de fuseau horaire)."
"Nom du fuseau horaire (pas de caractères sil ny a pas de fuseau horaire). "
"Obsolète. [1]_"
#: library/time.rst:490
msgid "``%%``"
@ -960,13 +947,12 @@ msgstr ""
"et lannée sont spécifiés."
#: library/time.rst:508
#, fuzzy
msgid ""
"Here is an example, a format for dates compatible with that specified in "
"the :rfc:`2822` Internet email standard. [1]_ ::"
msgstr ""
"Voici un exemple de format de date compatible avec celui spécifié dans la "
"norme de courrier électronique Internet suivante :rfc:`2822`. [#]_ ::"
"norme de courrier électronique Internet suivante :rfc:`2822`. [1]_ ::"
#: library/time.rst:515
msgid ""
@ -1236,7 +1222,6 @@ msgstr ""
"incorrect, une exception :exc:`TypeError` est levé."
#: library/time.rst:609
#, fuzzy
msgid ""
"Return the time in seconds since the epoch_ as a floating point number. The "
"handling of `leap seconds`_ is platform dependent. On Windows and most Unix "
@ -1245,13 +1230,11 @@ msgid ""
"org/wiki/Unix_time>`_."
msgstr ""
"Renvoie le temps en secondes depuis epoch_ sous forme de nombre à virgule "
"flottante. La date spécifique de *epoch* et le traitement des secondes "
"intercalaires (`leap seconds`_) dépendent de la plate-forme. Sous Windows et "
"la plupart des systèmes Unix, *epoch* est le 1\\ :sup:`er` janvier 1970, "
"00:00:00 (UTC) et les secondes intercalaires ne sont pas comptées dans le "
"temps en secondes depuis *epoch*. Ceci est communément appelé `Heure Unix "
"<https://en.wikipedia.org/wiki/Unix_time>`_. Pour savoir quelle est *epoch* "
"sur une plate-forme donnée, consultez ``gmtime(0)``."
"flottante. Le traitement des secondes intercalaires (`leap seconds`_) dépend "
"de la plate-forme. Sous Windows et la plupart des systèmes Unix, les "
"secondes intercalaires ne sont pas comptées dans le temps en secondes depuis "
"epoch_. Ceci est communément appelé `Heure Unix <https://en.wikipedia.org/"
"wiki/Unix_time>`_."
#: library/time.rst:615
msgid ""
@ -1299,7 +1282,6 @@ msgstr ""
"epoch_ sous la forme d'un entier."
#: library/time.rst:647
#, fuzzy
msgid ""
"Return the value (in fractional seconds) of the sum of the system and user "
"CPU time of the current thread. It does not include time elapsed during "
@ -1321,16 +1303,12 @@ msgid ""
msgstr ""
#: library/time.rst:None
#, fuzzy
msgid ":ref:`Availability <availability>`: Linux, Unix, Windows."
msgstr ":ref:`Disponibilité <availability>` : Linux."
msgstr ":ref:`Disponibilité <availability>` : Linux, Unix, Windows."
#: library/time.rst:658
#, fuzzy
msgid "Unix systems supporting ``CLOCK_THREAD_CPUTIME_ID``."
msgstr ""
":ref:`Disponibilité <availability>` : Systèmes Windows, Linux, Unix prenant "
"en charge ``CLOCK_THREAD_CPUTIME_ID``."
msgstr "Systèmes prenant en charge ``CLOCK_THREAD_CPUTIME_ID``."
#: library/time.rst:665
msgid "Similar to :func:`thread_time` but return time as nanoseconds."
@ -1527,9 +1505,8 @@ msgstr ""
"modifiée à laide de ``settimeofday()`` ou similaire."
#: library/time.rst:777
#, fuzzy
msgid ":ref:`Availability <availability>`: Linux >= 2.6.39."
msgstr ":ref:`Disponibilité <availability>` : Linux."
msgstr ":ref:`Disponibilité <availability>` : Linux >= 2.6.39."
#: library/time.rst:783
msgid ""
@ -1563,7 +1540,6 @@ msgstr ""
"brute qui nest pas soumise aux ajustements NTP."
#: library/time.rst:808
#, fuzzy
msgid ":ref:`Availability <availability>`: Linux >= 2.6.28, macOS >= 10.12."
msgstr ""
":ref:`Disponibilité <availability>` : Linux 2.6.28 et ultérieur, MacOS 10.12 "
@ -1574,11 +1550,10 @@ msgid "High-resolution per-process timer from the CPU."
msgstr "Minuterie haute résolution par processus du CPU."
#: library/time.rst:826
#, fuzzy
msgid ":ref:`Availability <availability>`: FreeBSD, NetBSD >= 7, OpenBSD."
msgstr ""
":ref:`Disponibilité <availability>` : FreeBSD, NetBSD 7 ou version "
"ultérieure, OpenBSD."
":ref:`Disponibilité <availability>` : FreeBSD, NetBSD 7 et ultérieur, "
"OpenBSD."
#: library/time.rst:831
msgid ""
@ -1615,11 +1590,9 @@ msgstr ""
"disponibilité, à la fois absolue et à intervalle."
#: library/time.rst:856
#, fuzzy
msgid ":ref:`Availability <availability>`: FreeBSD, OpenBSD >= 5.5."
msgstr ""
":ref:`Disponibilité <availability>` : FreeBSD, OpenBSD 5.5 ou version "
"ultérieure."
":ref:`Disponibilité <availability>` : FreeBSD, OpenBSD 5.5 et ultérieur."
#: library/time.rst:862
msgid ""
@ -1633,9 +1606,8 @@ msgstr ""
"veille."
#: library/time.rst:867
#, fuzzy
msgid ":ref:`Availability <availability>`: macOS >= 10.12."
msgstr ":ref:`Disponibilité <availability>` : MacOS 10.12 et ultérieur."
msgstr ":ref:`Disponibilité <availability>` : macOS 10.12 et ultérieur."
#: library/time.rst:870
msgid ""
@ -1750,7 +1722,6 @@ msgid "Footnotes"
msgstr "Notes"
#: library/time.rst:934
#, fuzzy
msgid ""
"The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to "
"the preferred hour/minute offset is not supported by all ANSI C libraries. "

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-10-18 16:14+0200\n"
"PO-Revision-Date: 2023-02-17 15:37+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.2\n"
"X-Generator: Poedit 3.0.1\n"
#: 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"

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-04 14:57+0100\n"
"PO-Revision-Date: 2023-02-15 11:51+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"

View File

@ -1,2 +1 @@
poutils==0.13.0
sphinx-lint

View File

@ -6,8 +6,8 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-11-14 15:35+0100\n"
"Last-Translator: Yannick Gingras <ygingras@ygingras.net>\n"
"PO-Revision-Date: 2023-02-17 15:35+0100\n"
"Last-Translator: Mouna Sebti <mounasb@proton.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 "
"<whatsnew311-pep594>` 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 <whatsnew311-pep594>` 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 <whatsnew311-"
"pep624>`"
msgstr ""
":pep:`624`: :ref:`les API d'encodage Py_UNICODE ont été supprimées <whatsnew311-"
"pep624>`"
#: 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 ""