Merge branch '3.11' of git.afpy.org:AFPy/python-docs-fr into howto_log_cook

This commit is contained in:
Christophe Nanteuil 2023-01-28 16:59:04 +01:00
commit dcd73d7283
12 changed files with 335 additions and 272 deletions

View File

@ -20,7 +20,7 @@
# from which we generated our po files. We use it here so when we
# test build, we're building with the .rst files that generated our
# .po files.
CPYTHON_CURRENT_COMMIT := 855b1a935eebc134a4ccf5f2c9d8f7dda21deb70
CPYTHON_CURRENT_COMMIT := 29ff9daf823ec7af7875c6642f1e191ed48e3b73
LANGUAGE := fr
BRANCH := 3.11

View File

@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -20,7 +21,7 @@ msgstr ""
msgid "Isolating Extension Modules"
msgstr ""
#: howto/isolating-extensions.rst:None
#: howto/isolating-extensions.rst:-1
msgid "Abstract"
msgstr ""

26
includes/wasm-notavail.po Normal file
View File

@ -0,0 +1,26 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: includes/wasm-notavail.rst:-1
msgid ":ref:`Availability <availability>`: not Emscripten, not WASI."
msgstr ""
#: includes/wasm-notavail.rst:5
msgid ""
"This module does not work or is not available on WebAssembly platforms "
"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for "
"more information."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2022-05-18 17:37+0200\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -2112,11 +2112,12 @@ msgstr ""
"et que l'ajustement UTC fait déborder la limite de l'année."
#: library/datetime.rst:1351
#, fuzzy
msgid ""
"Because naive ``datetime`` objects are treated by many ``datetime`` methods "
"as local times, it is preferred to use aware datetimes to represent times in "
"UTC; as a result, using ``utcfromtimetuple`` may give misleading results. If "
"you have a naive ``datetime`` representing UTC, use ``datetime."
"UTC; as a result, using :meth:`datetime.utctimetuple` may give misleading "
"results. If you have a naive ``datetime`` representing UTC, use ``datetime."
"replace(tzinfo=timezone.utc)`` to make it aware, at which point you can use :"
"meth:`.datetime.timetuple`."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2023-01-07 22:57+0100\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -95,12 +95,14 @@ msgid "Nomenclature"
msgstr "Nomenclature"
#: library/enum.rst:55
msgid "The class :class:`Color` is an *enumeration* (or *enum*)"
#, fuzzy
msgid "The class :class:`!Color` is an *enumeration* (or *enum*)"
msgstr "La classe :class:`Color` est une *énumération* (ou une *enum*)."
#: library/enum.rst:56
#, fuzzy
msgid ""
"The attributes :attr:`Color.RED`, :attr:`Color.GREEN`, etc., are "
"The attributes :attr:`!Color.RED`, :attr:`!Color.GREEN`, etc., are "
"*enumeration members* (or *members*) and are functionally constants."
msgstr ""
"Les attributs :attr:`Color.RED`, :attr:`Color.GREEN`, etc., sont les "
@ -108,9 +110,10 @@ msgstr ""
"constantes."
#: library/enum.rst:58
#, fuzzy
msgid ""
"The enum members have *names* and *values* (the name of :attr:`Color.RED` is "
"``RED``, the value of :attr:`Color.BLUE` is ``3``, etc.)"
"The enum members have *names* and *values* (the name of :attr:`!Color.RED` "
"is ``RED``, the value of :attr:`!Color.BLUE` is ``3``, etc.)"
msgstr ""
"Les membres de lénumération ont chacun un *nom* et une *valeur* ; le nom "
"de :attr:`Color.RED` est ``RED``, la valeur de :attr:`Color.BLUE` est ``3``, "
@ -340,9 +343,10 @@ msgstr ""
"<enumtype-examples>` pour plus de détails."
#: library/enum.rst:168
#, fuzzy
msgid ""
"*EnumType* is responsible for setting the correct :meth:`__repr__`, :meth:"
"`__str__`, :meth:`__format__`, and :meth:`__reduce__` methods on the final "
"*EnumType* is responsible for setting the correct :meth:`!__repr__`, :meth:`!"
"__str__`, :meth:`!__format__`, and :meth:`!__reduce__` methods on the final "
"*enum*, as well as creating the enum members, properly handling duplicates, "
"providing iteration over the enum class, etc."
msgstr ""
@ -653,10 +657,11 @@ msgstr ""
"valeur croissante, en commençant par ``1``."
#: library/enum.rst:425
#, fuzzy
msgid ""
":meth:`__str__` is now :func:`int.__str__` to better support the "
"*replacement of existing constants* use-case. :meth:`__format__` was "
"already :func:`int.__format__` for that same reason."
":meth:`~object.__str__` is now :meth:`!int.__str__` to better support the "
"*replacement of existing constants* use-case. :meth:`~object.__format__` was "
"already :meth:`!int.__format__` for that same reason."
msgstr ""
":meth:`__str__` est maintenant :func:`int.__str__` pour mieux prendre en "
"charge le cas d'utilisation du *remplacement de constantes existantes*. :"
@ -843,10 +848,11 @@ msgid ""
msgstr ""
#: library/enum.rst:616
#, fuzzy
msgid ""
":class:`!ReprEum` uses the :meth:`repr() <Enum.__repr__>` of :class:`Enum`, "
":class:`!ReprEnum` uses the :meth:`repr() <Enum.__repr__>` of :class:`Enum`, "
"but the :class:`str() <str>` of the mixed-in data type:"
msgstr ""
msgstr ":class:`IntEnum`, :class:`StrEnum` et :class:`IntFlag`"
#: library/enum.rst:619
#, fuzzy
@ -947,18 +953,20 @@ msgid "Supported ``__dunder__`` names"
msgstr "Noms de la forme ``__dunder__`` disponibles"
#: library/enum.rst:756
#, fuzzy
msgid ""
":attr:`__members__` is a read-only ordered mapping of ``member_name``:"
"``member`` items. It is only available on the class."
":attr:`~EnumType.__members__` is a read-only ordered mapping of "
"``member_name``:``member`` items. It is only available on the class."
msgstr ""
":attr:`__members__` est un dictionnaire en lecture seule ordonné d'éléments "
"``nom_du_membre`` : ``membre``. Il n'est disponible que depuis la classe."
#: library/enum.rst:759
#, fuzzy
msgid ""
":meth:`__new__`, if specified, must create and return the enum members; it "
"is also a very good idea to set the member's :attr:`_value_` appropriately. "
"Once all the members are created it is no longer used."
":meth:`~object.__new__`, if specified, must create and return the enum "
"members; it is also a very good idea to set the member's :attr:`!_value_` "
"appropriately. Once all the members are created it is no longer used."
msgstr ""
"La méthode :meth:`__new__`, si elle est définie, doit créer et renvoyer les "
"membres de l'énumération ; affecter correctement l'attribut :attr:`_value_` "
@ -1047,12 +1055,12 @@ msgstr "Utilitaires et décorateurs"
#, fuzzy
msgid ""
"*auto* can be used in place of a value. If used, the *Enum* machinery will "
"call an *Enum*'s :meth:`_generate_next_value_` to get an appropriate value. "
"For *Enum* and *IntEnum* that appropriate value will be the last value plus "
"one; for *Flag* and *IntFlag* it will be the first power-of-two greater than "
"the highest value; for *StrEnum* it will be the lower-cased version of the "
"member's name. Care must be taken if mixing *auto()* with manually "
"specified values."
"call an *Enum*'s :meth:`~Enum._generate_next_value_` to get an appropriate "
"value. For *Enum* and *IntEnum* that appropriate value will be the last "
"value plus one; for *Flag* and *IntFlag* it will be the first power-of-two "
"greater than the highest value; for *StrEnum* it will be the lower-cased "
"version of the member's name. Care must be taken if mixing *auto()* with "
"manually specified values."
msgstr ""
"*auto* peut être utilisée à la place d'une valeur. Si elle est utilisée, le "
"fonctionnement interne d'*Enum* appelle :meth:`_generate_next_value_` pour "
@ -1131,10 +1139,11 @@ msgstr ""
"noms ``value`` et ``name``."
#: library/enum.rst:841
#, fuzzy
msgid ""
"A :keyword:`class` decorator specifically for enumerations. It searches an "
"enumeration's :attr:`__members__`, gathering any aliases it finds; if any "
"are found :exc:`ValueError` is raised with the details::"
"enumeration's :attr:`~EnumType.__members__`, gathering any aliases it finds; "
"if any are found :exc:`ValueError` is raised with the details::"
msgstr ""
"Décorateur de :keyword:`classe <class>` spécifique aux énumérations. Il "
"examine l'attribut :attr:`__members__` d'une énumération et recherche des "
@ -1217,6 +1226,15 @@ msgstr ""
"ou vous pouvez réassigner la :meth:`str` appropriée, etc., dans votre "
"énumération ::"
#~ msgid ""
#~ ":meth:`__str__` is now :func:`int.__str__` to better support the "
#~ "*replacement of existing constants* use-case. :meth:`__format__` was "
#~ "already :func:`int.__format__` for that same reason."
#~ msgstr ""
#~ ":meth:`__str__` est maintenant :func:`int.__str__` pour mieux prendre en "
#~ "charge le cas d'utilisation du *remplacement de constantes existantes*. :"
#~ "meth:`__format__` était déjà :func:`int.__format__` pour la même raison."
#~ msgid "``StrEnum``, ``EnumCheck``, ``FlagBoundary``, ``property``"
#~ msgstr "``StrEnum``, ``EnumCheck``, ``FlagBoundary``, ``property``"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2018-07-03 10:48+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -521,7 +521,7 @@ msgid "``\"store_const\"``"
msgstr "``\"store_const\"``"
#: library/optparse.rst:928
msgid "store a constant value"
msgid "store a constant value, pre-set via :attr:`Option.const`"
msgstr ""
#: library/optparse.rst:937
@ -1120,7 +1120,7 @@ msgid "``\"append_const\"``"
msgstr "``\"append_const\"``"
#: library/optparse.rst:940
msgid "append a constant value to a list"
msgid "append a constant value to a list, pre-set via :attr:`Option.const`"
msgstr ""
#: library/optparse.rst:1226

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2022-10-18 15:43+0200\n"
"Last-Translator: Vincent Poulailleau <vpoulailleau@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -753,7 +753,7 @@ msgstr ""
"Utiliser le motif \"``**``\" dans de grandes arborescences de dossier peut "
"consommer une quantité de temps démesurée."
#: library/pathlib.rst:849
#: library/pathlib.rst:24
msgid ""
"Raises an :ref:`auditing event <auditing>` ``pathlib.Path.glob`` with "
"arguments ``self``, ``pattern``."
@ -1097,7 +1097,7 @@ msgstr ""
"C'est similaire à appeler :func:`Path.glob` avec \"``**/``\" ajouté au début "
"du motif *pattern* relatif ::"
#: library/pathlib.rst:1142
#: library/pathlib.rst:11
msgid ""
"Raises an :ref:`auditing event <auditing>` ``pathlib.Path.rglob`` with "
"arguments ``self``, ``pattern``."
@ -1480,7 +1480,8 @@ msgid ":func:`os.path.basename`"
msgstr ":func:`os.path.basename`"
#: library/pathlib.rst:1326
msgid ":data:`PurePath.name`"
#, fuzzy
msgid ":attr:`PurePath.name`"
msgstr ":data:`PurePath.name`"
#: library/pathlib.rst:1327
@ -1488,7 +1489,8 @@ msgid ":func:`os.path.dirname`"
msgstr ":func:`os.path.dirname`"
#: library/pathlib.rst:1327
msgid ":data:`PurePath.parent`"
#, fuzzy
msgid ":attr:`PurePath.parent`"
msgstr ":data:`PurePath.parent`"
#: library/pathlib.rst:1328
@ -1505,7 +1507,7 @@ msgstr ":func:`os.path.splitext`"
#: library/pathlib.rst:1329
#, fuzzy
msgid ":data:`PurePath.stem` and :data:`PurePath.suffix`"
msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`"
msgstr ":data:`PurePath.suffix`"
#: library/pathlib.rst:1334

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2022-07-26 02:23+0200\n"
"Last-Translator: Philippe GALVAN <git.philippe.galvan@outlook.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -55,11 +55,12 @@ msgstr ""
"d'angles, la distribution de *von Mises* est disponible."
#: library/random.rst:23
#, fuzzy
msgid ""
"Almost all module functions depend on the basic function :func:`.random`, "
"which generates a random float uniformly in the semi-open range [0.0, 1.0). "
"Python uses the Mersenne Twister as the core generator. It produces 53-bit "
"precision floats and has a period of 2\\*\\*19937-1. The underlying "
"which generates a random float uniformly in the half-open range ``0.0 <= X < "
"1.0``. Python uses the Mersenne Twister as the core generator. It produces "
"53-bit precision floats and has a period of 2\\*\\*19937-1. The underlying "
"implementation in C is both fast and threadsafe. The Mersenne Twister is "
"one of the most extensively tested random number generators in existence. "
"However, being completely deterministic, it is not suitable for all "
@ -529,7 +530,9 @@ msgstr ""
"équations peuvent être trouvées dans tout document traitant de statistiques."
#: library/random.rst:276
msgid "Return the next random floating point number in the range [0.0, 1.0)."
#, fuzzy
msgid ""
"Return the next random floating point number in the range ``0.0 <= X < 1.0``"
msgstr ""
"Renvoie le nombre aléatoire à virgule flottante suivant dans la plage [0.0, "
"1.0)."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2020-03-30 22:31+0200\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -65,7 +65,7 @@ msgstr ""
"un faux sentiment de sécurité, car les paramètres par défaut du module *ssl* "
"ne sont pas nécessairement appropriés pour votre application."
#: includes/wasm-notavail.rst:None
#: includes/wasm-notavail.rst:-1
#, fuzzy
msgid ":ref:`Availability <availability>`: not Emscripten, not WASI."
msgstr ":ref:`Disponibilité <availability>` : Windows."
@ -1310,8 +1310,8 @@ msgstr ""
#: library/ssl.rst:1143
msgid ""
"The :meth:`shutdown` does not reset the socket timeout each time bytes are "
"received or sent. The socket timeout is now to maximum total duration of the "
"shutdown."
"received or sent. The socket timeout is now the maximum total duration of "
"the shutdown."
msgstr ""
#: library/ssl.rst:1148
@ -1359,8 +1359,8 @@ msgstr ""
#: library/ssl.rst:1177
msgid ""
"The socket timeout is no more reset each time bytes are received or sent. "
"The socket timeout is now to maximum total duration to read up to *len* "
"The socket timeout is no longer reset each time bytes are received or sent. "
"The socket timeout is now the maximum total duration to read up to *len* "
"bytes."
msgstr ""
@ -1388,8 +1388,8 @@ msgstr ""
#: library/ssl.rst:1196
msgid ""
"The socket timeout is no more reset each time bytes are received or sent. "
"The socket timeout is now to maximum total duration to write *buf*."
"The socket timeout is no longer reset each time bytes are received or sent. "
"The socket timeout is now the maximum total duration to write *buf*."
msgstr ""
#: library/ssl.rst:1200
@ -1424,8 +1424,8 @@ msgstr ""
#: library/ssl.rst:1224
msgid ""
"The socket timeout is no more reset each time bytes are received or sent. "
"The socket timeout is now to maximum total duration of the handshake."
"The socket timeout is no longer reset each time bytes are received or sent. "
"The socket timeout is now the maximum total duration of the handshake."
msgstr ""
#: library/ssl.rst:1228
@ -1433,7 +1433,7 @@ msgid ""
"Hostname or IP address is matched by OpenSSL during handshake. The function :"
"func:`match_hostname` is no longer used. In case OpenSSL refuses a hostname "
"or IP address, the handshake is aborted early and a TLS alert message is "
"send to the peer."
"sent to the peer."
msgstr ""
#: library/ssl.rst:1236

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2022-10-18 12:31+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -280,7 +280,7 @@ msgstr ""
"de ``1`` à ``9`` sont acceptés (voir :class:`bz2 <bz2.BZ2File>` pour plus "
"d'informations)."
#: library/zipfile.rst:721
#: library/zipfile.rst:733
msgid ""
"The *strict_timestamps* argument, when set to ``False``, allows to zip files "
"older than 1980-01-01 at the cost of setting the timestamp to 1980-01-01. "
@ -346,7 +346,7 @@ msgid "Added support for :mod:`bzip2 <bz2>` and :mod:`lzma` compression."
msgstr ""
"Ajout de la gestion de la compression :mod:`bzip2 <bz2>` et :mod:`lzma`."
#: library/zipfile.rst:635
#: library/zipfile.rst:647
msgid "ZIP64 extensions are enabled by default."
msgstr "Les extensions ZIP64 sont activées par défaut."
@ -376,7 +376,7 @@ msgstr ""
msgid "Add the *compresslevel* parameter."
msgstr "Ajout du paramètre *compresslevel*."
#: library/zipfile.rst:732
#: library/zipfile.rst:744
msgid "The *strict_timestamps* keyword-only argument"
msgstr "l'argument nommé *strict_timestamps*"
@ -886,19 +886,27 @@ msgstr ""
"prise en charge des modes texte et binaire pour ``open``. Le mode texte est "
"maintenant le mode par défaut."
#: library/zipfile.rst:556
#: library/zipfile.rst:605
msgid ""
"The ``encoding`` parameter can be supplied as a positional argument without "
"causing a :exc:`TypeError`. As it could in 3.9. Code needing to be "
"compatible with unpatched 3.10 and 3.11 versions must pass all :class:`io."
"TextIOWrapper` arguments, ``encoding`` included, as keywords."
msgstr ""
#: library/zipfile.rst:562
msgid "Enumerate the children of the current directory."
msgstr "Énumère le contenu du dossier actuel."
#: library/zipfile.rst:560
#: library/zipfile.rst:566
msgid "Return ``True`` if the current context references a directory."
msgstr "Renvoie ``True`` si ce chemin pointe sur un dossier."
#: library/zipfile.rst:564
#: library/zipfile.rst:570
msgid "Return ``True`` if the current context references a file."
msgstr "Renvoie ``True`` si ce chemin pointe sur un fichier."
#: library/zipfile.rst:568
#: library/zipfile.rst:574
msgid ""
"Return ``True`` if the current context references a file or directory in the "
"zip file."
@ -906,33 +914,33 @@ msgstr ""
"Renvoie ``True`` si le chemin pointe sur un fichier ou un dossier de "
"l'archive ZIP"
#: library/zipfile.rst:573
#: library/zipfile.rst:579
#, fuzzy
msgid "The file extension of the final component."
msgstr "Le dernier segment du chemin."
#: library/zipfile.rst:575
#: library/zipfile.rst:581
msgid "Added :data:`Path.suffix` property."
msgstr ""
#: library/zipfile.rst:580
#: library/zipfile.rst:586
#, fuzzy
msgid "The final path component, without its suffix."
msgstr "Le dernier segment du chemin."
#: library/zipfile.rst:582
#: library/zipfile.rst:588
msgid "Added :data:`Path.stem` property."
msgstr ""
#: library/zipfile.rst:587
#: library/zipfile.rst:593
msgid "A list of the paths file extensions."
msgstr ""
#: library/zipfile.rst:589
#: library/zipfile.rst:595
msgid "Added :data:`Path.suffixes` property."
msgstr ""
#: library/zipfile.rst:594
#: library/zipfile.rst:600
msgid ""
"Read the current file as unicode text. Positional and keyword arguments are "
"passed through to :class:`io.TextIOWrapper` (except ``buffer``, which is "
@ -942,34 +950,34 @@ msgstr ""
"passés à :class:`io.TextIOWrapper` (sauf ``buffer``, qui est imposé par le "
"contexte)"
#: library/zipfile.rst:601
#: library/zipfile.rst:613
msgid "Read the current file as bytes."
msgstr "Lit le fichier en mode binaire, renvoyant un objet *bytes*."
#: library/zipfile.rst:605
#: library/zipfile.rst:617
msgid ""
"Return a new Path object with each of the *other* arguments joined. The "
"following are equivalent::"
msgstr ""
#: library/zipfile.rst:612
#: library/zipfile.rst:624
msgid ""
"Prior to 3.10, ``joinpath`` was undocumented and accepted exactly one "
"parameter."
msgstr ""
#: library/zipfile.rst:616
#: library/zipfile.rst:628
msgid ""
"The `zipp <https://pypi.org/project/zipp>`_ project provides backports of "
"the latest path object functionality to older Pythons. Use ``zipp.Path`` in "
"place of ``zipfile.Path`` for early access to changes."
msgstr ""
#: library/zipfile.rst:624
#: library/zipfile.rst:636
msgid "PyZipFile Objects"
msgstr "Objets *PyZipFile*"
#: library/zipfile.rst:626
#: library/zipfile.rst:638
msgid ""
"The :class:`PyZipFile` constructor takes the same parameters as the :class:"
"`ZipFile` constructor, and one additional parameter, *optimize*."
@ -977,18 +985,18 @@ msgstr ""
"Le constructeur de :class:`PyZipFile` prend les mêmes paramètres que le "
"constructeur de :class:`ZipFile` avec un paramètre additionnel *optimize*."
#: library/zipfile.rst:632
#: library/zipfile.rst:644
msgid "The *optimize* parameter."
msgstr "Le paramètre *optimize*."
#: library/zipfile.rst:638
#: library/zipfile.rst:650
msgid ""
"Instances have one method in addition to those of :class:`ZipFile` objects:"
msgstr ""
"Les instances ont une méthode supplémentaire par rapport aux objets :class:"
"`ZipFile` :"
#: library/zipfile.rst:642
#: library/zipfile.rst:654
msgid ""
"Search for files :file:`\\*.py` and add the corresponding file to the "
"archive."
@ -996,7 +1004,7 @@ msgstr ""
"Cherche les fichiers :file:`\\*.py` et ajoute le fichier correspondant à "
"l'archive."
#: library/zipfile.rst:645
#: library/zipfile.rst:657
msgid ""
"If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, "
"the corresponding file is a :file:`\\*.pyc` file, compiling if necessary."
@ -1005,7 +1013,7 @@ msgstr ""
"donné ou est à ``-1``, le fichier correspondant est un fichier :file:`\\*."
"pyc`, à compiler si nécessaire."
#: library/zipfile.rst:648
#: library/zipfile.rst:660
msgid ""
"If the *optimize* parameter to :class:`PyZipFile` was ``0``, ``1`` or ``2``, "
"only files with that optimization level (see :func:`compile`) are added to "
@ -1015,7 +1023,7 @@ msgstr ""
"``0``, ``1`` ou ``2``, ne sont ajoutés dans l'archive que les fichiers avec "
"ce niveau d'optimisation (voir :func:`compile`), à compiler si nécessaire."
#: library/zipfile.rst:652
#: library/zipfile.rst:664
msgid ""
"If *pathname* is a file, the filename must end with :file:`.py`, and just "
"the (corresponding :file:`\\*.pyc`) file is added at the top level (no path "
@ -1038,11 +1046,11 @@ msgstr ""
"s'il y a des sous-répertoires qui sont des répertoires de paquet, ils sont "
"tous ajoutés récursivement dans un ordre trié."
#: library/zipfile.rst:662
#: library/zipfile.rst:674
msgid "*basename* is intended for internal use only."
msgstr "*basename* n'est sensé être utilisé qu'en interne."
#: library/zipfile.rst:664
#: library/zipfile.rst:676
msgid ""
"*filterfunc*, if given, must be a function taking a single string argument. "
"It will be passed each path (including each individual full file path) "
@ -1061,31 +1069,31 @@ msgstr ""
"``test_``, nous pouvons utiliser une fonction *filterfunc* pour les "
"exclure ::"
#: library/zipfile.rst:678
#: library/zipfile.rst:690
msgid "The :meth:`writepy` method makes archives with file names like this::"
msgstr ""
"La méthode :meth:`writepy` crée des archives avec des noms de fichier comme "
"suit ::"
#: library/zipfile.rst:687
#: library/zipfile.rst:699
msgid "The *filterfunc* parameter."
msgstr "Le paramètre *filterfunc*."
#: library/zipfile.rst:690
#: library/zipfile.rst:702
msgid "The *pathname* parameter accepts a :term:`path-like object`."
msgstr ""
"Le paramètre *pathname* accepte un objet chemin-compatible :term:`path-like "
"object`."
#: library/zipfile.rst:693
#: library/zipfile.rst:705
msgid "Recursion sorts directory entries."
msgstr "La récursion trie les entrées de dossier."
#: library/zipfile.rst:700
#: library/zipfile.rst:712
msgid "ZipInfo Objects"
msgstr "Objets *ZipInfo*"
#: library/zipfile.rst:702
#: library/zipfile.rst:714
msgid ""
"Instances of the :class:`ZipInfo` class are returned by the :meth:`.getinfo` "
"and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object "
@ -1095,7 +1103,7 @@ msgstr ""
"méthodes :meth:`.getinfo` et :meth:`.infolist` des objets :class:`ZipFile`. "
"Chaque objet stocke des informations sur un seul membre de l'archive ZIP."
#: library/zipfile.rst:706
#: library/zipfile.rst:718
msgid ""
"There is one classmethod to make a :class:`ZipInfo` instance for a "
"filesystem file:"
@ -1103,7 +1111,7 @@ msgstr ""
"Il y a une méthode de classe pour créer une instance de :class:`ZipInfo` "
"pour un fichier du système de fichiers :"
#: library/zipfile.rst:712
#: library/zipfile.rst:724
msgid ""
"Construct a :class:`ZipInfo` instance for a file on the filesystem, in "
"preparation for adding it to a zip file."
@ -1111,13 +1119,13 @@ msgstr ""
"Construit une instance de :class:`ZipInfo` pour le fichier du système de "
"fichiers, en préparation de l'ajouter à un fichier ZIP."
#: library/zipfile.rst:715
#: library/zipfile.rst:727
msgid "*filename* should be the path to a file or directory on the filesystem."
msgstr ""
"*filename* doit être un chemin vers un fichier ou un répertoire dans le "
"système de fichiers."
#: library/zipfile.rst:717
#: library/zipfile.rst:729
msgid ""
"If *arcname* is specified, it is used as the name within the archive. If "
"*arcname* is not specified, the name will be the same as *filename*, but "
@ -1127,31 +1135,31 @@ msgstr ""
"*arcname* n'est pas spécifié, le nom sera le même que *filename* mais sans "
"lettre de disque et sans séparateur de chemin en première position."
#: library/zipfile.rst:729
#: library/zipfile.rst:741
msgid "The *filename* parameter accepts a :term:`path-like object`."
msgstr ""
"Le paramètre *filename* accepte un objet chemin-compatible :term:`path-like "
"object`."
#: library/zipfile.rst:736
#: library/zipfile.rst:748
msgid "Instances have the following methods and attributes:"
msgstr "Les instances ont les méthodes et attributs suivants :"
#: library/zipfile.rst:740
#: library/zipfile.rst:752
msgid "Return ``True`` if this archive member is a directory."
msgstr "Retourne ``True`` si le membre d'archive est un répertoire."
#: library/zipfile.rst:742
#: library/zipfile.rst:754
msgid "This uses the entry's name: directories should always end with ``/``."
msgstr ""
"Utilise le nom de l'entrée : les répertoires doivent toujours se terminer "
"par ``/``."
#: library/zipfile.rst:749
#: library/zipfile.rst:761
msgid "Name of the file in the archive."
msgstr "Nom du fichier dans l'archive."
#: library/zipfile.rst:754
#: library/zipfile.rst:766
msgid ""
"The time and date of the last modification to the archive member. This is a "
"tuple of six values:"
@ -1159,77 +1167,77 @@ msgstr ""
"Date et heure de dernière modification pour le membre de l'archive. *Tuple* "
"de six valeurs :"
#: library/zipfile.rst:758
#: library/zipfile.rst:770
msgid "Index"
msgstr "Index"
#: library/zipfile.rst:758
#: library/zipfile.rst:770
msgid "Value"
msgstr "Valeur"
#: library/zipfile.rst:760
#: library/zipfile.rst:772
msgid "``0``"
msgstr "``0``"
#: library/zipfile.rst:760
#: library/zipfile.rst:772
msgid "Year (>= 1980)"
msgstr "Année (>= 1980)"
#: library/zipfile.rst:762
#: library/zipfile.rst:774
msgid "``1``"
msgstr "``1``"
#: library/zipfile.rst:762
#: library/zipfile.rst:774
msgid "Month (one-based)"
msgstr "Mois (indexé à partir de 1)"
#: library/zipfile.rst:764
#: library/zipfile.rst:776
msgid "``2``"
msgstr "``2``"
#: library/zipfile.rst:764
#: library/zipfile.rst:776
msgid "Day of month (one-based)"
msgstr "Jour du mois (indexé à partir de 1)"
#: library/zipfile.rst:766
#: library/zipfile.rst:778
msgid "``3``"
msgstr "``3``"
#: library/zipfile.rst:766
#: library/zipfile.rst:778
msgid "Hours (zero-based)"
msgstr "Heures (indexées à partir de 0)"
#: library/zipfile.rst:768
#: library/zipfile.rst:780
msgid "``4``"
msgstr "``4``"
#: library/zipfile.rst:768
#: library/zipfile.rst:780
msgid "Minutes (zero-based)"
msgstr "Minutes (indexées à partir de 0)"
#: library/zipfile.rst:770
#: library/zipfile.rst:782
msgid "``5``"
msgstr "``5``"
#: library/zipfile.rst:770
#: library/zipfile.rst:782
msgid "Seconds (zero-based)"
msgstr "Secondes (indexées à partir de 0)"
#: library/zipfile.rst:775
#: library/zipfile.rst:787
msgid "The ZIP file format does not support timestamps before 1980."
msgstr "Le format de fichier ZIP ne gère pas les horodatages avant 1980."
#: library/zipfile.rst:780
#: library/zipfile.rst:792
msgid "Type of compression for the archive member."
msgstr "Type de compression du membre d'archive."
#: library/zipfile.rst:785
#: library/zipfile.rst:797
msgid "Comment for the individual archive member as a :class:`bytes` object."
msgstr ""
"Commentaire pour le membre d'archive individuel en tant qu'objet :class:"
"`bytes`."
#: library/zipfile.rst:790
#: library/zipfile.rst:802
msgid ""
"Expansion field data. The `PKZIP Application Note`_ contains some comments "
"on the internal structure of the data contained in this :class:`bytes` "
@ -1239,59 +1247,59 @@ msgstr ""
"contient quelques commentaires sur la structure interne des données "
"contenues dans cet objet :class:`bytes`."
#: library/zipfile.rst:797
#: library/zipfile.rst:809
msgid "System which created ZIP archive."
msgstr "Système ayant créé l'archive ZIP."
#: library/zipfile.rst:802
#: library/zipfile.rst:814
msgid "PKZIP version which created ZIP archive."
msgstr "Version de PKZIP ayant créé l'archive ZIP."
#: library/zipfile.rst:807
#: library/zipfile.rst:819
msgid "PKZIP version needed to extract archive."
msgstr "Version de PKZIP nécessaire à l'extraction de l'archive ZIP."
#: library/zipfile.rst:812
#: library/zipfile.rst:824
msgid "Must be zero."
msgstr "Doit être à zéro."
#: library/zipfile.rst:817
#: library/zipfile.rst:829
msgid "ZIP flag bits."
msgstr "Bits d'options ZIP."
#: library/zipfile.rst:822
#: library/zipfile.rst:834
msgid "Volume number of file header."
msgstr "Numéro de volume de l'entête du fichier."
#: library/zipfile.rst:827
#: library/zipfile.rst:839
msgid "Internal attributes."
msgstr "Attributs internes."
#: library/zipfile.rst:832
#: library/zipfile.rst:844
msgid "External file attributes."
msgstr "Attributs de fichier externes."
#: library/zipfile.rst:837
#: library/zipfile.rst:849
msgid "Byte offset to the file header."
msgstr "Longueur de l'entête du fichier en octets."
#: library/zipfile.rst:842
#: library/zipfile.rst:854
msgid "CRC-32 of the uncompressed file."
msgstr "CRC-32 du fichier décompressé."
#: library/zipfile.rst:847
#: library/zipfile.rst:859
msgid "Size of the compressed data."
msgstr "Taille des données décompressées."
#: library/zipfile.rst:852
#: library/zipfile.rst:864
msgid "Size of the uncompressed file."
msgstr "Taille du fichier décompressé."
#: library/zipfile.rst:859
#: library/zipfile.rst:871
msgid "Command-Line Interface"
msgstr "Interface en ligne de commande"
#: library/zipfile.rst:861
#: library/zipfile.rst:873
msgid ""
"The :mod:`zipfile` module provides a simple command-line interface to "
"interact with ZIP archives."
@ -1299,7 +1307,7 @@ msgstr ""
"Le module :mod:`zipfile` fournit une interface en ligne de commande simple "
"pour interagir avec des archives ZIP."
#: library/zipfile.rst:864
#: library/zipfile.rst:876
msgid ""
"If you want to create a new ZIP archive, specify its name after the :option:"
"`-c` option and then list the filename(s) that should be included:"
@ -1307,11 +1315,11 @@ msgstr ""
"Si vous voulez créer une nouvelle archive ZIP, spécifiez son nom après "
"l'option :option:`-c` et listez ensuite le(s) nom(s) de fichier à inclure :"
#: library/zipfile.rst:871
#: library/zipfile.rst:883
msgid "Passing a directory is also acceptable:"
msgstr "Passer un répertoire est aussi possible :"
#: library/zipfile.rst:877
#: library/zipfile.rst:889
msgid ""
"If you want to extract a ZIP archive into the specified directory, use the :"
"option:`-e` option:"
@ -1319,44 +1327,44 @@ msgstr ""
"Si vous voulez extraire une archive ZIP dans un répertoire donné, utilisez "
"l'option :option:`-e` :"
#: library/zipfile.rst:884
#: library/zipfile.rst:896
msgid "For a list of the files in a ZIP archive, use the :option:`-l` option:"
msgstr ""
"Pour une liste des fichiers dans une archive ZIP, utilisez l'option :option:"
"`-l` :"
#: library/zipfile.rst:892
#: library/zipfile.rst:904
msgid "Command-line options"
msgstr "Options de la ligne de commande"
#: library/zipfile.rst:897
#: library/zipfile.rst:909
msgid "List files in a zipfile."
msgstr "Liste les fichiers dans un fichier ZIP *zipfile*."
#: library/zipfile.rst:902
#: library/zipfile.rst:914
msgid "Create zipfile from source files."
msgstr "Crée un fichier ZIP *zipfile* à partir des fichiers *source*."
#: library/zipfile.rst:907
#: library/zipfile.rst:919
msgid "Extract zipfile into target directory."
msgstr ""
"Extrait le fichier ZIP *zipfile* vers le répertoire cible *output_dir*."
#: library/zipfile.rst:912
#: library/zipfile.rst:924
msgid "Test whether the zipfile is valid or not."
msgstr "Teste si le fichier zip est valide."
#: library/zipfile.rst:916
#: library/zipfile.rst:928
msgid ""
"Specify encoding of member names for :option:`-l`, :option:`-e` and :option:"
"`-t`."
msgstr ""
#: library/zipfile.rst:923
#: library/zipfile.rst:935
msgid "Decompression pitfalls"
msgstr "Problèmes de décompression"
#: library/zipfile.rst:925
#: library/zipfile.rst:937
msgid ""
"The extraction in zipfile module might fail due to some pitfalls listed "
"below."
@ -1364,11 +1372,11 @@ msgstr ""
"L'extraction d'une archive ZIP par le module *zipfile* peut échouer pour les "
"raisons listées ci-dessous."
#: library/zipfile.rst:928
#: library/zipfile.rst:940
msgid "From file itself"
msgstr "À cause du fichier lui-même"
#: library/zipfile.rst:930
#: library/zipfile.rst:942
msgid ""
"Decompression may fail due to incorrect password / CRC checksum / ZIP format "
"or unsupported compression method / decryption."
@ -1377,11 +1385,11 @@ msgstr ""
"contrôle CRC incorrectes. Elle peut aussi échouer si le format, la méthode "
"de compression, ou de chiffrement n'est pas implémenté."
#: library/zipfile.rst:934
#: library/zipfile.rst:946
msgid "File System limitations"
msgstr "Limitations du système de fichiers"
#: library/zipfile.rst:936
#: library/zipfile.rst:948
msgid ""
"Exceeding limitations on different file systems can cause decompression "
"failed. Such as allowable characters in the directory entries, length of the "
@ -1393,11 +1401,11 @@ msgstr ""
"nom de fichier, la longueur du nom du fichier ou du chemin, la taille d'un "
"fichier, le nombre de fichiers, etc."
#: library/zipfile.rst:943
#: library/zipfile.rst:955
msgid "Resources limitations"
msgstr "Ressources limitées"
#: library/zipfile.rst:945
#: library/zipfile.rst:957
msgid ""
"The lack of memory or disk volume would lead to decompression failed. For "
"example, decompression bombs (aka `ZIP bomb`_) apply to zipfile library that "
@ -1407,11 +1415,11 @@ msgstr ""
"décompression. Par exemple, une bombe de décompression (`ZIP bomb`_), "
"décompressés avec *zifile* peut remplir l'espace disque."
#: library/zipfile.rst:950
#: library/zipfile.rst:962
msgid "Interruption"
msgstr "Interruption"
#: library/zipfile.rst:952
#: library/zipfile.rst:964
msgid ""
"Interruption during the decompression, such as pressing control-C or killing "
"the decompression process may result in incomplete decompression of the "
@ -1420,11 +1428,11 @@ msgstr ""
"Une interruption durant la décompression, en utilisant *control-C* ou en "
"tuant le processus, peut mener à une décompression partielle de l'archive."
#: library/zipfile.rst:956
#: library/zipfile.rst:968
msgid "Default behaviors of extraction"
msgstr "Comportements par défaut de l'extraction"
#: library/zipfile.rst:958
#: library/zipfile.rst:970
msgid ""
"Not knowing the default extraction behaviors can cause unexpected "
"decompression results. For example, when extracting the same archive twice, "

View File

@ -2,14 +2,17 @@
given branch.
"""
import argparse
import re
import shutil
from pathlib import Path
import argparse
import subprocess
from pathlib import Path
from subprocess import PIPE
from tqdm import tqdm
NOT_TO_TRANSLATE = {Path("whatsnew/changelog.po")}
def run(*args: str | Path, **kwargs) -> subprocess.CompletedProcess:
"""Run a shell command with subprocess.run() with check=True and
@ -43,6 +46,7 @@ def copy_new_files(new_files: set[Path], pot_path: Path) -> None:
file.parent.mkdir(parents=True, exist_ok=True)
src = (pot_path / file).with_suffix(".pot")
run("msgcat", "-o", file, src)
run("git", "add", file)
def update_known_files(known_files: set[Path], pot_path: Path) -> None:
@ -107,7 +111,6 @@ def git_add_relevant_files():
run("git", "add", file)
else:
run("git", "checkout", "--", file)
run("rm", "-f", "whatsnew/changelog.po") # We don't translate this file.
def main():
@ -121,7 +124,7 @@ def main():
upstream = {
file.relative_to(pot_path).with_suffix(".po")
for file in pot_path.glob("**/*.pot")
}
} - NOT_TO_TRANSLATE
downstream = {
Path(po)
for po in run("git", "ls-files", "*.po", stdout=PIPE).stdout.splitlines()
@ -129,7 +132,7 @@ def main():
copy_new_files(upstream - downstream, pot_path=pot_path)
update_known_files(upstream & downstream, pot_path=pot_path)
remove_old_files(downstream - upstream)
clean_paths((upstream - downstream) | (upstream & downstream))
clean_paths(upstream)
shutil.rmtree(pot_path)
run("powrap", "-m")
update_makefile(args.cpython_repo)

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-01-23 09:57+0100\n"
"PO-Revision-Date: 2022-12-15 19:03+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -330,11 +330,11 @@ msgstr ""
"soit ``1`` pour activer une fonctionnalité, soit un chemin. Ci-dessous la "
"liste complète des options."
#: using/windows.rst:1043
#: using/windows.rst:1044
msgid "Name"
msgstr "Nom"
#: using/windows.rst:1043
#: using/windows.rst:1044
msgid "Description"
msgstr "Description"
@ -1892,12 +1892,13 @@ msgid ""
"Shebang lines that do not match any of these patterns are looked up in the "
"``[commands]`` section of the launcher's :ref:`.INI file <launcher-ini>`. "
"This may be used to handle certain commands in a way that makes sense for "
"your system. The name of the command must be a single argument (no spaces), "
"and the value substituted is the full path to the executable (no arguments "
"may be added)."
"your system. The name of the command must be a single argument (no spaces in "
"the shebang executable), and the value substituted is the full path to the "
"executable (additional arguments specified in the .INI will be quoted as "
"part of the filename)."
msgstr ""
#: using/windows.rst:879
#: using/windows.rst:880
msgid ""
"Any commands not found in the .INI file are treated as **Windows** "
"executable paths that are absolute or relative to the directory containing "
@ -1908,11 +1909,11 @@ msgid ""
"will be appended."
msgstr ""
#: using/windows.rst:888
#: using/windows.rst:889
msgid "Arguments in shebang lines"
msgstr "Arguments dans les lignes *shebang*"
#: using/windows.rst:890
#: using/windows.rst:891
msgid ""
"The shebang lines can also specify additional options to be passed to the "
"Python interpreter. For example, if you have a shebang line:"
@ -1921,19 +1922,19 @@ msgstr ""
"à passer à l'interpréteur Python. Par exemple, si vous avez une ligne "
"*shebang* :"
#: using/windows.rst:897
#: using/windows.rst:898
msgid "Then Python will be started with the ``-v`` option"
msgstr "Alors, Python sera démarré avec l'option ``-v``"
#: using/windows.rst:900
#: using/windows.rst:901
msgid "Customization"
msgstr "Personnalisation"
#: using/windows.rst:905
#: using/windows.rst:906
msgid "Customization via INI files"
msgstr "Personnalisation via des fichiers INI"
#: using/windows.rst:907
#: using/windows.rst:908
#, fuzzy
msgid ""
"Two .ini files will be searched by the launcher - ``py.ini`` in the current "
@ -1950,7 +1951,7 @@ msgstr ""
 console » du lanceur (c'est-à-dire ``py.exe``) et pour la version "
 fenêtrée » (c'est-à-dire ``pyw.exe``)."
#: using/windows.rst:913
#: using/windows.rst:914
msgid ""
"Customization specified in the \"application directory\" will have "
"precedence over the one next to the executable, so a user, who may not have "
@ -1962,11 +1963,11 @@ msgstr ""
"qui peut ne pas avoir accès en écriture au fichier ``.ini`` à côté du "
"lanceur, peut substituer des commandes dans ce fichier ``.ini`` global)"
#: using/windows.rst:918
#: using/windows.rst:919
msgid "Customizing default Python versions"
msgstr "Personnalisation des versions Python par défaut"
#: using/windows.rst:920
#: using/windows.rst:921
msgid ""
"In some cases, a version qualifier can be included in a command to dictate "
"which version of Python will be used by the command. A version qualifier "
@ -1983,7 +1984,7 @@ msgstr ""
"implémentation 32 ou 64 bit doit être demandée en ajoutant **-32** ou "
"**-64**."
#: using/windows.rst:926
#: using/windows.rst:927
msgid ""
"For example, a shebang line of ``#!python`` has no version qualifier, while "
"``#!python3`` has a version qualifier which specifies only a major version."
@ -1992,7 +1993,7 @@ msgstr ""
"qualificateur de version, tandis que ``#!python3`` a un qualificateur de "
"version qui ne spécifie qu'une version majeure."
#: using/windows.rst:929
#: using/windows.rst:930
msgid ""
"If no version qualifiers are found in a command, the environment variable :"
"envvar:`PY_PYTHON` can be set to specify the default version qualifier. If "
@ -2009,7 +2010,7 @@ msgstr ""
"``3.7-32`` ou ``3.7-64``. (Notez que loption **-64** est seulement "
"disponible avec le lanceur inclus avec Python 3.7 ou plus récent.)"
#: using/windows.rst:936
#: using/windows.rst:937
msgid ""
"If no minor version qualifiers are found, the environment variable "
"``PY_PYTHON{major}`` (where ``{major}`` is the current major version "
@ -2027,7 +2028,7 @@ msgstr ""
"la dernière version mineure trouvée pour la version principale, qui est "
"probablement la plus récemment installée dans cette famille."
#: using/windows.rst:944
#: using/windows.rst:945
msgid ""
"On 64-bit Windows with both 32-bit and 64-bit implementations of the same "
"(major.minor) Python version installed, the 64-bit version will always be "
@ -2052,11 +2053,11 @@ msgstr ""
"un suffixe optionnel ``-32`` ou ``-64`` peut être utilisé sur un "
"spécificateur de version pour modifier ce comportement."
#: using/windows.rst:955
#: using/windows.rst:956
msgid "Examples:"
msgstr "Exemples :"
#: using/windows.rst:957
#: using/windows.rst:958
msgid ""
"If no relevant options are set, the commands ``python`` and ``python2`` will "
"use the latest Python 2.x version installed and the command ``python3`` will "
@ -2066,7 +2067,7 @@ msgstr ""
"``python2`` utiliseront la dernière version de Python 2.x installée et la "
"commande ``python3`` utilisera le dernier Python 3.x installé."
#: using/windows.rst:961
#: using/windows.rst:962
msgid ""
"The command ``python3.7`` will not consult any options at all as the "
"versions are fully specified."
@ -2074,7 +2075,7 @@ msgstr ""
"La commande ``python3.7`` ne consulte aucune option du tout car les versions "
"sont entièrement spécifiées."
#: using/windows.rst:964
#: using/windows.rst:965
msgid ""
"If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use "
"the latest installed Python 3 version."
@ -2082,7 +2083,7 @@ msgstr ""
"Si ``PY_PYTHON=3``, les commandes ``python`` et ``python3`` utiliseront la "
"dernière version de Python 3 installée."
#: using/windows.rst:967
#: using/windows.rst:968
msgid ""
"If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit "
"implementation of 3.7 whereas the command ``python3`` will use the latest "
@ -2094,7 +2095,7 @@ msgstr ""
"installé (*PY_PYTHON* n'a pas été considéré du tout comme une version "
"majeure a été spécifiée.)"
#: using/windows.rst:972
#: using/windows.rst:973
msgid ""
"If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and "
"``python3`` will both use specifically 3.7"
@ -2102,7 +2103,7 @@ msgstr ""
"Si ``PY_PYTHON=3`` et ``PY_PYTHON3=3.7``, les commandes ``python`` et "
"``python3`` utiliseront spécifiquement 3.7"
#: using/windows.rst:975
#: using/windows.rst:976
msgid ""
"In addition to environment variables, the same settings can be configured in "
"the .INI file used by the launcher. The section in the INI file is called "
@ -2119,15 +2120,15 @@ msgstr ""
"contenu d'une variable d'environnement remplacera les éléments spécifiés "
"dans le fichier *INI*."
#: using/windows.rst:982
#: using/windows.rst:983
msgid "For example:"
msgstr "Par exemple :"
#: using/windows.rst:984
#: using/windows.rst:985
msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:"
msgstr "Le paramètre ``PY_PYTHON=3.7`` équivaut au fichier **INI** contenant :"
#: using/windows.rst:991
#: using/windows.rst:992
msgid ""
"Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file "
"containing:"
@ -2135,11 +2136,11 @@ msgstr ""
"Le paramètre ``PY_PYTHON=3`` et ``PY_PYTHON3=3.7`` équivaut au fichier *INI* "
"contenant :"
#: using/windows.rst:1001
#: using/windows.rst:1002
msgid "Diagnostics"
msgstr "Diagnostics"
#: using/windows.rst:1003
#: using/windows.rst:1004
msgid ""
"If an environment variable :envvar:`PYLAUNCHER_DEBUG` is set (to any value), "
"the launcher will print diagnostic information to stderr (i.e. to the "
@ -2156,11 +2157,11 @@ msgstr ""
"une version particulière a été choisie et la ligne de commande exacte "
"utilisée pour exécuter le Python cible."
#: using/windows.rst:1011
#: using/windows.rst:1012
msgid "Dry Run"
msgstr "Exécution à vide"
#: using/windows.rst:1013
#: using/windows.rst:1014
msgid ""
"If an environment variable :envvar:`PYLAUNCHER_DRYRUN` is set (to any "
"value), the launcher will output the command it would have run, but will not "
@ -2177,11 +2178,11 @@ msgstr ""
"toujours codée en UTF-8 et peut ne pas s'afficher correctement dans la "
"console."
#: using/windows.rst:1021
#: using/windows.rst:1022
msgid "Install on demand"
msgstr "Installation à la demande"
#: using/windows.rst:1023
#: using/windows.rst:1024
msgid ""
"If an environment variable :envvar:`PYLAUNCHER_ALLOW_INSTALL` is set (to any "
"value), and the requested Python version is not installed but is available "
@ -2195,7 +2196,7 @@ msgstr ""
"tente de l'installer. Cela peut nécessiter une intervention de l'utilisateur "
"et il faudra peut-être exécuter à nouveau la commande."
#: using/windows.rst:1028
#: using/windows.rst:1029
msgid ""
"An additional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` variable causes the "
"launcher to always try to install Python, even if it is detected. This is "
@ -2207,11 +2208,11 @@ msgstr ""
"est principalement destiné aux tests (et doit être utilisé avec :envvar:"
"`PYLAUNCHER_DRYRUN`)."
#: using/windows.rst:1033
#: using/windows.rst:1034
msgid "Return codes"
msgstr "Codes de retour"
#: using/windows.rst:1035
#: using/windows.rst:1036
msgid ""
"The following exit codes may be returned by the Python launcher. "
"Unfortunately, there is no way to distinguish these from the exit code of "
@ -2221,7 +2222,7 @@ msgstr ""
"Malheureusement, il n'y a aucun moyen de les distinguer du code de sortie de "
"Python lui-même."
#: using/windows.rst:1038
#: using/windows.rst:1039
msgid ""
"The names of codes are as used in the sources, and are only for reference. "
"There is no way to access or resolve them apart from reading this page. "
@ -2232,43 +2233,43 @@ msgstr ""
"en dehors de la lecture de cette page. Les entrées sont classées par ordre "
"alphabétique des noms."
#: using/windows.rst:1043
#: using/windows.rst:1044
msgid "Value"
msgstr "Valeur"
#: using/windows.rst:1045
#: using/windows.rst:1046
msgid "RC_BAD_VENV_CFG"
msgstr "RC_BAD_VENV_CFG"
#: using/windows.rst:1045
#: using/windows.rst:1046
msgid "107"
msgstr "107"
#: using/windows.rst:1045
#: using/windows.rst:1046
msgid "A :file:`pyvenv.cfg` was found but is corrupt."
msgstr ":file:`pyvenv.cfg` a été trouvé mais est corrompu."
#: using/windows.rst:1047
#: using/windows.rst:1048
msgid "RC_CREATE_PROCESS"
msgstr "RC_CREATE_PROCESS"
#: using/windows.rst:1047
#: using/windows.rst:1048
msgid "101"
msgstr "101"
#: using/windows.rst:1047
#: using/windows.rst:1048
msgid "Failed to launch Python."
msgstr "Echec du lancement de Python."
#: using/windows.rst:1049
#: using/windows.rst:1050
msgid "RC_INSTALLING"
msgstr "RC_INSTALLING"
#: using/windows.rst:1049
#: using/windows.rst:1050
msgid "111"
msgstr "111"
#: using/windows.rst:1049
#: using/windows.rst:1050
msgid ""
"An install was started, but the command will need to be re-run after it "
"completes."
@ -2276,59 +2277,59 @@ msgstr ""
"Une installation a commencé, mais la commande doit être relancée après "
"qu'elle a terminé."
#: using/windows.rst:1052
#: using/windows.rst:1053
msgid "RC_INTERNAL_ERROR"
msgstr "RC_INTERNAL_ERROR"
#: using/windows.rst:1052
#: using/windows.rst:1053
msgid "109"
msgstr "109"
#: using/windows.rst:1052
#: using/windows.rst:1053
msgid "Unexpected error. Please report a bug."
msgstr "Erreur non prévue. Merci de remonter un bogue."
#: using/windows.rst:1054
#: using/windows.rst:1055
msgid "RC_NO_COMMANDLINE"
msgstr "RC_NO_COMMANDLINE"
#: using/windows.rst:1054
#: using/windows.rst:1055
msgid "108"
msgstr "108"
#: using/windows.rst:1054
#: using/windows.rst:1055
msgid "Unable to obtain command line from the operating system."
msgstr "Le système d'exploitation n'a pas fourni de ligne de commande."
#: using/windows.rst:1057
#: using/windows.rst:1058
msgid "RC_NO_PYTHON"
msgstr "RC_NO_PYTHON"
#: using/windows.rst:1057
#: using/windows.rst:1058
msgid "103"
msgstr "103"
#: using/windows.rst:1057
#: using/windows.rst:1058
msgid "Unable to locate the requested version."
msgstr "Impossible de trouver la version demandée."
#: using/windows.rst:1059
#: using/windows.rst:1060
msgid "RC_NO_VENV_CFG"
msgstr "RC_NO_VENV_CFG"
#: using/windows.rst:1059
#: using/windows.rst:1060
msgid "106"
msgstr "106"
#: using/windows.rst:1059
#: using/windows.rst:1060
msgid "A :file:`pyvenv.cfg` was required but not found."
msgstr ":file:`pyvenv.cfg` est requis mais n'a pas été trouvé."
#: using/windows.rst:1067
#: using/windows.rst:1068
msgid "Finding modules"
msgstr "Recherche de modules"
#: using/windows.rst:1069
#: using/windows.rst:1070
msgid ""
"These notes supplement the description at :ref:`sys-path-init` with detailed "
"Windows notes."
@ -2336,7 +2337,7 @@ msgstr ""
"Ces notes complètent la description de :ref:`sys-path-init` avec des notes "
"Windows détaillées."
#: using/windows.rst:1072
#: using/windows.rst:1073
msgid ""
"When no ``._pth`` file is found, this is how :data:`sys.path` is populated "
"on Windows:"
@ -2344,14 +2345,14 @@ msgstr ""
"Lorsque aucun fichier ``._pth`` n'est trouvé, voilà comment :data:`sys.path` "
"est construit sur Windows :"
#: using/windows.rst:1075
#: using/windows.rst:1076
msgid ""
"An empty entry is added at the start, which corresponds to the current "
"directory."
msgstr ""
"Une entrée vide est ajoutée au début, qui correspond au répertoire courant."
#: using/windows.rst:1078
#: using/windows.rst:1079
msgid ""
"If the environment variable :envvar:`PYTHONPATH` exists, as described in :"
"ref:`using-on-envvars`, its entries are added next. Note that on Windows, "
@ -2364,7 +2365,7 @@ msgstr ""
"des points-virgules, pour les distinguer des deux points utilisés dans les "
"identificateurs de lecteur (``C:\\`` etc.)."
#: using/windows.rst:1083
#: using/windows.rst:1084
msgid ""
"Additional \"application paths\" can be added in the registry as subkeys of :"
"samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under "
@ -2382,7 +2383,7 @@ msgstr ""
"tous les installateurs connus utilisent seulement HKLM, donc HKCU est "
"généralement vide.)"
#: using/windows.rst:1090
#: using/windows.rst:1091
msgid ""
"If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as "
"\"Python Home\". Otherwise, the path of the main Python executable is used "
@ -2401,7 +2402,7 @@ msgstr ""
"chemin d'accès Python principal est construit à partir du PythonPath stocké "
"dans le registre."
#: using/windows.rst:1098
#: using/windows.rst:1099
msgid ""
"If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified "
"in the environment, and no registry entries can be found, a default path "
@ -2412,7 +2413,7 @@ msgstr ""
"trouvée, un chemin par défaut avec des entrées relatives est utilisé (par "
"exemple ``.\\Lib`` ; ``.\\plat-win``, etc.)."
#: using/windows.rst:1102
#: using/windows.rst:1103
msgid ""
"If a ``pyvenv.cfg`` file is found alongside the main executable or in the "
"directory one level above the executable, the following variations apply:"
@ -2421,7 +2422,7 @@ msgstr ""
"dans le répertoire un niveau au-dessus de l'exécutable, les variantes "
"suivantes s'appliquent :"
#: using/windows.rst:1105
#: using/windows.rst:1106
msgid ""
"If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this "
"path is used instead of the path to the main executable when deducing the "
@ -2431,11 +2432,11 @@ msgstr ""
"ce chemin d'accès est utilisé au lieu du chemin d'accès à l'exécutable "
"principal lors de la déduction de l'emplacement du ``home``."
#: using/windows.rst:1109
#: using/windows.rst:1110
msgid "The end result of all this is:"
msgstr "Le résultat final de tout ceci est :"
#: using/windows.rst:1111
#: using/windows.rst:1112
msgid ""
"When running :file:`python.exe`, or any other .exe in the main Python "
"directory (either an installed version, or directly from the PCbuild "
@ -2448,7 +2449,7 @@ msgstr ""
"chemins d'accès principaux dans le Registre sont ignorés. D'autres \"chemins "
"d'application\" dans le registre sont toujours lus."
#: using/windows.rst:1116
#: using/windows.rst:1117
msgid ""
"When Python is hosted in another .exe (different directory, embedded via "
"COM, etc), the \"Python Home\" will not be deduced, so the core path from "
@ -2460,7 +2461,7 @@ msgstr ""
"sorte que le chemin d'accès principal du registre est utilisé. D'autres "
"\"chemins d'application\" dans le registre sont toujours lus."
#: using/windows.rst:1120
#: using/windows.rst:1121
msgid ""
"If Python can't find its home and there are no registry value (frozen .exe, "
"some very strange installation setup) you get a path with some default, but "
@ -2470,7 +2471,7 @@ msgstr ""
"registre (*.exe* figé, une installation très étrange) vous obtenez un chemin "
"d'accès avec certains chemins par défaut, mais relatif."
#: using/windows.rst:1124
#: using/windows.rst:1125
msgid ""
"For those who want to bundle Python into their application or distribution, "
"the following advice will prevent conflicts with other installations:"
@ -2479,7 +2480,7 @@ msgstr ""
"distribution, les conseils suivants empêcheront les conflits avec d'autres "
"installations :"
#: using/windows.rst:1127
#: using/windows.rst:1128
msgid ""
"Include a ``._pth`` file alongside your executable containing the "
"directories to include. This will ignore paths listed in the registry and "
@ -2491,7 +2492,7 @@ msgstr ""
"registre et les variables d'environnement, et ignorera également :mod:`site` "
"à moins que ``import site`` soit listé."
#: using/windows.rst:1132
#: using/windows.rst:1133
msgid ""
"If you are loading :file:`python3.dll` or :file:`python37.dll` in your own "
"executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:"
@ -2501,7 +2502,7 @@ msgstr ""
"propre exécutable, appelez explicitement :c:func:`Py_SetPath` ou (au moins) :"
"c:func:`Py_SetProgramName` avant :c:func:`Py_Initialize`."
#: using/windows.rst:1136
#: using/windows.rst:1137
msgid ""
"Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` "
"before launching :file:`python.exe` from your application."
@ -2509,7 +2510,7 @@ msgstr ""
"Effacer et/ou écraser :envvar:`PYTHONPATH` et configurez :envvar:"
"`PYTHONHOME` avant de lancer le :file:`python.exe` de votre application."
#: using/windows.rst:1139
#: using/windows.rst:1140
msgid ""
"If you cannot use the previous suggestions (for example, you are a "
"distribution that allows people to run :file:`python.exe` directly), ensure "
@ -2524,7 +2525,7 @@ msgstr ""
"détecté à l'intérieur d'un fichier ZIP, mais un fichier ZIP correctement "
"nommé sera détecté à la place.)"
#: using/windows.rst:1145
#: using/windows.rst:1146
msgid ""
"These will ensure that the files in a system-wide installation will not take "
"precedence over the copy of the standard library bundled with your "
@ -2540,7 +2541,7 @@ msgstr ""
"suggestion est la meilleure, car les autres peuvent encore être sensibles "
"aux chemins non-standard dans le registre et le *site-packages* utilisateur."
#: using/windows.rst:1154
#: using/windows.rst:1155
msgid ""
"Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv."
"cfg``."
@ -2548,7 +2549,7 @@ msgstr ""
"Ajout de la gestion des ``._pth`` et suppression de l'option ``applocal`` de "
"``pyvenv.cfg``."
#: using/windows.rst:1156
#: using/windows.rst:1157
msgid ""
"Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the "
"executable."
@ -2556,7 +2557,7 @@ msgstr ""
"Ajout de ``pythonXX.zip`` comme point de repère potentiel lorsqu'il est "
"directement adjacent à l'exécutable."
#: using/windows.rst:1162
#: using/windows.rst:1163
msgid ""
"Modules specified in the registry under ``Modules`` (not ``PythonPath``) may "
"be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This "
@ -2569,11 +2570,11 @@ msgstr ""
"récent, mais il pourrait être nécessaire de l'ajouter explicitement à :attr:"
"`sys.meta_path` à l'avenir."
#: using/windows.rst:1168
#: using/windows.rst:1169
msgid "Additional modules"
msgstr "Modules supplémentaires"
#: using/windows.rst:1170
#: using/windows.rst:1171
msgid ""
"Even though Python aims to be portable among all platforms, there are "
"features that are unique to Windows. A couple of modules, both in the "
@ -2584,7 +2585,7 @@ msgstr ""
"dans la bibliothèque standard et externe, et des exemples existent pour "
"utiliser ces fonctionnalités."
#: using/windows.rst:1174
#: using/windows.rst:1175
msgid ""
"The Windows-specific standard modules are documented in :ref:`mswin-specific-"
"services`."
@ -2592,11 +2593,11 @@ msgstr ""
"Les modules standard de Windows sont documentés dans :ref:`mswin-specific-"
"services`."
#: using/windows.rst:1178
#: using/windows.rst:1179
msgid "PyWin32"
msgstr "PyWin32"
#: using/windows.rst:1180
#: using/windows.rst:1181
msgid ""
"The `PyWin32 <https://pypi.org/project/pywin32>`_ module by Mark Hammond is "
"a collection of modules for advanced Windows-specific support. This "
@ -2606,7 +2607,7 @@ msgstr ""
"une collection de modules pour un support avancé spécifique à Windows. Cela "
"inclut les services pour :"
#: using/windows.rst:1184
#: using/windows.rst:1185
msgid ""
"`Component Object Model <https://docs.microsoft.com/en-us/windows/win32/com/"
"component-object-model--com--portal>`_ (COM)"
@ -2614,19 +2615,19 @@ msgstr ""
"`Component Object Model <https://docs.microsoft.com/fr-fr/windows/win32/com/"
"component-object-model--com--portal>`_ (COM)"
#: using/windows.rst:1187
#: using/windows.rst:1188
msgid "Win32 API calls"
msgstr "Appels à l'API Win32"
#: using/windows.rst:1188
#: using/windows.rst:1189
msgid "Registry"
msgstr "Registre"
#: using/windows.rst:1189
#: using/windows.rst:1190
msgid "Event log"
msgstr "Journal d'événement"
#: using/windows.rst:1190
#: using/windows.rst:1191
msgid ""
"`Microsoft Foundation Classes <https://docs.microsoft.com/en-us/cpp/mfc/mfc-"
"desktop-applications>`_ (MFC) user interfaces"
@ -2634,7 +2635,7 @@ msgstr ""
"`Microsoft Foundation Classes <https://docs.microsoft.com/fr-fr/cpp/mfc/mfc-"
"desktop-applications>`_ (MFC) interfaces utilisateur"
#: using/windows.rst:1194
#: using/windows.rst:1195
msgid ""
"`PythonWin <https://web.archive.org/web/20060524042422/ https://www.python."
"org/windows/pythonwin/>`_ is a sample MFC application shipped with PyWin32. "
@ -2644,29 +2645,29 @@ msgstr ""
"windows/pythonwin/>`_ est un exemple d'application MFC livrée avec PyWin32. "
"Il s'agit d'un IDE embarqué avec débogueur intégré."
#: using/windows.rst:1201
#: using/windows.rst:1202
msgid ""
"`Win32 How Do I...? <http://timgolden.me.uk/python/win32_how_do_i.html>`_"
msgstr ""
"`Win32 How Do I...? <http://timgolden.me.uk/python/win32_how_do_i.html>`_"
#: using/windows.rst:1201
#: using/windows.rst:1202
msgid "by Tim Golden"
msgstr "par Tim Golden"
#: using/windows.rst:1203
#: using/windows.rst:1204
msgid "`Python and COM <https://www.boddie.org.uk/python/COM.html>`_"
msgstr "`Python and COM <https://www.boddie.org.uk/python/COM.html>`_"
#: using/windows.rst:1204
#: using/windows.rst:1205
msgid "by David and Paul Boddie"
msgstr "par David et Paul Boddie"
#: using/windows.rst:1208
#: using/windows.rst:1209
msgid "cx_Freeze"
msgstr "cx_Freeze"
#: using/windows.rst:1210
#: using/windows.rst:1211
msgid ""
"`cx_Freeze <https://cx-freeze.readthedocs.io/en/latest/>`_ is a :mod:"
"`distutils` extension (see :ref:`extending-distutils`) which wraps Python "
@ -2680,11 +2681,11 @@ msgstr ""
"`{*}.exe`). Lorsque vous l'avez fait, vous pouvez distribuer votre "
"application sans demander à vos utilisateurs d'installer Python."
#: using/windows.rst:1218
#: using/windows.rst:1219
msgid "Compiling Python on Windows"
msgstr "Compiler Python sous Windows"
#: using/windows.rst:1220
#: using/windows.rst:1221
#, fuzzy
msgid ""
"If you want to compile CPython yourself, first thing you should do is get "
@ -2697,7 +2698,7 @@ msgstr ""
"télécharger soit la source de la dernière version ou tout simplement prendre "
"un `checkout <https://devguide.python.org/setup/#getting-the-source-code>`_."
#: using/windows.rst:1225
#: using/windows.rst:1226
msgid ""
"The source tree contains a build solution and project files for Microsoft "
"Visual Studio, which is the compiler used to build the official Python "
@ -2708,7 +2709,7 @@ msgstr ""
"générer les versions officielles de Python. Ces fichiers se trouvent dans le "
"répertoire :file:`PCbuild`."
#: using/windows.rst:1229
#: using/windows.rst:1230
msgid ""
"Check :file:`PCbuild/readme.txt` for general information on the build "
"process."
@ -2716,15 +2717,15 @@ msgstr ""
"Consultez :file:`PC/readme.txt` pour des informations générales sur le "
"processus de construction."
#: using/windows.rst:1231
#: using/windows.rst:1232
msgid "For extension modules, consult :ref:`building-on-windows`."
msgstr "Pour les modules d'extension, consultez :ref:`building-on-windows`."
#: using/windows.rst:1235
#: using/windows.rst:1236
msgid "Other Platforms"
msgstr "Autres plateformes"
#: using/windows.rst:1237
#: using/windows.rst:1238
msgid ""
"With ongoing development of Python, some platforms that used to be supported "
"earlier are no longer supported (due to the lack of users or developers). "
@ -2735,7 +2736,7 @@ msgstr ""
"manque d'utilisateurs ou de développeurs). Voir :pep:`11` pour plus de "
"détails sur toutes les plateformes non prises en charge."
#: using/windows.rst:1241
#: using/windows.rst:1242
#, fuzzy
msgid ""
"`Windows CE <https://pythonce.sourceforge.net/>`_ is `no longer supported "
@ -2746,7 +2747,7 @@ msgstr ""
"`<https://github.com/python/cpython/issues/71542>`__ depuis Python 3 (sil "
"la jamais été)."
#: using/windows.rst:1244
#: using/windows.rst:1245
msgid ""
"The `Cygwin <https://cygwin.com/>`_ installer offers to install the `Python "
"interpreter <https://cygwin.com/packages/summary/python3.html>`__ as well"
@ -2755,7 +2756,7 @@ msgstr ""
"dinstaller également `linterpréteur Python <https://cygwin.com/packages/"
"summary/python3.html>`__."
#: using/windows.rst:1248
#: using/windows.rst:1249
msgid ""
"See `Python for Windows <https://www.python.org/downloads/windows/>`_ for "
"detailed information about platforms with pre-compiled installers."