1
0
Fork 0
* Make merge

* Move merge to its own script.

* No longer needed.

* Use git ls-files.
This commit is contained in:
Julien Palard 2021-10-22 14:56:00 +02:00 committed by GitHub
parent f2d50c8810
commit 2afee90322
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
59 changed files with 3054 additions and 50680 deletions

View File

@ -9,7 +9,6 @@
# - make spell # To check for spelling
# - make clean # To remove build artifacts
# - make fuzzy # To find fuzzy strings
# - make merge # To merge pot from upstream
#
# Modes are: autobuild-stable, autobuild-dev, and autobuild-html,
# documented in gen/src/3.6/Doc/Makefile as we're only delegating the
@ -21,7 +20,8 @@
# 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 := d5feb2b1f12a15c1a9bac094a8f6f77d0cfcbdc2
CPYTHON_CURRENT_COMMIT := 00ddc1fbd7296ffe066077194a895b175cca26de
LANGUAGE := fr
BRANCH := 3.10
@ -128,30 +128,6 @@ fuzzy: ensure_prerequisites
.PHONY: verifs
verifs: wrap spell
.PHONY: merge
merge: ensure_prerequisites
@echo "Merge from $(UPSTREAM)"
git -C venv/cpython/ checkout $(BRANCH)
git -C venv/cpython/ pull --ff-only
(cd venv/cpython/Doc; sphinx-build -Q -b gettext -D gettext_compact=0 . ../pot)
find venv/cpython/pot/ -name '*.pot' |\
while read -r POT; \
do \
PO="./$$(echo "$$POT" | sed "s#venv/cpython/pot/##; s#\.pot\$$#.po#")"; \
mkdir -p "$$(dirname "$$PO")"; \
if [ -f "$$PO" ]; \
then \
msgmerge --backup=off --force-po -U "$$PO" "$$POT"; \
else \
msgcat -o "$$PO" "$$POT"; \
fi \
done
rm -fr venv/cpython/pot/
sed -i 's|^#: .*Doc/|#: |' *.po */*.po
powrap -m
@printf "\n%s %s\n" "Replace CPYTHON_CURRENT_COMMIT in Makefile by: " $(shell git -C venv/cpython/ rev-parse HEAD)
@printf 'To add, you can use:\n git status -s | grep "^ M .*\.po" | cut -d" " -f3 | while read -r file; do if [ $$(git diff "$$file" | wc -l) -gt 13 ]; then git add "$$file"; fi ; done\n'
.PHONY: clean
clean:
@echo "Cleaning *.mo and $(POSPELL_TMP_DIR)"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-07-20 15:07+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -250,7 +250,7 @@ msgstr ""
msgid ""
"Various functions are available for calling a Python object. Each converts "
"its arguments to a convention supported by the called object either "
"*tp_call* or vectorcall. In order to do as litle conversion as possible, "
"*tp_call* or vectorcall. In order to do as little conversion as possible, "
"pick one that best fits the format of data you have available."
msgstr ""

View File

@ -1,210 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-18 17:40+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"
#: c-api/decimal.rst:7
msgid "Decimal capsule API"
msgstr ""
#: c-api/decimal.rst:9
msgid ""
"Capsule API functions can be used in the same manner as regular library "
"functions, provided that the API has been initialized."
msgstr ""
#: c-api/decimal.rst:14
msgid "Initialize"
msgstr ""
#: c-api/decimal.rst:16
msgid ""
"Typically, a C extension module that uses the decimal API will do these "
"steps in its init function:"
msgstr ""
#: c-api/decimal.rst:34
msgid "Type checking, predicates, accessors"
msgstr ""
#: c-api/decimal.rst:38
msgid ""
"Return 1 if ``dec`` is a Decimal, 0 otherwise. This function does not set "
"any exceptions."
msgstr ""
#: c-api/decimal.rst:44
msgid "Return 1 if ``dec`` is ``NaN``, ``sNaN`` or ``Infinity``, 0 otherwise."
msgstr ""
#: c-api/decimal.rst:55 c-api/decimal.rst:64
msgid ""
"Set TypeError and return -1 if ``dec`` is not a Decimal. It is guaranteed "
"that this is the only failure mode, so if ``dec`` has already been type-"
"checked, no errors can occur and the function can be treated as a simple "
"predicate."
msgstr ""
#: c-api/decimal.rst:53
msgid "Return 1 if ``dec`` is ``NaN`` or ``sNaN``, 0 otherwise."
msgstr ""
#: c-api/decimal.rst:62
msgid "Return 1 if ``dec`` is ``Infinity``, 0 otherwise."
msgstr ""
#: c-api/decimal.rst:71
msgid ""
"Return the number of digits in the coefficient. For ``Infinity``, the "
"number of digits is always zero. Typically, the same applies to ``NaN`` and "
"``sNaN``, but both of these can have a payload that is equivalent to a "
"coefficient. Therefore, ``NaNs`` can have a nonzero return value."
msgstr ""
#: c-api/decimal.rst:76
msgid ""
"Set TypeError and return -1 if ``dec`` is not a Decimal. It is guaranteed "
"that this is the only failure mode, so if ``dec`` has already been type-"
"checked, no errors can occur and the function can be treated as a simple "
"accessor."
msgstr ""
#: c-api/decimal.rst:82
msgid "Exact conversions between decimals and primitive C types"
msgstr ""
#: c-api/decimal.rst:84
msgid ""
"This API supports conversions for decimals with a coefficient up to 38 "
"digits."
msgstr ""
#: c-api/decimal.rst:87
msgid "Data structures"
msgstr ""
#: c-api/decimal.rst:89
msgid ""
"The conversion functions use the following status codes and data structures:"
msgstr ""
#: c-api/decimal.rst:110
msgid ""
"The status cases are explained below. ``sign`` is 0 for positive and 1 for "
"negative. ``((uint128_t)hi << 64) + lo`` is the coefficient, ``exp`` is the "
"exponent."
msgstr ""
#: c-api/decimal.rst:113
msgid ""
"The data structure is called \"triple\" because the decimal triple (sign, "
"coeff, exp) is an established term and (``hi``, ``lo``) represents a single "
"``uint128_t`` coefficient."
msgstr ""
#: c-api/decimal.rst:216
msgid "Functions"
msgstr "Fonctions"
#: c-api/decimal.rst:122
msgid ""
"Convert a decimal to a triple. As above, it is guaranteed that the only "
"Python failure mode is a TypeError, checks can be omitted if the type is "
"known."
msgstr ""
#: c-api/decimal.rst:126
msgid ""
"For simplicity, the usage of the function and all special cases are "
"explained in code form and comments:"
msgstr ""
#: c-api/decimal.rst:180
msgid ""
"Create a decimal from a triple. The following rules must be observed for "
"initializing the triple:"
msgstr ""
#: c-api/decimal.rst:183
msgid "``triple.sign`` must always be 0 (for positive) or 1 (for negative)."
msgstr ""
#: c-api/decimal.rst:185
msgid ""
"``MPD_TRIPLE_QNAN``: ``triple.exp`` must be 0. If ``triple.hi`` or ``triple."
"lo`` are nonzero, create a ``NaN`` with a payload."
msgstr ""
#: c-api/decimal.rst:188
msgid ""
"``MPD_TRIPLE_SNAN``: ``triple.exp`` must be 0. If ``triple.hi`` or ``triple."
"lo`` are nonzero, create an ``sNaN`` with a payload."
msgstr ""
#: c-api/decimal.rst:191
msgid ""
"``MPD_TRIPLE_INF``: ``triple.exp``, ``triple.hi`` and ``triple.lo`` must be "
"zero."
msgstr ""
#: c-api/decimal.rst:193
msgid ""
"``MPD_TRIPLE_NORMAL``: ``MPD_MIN_ETINY + 38 < triple.exp < MPD_MAX_EMAX - "
"38``. ``triple.hi`` and ``triple.lo`` can be chosen freely."
msgstr ""
#: c-api/decimal.rst:196
msgid "``MPD_TRIPLE_ERROR``: It is always an error to set this tag."
msgstr ""
#: c-api/decimal.rst:199
msgid ""
"If one of the above conditions is not met, the function returns ``NaN`` if "
"the ``InvalidOperation`` trap is not set in the thread local context. "
"Otherwise, it sets the ``InvalidOperation`` exception and returns NULL."
msgstr ""
#: c-api/decimal.rst:203
msgid ""
"Additionally, though extremely unlikely give the small allocation sizes, the "
"function can set ``MemoryError`` and return ``NULL``."
msgstr ""
#: c-api/decimal.rst:208
msgid "Advanced API"
msgstr ""
#: c-api/decimal.rst:210
msgid ""
"This API enables the use of ``libmpdec`` functions. Since Python is "
"compiled with hidden symbols, the API requires an external libmpdec and the "
"``mpdecimal.h`` header."
msgstr ""
#: c-api/decimal.rst:220
msgid ""
"Return a new decimal that can be used in the ``result`` position of "
"``libmpdec`` functions."
msgstr ""
#: c-api/decimal.rst:225
msgid ""
"Get a pointer to the internal ``mpd_t`` of the decimal. Decimals are "
"immutable, so this function must only be used on a new Decimal that has been "
"created by PyDec_Alloc()."
msgstr ""
#: c-api/decimal.rst:231
msgid "Get a pointer to the constant internal ``mpd_t`` of the decimal."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-09-04 11:42+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -42,7 +42,7 @@ msgid ""
"The :ref:`Isolated Configuration <init-isolated-conf>` can be used to embed "
"Python into an application. It isolates Python from the system. For example, "
"environments variables are ignored, the LC_CTYPE locale is left unchanged "
"and no signal handler is registred."
"and no signal handler is registered."
msgstr ""
#: c-api/init_config.rst:27
@ -870,7 +870,7 @@ msgstr ""
#: c-api/init_config.rst:699
msgid ""
"At Python statup, the encoding name is normalized to the Python codec name. "
"At Python startup, the encoding name is normalized to the Python codec name. "
"For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-10-17 19:02+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -77,8 +77,9 @@ msgid "Key terms"
msgstr "Vocabulaire"
#: distributing/index.rst:34
#, fuzzy
msgid ""
"the `Python Packaging Index <https://pypi.org>`__ is a public repository of "
"the `Python Package Index <https://pypi.org>`__ is a public repository of "
"open source licensed packages made available for use by other Python users"
msgstr ""
"le `Python Packaging Index <https://pypi.org/pypi>`__ est un dépôt public de "
@ -274,7 +275,8 @@ msgstr ""
"project_>`_ ;"
#: distributing/index.rst:130
msgid "`Uploading the project to the Python Packaging Index`_"
#, fuzzy
msgid "`Uploading the project to the Python Package Index`_"
msgstr ""
"`(en) Téléverser le projet sur le Python Packaging Index <Uploading the "
"project to the Python Packaging Index_>`_ ;"
@ -301,7 +303,8 @@ msgid "This isn't an easy topic, but here are a few tips:"
msgstr "Ce n'est pas un sujet facile, mais voici quelques conseils :"
#: distributing/index.rst:153
msgid "check the Python Packaging Index to see if the name is already in use"
#, fuzzy
msgid "check the Python Package Index to see if the name is already in use"
msgstr "vérifiez dans le *Python Packaging Index* si le nom est déjà utilisé"
#: distributing/index.rst:154

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-10-17 18:30+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1378,11 +1378,12 @@ msgstr ""
"Pourquoi l'instruction ``with`` ne prend-elle pas en charge les générateurs ?"
#: faq/design.rst:714
#, fuzzy
msgid ""
"For technical reasons, a generator used directly as a context manager would "
"not work correctly. When, as is most common, a generator is used as an "
"iterator run to completion, no closing is needed. When it is, wrap it as "
"\"contextlib.closing(generator)\" in the 'with' statment."
"\"contextlib.closing(generator)\" in the 'with' statement."
msgstr ""
"Pour des raisons d'ordre technique, un générateur utilisé directement comme "
"gestionnaire de contexte ne pourrait pas fonctionner. Dans le cas le plus "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-12-15 21:18+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -117,8 +117,9 @@ msgstr ""
"capables d'installer automatiquement ``pip`` dans les environnements créés."
#: installing/index.rst:47
#, fuzzy
msgid ""
"The `Python Packaging Index <https://pypi.org>`__ is a public repository of "
"The `Python Package Index <https://pypi.org>`__ is a public repository of "
"open source licensed packages made available for use by other Python users."
msgstr ""
"L'`Index des Paquets Python <https://pypi.org>`__ est un dépôt public des "
@ -186,9 +187,10 @@ msgstr ""
"utilisés à partir de la ligne de commande."
#: installing/index.rst:80
#, fuzzy
msgid ""
"The following command will install the latest version of a module and its "
"dependencies from the Python Packaging Index::"
"dependencies from the Python Package Index::"
msgstr ""
"La commande suivante va installer la dernière version d'un module et ses "
"dépendances depuis le *Python Package Index* ::"
@ -436,9 +438,9 @@ msgstr ""
msgid ""
"With the introduction of support for the binary ``wheel`` format, and the "
"ability to publish wheels for at least Windows and macOS through the Python "
"Packaging Index, this problem is expected to diminish over time, as users "
"are more regularly able to install pre-built extensions rather than needing "
"to build them themselves."
"Package Index, this problem is expected to diminish over time, as users are "
"more regularly able to install pre-built extensions rather than needing to "
"build them themselves."
msgstr ""
"Avec l'introduction du format binaire ``wheel``, et la possibilité de "
"publier des *wheels*, pour, au moins Windows et Mac OS X, via le *Python "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-04 03:00+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1320,9 +1320,10 @@ msgstr ""
"effectuées plus tard dans lexécution suite à l'analyse des arguments."
#: library/argparse.rst:1106
#, fuzzy
msgid ""
"For example, JSON or YAML conversions have complex error cases that require "
"better reporting than can be given by the ``type`` keyword. An :exc:`~json."
"better reporting than can be given by the ``type`` keyword. A :exc:`~json."
"JSONDecodeError` would not be well formatted and a :exc:`FileNotFound` "
"exception would not be handled at all."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-15 23:54+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -894,7 +894,7 @@ msgstr ""
#: library/ast.rst:1268
msgid ""
"``body`` contains a list of nodes to execute if the pattern matches and the "
"result of evaluating the guard expression is truthy."
"result of evaluating the guard expression is true."
msgstr ""
#: library/ast.rst:1311
@ -1283,7 +1283,7 @@ msgstr ""
#: library/ast.rst:1923
msgid ""
"Note that succesfully parsing souce code into an AST object doesn't "
"Note that successfully parsing source code into an AST object doesn't "
"guarantee that the source code provided is valid Python code that can be "
"executed as the compilation step can raise further :exc:`SyntaxError` "
"exceptions. For instance, the source ``return 42`` generates a valid AST "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-08-20 15:51+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -281,7 +281,7 @@ msgid ""
"This version does not allow the digit 0 (zero) to the letter O (oh) and "
"digit 1 (one) to either the letter I (eye) or letter L (el) mappings, all "
"these characters are included in the Extended Hex Alphabet and are not "
"interchangable."
"interchangeable."
msgstr ""
#: library/base64.rst:162

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-10-15 09:15+0200\n"
"Last-Translator: \n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1352,7 +1352,7 @@ msgstr ""
#: library/codecs.rst:926
msgid ""
"There's another encoding that is able to encoding the full range of Unicode "
"There's another encoding that is able to encode the full range of Unicode "
"characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no "
"issues with byte order in UTF-8. Each byte in a UTF-8 byte sequence consists "
"of two parts: marker bits (the most significant bits) and payload bits. The "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-03-21 16:06+0100\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -89,11 +89,17 @@ msgid ""
"insufficient for distinguishing a :class:`Sequence` from a :class:`Mapping`."
msgstr ""
#: library/collections.abc.rst:111
#: library/collections.abc.rst:107
msgid ""
"These abstract classes now support ``[]``. See :ref:`types-genericalias` "
"and :pep:`585`."
msgstr ""
#: library/collections.abc.rst:114
msgid "Collections Abstract Base Classes"
msgstr "Classes de base abstraites de collections"
#: library/collections.abc.rst:113
#: library/collections.abc.rst:116
msgid ""
"The collections module offers the following :term:`ABCs <abstract base "
"class>`:"
@ -101,149 +107,149 @@ msgstr ""
"Le module collections apporte les :term:`ABC <abstract base class>` "
"suivantes :"
#: library/collections.abc.rst:118
#: library/collections.abc.rst:121
msgid "ABC"
msgstr "ABC"
#: library/collections.abc.rst:118
#: library/collections.abc.rst:121
msgid "Inherits from"
msgstr "Hérite de"
#: library/collections.abc.rst:118
#: library/collections.abc.rst:121
msgid "Abstract Methods"
msgstr "Méthodes abstraites"
#: library/collections.abc.rst:118
#: library/collections.abc.rst:121
msgid "Mixin Methods"
msgstr "Méthodes *mixin*"
#: library/collections.abc.rst:120
#: library/collections.abc.rst:123
#, fuzzy
msgid ":class:`Container` [1]_"
msgstr ":class:`Container`"
#: library/collections.abc.rst:120
#: library/collections.abc.rst:123
msgid "``__contains__``"
msgstr "``__contains__``"
#: library/collections.abc.rst:121
#: library/collections.abc.rst:124
#, fuzzy
msgid ":class:`Hashable` [1]_"
msgstr ":class:`Hashable`"
#: library/collections.abc.rst:121
#: library/collections.abc.rst:124
msgid "``__hash__``"
msgstr "``__hash__``"
#: library/collections.abc.rst:122
#: library/collections.abc.rst:125
#, fuzzy
msgid ":class:`Iterable` [1]_ [2]_"
msgstr ":class:`Iterable`"
#: library/collections.abc.rst:122 library/collections.abc.rst:123
#: library/collections.abc.rst:125 library/collections.abc.rst:126
msgid "``__iter__``"
msgstr "``__iter__``"
#: library/collections.abc.rst:123
#: library/collections.abc.rst:126
#, fuzzy
msgid ":class:`Iterator` [1]_"
msgstr ":class:`Iterator`"
#: library/collections.abc.rst:123 library/collections.abc.rst:124
#: library/collections.abc.rst:126 library/collections.abc.rst:127
msgid ":class:`Iterable`"
msgstr ":class:`Iterable`"
#: library/collections.abc.rst:123
#: library/collections.abc.rst:126
msgid "``__next__``"
msgstr "``__next__``"
#: library/collections.abc.rst:124
#: library/collections.abc.rst:127
#, fuzzy
msgid ":class:`Reversible` [1]_"
msgstr ":class:`Reversible`"
#: library/collections.abc.rst:124
#: library/collections.abc.rst:127
msgid "``__reversed__``"
msgstr "``__reversed__``"
#: library/collections.abc.rst:125
#: library/collections.abc.rst:128
#, fuzzy
msgid ":class:`Generator` [1]_"
msgstr ":class:`Generator`"
#: library/collections.abc.rst:125
#: library/collections.abc.rst:128
msgid ":class:`Iterator`"
msgstr ":class:`Iterator`"
#: library/collections.abc.rst:125 library/collections.abc.rst:173
#: library/collections.abc.rst:128 library/collections.abc.rst:176
msgid "``send``, ``throw``"
msgstr "``send``, ``throw``"
#: library/collections.abc.rst:125
#: library/collections.abc.rst:128
msgid "``close``, ``__iter__``, ``__next__``"
msgstr "``close``, ``__iter__``, ``__next__``"
#: library/collections.abc.rst:126
#: library/collections.abc.rst:129
#, fuzzy
msgid ":class:`Sized` [1]_"
msgstr ":class:`Sized`"
#: library/collections.abc.rst:126 library/collections.abc.rst:165
#: library/collections.abc.rst:129 library/collections.abc.rst:168
msgid "``__len__``"
msgstr "``__len__``"
#: library/collections.abc.rst:127
#: library/collections.abc.rst:130
#, fuzzy
msgid ":class:`Callable` [1]_"
msgstr ":class:`Callable`"
#: library/collections.abc.rst:127
#: library/collections.abc.rst:130
msgid "``__call__``"
msgstr "``__call__``"
#: library/collections.abc.rst:128
#: library/collections.abc.rst:131
#, fuzzy
msgid ":class:`Collection` [1]_"
msgstr ":class:`Collection`"
#: library/collections.abc.rst:128
#: library/collections.abc.rst:131
msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`"
msgstr ":class:`Sized`, :class:`Iterable`, :class:`Container`"
#: library/collections.abc.rst:128 library/collections.abc.rst:144
#: library/collections.abc.rst:131 library/collections.abc.rst:147
msgid "``__contains__``, ``__iter__``, ``__len__``"
msgstr "``__contains__``, ``__iter__``, ``__len__``"
#: library/collections.abc.rst:132 library/collections.abc.rst:135
#: library/collections.abc.rst:141
#: library/collections.abc.rst:135 library/collections.abc.rst:138
#: library/collections.abc.rst:144
msgid ":class:`Sequence`"
msgstr ":class:`Sequence`"
#: library/collections.abc.rst:132
#: library/collections.abc.rst:135
msgid ":class:`Reversible`, :class:`Collection`"
msgstr ":class:`Reversible`, :class:`Collection`"
#: library/collections.abc.rst:132 library/collections.abc.rst:141
#: library/collections.abc.rst:135 library/collections.abc.rst:144
msgid "``__getitem__``, ``__len__``"
msgstr "``__getitem__``, ``__len__``"
#: library/collections.abc.rst:132
#: library/collections.abc.rst:135
msgid ""
"``__contains__``, ``__iter__``, ``__reversed__``, ``index``, and ``count``"
msgstr ""
"``__contains__``, ``__iter__``, ``__reversed__``, ``index`` et ``count``"
#: library/collections.abc.rst:135
#: library/collections.abc.rst:138
msgid ":class:`MutableSequence`"
msgstr ":class:`MutableSequence`"
#: library/collections.abc.rst:135
#: library/collections.abc.rst:138
msgid ""
"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``"
msgstr ""
"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``"
#: library/collections.abc.rst:135
#: library/collections.abc.rst:138
msgid ""
"Inherited :class:`Sequence` methods and ``append``, ``reverse``, ``extend``, "
"``pop``, ``remove``, and ``__iadd__``"
@ -251,23 +257,23 @@ msgstr ""
"Méthodes héritées de :class:`Sequence`, et ``append``, ``reverse``, "
"``extend``, ``pop``, ``remove`` et ``__iadd__``"
#: library/collections.abc.rst:141
#: library/collections.abc.rst:144
msgid ":class:`ByteString`"
msgstr ":class:`ByteString`"
#: library/collections.abc.rst:141
#: library/collections.abc.rst:144
msgid "Inherited :class:`Sequence` methods"
msgstr "Méthodes héritées de :class:`Sequence`"
#: library/collections.abc.rst:144 library/collections.abc.rst:148
#: library/collections.abc.rst:147 library/collections.abc.rst:151
msgid ":class:`Set`"
msgstr ":class:`Set`"
#: library/collections.abc.rst:144 library/collections.abc.rst:154
#: library/collections.abc.rst:147 library/collections.abc.rst:157
msgid ":class:`Collection`"
msgstr ":class:`Collection`"
#: library/collections.abc.rst:144
#: library/collections.abc.rst:147
msgid ""
"``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, "
"``__and__``, ``__or__``, ``__sub__``, ``__xor__``, and ``isdisjoint``"
@ -275,15 +281,15 @@ msgstr ""
"``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, "
"``__and__``, ``__or__``, ``__sub__``, ``__xor__`` et ``isdisjoint``"
#: library/collections.abc.rst:148
#: library/collections.abc.rst:151
msgid ":class:`MutableSet`"
msgstr ":class:`MutableSet`"
#: library/collections.abc.rst:148
#: library/collections.abc.rst:151
msgid "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``"
msgstr "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``"
#: library/collections.abc.rst:148
#: library/collections.abc.rst:151
msgid ""
"Inherited :class:`Set` methods and ``clear``, ``pop``, ``remove``, "
"``__ior__``, ``__iand__``, ``__ixor__``, and ``__isub__``"
@ -291,15 +297,15 @@ msgstr ""
"Méthodes héritées de :class:`Set`, et ``clear``, ``pop``, ``remove``, "
"``__ior__``, ``__iand__``, ``__ixor__`` et ``__isub__``"
#: library/collections.abc.rst:154 library/collections.abc.rst:158
#: library/collections.abc.rst:157 library/collections.abc.rst:161
msgid ":class:`Mapping`"
msgstr ":class:`Mapping`"
#: library/collections.abc.rst:154
#: library/collections.abc.rst:157
msgid "``__getitem__``, ``__iter__``, ``__len__``"
msgstr "``__getitem__``, ``__iter__``, ``__len__``"
#: library/collections.abc.rst:154
#: library/collections.abc.rst:157
msgid ""
"``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, and "
"``__ne__``"
@ -307,17 +313,17 @@ msgstr ""
"``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__`` et "
"``__ne__``"
#: library/collections.abc.rst:158
#: library/collections.abc.rst:161
msgid ":class:`MutableMapping`"
msgstr ":class:`MutableMapping`"
#: library/collections.abc.rst:158
#: library/collections.abc.rst:161
msgid ""
"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``"
msgstr ""
"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``"
#: library/collections.abc.rst:158
#: library/collections.abc.rst:161
msgid ""
"Inherited :class:`Mapping` methods and ``pop``, ``popitem``, ``clear``, "
"``update``, and ``setdefault``"
@ -325,105 +331,105 @@ msgstr ""
"Méthodes héritées de :class:`Mapping`, et ``pop``, ``popitem``, ``clear``, "
"``update`` et ``setdefault``"
#: library/collections.abc.rst:165
#: library/collections.abc.rst:168
msgid ":class:`MappingView`"
msgstr ":class:`MappingView`"
#: library/collections.abc.rst:165
#: library/collections.abc.rst:168
msgid ":class:`Sized`"
msgstr ":class:`Sized`"
#: library/collections.abc.rst:166
#: library/collections.abc.rst:169
msgid ":class:`ItemsView`"
msgstr ":class:`ItemsView`"
#: library/collections.abc.rst:166 library/collections.abc.rst:168
#: library/collections.abc.rst:169 library/collections.abc.rst:171
msgid ":class:`MappingView`, :class:`Set`"
msgstr ":class:`MappingView`, :class:`Set`"
#: library/collections.abc.rst:166 library/collections.abc.rst:168
#: library/collections.abc.rst:170
#: library/collections.abc.rst:169 library/collections.abc.rst:171
#: library/collections.abc.rst:173
msgid "``__contains__``, ``__iter__``"
msgstr "``__contains__``, ``__iter__``"
#: library/collections.abc.rst:168
#: library/collections.abc.rst:171
msgid ":class:`KeysView`"
msgstr ":class:`KeysView`"
#: library/collections.abc.rst:170
#: library/collections.abc.rst:173
msgid ":class:`ValuesView`"
msgstr ":class:`ValuesView`"
#: library/collections.abc.rst:170
#: library/collections.abc.rst:173
msgid ":class:`MappingView`, :class:`Collection`"
msgstr ":class:`MappingView`, :class:`Collection`"
#: library/collections.abc.rst:172
#: library/collections.abc.rst:175
#, fuzzy
msgid ":class:`Awaitable` [1]_"
msgstr ":class:`Awaitable`"
#: library/collections.abc.rst:172
#: library/collections.abc.rst:175
msgid "``__await__``"
msgstr "``__await__``"
#: library/collections.abc.rst:173
#: library/collections.abc.rst:176
#, fuzzy
msgid ":class:`Coroutine` [1]_"
msgstr ":class:`Coroutine`"
#: library/collections.abc.rst:173
#: library/collections.abc.rst:176
msgid ":class:`Awaitable`"
msgstr ":class:`Awaitable`"
#: library/collections.abc.rst:173
#: library/collections.abc.rst:176
msgid "``close``"
msgstr "``close``"
#: library/collections.abc.rst:174
#: library/collections.abc.rst:177
#, fuzzy
msgid ":class:`AsyncIterable` [1]_"
msgstr ":class:`AsyncIterable`"
#: library/collections.abc.rst:174 library/collections.abc.rst:175
#: library/collections.abc.rst:177 library/collections.abc.rst:178
msgid "``__aiter__``"
msgstr "``__aiter__``"
#: library/collections.abc.rst:175
#: library/collections.abc.rst:178
#, fuzzy
msgid ":class:`AsyncIterator` [1]_"
msgstr ":class:`AsyncIterator`"
#: library/collections.abc.rst:175
#: library/collections.abc.rst:178
msgid ":class:`AsyncIterable`"
msgstr ":class:`AsyncIterable`"
#: library/collections.abc.rst:175
#: library/collections.abc.rst:178
msgid "``__anext__``"
msgstr "``__anext__``"
#: library/collections.abc.rst:176
#: library/collections.abc.rst:179
#, fuzzy
msgid ":class:`AsyncGenerator` [1]_"
msgstr ":class:`AsyncGenerator`"
#: library/collections.abc.rst:176
#: library/collections.abc.rst:179
msgid ":class:`AsyncIterator`"
msgstr ":class:`AsyncIterator`"
#: library/collections.abc.rst:176
#: library/collections.abc.rst:179
msgid "``asend``, ``athrow``"
msgstr "``asend``, ``athrow``"
#: library/collections.abc.rst:176
#: library/collections.abc.rst:179
msgid "``aclose``, ``__aiter__``, ``__anext__``"
msgstr "``aclose``, ``__aiter__``, ``__anext__``"
#: library/collections.abc.rst:181
#: library/collections.abc.rst:184
msgid "Footnotes"
msgstr ""
#: library/collections.abc.rst:182
#: library/collections.abc.rst:185
msgid ""
"These ABCs override :meth:`object.__subclasshook__` to support testing an "
"interface by verifying the required methods are present and have not been "
@ -431,7 +437,7 @@ msgid ""
"interfaces require registration or direct subclassing."
msgstr ""
#: library/collections.abc.rst:188
#: library/collections.abc.rst:191
#, fuzzy
msgid ""
"Checking ``isinstance(obj, Iterable)`` detects classes that are registered "
@ -446,32 +452,32 @@ msgstr ""
"meth:`__getitem__`. Le seul moyen fiable de déterminer si un objet est :term:"
"`itérable <iterable>` est d'appeler ``iter(obj)``."
#: library/collections.abc.rst:196
#: library/collections.abc.rst:199
#, fuzzy
msgid "Collections Abstract Base Classes -- Detailed Descriptions"
msgstr "Classes de base abstraites de collections"
#: library/collections.abc.rst:201
#: library/collections.abc.rst:204
msgid "ABC for classes that provide the :meth:`__contains__` method."
msgstr "ABC pour les classes qui définissent la méthode :meth:`__contains__`."
#: library/collections.abc.rst:205
#: library/collections.abc.rst:208
msgid "ABC for classes that provide the :meth:`__hash__` method."
msgstr "ABC pour les classes qui définissent la méthode :meth:`__hash__`."
#: library/collections.abc.rst:209
#: library/collections.abc.rst:212
msgid "ABC for classes that provide the :meth:`__len__` method."
msgstr "ABC pour les classes qui définissent la méthode :meth:`__len__`."
#: library/collections.abc.rst:213
#: library/collections.abc.rst:216
msgid "ABC for classes that provide the :meth:`__call__` method."
msgstr "ABC pour les classes qui définissent la méthode :meth:`__call__`."
#: library/collections.abc.rst:217
#: library/collections.abc.rst:220
msgid "ABC for classes that provide the :meth:`__iter__` method."
msgstr "ABC pour les classes qui définissent la méthode :meth:`__iter__`."
#: library/collections.abc.rst:219
#: library/collections.abc.rst:222
msgid ""
"Checking ``isinstance(obj, Iterable)`` detects classes that are registered "
"as :class:`Iterable` or that have an :meth:`__iter__` method, but it does "
@ -485,11 +491,11 @@ msgstr ""
"meth:`__getitem__`. Le seul moyen fiable de déterminer si un objet est :term:"
"`itérable <iterable>` est d'appeler ``iter(obj)``."
#: library/collections.abc.rst:227
#: library/collections.abc.rst:230
msgid "ABC for sized iterable container classes."
msgstr "ABC pour les classes de conteneurs itérables et *sized*."
#: library/collections.abc.rst:233
#: library/collections.abc.rst:236
msgid ""
"ABC for classes that provide the :meth:`~iterator.__iter__` and :meth:"
"`~iterator.__next__` methods. See also the definition of :term:`iterator`."
@ -498,14 +504,14 @@ msgstr ""
"et :meth:`~iterator.__next__`. Voir aussi la définition d':term:`itérateur "
"<iterator>`."
#: library/collections.abc.rst:239
#: library/collections.abc.rst:242
msgid ""
"ABC for iterable classes that also provide the :meth:`__reversed__` method."
msgstr ""
"ABC pour les classes d'itérables qui implémentent également la méthode :meth:"
"`__reversed__`."
#: library/collections.abc.rst:246
#: library/collections.abc.rst:249
msgid ""
"ABC for generator classes that implement the protocol defined in :pep:`342` "
"that extends iterators with the :meth:`~generator.send`, :meth:`~generator."
@ -517,11 +523,11 @@ msgstr ""
"`~generator.send`, :meth:`~generator.throw` et :meth:`~generator.close`. "
"Voir aussi la définition de :term:`générateur <generator>`."
#: library/collections.abc.rst:257
#: library/collections.abc.rst:260
msgid "ABCs for read-only and mutable :term:`sequences <sequence>`."
msgstr "ABC pour les :term:`séquences <sequence>` immuables et muables."
#: library/collections.abc.rst:259
#: library/collections.abc.rst:262
msgid ""
"Implementation note: Some of the mixin methods, such as :meth:`__iter__`, :"
"meth:`__reversed__` and :meth:`index`, make repeated calls to the "
@ -539,29 +545,29 @@ msgstr ""
"*mixin* auront une performance quadratique, il serait alors judicieux de les "
"surcharger."
#: library/collections.abc.rst:268
#: library/collections.abc.rst:271
msgid "The index() method added support for *stop* and *start* arguments."
msgstr ""
"La méthode index() a ajouté le support des arguments *start* et *stop*."
#: library/collections.abc.rst:275
#: library/collections.abc.rst:278
msgid "ABCs for read-only and mutable sets."
msgstr "ABC pour les ensembles immuables et muables."
#: library/collections.abc.rst:280
#: library/collections.abc.rst:283
msgid "ABCs for read-only and mutable :term:`mappings <mapping>`."
msgstr ""
"ABC pour les :term:`tables de correspondances <mapping>` immuables et "
"muables."
#: library/collections.abc.rst:287
#: library/collections.abc.rst:290
msgid ""
"ABCs for mapping, items, keys, and values :term:`views <dictionary view>`."
msgstr ""
"ABC pour les :term:`vues<dictionary view>` de *mappings* (tableaux de "
"correspondances), d'éléments, de clés et de valeurs."
#: library/collections.abc.rst:291
#: library/collections.abc.rst:294
msgid ""
"ABC for :term:`awaitable` objects, which can be used in :keyword:`await` "
"expressions. Custom implementations must provide the :meth:`__await__` "
@ -571,7 +577,7 @@ msgstr ""
"utilisés dans les expressions :keyword:`await`. Les implémentations "
"personnalisées doivent définir la méthode :meth:`__await__`."
#: library/collections.abc.rst:295
#: library/collections.abc.rst:298
msgid ""
":term:`Coroutine <coroutine>` objects and instances of the :class:"
"`~collections.abc.Coroutine` ABC are all instances of this ABC."
@ -579,7 +585,7 @@ msgstr ""
"Les objets :term:`coroutines <coroutine>` et les instances de l'ABC :class:"
"`~collections.abc.Coroutine` sont tous des instances de cette ABC."
#: library/collections.abc.rst:299
#: library/collections.abc.rst:302
msgid ""
"In CPython, generator-based coroutines (generators decorated with :func:"
"`types.coroutine` or :func:`asyncio.coroutine`) are *awaitables*, even "
@ -594,7 +600,7 @@ msgstr ""
"décoré va renvoyer ``False``. Utilisez :func:`inspect.isawaitable` pour les "
"détecter."
#: library/collections.abc.rst:309
#: library/collections.abc.rst:312
msgid ""
"ABC for coroutine compatible classes. These implement the following "
"methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:"
@ -610,7 +616,7 @@ msgstr ""
"Toutes les instances de :class:`Coroutine` sont également des instances de :"
"class:`Awaitable`. Voir aussi la définition de :term:`coroutine`."
#: library/collections.abc.rst:317
#: library/collections.abc.rst:320
msgid ""
"In CPython, generator-based coroutines (generators decorated with :func:"
"`types.coroutine` or :func:`asyncio.coroutine`) are *awaitables*, even "
@ -625,7 +631,7 @@ msgstr ""
"décoré va renvoyer ``False``. Utilisez :func:`inspect.isawaitable` pour les "
"détecter."
#: library/collections.abc.rst:327
#: library/collections.abc.rst:330
msgid ""
"ABC for classes that provide ``__aiter__`` method. See also the definition "
"of :term:`asynchronous iterable`."
@ -633,7 +639,7 @@ msgstr ""
"ABC pour les classes qui définissent la méthode ``__aiter__``. Voir aussi la "
"définition d':term:`itérable asynchrone <asynchronous iterable>`."
#: library/collections.abc.rst:334
#: library/collections.abc.rst:337
msgid ""
"ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See "
"also the definition of :term:`asynchronous iterator`."
@ -642,7 +648,7 @@ msgstr ""
"``__anext__``. Voir aussi la définition d':term:`itérateur asynchrone "
"<asynchronous iterator>`."
#: library/collections.abc.rst:341
#: library/collections.abc.rst:344
msgid ""
"ABC for asynchronous generator classes that implement the protocol defined "
"in :pep:`525` and :pep:`492`."
@ -650,11 +656,11 @@ msgstr ""
"ABC pour les classes de générateurs asynchrones qui implémentent le "
"protocole défini dans la :pep:`525` et dans la :pep:`492`."
#: library/collections.abc.rst:347
#: library/collections.abc.rst:350
msgid "Examples and Recipes"
msgstr ""
#: library/collections.abc.rst:349
#: library/collections.abc.rst:352
#, fuzzy
msgid ""
"ABCs allow us to ask classes or instances if they provide particular "
@ -663,7 +669,7 @@ msgstr ""
"Ces ABC permettent de demander à des classes ou à des instances si elles "
"fournissent des fonctionnalités particulières, par exemple ::"
#: library/collections.abc.rst:356
#: library/collections.abc.rst:359
msgid ""
"Several of the ABCs are also useful as mixins that make it easier to develop "
"classes supporting container APIs. For example, to write a class supporting "
@ -680,13 +686,13 @@ msgstr ""
"apporte les méthodes restantes, comme :meth:`__and__` et :meth:"
"`isdisjoint` ::"
#: library/collections.abc.rst:385
#: library/collections.abc.rst:388
msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:"
msgstr ""
"Notes à propos de l'utilisation de :class:`Set` et :class:`MutableSet` comme "
"*mixin* :"
#: library/collections.abc.rst:388
#: library/collections.abc.rst:391
msgid ""
"Since some set operations create new sets, the default mixin methods need a "
"way to create new instances from an iterable. The class constructor is "
@ -709,7 +715,7 @@ msgstr ""
"`_from_iterable` avec une méthode de classe ou une méthode ordinaire qui "
"peut construire de nouvelles instances à partir d'un argument itérable."
#: library/collections.abc.rst:399
#: library/collections.abc.rst:402
msgid ""
"To override the comparisons (presumably for speed, as the semantics are "
"fixed), redefine :meth:`__le__` and :meth:`__ge__`, then the other "
@ -719,7 +725,7 @@ msgstr ""
"sémantique est fixe), il faut redéfinir :meth:`__le__` et :meth:`__ge__`, "
"puis les autres opérations seront automatiquement adaptées."
#: library/collections.abc.rst:404
#: library/collections.abc.rst:407
msgid ""
"The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash "
"value for the set; however, :meth:`__hash__` is not defined because not all "
@ -733,7 +739,7 @@ msgstr ""
"Pour rendre un ensemble hachable en utilisant les *mixins*, héritez de :meth:"
"`Set` et de :meth:`Hashable`, puis définissez ``__hash__ = Set._hash``."
#: library/collections.abc.rst:412
#: library/collections.abc.rst:415
msgid ""
"`OrderedSet recipe <https://code.activestate.com/recipes/576694/>`_ for an "
"example built on :class:`MutableSet`."
@ -741,7 +747,7 @@ msgstr ""
"`OrderedSet recipe <https://code.activestate.com/recipes/576694/>`_ pour un "
"exemple construit sur :class:`MutableSet`."
#: library/collections.abc.rst:415
#: library/collections.abc.rst:418
msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`."
msgstr ""
"Pour plus d'informations à propos des ABC, voir le module :mod:`abc` et la :"

File diff suppressed because it is too large Load Diff

View File

@ -5,14 +5,14 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-20 10:51+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-12 09:38-0400\n"
"Last-Translator: Edith Viau <info@eviau.net>\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"
"Last-Translator: Edith Viau <info@eviau.net>\n"
"X-Generator: Poedit 2.3\n"
#: library/doctest.rst:2
@ -1342,7 +1342,7 @@ msgstr ""
"lors d'un post-mortem. Le comportement par défaut est de poursuivre "
"l'exécution des exemples."
#: library/doctest.rst:903 library/doctest.rst:1043
#: library/doctest.rst:1043
msgid ""
"Optional argument *parser* specifies a :class:`DocTestParser` (or subclass) "
"that should be used to extract tests from the files. It defaults to a "
@ -1353,7 +1353,7 @@ msgstr ""
"Par défaut, on utilise un analyseur normal (c'est-à-dire, "
"``DocTestParser()``)."
#: library/doctest.rst:907 library/doctest.rst:1047
#: library/doctest.rst:1047
msgid ""
"Optional argument *encoding* specifies an encoding that should be used to "
"convert the file to unicode."
@ -1636,7 +1636,7 @@ msgstr ""
"fonction *setUp* peut accéder aux valeurs globales du test par l'attribut "
"*globs* du test passé."
#: library/doctest.rst:1034 library/doctest.rst:1068
#: library/doctest.rst:1068
msgid ""
"Optional argument *globs* is a dictionary containing the initial global "
"variables for the tests. A new copy of this dictionary is created for each "
@ -2148,7 +2148,7 @@ msgid ""
"use them to create a :class:`DocTest` object."
msgstr ""
#: library/doctest.rst:1378 library/doctest.rst:1446
#: library/doctest.rst:1446
msgid ":class:`DocTestParser` defines the following methods:"
msgstr "La classe :class:`DocTestFinder` définit les méthodes suivantes :"
@ -2261,7 +2261,7 @@ msgid ""
"should not be called directly."
msgstr ""
#: library/doctest.rst:1466 library/doctest.rst:1477
#: library/doctest.rst:1477
msgid ""
"*example* is the example about to be processed. *got* is the actual output "
"from the example. *test* is the test containing *example*. *out* is the "
@ -2427,7 +2427,8 @@ msgid ""
msgstr ""
#: library/doctest.rst:1644
msgid "displays ::"
#, fuzzy
msgid "displays::"
msgstr "affiche ::"
#: library/doctest.rst:1654
@ -2577,13 +2578,13 @@ msgstr ""
msgid ":exc:`DocTestFailure` defines the following attributes:"
msgstr ":exc:`DocTestFailure` définit les attributs suivants :"
#: library/doctest.rst:1744 library/doctest.rst:1768
#: library/doctest.rst:1768
msgid "The :class:`DocTest` object that was being run when the example failed."
msgstr ""
"L'objet issu de la classe :class:`DocTest` qui était en cours d'exécution "
"lorsque l'exemple a échoué."
#: library/doctest.rst:1749 library/doctest.rst:1773
#: library/doctest.rst:1773
msgid "The :class:`Example` that failed."
msgstr "L'exemple :class:`Example` qui a échoué."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-19 16:59+0100\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-12-11 11:26+0100\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1280,9 +1280,9 @@ msgstr ""
#: library/enum.rst:1128
msgid ""
"Private names will be normal attributes in Python 3.10 instead of either an "
"Private names will be normal attributes in Python 3.11 instead of either an "
"error or a member (depending on if the name ends with an underscore). Using "
"these names in 3.9 will issue a :exc:`DeprecationWarning`."
"these names in 3.10 will issue a :exc:`DeprecationWarning`."
msgstr ""
#: library/enum.rst:1134
@ -1306,11 +1306,15 @@ msgstr ""
"(c'est une autre bonne raison pour définir tous les noms des membres en "
"majuscules) ::"
#: library/enum.rst:1157
#: library/enum.rst:1155
msgid "This behavior is deprecated and will be removed in 3.12."
msgstr ""
#: library/enum.rst:1161
msgid "Boolean value of ``Enum`` classes and members"
msgstr "Valeur booléenne des classes ``Enum`` et de leurs membres"
#: library/enum.rst:1159
#: library/enum.rst:1163
msgid ""
":class:`Enum` members that are mixed with non-:class:`Enum` types (such as :"
"class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in "
@ -1324,15 +1328,15 @@ msgstr ""
"faire dépendre l'évaluation booléenne de votre propre *Enum* de la valeur du "
"membre, il faut ajouter le code suivant à votre classe ::"
#: library/enum.rst:1168
#: library/enum.rst:1172
msgid ":class:`Enum` classes always evaluate as :data:`True`."
msgstr "Les classes :class:`Enum` valent toujours :data:`True`."
#: library/enum.rst:1172
#: library/enum.rst:1176
msgid "``Enum`` classes with methods"
msgstr "Classes ``Enum`` avec des méthodes"
#: library/enum.rst:1174
#: library/enum.rst:1178
msgid ""
"If you give your :class:`Enum` subclass extra methods, like the `Planet`_ "
"class above, those methods will show up in a :func:`dir` of the member, but "
@ -1342,11 +1346,11 @@ msgstr ""
"la classe `Planet`_ ci-dessus, elles s'afficheront avec un appel à :func:"
"`dir` sur le membre, mais pas avec un appel sur la classe ::"
#: library/enum.rst:1185
#: library/enum.rst:1189
msgid "Combining members of ``Flag``"
msgstr "Combinaison de membres de ``Flag``"
#: library/enum.rst:1187
#: library/enum.rst:1191
msgid ""
"If a combination of Flag members is not named, the :func:`repr` will include "
"all named flags and all named combinations of flags that are in the value::"
@ -1354,3 +1358,10 @@ msgstr ""
"Si une valeur issue de la combinaison de membres de *Flag* n'est pas "
"associée explicitement à un membre, la fonction :func:`repr` inclut tous les "
"membres et toutes les combinaisons de membres présents dans cette valeur ::"
#: library/enum.rst:1209
msgid ""
"In 3.11 unnamed combinations of flags will only produce the canonical flag "
"members (aka single-value flags). So ``Color(7)`` will produce something "
"like ``<Color.BLUE|GREEN|RED: 7>``."
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-19 23:19+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -109,8 +109,8 @@ msgid ""
"*openhook* parameter to :func:`fileinput.input` or :class:`FileInput()`. The "
"hook must be a function that takes two arguments, *filename* and *mode*, and "
"returns an accordingly opened file-like object. If *encoding* and/or "
"*errors* are specified, they will be passed to the hook as aditional keyword "
"arguments. This module provides a :func:`hook_compressed` to support "
"*errors* are specified, they will be passed to the hook as additional "
"keyword arguments. This module provides a :func:`hook_compressed` to support "
"compressed files."
msgstr ""
"Le paramètre *openhook* donne le contrôle sur la manière dont les fichiers "

View File

@ -1,381 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: library/formatter.rst:2
msgid ":mod:`formatter` --- Generic output formatting"
msgstr ""
#: library/formatter.rst:8
msgid "Due to lack of usage, the formatter module has been deprecated."
msgstr ""
#: library/formatter.rst:13
msgid ""
"This module supports two interface definitions, each with multiple "
"implementations: The *formatter* interface, and the *writer* interface which "
"is required by the formatter interface."
msgstr ""
#: library/formatter.rst:17
msgid ""
"Formatter objects transform an abstract flow of formatting events into "
"specific output events on writer objects. Formatters manage several stack "
"structures to allow various properties of a writer object to be changed and "
"restored; writers need not be able to handle relative changes nor any sort "
"of \"change back\" operation. Specific writer properties which may be "
"controlled via formatter objects are horizontal alignment, font, and left "
"margin indentations. A mechanism is provided which supports providing "
"arbitrary, non-exclusive style settings to a writer as well. Additional "
"interfaces facilitate formatting events which are not reversible, such as "
"paragraph separation."
msgstr ""
#: library/formatter.rst:27
msgid ""
"Writer objects encapsulate device interfaces. Abstract devices, such as "
"file formats, are supported as well as physical devices. The provided "
"implementations all work with abstract devices. The interface makes "
"available mechanisms for setting the properties which formatter objects "
"manage and inserting data into the output."
msgstr ""
#: library/formatter.rst:37
msgid "The Formatter Interface"
msgstr ""
#: library/formatter.rst:39
msgid ""
"Interfaces to create formatters are dependent on the specific formatter "
"class being instantiated. The interfaces described below are the required "
"interfaces which all formatters must support once initialized."
msgstr ""
#: library/formatter.rst:43
msgid "One data element is defined at the module level:"
msgstr ""
#: library/formatter.rst:48
msgid ""
"Value which can be used in the font specification passed to the "
"``push_font()`` method described below, or as the new value to any other "
"``push_property()`` method. Pushing the ``AS_IS`` value allows the "
"corresponding ``pop_property()`` method to be called without having to track "
"whether the property was changed."
msgstr ""
#: library/formatter.rst:53
msgid "The following attributes are defined for formatter instance objects:"
msgstr ""
#: library/formatter.rst:58
msgid "The writer instance with which the formatter interacts."
msgstr ""
#: library/formatter.rst:63
msgid ""
"Close any open paragraphs and insert at least *blanklines* before the next "
"paragraph."
msgstr ""
#: library/formatter.rst:69
msgid ""
"Add a hard line break if one does not already exist. This does not break "
"the logical paragraph."
msgstr ""
#: library/formatter.rst:75
msgid ""
"Insert a horizontal rule in the output. A hard break is inserted if there "
"is data in the current paragraph, but the logical paragraph is not broken. "
"The arguments and keywords are passed on to the writer's :meth:"
"`send_line_break` method."
msgstr ""
#: library/formatter.rst:83
msgid ""
"Provide data which should be formatted with collapsed whitespace. Whitespace "
"from preceding and successive calls to :meth:`add_flowing_data` is "
"considered as well when the whitespace collapse is performed. The data "
"which is passed to this method is expected to be word-wrapped by the output "
"device. Note that any word-wrapping still must be performed by the writer "
"object due to the need to rely on device and font information."
msgstr ""
#: library/formatter.rst:93
msgid ""
"Provide data which should be passed to the writer unchanged. Whitespace, "
"including newline and tab characters, are considered legal in the value of "
"*data*."
msgstr ""
#: library/formatter.rst:100
msgid ""
"Insert a label which should be placed to the left of the current left "
"margin. This should be used for constructing bulleted or numbered lists. If "
"the *format* value is a string, it is interpreted as a format specification "
"for *counter*, which should be an integer. The result of this formatting "
"becomes the value of the label; if *format* is not a string it is used as "
"the label value directly. The label value is passed as the only argument to "
"the writer's :meth:`send_label_data` method. Interpretation of non-string "
"label values is dependent on the associated writer."
msgstr ""
#: library/formatter.rst:109
msgid ""
"Format specifications are strings which, in combination with a counter "
"value, are used to compute label values. Each character in the format "
"string is copied to the label value, with some characters recognized to "
"indicate a transform on the counter value. Specifically, the character "
"``'1'`` represents the counter value formatter as an Arabic number, the "
"characters ``'A'`` and ``'a'`` represent alphabetic representations of the "
"counter value in upper and lower case, respectively, and ``'I'`` and ``'i'`` "
"represent the counter value in Roman numerals, in upper and lower case. "
"Note that the alphabetic and roman transforms require that the counter value "
"be greater than zero."
msgstr ""
#: library/formatter.rst:122
msgid ""
"Send any pending whitespace buffered from a previous call to :meth:"
"`add_flowing_data` to the associated writer object. This should be called "
"before any direct manipulation of the writer object."
msgstr ""
#: library/formatter.rst:129
msgid ""
"Push a new alignment setting onto the alignment stack. This may be :const:"
"`AS_IS` if no change is desired. If the alignment value is changed from the "
"previous setting, the writer's :meth:`new_alignment` method is called with "
"the *align* value."
msgstr ""
#: library/formatter.rst:137
msgid "Restore the previous alignment."
msgstr ""
#: library/formatter.rst:142
msgid ""
"Change some or all font properties of the writer object. Properties which "
"are not set to :const:`AS_IS` are set to the values passed in while others "
"are maintained at their current settings. The writer's :meth:`new_font` "
"method is called with the fully resolved font specification."
msgstr ""
#: library/formatter.rst:150
msgid "Restore the previous font."
msgstr ""
#: library/formatter.rst:155
msgid ""
"Increase the number of left margin indentations by one, associating the "
"logical tag *margin* with the new indentation. The initial margin level is "
"``0``. Changed values of the logical tag must be true values; false values "
"other than :const:`AS_IS` are not sufficient to change the margin."
msgstr ""
#: library/formatter.rst:163
msgid "Restore the previous margin."
msgstr ""
#: library/formatter.rst:168
msgid ""
"Push any number of arbitrary style specifications. All styles are pushed "
"onto the styles stack in order. A tuple representing the entire stack, "
"including :const:`AS_IS` values, is passed to the writer's :meth:"
"`new_styles` method."
msgstr ""
#: library/formatter.rst:175
msgid ""
"Pop the last *n* style specifications passed to :meth:`push_style`. A tuple "
"representing the revised stack, including :const:`AS_IS` values, is passed "
"to the writer's :meth:`new_styles` method."
msgstr ""
#: library/formatter.rst:182
msgid "Set the spacing style for the writer."
msgstr ""
#: library/formatter.rst:187
msgid ""
"Inform the formatter that data has been added to the current paragraph out-"
"of-band. This should be used when the writer has been manipulated "
"directly. The optional *flag* argument can be set to false if the writer "
"manipulations produced a hard line break at the end of the output."
msgstr ""
#: library/formatter.rst:196
msgid "Formatter Implementations"
msgstr ""
#: library/formatter.rst:198
msgid ""
"Two implementations of formatter objects are provided by this module. Most "
"applications may use one of these classes without modification or "
"subclassing."
msgstr ""
#: library/formatter.rst:204
msgid ""
"A formatter which does nothing. If *writer* is omitted, a :class:"
"`NullWriter` instance is created. No methods of the writer are called by :"
"class:`NullFormatter` instances. Implementations should inherit from this "
"class if implementing a writer interface but don't need to inherit any "
"implementation."
msgstr ""
#: library/formatter.rst:213
msgid ""
"The standard formatter. This implementation has demonstrated wide "
"applicability to many writers, and may be used directly in most "
"circumstances. It has been used to implement a full-featured World Wide Web "
"browser."
msgstr ""
#: library/formatter.rst:221
msgid "The Writer Interface"
msgstr ""
#: library/formatter.rst:223
msgid ""
"Interfaces to create writers are dependent on the specific writer class "
"being instantiated. The interfaces described below are the required "
"interfaces which all writers must support once initialized. Note that while "
"most applications can use the :class:`AbstractFormatter` class as a "
"formatter, the writer must typically be provided by the application."
msgstr ""
#: library/formatter.rst:232
msgid "Flush any buffered output or device control events."
msgstr ""
#: library/formatter.rst:237
msgid ""
"Set the alignment style. The *align* value can be any object, but by "
"convention is a string or ``None``, where ``None`` indicates that the "
"writer's \"preferred\" alignment should be used. Conventional *align* values "
"are ``'left'``, ``'center'``, ``'right'``, and ``'justify'``."
msgstr ""
#: library/formatter.rst:245
msgid ""
"Set the font style. The value of *font* will be ``None``, indicating that "
"the device's default font should be used, or a tuple of the form ``(size, "
"italic, bold, teletype)``. Size will be a string indicating the size of "
"font that should be used; specific strings and their interpretation must be "
"defined by the application. The *italic*, *bold*, and *teletype* values are "
"Boolean values specifying which of those font attributes should be used."
msgstr ""
#: library/formatter.rst:255
msgid ""
"Set the margin level to the integer *level* and the logical tag to *margin*. "
"Interpretation of the logical tag is at the writer's discretion; the only "
"restriction on the value of the logical tag is that it not be a false value "
"for non-zero values of *level*."
msgstr ""
#: library/formatter.rst:263
msgid "Set the spacing style to *spacing*."
msgstr ""
#: library/formatter.rst:268
msgid ""
"Set additional styles. The *styles* value is a tuple of arbitrary values; "
"the value :const:`AS_IS` should be ignored. The *styles* tuple may be "
"interpreted either as a set or as a stack depending on the requirements of "
"the application and writer implementation."
msgstr ""
#: library/formatter.rst:276
msgid "Break the current line."
msgstr ""
#: library/formatter.rst:281
msgid ""
"Produce a paragraph separation of at least *blankline* blank lines, or the "
"equivalent. The *blankline* value will be an integer. Note that the "
"implementation will receive a call to :meth:`send_line_break` before this "
"call if a line break is needed; this method should not include ending the "
"last line of the paragraph. It is only responsible for vertical spacing "
"between paragraphs."
msgstr ""
#: library/formatter.rst:291
msgid ""
"Display a horizontal rule on the output device. The arguments to this "
"method are entirely application- and writer-specific, and should be "
"interpreted with care. The method implementation may assume that a line "
"break has already been issued via :meth:`send_line_break`."
msgstr ""
#: library/formatter.rst:299
msgid ""
"Output character data which may be word-wrapped and re-flowed as needed. "
"Within any sequence of calls to this method, the writer may assume that "
"spans of multiple whitespace characters have been collapsed to single space "
"characters."
msgstr ""
#: library/formatter.rst:306
msgid ""
"Output character data which has already been formatted for display. "
"Generally, this should be interpreted to mean that line breaks indicated by "
"newline characters should be preserved and no new line breaks should be "
"introduced. The data may contain embedded newline and tab characters, "
"unlike data provided to the :meth:`send_formatted_data` interface."
msgstr ""
#: library/formatter.rst:315
msgid ""
"Set *data* to the left of the current left margin, if possible. The value of "
"*data* is not restricted; treatment of non-string values is entirely "
"application- and writer-dependent. This method will only be called at the "
"beginning of a line."
msgstr ""
#: library/formatter.rst:324
msgid "Writer Implementations"
msgstr ""
#: library/formatter.rst:326
msgid ""
"Three implementations of the writer object interface are provided as "
"examples by this module. Most applications will need to derive new writer "
"classes from the :class:`NullWriter` class."
msgstr ""
#: library/formatter.rst:333
msgid ""
"A writer which only provides the interface definition; no actions are taken "
"on any methods. This should be the base class for all writers which do not "
"need to inherit any implementation methods."
msgstr ""
#: library/formatter.rst:340
msgid ""
"A writer which can be used in debugging formatters, but not much else. Each "
"method simply announces itself by printing its name and arguments on "
"standard output."
msgstr ""
#: library/formatter.rst:347
msgid ""
"Simple writer class which writes output on the :term:`file object` passed in "
"as *file* or, if *file* is omitted, on standard output. The output is "
"simply word-wrapped to the number of columns specified by *maxcol*. This "
"class is suitable for reflowing a sequence of paragraphs."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-08-30 23:21+0200\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -2616,13 +2616,14 @@ msgstr ""
"équivalente à l'opérateur puissance : ``base**exp``."
#: library/functions.rst:1355
#, fuzzy
msgid ""
"The arguments must have numeric types. With mixed operand types, the "
"coercion rules for binary arithmetic operators apply. For :class:`int` "
"operands, the result has the same type as the operands (after coercion) "
"unless the second argument is negative; in that case, all arguments are "
"converted to float and a float result is delivered. For example, ``10**2`` "
"returns ``100``, but ``10**-2`` returns ``0.01``."
"converted to float and a float result is delivered. For example, ``pow(10, "
"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``."
msgstr ""
"Les arguments doivent être de types numériques. Avec des opérandes de "
"différents types, les mêmes règles de coercition que celles des opérateurs "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-04-27 22:47+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -627,17 +627,19 @@ msgstr ""
"séquentiel)."
#: library/hashlib.rst:379
#, fuzzy
msgid ""
"*leaf_size*: maximal byte length of leaf (0 to 2**32-1, 0 if unlimited or in "
"sequential mode)."
"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited "
"or in sequential mode)."
msgstr ""
"*leaf_size*: taille maximale en octets d'une feuille (0 à 2**32-1, 0 si "
"illimité ou en mode séquentiel)."
#: library/hashlib.rst:382
#, fuzzy
msgid ""
"*node_offset*: node offset (0 to 2**64-1 for BLAKE2b, 0 to 2**48-1 for "
"BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)."
"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` "
"for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)."
msgstr ""
"*node_offset*: décalage de nœud (0 à 2**64-1 pour BLAKE2b, 0 à 2**48-1 pour "
"BLAKE2s, 0 pour la première feuille la plus à gauche, ou en mode séquentiel)."
@ -766,12 +768,12 @@ msgid "Keyed hashing"
msgstr "Code d'authentification de message"
#: library/hashlib.rst:501
#, fuzzy
msgid ""
"Keyed hashing can be used for authentication as a faster and simpler "
"replacement for `Hash-based message authentication code <https://en."
"wikipedia.org/wiki/Hash-based_message_authentication_code>`_ (HMAC). BLAKE2 "
"can be securely used in prefix-MAC mode thanks to the indifferentiability "
"property inherited from BLAKE."
"wikipedia.org/wiki/HMAC>`_ (HMAC). BLAKE2 can be securely used in prefix-MAC "
"mode thanks to the indifferentiability property inherited from BLAKE."
msgstr ""
"Le hachage avec clé (*keyed hashing* en anglais) est une alternative plus "
"simple et plus rapide à un `code dauthentification dune empreinte "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2018-09-27 15:05+0200\n"
"Last-Translator: Bruno Inec <brunoinec@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -71,6 +71,9 @@ msgid "Footnotes"
msgstr "Notes"
#: library/html.entities.rst:47
msgid "See https://www.w3.org/TR/html5/syntax.html#named-character-references"
#, fuzzy
msgid ""
"See https://html.spec.whatwg.org/multipage/syntax.html#named-character-"
"references"
msgstr ""
"Voir https://www.w3.org/TR/html5/syntax.html#named-character-references"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -164,7 +164,7 @@ msgid ""
msgstr ""
#: library/http.cookiejar.rst:129
msgid "https://curl.haxx.se/rfc/cookie_spec.html"
msgid "https://curl.se/rfc/cookie_spec.html"
msgstr ""
#: library/http.cookiejar.rst:126

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-09-04 11:42+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -257,8 +257,8 @@ msgstr "Distribution"
#: library/importlib.metadata.rst:258
msgid ""
"A convience method to resolve the distribution or distributions (in the case "
"of a namespace package) for top-level Python packages or modules::"
"A convenience method to resolve the distribution or distributions (in the "
"case of a namespace package) for top-level Python packages or modules::"
msgstr ""
#: library/importlib.metadata.rst:269

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-06-08 09:38+0200\n"
"Last-Translator: Martin Chlumsky <martin.chlumsky@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -66,12 +66,13 @@ msgstr ""
"créer des adresses IP, réseaux et interfaces :"
#: library/ipaddress.rst:42
#, fuzzy
msgid ""
"Return an :class:`IPv4Address` or :class:`IPv6Address` object depending on "
"the IP address passed as argument. Either IPv4 or IPv6 addresses may be "
"supplied; integers less than 2**32 will be considered to be IPv4 by default. "
"A :exc:`ValueError` is raised if *address* does not represent a valid IPv4 "
"or IPv6 address."
"supplied; integers less than ``2**32`` will be considered to be IPv4 by "
"default. A :exc:`ValueError` is raised if *address* does not represent a "
"valid IPv4 or IPv6 address."
msgstr ""
"Renvoie un objet :class:`IPv4Address` ou :class:`IPv6Address` en fonction de "
"l'adresse IP passée en argument. Des adresses IPv4 ou IPv6 peuvent être "
@ -80,14 +81,15 @@ msgstr ""
"n'est ni valide en IPv4 ni en IPv6."
#: library/ipaddress.rst:56
#, fuzzy
msgid ""
"Return an :class:`IPv4Network` or :class:`IPv6Network` object depending on "
"the IP address passed as argument. *address* is a string or integer "
"representing the IP network. Either IPv4 or IPv6 networks may be supplied; "
"integers less than 2**32 will be considered to be IPv4 by default. *strict* "
"is passed to :class:`IPv4Network` or :class:`IPv6Network` constructor. A :"
"exc:`ValueError` is raised if *address* does not represent a valid IPv4 or "
"IPv6 address, or if the network has host bits set."
"integers less than ``2**32`` will be considered to be IPv4 by default. "
"*strict* is passed to :class:`IPv4Network` or :class:`IPv6Network` "
"constructor. A :exc:`ValueError` is raised if *address* does not represent "
"a valid IPv4 or IPv6 address, or if the network has host bits set."
msgstr ""
"Renvoie un objet :class:`IPv4Network` ou :class:`IPv6Network` en fonction de "
"l'adresse IP passée en argument. *address* est une chaîne ou un entier "
@ -98,13 +100,14 @@ msgstr ""
"ni valide en IPv4 ni en IPv6, ou si le réseau a des bits d'hôte définis."
#: library/ipaddress.rst:70
#, fuzzy
msgid ""
"Return an :class:`IPv4Interface` or :class:`IPv6Interface` object depending "
"on the IP address passed as argument. *address* is a string or integer "
"representing the IP address. Either IPv4 or IPv6 addresses may be supplied; "
"integers less than 2**32 will be considered to be IPv4 by default. A :exc:"
"`ValueError` is raised if *address* does not represent a valid IPv4 or IPv6 "
"address."
"integers less than ``2**32`` will be considered to be IPv4 by default. A :"
"exc:`ValueError` is raised if *address* does not represent a valid IPv4 or "
"IPv6 address."
msgstr ""
"Renvoie un objet :class:`IPv4Interface` ou :class:`IPv6Interface` en "
"fonction de l'adresse IP passée en argument. *address* est une chaîne ou un "
@ -823,7 +826,7 @@ msgstr ""
#: library/ipaddress.rst:683
msgid ""
"Note that currently expanded netmasks are not supported. That means ``2001:"
"db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` not."
"db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` is not."
msgstr ""
#: library/ipaddress.rst:687

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-19 16:59+0100\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-07-28 18:57+0200\n"
"Last-Translator: Caliendo Julien <caliendo@hotmail.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -24,13 +24,14 @@ msgid "**Source code:** :source:`Lib/json/__init__.py`"
msgstr "**Code source :** :source:`Lib/json/__init__.py`"
#: library/json.rst:14
#, fuzzy
msgid ""
"`JSON (JavaScript Object Notation) <http://json.org>`_, specified by :rfc:"
"`7159` (which obsoletes :rfc:`4627`) and by `ECMA-404 <http://www.ecma-"
"international.org/publications/standards/Ecma-404.htm>`_, is a lightweight "
"data interchange format inspired by `JavaScript <https://en.wikipedia.org/"
"wiki/JavaScript>`_ object literal syntax (although it is not a strict subset "
"of JavaScript [#rfc-errata]_ )."
"`JSON (JavaScript Object Notation) <https://json.org>`_, specified by :rfc:"
"`7159` (which obsoletes :rfc:`4627`) and by `ECMA-404 <https://www.ecma-"
"international.org/publications-and-standards/standards/ecma-404/>`_, is a "
"lightweight data interchange format inspired by `JavaScript <https://en."
"wikipedia.org/wiki/JavaScript>`_ object literal syntax (although it is not a "
"strict subset of JavaScript [#rfc-errata]_ )."
msgstr ""
"`JSON (JavaScript Object Notation) <http://json.org>`_, décrit par la :rfc:"
"`7159` (qui rend la :rfc:`4627` obsolète) et par le standard `ECMA-404 "
@ -762,12 +763,13 @@ msgid "Standard Compliance and Interoperability"
msgstr "Conformité au standard et Interopérabilité"
#: library/json.rst:546
#, fuzzy
msgid ""
"The JSON format is specified by :rfc:`7159` and by `ECMA-404 <http://www."
"ecma-international.org/publications/standards/Ecma-404.htm>`_. This section "
"details this module's level of compliance with the RFC. For simplicity, :"
"class:`JSONEncoder` and :class:`JSONDecoder` subclasses, and parameters "
"other than those explicitly mentioned, are not considered."
"The JSON format is specified by :rfc:`7159` and by `ECMA-404 <https://www."
"ecma-international.org/publications-and-standards/standards/ecma-404/>`_. "
"This section details this module's level of compliance with the RFC. For "
"simplicity, :class:`JSONEncoder` and :class:`JSONDecoder` subclasses, and "
"parameters other than those explicitly mentioned, are not considered."
msgstr ""
"Le format JSON est décrit par la :rfc:`7159` et le standard `ECMA-404 "
"<http://www.ecma-international.org/publications/standards/Ecma-404.htm>`_. "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-03-23 22:54+0100\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -2070,7 +2070,7 @@ msgstr ""
#: library/logging.rst:1362
msgid ""
"`Original Python logging package <https://www.red-dove.com/python_logging."
"`Original Python logging package <https://old.red-dove.com/python_logging."
"html>`_"
msgstr ""

View File

@ -1,27 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2018-02-15 00:44+0100\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"
#: library/misc.rst:5
msgid "Miscellaneous Services"
msgstr "Services divers"
#: library/misc.rst:7
msgid ""
"The modules described in this chapter provide miscellaneous services that "
"are available in all Python versions. Here's an overview:"
msgstr ""
"Les modules documentés dans ce chapitre fournissent différents services "
"disponibles dans toutes les version de Python. En voici un aperçu :"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-09-04 11:44+0200\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -382,3 +382,12 @@ msgstr ""
"L'exemple ci-dessous montre comment un, deux ou un grand nombre de processus "
"peuvent accéder à une :class:`ShareableList` commune à partir du nom du bloc "
"mémoire partagé sous-jacent :"
#: library/multiprocessing.shared_memory.rst:345
msgid ""
"The following examples demonstrates that ``ShareableList`` (and underlying "
"``SharedMemory``) objects can be pickled and unpickled if needed. Note, that "
"it will still be the same shared object. This happens, because the "
"deserialized object has the same unique name and is just attached to an "
"existing object with the same name (if the object is still alive):"
msgstr ""

View File

@ -1,145 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2018-10-13 17:51+0200\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.6\n"
#: library/othergui.rst:4
msgid "Other Graphical User Interface Packages"
msgstr "Autres paquets d'interface graphique utilisateur"
#: library/othergui.rst:6
msgid ""
"Major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits are "
"available for Python:"
msgstr ""
"Des boîtes à outils multiplateformes (Windows, Mac OS X ou Unix et assimilé) "
"majeures sont disponibles pour Python :"
#: library/othergui.rst:17
msgid "`PyGObject <https://wiki.gnome.org/Projects/PyGObject>`_"
msgstr "`PyGObject <https://wiki.gnome.org/Projects/PyGObject>`_"
#: library/othergui.rst:12
msgid ""
"PyGObject provides introspection bindings for C libraries using `GObject "
"<https://developer.gnome.org/gobject/stable/>`_. One of these libraries is "
"the `GTK+ 3 <https://www.gtk.org/>`_ widget set. GTK+ comes with many more "
"widgets than Tkinter provides. An online `Python GTK+ 3 Tutorial <https://"
"python-gtk-3-tutorial.readthedocs.io/>`_ is available."
msgstr ""
"*PyGObject* fournit une surcouche introspective pour les bibliothèques C "
"utilisant `GObject <https://developer.gnome.org/gobject/stable/>`_. Une de "
"ces bibliothèques est la collection de composants graphiques `GTK+ 3 "
"<https://www.gtk.org/>`_"
#: library/othergui.rst:24
msgid "`PyGTK <http://www.pygtk.org/>`_"
msgstr "`PyGTK <http://www.pygtk.org/>`_"
#: library/othergui.rst:20
msgid ""
"PyGTK provides bindings for an older version of the library, GTK+ 2. It "
"provides an object oriented interface that is slightly higher level than the "
"C one. There are also bindings to `GNOME <https://www.gnome.org/>`_. An "
"online `tutorial <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is "
"available."
msgstr ""
"*PyGTK* fournit une surcouche pour une version plus ancienne de la "
"bibliothèque, GTK+ 2. Cette dernière fournit une interface orientée objet "
"qui est légèrement plus haut niveau que son équivalent C. Il y a également "
"une surcouche pour `GNOME <https://www.gnome.org/>`_. Un `tutoriel <http://"
"www.pygtk.org/pygtk2tutorial/index.html>`_ en ligne est disponible."
#: library/othergui.rst:31
msgid "`PyQt <https://riverbankcomputing.com/software/pyqt/intro>`_"
msgstr "`PyQt <https://riverbankcomputing.com/software/pyqt/intro>`_"
#: library/othergui.rst:27
msgid ""
"PyQt is a :program:`sip`\\ -wrapped binding to the Qt toolkit. Qt is an "
"extensive C++ GUI application development framework that is available for "
"Unix, Windows and Mac OS X. :program:`sip` is a tool for generating bindings "
"for C++ libraries as Python classes, and is specifically designed for Python."
msgstr ""
"*PyQt* est une surcouche de la boite à outils *Qt* basée sur :program:`sip`. "
"*Qt* est un *framework* complet de développement d'interface graphique en C+"
"+ , disponible pour Unix, Windows et Mac OS X. :program:`sip` est un outil "
"pour générer une surcouche de classes Python au dessus de bibliothèques C++, "
"et est spécifiquement conçu pour Python."
#: library/othergui.rst:37
#, fuzzy
msgid "`PySide2 <https://doc.qt.io/qtforpython/>`_"
msgstr "`PySide <https://wiki.qt.io/PySide>`_"
#: library/othergui.rst:34
#, fuzzy
msgid ""
"Also known as the Qt for Python project, PySide2 is a newer binding to the "
"Qt toolkit. It is provided by The Qt Company and aims to provide a complete "
"port of PySide to Qt 5. Compared to PyQt, its licensing scheme is friendlier "
"to non-open source applications."
msgstr ""
"*PySide* est une nouvelle surcouche de la boîte à outils *Qt*, fournie par "
"Nokia. Comparée à *PyQT*, son système de licence est plus accommodant pour "
"les application non open source."
#: library/othergui.rst:48
msgid "`wxPython <https://www.wxpython.org>`_"
msgstr "`wxPython <https://www.wxpython.org>`_"
#: library/othergui.rst:40
msgid ""
"wxPython is a cross-platform GUI toolkit for Python that is built around the "
"popular `wxWidgets <https://www.wxwidgets.org/>`_ (formerly wxWindows) C++ "
"toolkit. It provides a native look and feel for applications on Windows, "
"Mac OS X, and Unix systems by using each platform's native widgets where "
"ever possible, (GTK+ on Unix-like systems). In addition to an extensive set "
"of widgets, wxPython provides classes for online documentation and context "
"sensitive help, printing, HTML viewing, low-level device context drawing, "
"drag and drop, system clipboard access, an XML-based resource format and "
"more, including an ever growing library of user-contributed modules."
msgstr ""
"*wxPython* est une boîte à outils d'interface graphique multiplateforme pour "
"Python qui est construite autour de la populaire boîte à outils `wxWidgets "
"<https://www.wxwidgets.org/>`_ (anciennement *wxWindows*). En plus d'un "
"ensemble de composants graphiques complet, *wxPython* fournit des classes "
"pour de la documentation en ligne, de l'aide contextuelle, de l'impression, "
"de la consultation de HTML, du rendu graphique bas niveau, du glisser-"
"déposer, l'accès au système de presse-papier, un DSL de description de "
"ressources en XML et même plus, y compris une collection de modules "
"contribués par la communauté qui grandit sans cesse. Elle fournit un aspect "
"et une expérience native pour les applications sur Windows, Mac OS X et "
"systèmes Unix en utilisant les composants natifs de chaque plateforme quand "
"cela est possible (GTK+ sur les systèmes Unix et assimilés). "
#: library/othergui.rst:51
#, fuzzy
msgid ""
"PyGTK, PyQt, PySide2, and wxPython, all have a modern look and feel and more "
"widgets than Tkinter. In addition, there are many other GUI toolkits for "
"Python, both cross-platform, and platform-specific. See the `GUI Programming "
"<https://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for "
"a much more complete list, and also for links to documents where the "
"different GUI toolkits are compared."
msgstr ""
"*PyGTK*, *PyQt*, et *wxPython* fournissent tous un aspect et une expérience "
"moderne ainsi que plus de composants graphiques que Tkinter. De plus, il y a "
"de nombreuses autres boîtes à outils pour Python, que ce soit "
"multiplateformes ou spécifiques à une plateforme. Consultez la page sur la "
"`programmation d'interface graphique <https://wiki.python.org/moin/"
"GuiProgramming>`_ du Wiki Python pour une liste bien plus complète, ainsi "
"que des liens vers des documents où les différentes boîtes à outils "
"graphiques sont comparées."

View File

@ -1,441 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2019-06-20 14:07+0200\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"
#: library/parser.rst:2
msgid ":mod:`parser` --- Access Python parse trees"
msgstr ":mod:`parser` — Accès aux arbres syntaxiques"
#: library/parser.rst:21
msgid ""
"The :mod:`parser` module provides an interface to Python's internal parser "
"and byte-code compiler. The primary purpose for this interface is to allow "
"Python code to edit the parse tree of a Python expression and create "
"executable code from this. This is better than trying to parse and modify "
"an arbitrary Python code fragment as a string because parsing is performed "
"in a manner identical to the code forming the application. It is also "
"faster."
msgstr ""
"Le module :mod:`parser` expose une interface à l'analyseur et au compilateur "
"de byte-code internes de Python. Son objectif principal est de permettre à "
"du code Python de modifier l'arbre syntaxique d'une expression Python puis "
"de la rendre exécutable. Cette approche est plus fiable que celle consistant "
"à manipuler des chaines de caractères, puisque l'analyse est faite avec le "
"même analyseur que celui utilisé pour le code de l'application. C'est aussi "
"plus rapide."
#: library/parser.rst:30
#, fuzzy
msgid ""
"The parser module is deprecated and will be removed in future versions of "
"Python. For the majority of use cases you can leverage the Abstract Syntax "
"Tree (AST) generation and compilation stage, using the :mod:`ast` module."
msgstr ""
"À partir de Python 2.5, il est plus pratique de faire ces manipulations "
"entre la génération de l'AST (*Abstract Syntax Tree*) et la compilation, en "
"utilisant le module :mod:`ast`."
#: library/parser.rst:34
msgid ""
"There are a few things to note about this module which are important to "
"making use of the data structures created. This is not a tutorial on "
"editing the parse trees for Python code, but some examples of using the :mod:"
"`parser` module are presented."
msgstr ""
"Certaines particularités de ce module sont importantes à retenir pour en "
"faire un bon usage. Ce n'est pas un tutoriel sur la modification d'arbres "
"syntaxiques Python, mais certains exemples d'utilisation du module :mod:"
"`parser` sont présentés."
#: library/parser.rst:39
#, fuzzy
msgid ""
"Most importantly, a good understanding of the Python grammar processed by "
"the internal parser is required. For full information on the language "
"syntax, refer to :ref:`reference-index`. The parser itself is created from "
"a grammar specification defined in the file :file:`Grammar/Grammar` in the "
"standard Python distribution. The parse trees stored in the ST objects "
"created by this module are the actual output from the internal parser when "
"created by the :func:`expr` or :func:`suite` functions, described below. "
"The ST objects created by :func:`sequence2st` faithfully simulate those "
"structures. Be aware that the values of the sequences which are considered "
"\"correct\" will vary from one version of Python to another as the formal "
"grammar for the language is revised. However, transporting code from one "
"Python version to another as source text will always allow correct parse "
"trees to be created in the target version, with the only restriction being "
"that migrating to an older version of the interpreter will not support more "
"recent language constructs. The parse trees are not typically compatible "
"from one version to another, though source code has usually been forward-"
"compatible within a major release series."
msgstr ""
"Le prérequis le plus important est une bonne compréhension de la grammaire "
"Python utilisée par l'analyseur interne dont la syntaxe est documentée "
"exhaustivement dans :ref:`reference-index`. L'analyseur lui-même est généré "
"à partir d'une grammaire spécifiée dans le fichier :file:`Grammar/Grammar` "
"dans la distribution standard de Python. Les arbres syntaxiques stockés dans "
"les objets ST créés par les fonctions :func:`expr` ou :func:`suite` de ce "
"module sont directement le résultat de l'analyseur interne, alors que les "
"objets ST créés par :func:`sequence2st` simulent ces structures. N'oubliez "
"pas qu'une séquence considérée « correcte » dans une version de Python peut "
"ne pas l'être dans une autre, la grammaire de Python pouvant évoluer. "
"Cependant, déplacer du code source d'une version de Python à une autre sous "
"forme textuelle donnera toujours des arbres syntaxique corrects, à "
"l'exception qu'une version plus ancienne de l'interpréteur ne pourra pas "
"analyser les constructions récentes du langage. Les arbres syntaxiques quant "
"à eux ne sont généralement pas compatibles d'une version à l'autre, alors "
"que le code source a toujours conservé la compatibilité ascendante."
#: library/parser.rst:57
msgid ""
"Each element of the sequences returned by :func:`st2list` or :func:"
"`st2tuple` has a simple form. Sequences representing non-terminal elements "
"in the grammar always have a length greater than one. The first element is "
"an integer which identifies a production in the grammar. These integers are "
"given symbolic names in the C header file :file:`Include/graminit.h` and the "
"Python module :mod:`symbol`. Each additional element of the sequence "
"represents a component of the production as recognized in the input string: "
"these are always sequences which have the same form as the parent. An "
"important aspect of this structure which should be noted is that keywords "
"used to identify the parent node type, such as the keyword :keyword:`if` in "
"an :const:`if_stmt`, are included in the node tree without any special "
"treatment. For example, the :keyword:`!if` keyword is represented by the "
"tuple ``(1, 'if')``, where ``1`` is the numeric value associated with all :"
"const:`NAME` tokens, including variable and function names defined by the "
"user. In an alternate form returned when line number information is "
"requested, the same token might be represented as ``(1, 'if', 12)``, where "
"the ``12`` represents the line number at which the terminal symbol was found."
msgstr ""
"Chaque élément des séquences renvoyé par les fonctions :func:`st2list` ou :"
"func:`st2tuple` possède une forme simple. Les séquences représentant des "
"éléments non terminaux de la grammaire ont toujours une taille supérieure à "
"un. Le premier élément est un nombre entier représentant un élément de la "
"grammaire. Le fichier d'en-têtes C :file:`Include/graminit.h` et le module "
"Python :mod:`symbol` attribuent des noms symboliques à ces nombres. Les "
"éléments suivants représentent les composants, tels que reconnus dans la "
"chaîne analysée, de cet élément grammatical : ces séquences ont toujours la "
"même forme que leur parent. Notez que les mots clés utilisés pour identifier "
"le type du nœud parent, tel que :keyword:`if` dans un :const:`if_stmt` sont "
"inclus dans l'arbre du nœud sans traitement particulier. Par exemple, le mot "
"clé :keyword:`!if` est représenté par la paire ``(1, 'if')``, où ``1`` est "
"la valeur numérique pour les lexèmes :const:`NAME`, ce qui inclut les noms "
"de variables et de fonctions définis par l'utilisateur. Dans sa forme "
"alternative, renvoyée lorsque le numéro de la ligne est requis, le même "
"lexème peut être représenté : ``(1, 'if', 12)``, où ``12`` est le numéro de "
"la ligne sur laquelle le dernier symbole se trouve."
#: library/parser.rst:74
msgid ""
"Terminal elements are represented in much the same way, but without any "
"child elements and the addition of the source text which was identified. "
"The example of the :keyword:`if` keyword above is representative. The "
"various types of terminal symbols are defined in the C header file :file:"
"`Include/token.h` and the Python module :mod:`token`."
msgstr ""
#: library/parser.rst:80
msgid ""
"The ST objects are not required to support the functionality of this module, "
"but are provided for three purposes: to allow an application to amortize the "
"cost of processing complex parse trees, to provide a parse tree "
"representation which conserves memory space when compared to the Python list "
"or tuple representation, and to ease the creation of additional modules in C "
"which manipulate parse trees. A simple \"wrapper\" class may be created in "
"Python to hide the use of ST objects."
msgstr ""
#: library/parser.rst:88
msgid ""
"The :mod:`parser` module defines functions for a few distinct purposes. The "
"most important purposes are to create ST objects and to convert ST objects "
"to other representations such as parse trees and compiled code objects, but "
"there are also functions which serve to query the type of parse tree "
"represented by an ST object."
msgstr ""
#: library/parser.rst:98
msgid "Module :mod:`symbol`"
msgstr ""
#: library/parser.rst:98
msgid "Useful constants representing internal nodes of the parse tree."
msgstr ""
#: library/parser.rst:101
#, fuzzy
msgid "Module :mod:`token`"
msgstr "Module :mod:`tokenize`"
#: library/parser.rst:101
msgid ""
"Useful constants representing leaf nodes of the parse tree and functions for "
"testing node values."
msgstr ""
#: library/parser.rst:108
msgid "Creating ST Objects"
msgstr ""
#: library/parser.rst:110
msgid ""
"ST objects may be created from source code or from a parse tree. When "
"creating an ST object from source, different functions are used to create "
"the ``'eval'`` and ``'exec'`` forms."
msgstr ""
#: library/parser.rst:117
msgid ""
"The :func:`expr` function parses the parameter *source* as if it were an "
"input to ``compile(source, 'file.py', 'eval')``. If the parse succeeds, an "
"ST object is created to hold the internal parse tree representation, "
"otherwise an appropriate exception is raised."
msgstr ""
#: library/parser.rst:125
msgid ""
"The :func:`suite` function parses the parameter *source* as if it were an "
"input to ``compile(source, 'file.py', 'exec')``. If the parse succeeds, an "
"ST object is created to hold the internal parse tree representation, "
"otherwise an appropriate exception is raised."
msgstr ""
#: library/parser.rst:133
msgid ""
"This function accepts a parse tree represented as a sequence and builds an "
"internal representation if possible. If it can validate that the tree "
"conforms to the Python grammar and all nodes are valid node types in the "
"host version of Python, an ST object is created from the internal "
"representation and returned to the called. If there is a problem creating "
"the internal representation, or if the tree cannot be validated, a :exc:"
"`ParserError` exception is raised. An ST object created this way should not "
"be assumed to compile correctly; normal exceptions raised by compilation may "
"still be initiated when the ST object is passed to :func:`compilest`. This "
"may indicate problems not related to syntax (such as a :exc:`MemoryError` "
"exception), but may also be due to constructs such as the result of parsing "
"``del f(0)``, which escapes the Python parser but is checked by the bytecode "
"compiler."
msgstr ""
#: library/parser.rst:146
msgid ""
"Sequences representing terminal tokens may be represented as either two-"
"element lists of the form ``(1, 'name')`` or as three-element lists of the "
"form ``(1, 'name', 56)``. If the third element is present, it is assumed to "
"be a valid line number. The line number may be specified for any subset of "
"the terminal symbols in the input tree."
msgstr ""
#: library/parser.rst:155
msgid ""
"This is the same function as :func:`sequence2st`. This entry point is "
"maintained for backward compatibility."
msgstr ""
#: library/parser.rst:162
msgid "Converting ST Objects"
msgstr ""
#: library/parser.rst:164
msgid ""
"ST objects, regardless of the input used to create them, may be converted to "
"parse trees represented as list- or tuple- trees, or may be compiled into "
"executable code objects. Parse trees may be extracted with or without line "
"numbering information."
msgstr ""
#: library/parser.rst:172
msgid ""
"This function accepts an ST object from the caller in *st* and returns a "
"Python list representing the equivalent parse tree. The resulting list "
"representation can be used for inspection or the creation of a new parse "
"tree in list form. This function does not fail so long as memory is "
"available to build the list representation. If the parse tree will only be "
"used for inspection, :func:`st2tuple` should be used instead to reduce "
"memory consumption and fragmentation. When the list representation is "
"required, this function is significantly faster than retrieving a tuple "
"representation and converting that to nested lists."
msgstr ""
#: library/parser.rst:182
msgid ""
"If *line_info* is true, line number information will be included for all "
"terminal tokens as a third element of the list representing the token. Note "
"that the line number provided specifies the line on which the token *ends*. "
"This information is omitted if the flag is false or omitted."
msgstr ""
#: library/parser.rst:190
msgid ""
"This function accepts an ST object from the caller in *st* and returns a "
"Python tuple representing the equivalent parse tree. Other than returning a "
"tuple instead of a list, this function is identical to :func:`st2list`."
msgstr ""
#: library/parser.rst:194
msgid ""
"If *line_info* is true, line number information will be included for all "
"terminal tokens as a third element of the list representing the token. This "
"information is omitted if the flag is false or omitted."
msgstr ""
#: library/parser.rst:205
msgid ""
"The Python byte compiler can be invoked on an ST object to produce code "
"objects which can be used as part of a call to the built-in :func:`exec` or :"
"func:`eval` functions. This function provides the interface to the compiler, "
"passing the internal parse tree from *st* to the parser, using the source "
"file name specified by the *filename* parameter. The default value supplied "
"for *filename* indicates that the source was an ST object."
msgstr ""
#: library/parser.rst:212
msgid ""
"Compiling an ST object may result in exceptions related to compilation; an "
"example would be a :exc:`SyntaxError` caused by the parse tree for ``del "
"f(0)``: this statement is considered legal within the formal grammar for "
"Python but is not a legal language construct. The :exc:`SyntaxError` raised "
"for this condition is actually generated by the Python byte-compiler "
"normally, which is why it can be raised at this point by the :mod:`parser` "
"module. Most causes of compilation failure can be diagnosed "
"programmatically by inspection of the parse tree."
msgstr ""
#: library/parser.rst:225
msgid "Queries on ST Objects"
msgstr ""
#: library/parser.rst:227
msgid ""
"Two functions are provided which allow an application to determine if an ST "
"was created as an expression or a suite. Neither of these functions can be "
"used to determine if an ST was created from source code via :func:`expr` or :"
"func:`suite` or from a parse tree via :func:`sequence2st`."
msgstr ""
#: library/parser.rst:237
msgid ""
"When *st* represents an ``'eval'`` form, this function returns ``True``, "
"otherwise it returns ``False``. This is useful, since code objects normally "
"cannot be queried for this information using existing built-in functions. "
"Note that the code objects created by :func:`compilest` cannot be queried "
"like this either, and are identical to those created by the built-in :func:"
"`compile` function."
msgstr ""
#: library/parser.rst:246
msgid ""
"This function mirrors :func:`isexpr` in that it reports whether an ST object "
"represents an ``'exec'`` form, commonly known as a \"suite.\" It is not "
"safe to assume that this function is equivalent to ``not isexpr(st)``, as "
"additional syntactic fragments may be supported in the future."
msgstr ""
#: library/parser.rst:255
msgid "Exceptions and Error Handling"
msgstr ""
#: library/parser.rst:257
msgid ""
"The parser module defines a single exception, but may also pass other built-"
"in exceptions from other portions of the Python runtime environment. See "
"each function for information about the exceptions it can raise."
msgstr ""
#: library/parser.rst:264
msgid ""
"Exception raised when a failure occurs within the parser module. This is "
"generally produced for validation failures rather than the built-in :exc:"
"`SyntaxError` raised during normal parsing. The exception argument is either "
"a string describing the reason of the failure or a tuple containing a "
"sequence causing the failure from a parse tree passed to :func:`sequence2st` "
"and an explanatory string. Calls to :func:`sequence2st` need to be able to "
"handle either type of exception, while calls to other functions in the "
"module will only need to be aware of the simple string values."
msgstr ""
#: library/parser.rst:273
msgid ""
"Note that the functions :func:`compilest`, :func:`expr`, and :func:`suite` "
"may raise exceptions which are normally raised by the parsing and "
"compilation process. These include the built in exceptions :exc:"
"`MemoryError`, :exc:`OverflowError`, :exc:`SyntaxError`, and :exc:"
"`SystemError`. In these cases, these exceptions carry all the meaning "
"normally associated with them. Refer to the descriptions of each function "
"for detailed information."
msgstr ""
#: library/parser.rst:284
msgid "ST Objects"
msgstr ""
#: library/parser.rst:286
msgid ""
"Ordered and equality comparisons are supported between ST objects. Pickling "
"of ST objects (using the :mod:`pickle` module) is also supported."
msgstr ""
#: library/parser.rst:292
msgid ""
"The type of the objects returned by :func:`expr`, :func:`suite` and :func:"
"`sequence2st`."
msgstr ""
#: library/parser.rst:295
msgid "ST objects have the following methods:"
msgstr ""
#: library/parser.rst:300
msgid "Same as ``compilest(st, filename)``."
msgstr ""
#: library/parser.rst:305
msgid "Same as ``isexpr(st)``."
msgstr ""
#: library/parser.rst:310
msgid "Same as ``issuite(st)``."
msgstr ""
#: library/parser.rst:315
msgid "Same as ``st2list(st, line_info, col_info)``."
msgstr ""
#: library/parser.rst:320
msgid "Same as ``st2tuple(st, line_info, col_info)``."
msgstr ""
#: library/parser.rst:324
msgid "Example: Emulation of :func:`compile`"
msgstr ""
#: library/parser.rst:326
msgid ""
"While many useful operations may take place between parsing and bytecode "
"generation, the simplest operation is to do nothing. For this purpose, "
"using the :mod:`parser` module to produce an intermediate data structure is "
"equivalent to the code ::"
msgstr ""
#: library/parser.rst:336
msgid ""
"The equivalent operation using the :mod:`parser` module is somewhat longer, "
"and allows the intermediate internal parse tree to be retained as an ST "
"object::"
msgstr ""
#: library/parser.rst:346
msgid ""
"An application which needs both ST and code objects can package this code "
"into readily available functions::"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -194,7 +194,7 @@ msgstr ""
#: library/plistlib.rst:135
msgid ""
"It has one attribute, :attr:`data`, which can be used to retrieve the int "
"value of the UID. :attr:`data` must be in the range `0 <= data < 2**64`."
"value of the UID. :attr:`data` must be in the range ``0 <= data < 2**64``."
msgstr ""
#: library/plistlib.rst:141

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-10-31 15:32+0100\n"
"Last-Translator: Khaïs COLIN <kh.col@orange.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -780,7 +780,7 @@ msgstr ""
"Simulation des heures d'arrivée et des livraisons de services dans une seule "
"file d'attente de serveurs ::"
#: library/random.rst:541
#: library/random.rst:542
msgid ""
"`Statistics for Hackers <https://www.youtube.com/watch?v=Iq9DzN6mvYA>`_ a "
"video tutorial by `Jake Vanderplas <https://us.pycon.org/2016/speaker/"
@ -793,7 +793,7 @@ msgstr ""
"concepts fondamentaux dont la simulation, l'échantillonnage, le brassage et "
"la validation croisée."
#: library/random.rst:547
#: library/random.rst:548
msgid ""
"`Economics Simulation <http://nbviewer.jupyter.org/url/norvig.com/ipython/"
"Economics.ipynb>`_ a simulation of a marketplace by `Peter Norvig <http://"
@ -807,7 +807,7 @@ msgstr ""
"distributions fournis par ce module (*gauss*, *uniform*, *sample*, "
"*betavariate*, *choice*, *triangular*, et *randrange*)."
#: library/random.rst:554
#: library/random.rst:555
msgid ""
"`A Concrete Introduction to Probability (using Python) <http://nbviewer."
"jupyter.org/url/norvig.com/ipython/Probability.ipynb>`_ a tutorial by `Peter "
@ -821,11 +821,11 @@ msgstr ""
"théorie des probabilités, comment écrire des simulations, et comment "
"effectuer des analyses de données avec Python."
#: library/random.rst:562
#: library/random.rst:563
msgid "Recipes"
msgstr "Cas pratiques"
#: library/random.rst:564
#: library/random.rst:565
msgid ""
"The default :func:`.random` returns multiples of 2⁻⁵³ in the range *0.0 ≤ x "
"< 1.0*. All such numbers are evenly spaced and are exactly representable as "
@ -834,7 +834,7 @@ msgid ""
"integer multiple of 2⁻⁵³."
msgstr ""
#: library/random.rst:570
#: library/random.rst:571
msgid ""
"The following recipe takes a different approach. All floats in the interval "
"are possible selections. The mantissa comes from a uniform distribution of "
@ -843,13 +843,13 @@ msgid ""
"often as the next larger exponent."
msgstr ""
#: library/random.rst:592
#: library/random.rst:593
msgid ""
"All :ref:`real valued distributions <real-valued-distributions>` in the "
"class will use the new method::"
msgstr ""
#: library/random.rst:601
#: library/random.rst:602
msgid ""
"The recipe is conceptually equivalent to an algorithm that chooses from all "
"the multiples of 2⁻¹⁰⁷⁴ in the range *0.0 ≤ x < 1.0*. All such numbers are "
@ -858,7 +858,7 @@ msgid ""
"and is equal to ``math.ulp(0.0)``.)"
msgstr ""
#: library/random.rst:610
#: library/random.rst:611
msgid ""
"`Generating Pseudo-random Floating-Point Values <https://allendowney.com/"
"research/rand/downey07randfloat.pdf>`_ a paper by Allen B. Downey describing "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-11-25 20:35+0100\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -992,13 +992,13 @@ msgstr ""
#: library/socket.rst:829
msgid ""
"Translate a host name to IPv4 address format, extended interface. Return a "
"triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the primary "
"host name responding to the given *ip_address*, *aliaslist* is a (possibly "
"empty) list of alternative host names for the same address, and *ipaddrlist* "
"is a list of IPv4 addresses for the same interface on the same host (often "
"but not always a single address). :func:`gethostbyname_ex` does not support "
"IPv6 name resolution, and :func:`getaddrinfo` should be used instead for "
"IPv4/v6 dual stack support."
"triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's "
"primary host name, *aliaslist* is a (possibly empty) list of alternative "
"host names for the same address, and *ipaddrlist* is a list of IPv4 "
"addresses for the same interface on the same host (often but not always a "
"single address). :func:`gethostbyname_ex` does not support IPv6 name "
"resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual "
"stack support."
msgstr ""
#: library/socket.rst:843

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-03-26 15:55+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -681,8 +681,8 @@ msgstr ""
msgid ""
"Using this attribute you can control what objects are returned for the "
"``TEXT`` data type. By default, this attribute is set to :class:`str` and "
"the :mod:`sqlite3` module will return Unicode objects for ``TEXT``. If you "
"want to return bytestrings instead, you can set it to :class:`bytes`."
"the :mod:`sqlite3` module will return :class:`str` objects for ``TEXT``. If "
"you want to return :class:`bytes` instead, you can set it to :class:`bytes`."
msgstr ""
#: library/sqlite3.rst:534

View File

@ -1,59 +0,0 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2018-09-29 18:24+0200\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"
#: library/symbol.rst:2
msgid ":mod:`symbol` --- Constants used with Python parse trees"
msgstr ":mod:`symbol` — Constantes utilisées dans les Arbres Syntaxiques"
#: library/symbol.rst:9
msgid "**Source code:** :source:`Lib/symbol.py`"
msgstr "**Code source :** :source:`Lib/symbol.py`"
#: library/symbol.rst:13
msgid ""
"This module provides constants which represent the numeric values of "
"internal nodes of the parse tree. Unlike most Python constants, these use "
"lower-case names. Refer to the file :file:`Grammar/Grammar` in the Python "
"distribution for the definitions of the names in the context of the language "
"grammar. The specific numeric values which the names map to may change "
"between Python versions."
msgstr ""
"Ce module fournit des constantes représentant les valeurs numériques des "
"nœuds internes de l'analyseur. Contrairement à la plupart des constantes en "
"Python, celles-ci utilisent des noms en minuscules. Référez-vous au fichier :"
"file:`Grammar/Grammar` dans la distribution de Python pour les définitions "
"de ces noms dans le contexte de la grammaire du langage. La valeur numérique "
"correspondant au nom peut changer d'une version de Python à l'autre."
#: library/symbol.rst:22
msgid ""
"The symbol module is deprecated and will be removed in future versions of "
"Python."
msgstr ""
#: library/symbol.rst:25
msgid "This module also provides one additional data object:"
msgstr "Ce module fournit aussi ces objets :"
#: library/symbol.rst:30
msgid ""
"Dictionary mapping the numeric values of the constants defined in this "
"module back to name strings, allowing more human-readable representation of "
"parse trees to be generated."
msgstr ""
"Dictionnaire faisant correspondre les valeurs numériques des constantes "
"définies dans ce module à leurs noms, permettant de générer une "
"représentation plus humaine des arbres syntaxiques."

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1280,7 +1280,7 @@ msgid ""
msgstr ""
#: library/test.rst:1252
msgid "Attributes set when an exception is catched:"
msgid "Attributes set when an exception is caught:"
msgstr ""
#: library/test.rst:1254
@ -1486,7 +1486,7 @@ msgstr ""
#: library/test.rst:1460
msgid ""
"Call :func:`os.unlink` on *filename*. On Windows platforms, this is wrapped "
"with a wait loop that checks for the existence fo the file."
"with a wait loop that checks for the existence of the file."
msgstr ""
#: library/test.rst:1465

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2018-09-28 10:04+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -296,7 +296,7 @@ msgstr ""
#: library/types.rst:245
msgid ""
"A future version of Python may stop setting this attribute by default. To "
"guard against this potential change, preferrably read from the :attr:"
"guard against this potential change, preferably read from the :attr:"
"`__spec__` attribute instead or use ``getattr(module, \"__loader__\", "
"None)`` if you explicitly need to use this attribute."
msgstr ""
@ -328,7 +328,7 @@ msgstr ""
#: library/types.rst:270
msgid ""
"A future version of Python may stop setting this attribute by default. To "
"guard against this potential change, preferrably read from the :attr:"
"guard against this potential change, preferably read from the :attr:"
"`__spec__` attribute instead or use ``getattr(module, \"__package__\", "
"None)`` if you explicitly need to use this attribute."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-05-18 11:06-0400\n"
"Last-Translator: Jean-Michel Laprise <jmichel.dev@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -38,10 +38,11 @@ msgstr ""
msgid ""
"This module provides runtime support for type hints as specified by :pep:"
"`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:`589`, :pep:`591`, :pep:"
"`612` and :pep:`613`. The most fundamental support consists of the types :"
"data:`Any`, :data:`Union`, :data:`Tuple`, :data:`Callable`, :class:"
"`TypeVar`, and :class:`Generic`. For full specification please see :pep:"
"`484`. For a simplified introduction to type hints see :pep:`483`."
"`593`, :pep:`612`, :pep:`613` and :pep:`647`. The most fundamental support "
"consists of the types :data:`Any`, :data:`Union`, :data:`Tuple`, :data:"
"`Callable`, :class:`TypeVar`, and :class:`Generic`. For full specification "
"please see :pep:`484`. For a simplified introduction to type hints see :pep:"
"`483`."
msgstr ""
"Ce module fournit la gestion des annotations de type à l'exécution "
"conformément à ce qui est spécifié dans les :pep:`484`, :pep:`526`, :pep:"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -125,7 +125,15 @@ msgid ""
"`weakref-support`."
msgstr ""
#: library/weakref.rst:94
#: library/weakref.rst:91
msgid ""
"When ``__slots__`` are defined for a given type, weak reference support is "
"disabled unless a ``'__weakref__'`` string is also present in the sequence "
"of strings in the ``__slots__`` declaration. See :ref:`__slots__ "
"documentation <slots>` for details."
msgstr ""
#: library/weakref.rst:98
msgid ""
"Return a weak reference to *object*. The original object can be retrieved "
"by calling the reference object if the referent is still alive; if the "
@ -137,21 +145,21 @@ msgid ""
"available."
msgstr ""
#: library/weakref.rst:102
#: library/weakref.rst:106
msgid ""
"It is allowable for many weak references to be constructed for the same "
"object. Callbacks registered for each weak reference will be called from the "
"most recently registered callback to the oldest registered callback."
msgstr ""
#: library/weakref.rst:106
#: library/weakref.rst:110
msgid ""
"Exceptions raised by the callback will be noted on the standard error "
"output, but cannot be propagated; they are handled in exactly the same way "
"as exceptions raised from an object's :meth:`__del__` method."
msgstr ""
#: library/weakref.rst:110
#: library/weakref.rst:114
msgid ""
"Weak references are :term:`hashable` if the *object* is hashable. They will "
"maintain their hash value even after the *object* was deleted. If :func:"
@ -159,7 +167,7 @@ msgid ""
"call will raise :exc:`TypeError`."
msgstr ""
#: library/weakref.rst:115
#: library/weakref.rst:119
msgid ""
"Weak references support tests for equality, but not ordering. If the "
"referents are still alive, two references have the same equality "
@ -168,22 +176,22 @@ msgid ""
"objects are the same object."
msgstr ""
#: library/weakref.rst:120
#: library/weakref.rst:124
msgid "This is a subclassable type rather than a factory function."
msgstr ""
#: library/weakref.rst:124
#: library/weakref.rst:128
msgid ""
"This read-only attribute returns the callback currently associated to the "
"weakref. If there is no callback or if the referent of the weakref is no "
"longer alive then this attribute will have value ``None``."
msgstr ""
#: library/weakref.rst:128
#: library/weakref.rst:132
msgid "Added the :attr:`__callback__` attribute."
msgstr ""
#: library/weakref.rst:134
#: library/weakref.rst:138
msgid ""
"Return a proxy to *object* which uses a weak reference. This supports use "
"of the proxy in most contexts instead of requiring the explicit "
@ -196,24 +204,24 @@ msgid ""
"`ref` function."
msgstr ""
#: library/weakref.rst:143
#: library/weakref.rst:147
msgid ""
"Extended the operator support on proxy objects to include the matrix "
"multiplication operators ``@`` and ``@=``."
msgstr ""
#: library/weakref.rst:150
#: library/weakref.rst:154
msgid ""
"Return the number of weak references and proxies which refer to *object*."
msgstr ""
#: library/weakref.rst:155
#: library/weakref.rst:159
msgid ""
"Return a list of all weak reference and proxy objects which refer to "
"*object*."
msgstr ""
#: library/weakref.rst:160
#: library/weakref.rst:164
msgid ""
"Mapping class that references keys weakly. Entries in the dictionary will "
"be discarded when there is no longer a strong reference to the key. This "
@ -222,13 +230,13 @@ msgid ""
"especially useful with objects that override attribute accesses."
msgstr ""
#: library/weakref.rst:166
#: library/weakref.rst:170
msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`."
msgstr ""
"Ajout de la gestion des opérateurs ``|`` et ``|=`` tels que définis dans :"
"pep:`584`."
#: library/weakref.rst:169
#: library/weakref.rst:173
msgid ""
":class:`WeakKeyDictionary` objects have an additional method that exposes "
"the internal references directly. The references are not guaranteed to be "
@ -238,39 +246,39 @@ msgid ""
"longer than needed."
msgstr ""
#: library/weakref.rst:179
#: library/weakref.rst:183
msgid "Return an iterable of the weak references to the keys."
msgstr ""
#: library/weakref.rst:184
#: library/weakref.rst:188
msgid ""
"Mapping class that references values weakly. Entries in the dictionary will "
"be discarded when no strong reference to the value exists any more."
msgstr ""
#: library/weakref.rst:187
#: library/weakref.rst:191
msgid ""
"Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`."
msgstr ""
#: library/weakref.rst:190
#: library/weakref.rst:194
msgid ""
":class:`WeakValueDictionary` objects have an additional method that has the "
"same issues as the :meth:`keyrefs` method of :class:`WeakKeyDictionary` "
"objects."
msgstr ""
#: library/weakref.rst:197
#: library/weakref.rst:201
msgid "Return an iterable of the weak references to the values."
msgstr ""
#: library/weakref.rst:202
#: library/weakref.rst:206
msgid ""
"Set class that keeps weak references to its elements. An element will be "
"discarded when no strong reference to it exists any more."
msgstr ""
#: library/weakref.rst:208
#: library/weakref.rst:212
msgid ""
"A custom :class:`ref` subclass which simulates a weak reference to a bound "
"method (i.e., a method defined on a class and looked up on an instance). "
@ -279,7 +287,7 @@ msgid ""
"method until either the object or the original function dies::"
msgstr ""
#: library/weakref.rst:236
#: library/weakref.rst:240
msgid ""
"Return a callable finalizer object which will be called when *obj* is "
"garbage collected. Unlike an ordinary weak reference, a finalizer will "
@ -287,7 +295,7 @@ msgid ""
"lifecycle management."
msgstr ""
#: library/weakref.rst:241
#: library/weakref.rst:245
msgid ""
"A finalizer is considered *alive* until it is called (either explicitly or "
"at garbage collection), and after that it is *dead*. Calling a live "
@ -295,7 +303,7 @@ msgid ""
"calling a dead finalizer returns :const:`None`."
msgstr ""
#: library/weakref.rst:246
#: library/weakref.rst:250
msgid ""
"Exceptions raised by finalizer callbacks during garbage collection will be "
"shown on the standard error output, but cannot be propagated. They are "
@ -303,50 +311,50 @@ msgid ""
"`__del__` method or a weak reference's callback."
msgstr ""
#: library/weakref.rst:252
#: library/weakref.rst:256
msgid ""
"When the program exits, each remaining live finalizer is called unless its :"
"attr:`atexit` attribute has been set to false. They are called in reverse "
"order of creation."
msgstr ""
#: library/weakref.rst:256
#: library/weakref.rst:260
msgid ""
"A finalizer will never invoke its callback during the later part of the :"
"term:`interpreter shutdown` when module globals are liable to have been "
"replaced by :const:`None`."
msgstr ""
#: library/weakref.rst:262
#: library/weakref.rst:266
msgid ""
"If *self* is alive then mark it as dead and return the result of calling "
"``func(*args, **kwargs)``. If *self* is dead then return :const:`None`."
msgstr ""
#: library/weakref.rst:268
#: library/weakref.rst:272
msgid ""
"If *self* is alive then mark it as dead and return the tuple ``(obj, func, "
"args, kwargs)``. If *self* is dead then return :const:`None`."
msgstr ""
#: library/weakref.rst:274
#: library/weakref.rst:278
msgid ""
"If *self* is alive then return the tuple ``(obj, func, args, kwargs)``. If "
"*self* is dead then return :const:`None`."
msgstr ""
#: library/weakref.rst:279
#: library/weakref.rst:283
msgid "Property which is true if the finalizer is alive, false otherwise."
msgstr ""
#: library/weakref.rst:283
#: library/weakref.rst:287
msgid ""
"A writable boolean property which by default is true. When the program "
"exits, it calls all remaining live finalizers for which :attr:`.atexit` is "
"true. They are called in reverse order of creation."
msgstr ""
#: library/weakref.rst:290
#: library/weakref.rst:294
msgid ""
"It is important to ensure that *func*, *args* and *kwargs* do not own any "
"references to *obj*, either directly or indirectly, since otherwise *obj* "
@ -354,60 +362,60 @@ msgid ""
"bound method of *obj*."
msgstr ""
#: library/weakref.rst:300
#: library/weakref.rst:304
msgid "The type object for weak references objects."
msgstr ""
#: library/weakref.rst:305
#: library/weakref.rst:309
msgid "The type object for proxies of objects which are not callable."
msgstr ""
#: library/weakref.rst:310
#: library/weakref.rst:314
msgid "The type object for proxies of callable objects."
msgstr ""
#: library/weakref.rst:315
#: library/weakref.rst:319
msgid ""
"Sequence containing all the type objects for proxies. This can make it "
"simpler to test if an object is a proxy without being dependent on naming "
"both proxy types."
msgstr ""
#: library/weakref.rst:323
#: library/weakref.rst:327
msgid ":pep:`205` - Weak References"
msgstr ""
#: library/weakref.rst:323
#: library/weakref.rst:327
msgid ""
"The proposal and rationale for this feature, including links to earlier "
"implementations and information about similar features in other languages."
msgstr ""
#: library/weakref.rst:330
#: library/weakref.rst:334
msgid "Weak Reference Objects"
msgstr "Objets à références faibles"
#: library/weakref.rst:332
#: library/weakref.rst:336
msgid ""
"Weak reference objects have no methods and no attributes besides :attr:`ref."
"__callback__`. A weak reference object allows the referent to be obtained, "
"if it still exists, by calling it:"
msgstr ""
#: library/weakref.rst:346
#: library/weakref.rst:350
msgid ""
"If the referent no longer exists, calling the reference object returns :"
"const:`None`:"
msgstr ""
#: library/weakref.rst:353
#: library/weakref.rst:357
msgid ""
"Testing that a weak reference object is still live should be done using the "
"expression ``ref() is not None``. Normally, application code that needs to "
"use a reference object should follow this pattern::"
msgstr ""
#: library/weakref.rst:366
#: library/weakref.rst:370
msgid ""
"Using a separate test for \"liveness\" creates race conditions in threaded "
"applications; another thread can cause a weak reference to become "
@ -415,7 +423,7 @@ msgid ""
"safe in threaded applications as well as single-threaded applications."
msgstr ""
#: library/weakref.rst:371
#: library/weakref.rst:375
msgid ""
"Specialized versions of :class:`ref` objects can be created through "
"subclassing. This is used in the implementation of the :class:"
@ -425,18 +433,18 @@ msgid ""
"to retrieve the referent."
msgstr ""
#: library/weakref.rst:377
#: library/weakref.rst:381
msgid ""
"This example shows how a subclass of :class:`ref` can be used to store "
"additional information about an object and affect the value that's returned "
"when the referent is accessed::"
msgstr ""
#: library/weakref.rst:404
#: library/weakref.rst:408
msgid "Example"
msgstr "Exemple"
#: library/weakref.rst:406
#: library/weakref.rst:410
msgid ""
"This simple example shows how an application can use object IDs to retrieve "
"objects that it has seen before. The IDs of the objects can then be used in "
@ -444,67 +452,67 @@ msgid ""
"objects can still be retrieved by ID if they do."
msgstr ""
#: library/weakref.rst:431
#: library/weakref.rst:435
msgid "Finalizer Objects"
msgstr ""
#: library/weakref.rst:433
#: library/weakref.rst:437
msgid ""
"The main benefit of using :class:`finalize` is that it makes it simple to "
"register a callback without needing to preserve the returned finalizer "
"object. For instance"
msgstr ""
#: library/weakref.rst:447
#: library/weakref.rst:451
msgid ""
"The finalizer can be called directly as well. However the finalizer will "
"invoke the callback at most once."
msgstr ""
#: library/weakref.rst:463
#: library/weakref.rst:467
msgid ""
"You can unregister a finalizer using its :meth:`~finalize.detach` method. "
"This kills the finalizer and returns the arguments passed to the constructor "
"when it was created."
msgstr ""
#: library/weakref.rst:477
#: library/weakref.rst:481
msgid ""
"Unless you set the :attr:`~finalize.atexit` attribute to :const:`False`, a "
"finalizer will be called when the program exits if it is still alive. For "
"instance"
msgstr ""
#: library/weakref.rst:492
#: library/weakref.rst:496
msgid "Comparing finalizers with :meth:`__del__` methods"
msgstr ""
#: library/weakref.rst:494
#: library/weakref.rst:498
msgid ""
"Suppose we want to create a class whose instances represent temporary "
"directories. The directories should be deleted with their contents when the "
"first of the following events occurs:"
msgstr ""
#: library/weakref.rst:498
#: library/weakref.rst:502
msgid "the object is garbage collected,"
msgstr ""
#: library/weakref.rst:499
#: library/weakref.rst:503
msgid "the object's :meth:`remove` method is called, or"
msgstr ""
#: library/weakref.rst:500
#: library/weakref.rst:504
msgid "the program exits."
msgstr ""
#: library/weakref.rst:502
#: library/weakref.rst:506
msgid ""
"We might try to implement the class using a :meth:`__del__` method as "
"follows::"
msgstr ""
#: library/weakref.rst:521
#: library/weakref.rst:525
msgid ""
"Starting with Python 3.4, :meth:`__del__` methods no longer prevent "
"reference cycles from being garbage collected, and module globals are no "
@ -512,35 +520,35 @@ msgid ""
"code should work without any issues on CPython."
msgstr ""
#: library/weakref.rst:526
#: library/weakref.rst:530
msgid ""
"However, handling of :meth:`__del__` methods is notoriously implementation "
"specific, since it depends on internal details of the interpreter's garbage "
"collector implementation."
msgstr ""
#: library/weakref.rst:530
#: library/weakref.rst:534
msgid ""
"A more robust alternative can be to define a finalizer which only references "
"the specific functions and objects that it needs, rather than having access "
"to the full state of the object::"
msgstr ""
#: library/weakref.rst:546
#: library/weakref.rst:550
msgid ""
"Defined like this, our finalizer only receives a reference to the details it "
"needs to clean up the directory appropriately. If the object never gets "
"garbage collected the finalizer will still be called at exit."
msgstr ""
#: library/weakref.rst:550
#: library/weakref.rst:554
msgid ""
"The other advantage of weakref based finalizers is that they can be used to "
"register finalizers for classes where the definition is controlled by a "
"third party, such as running code when a module is unloaded::"
msgstr ""
#: library/weakref.rst:562
#: library/weakref.rst:566
msgid ""
"If you create a finalizer object in a daemonic thread just as the program "
"exits then there is the possibility that the finalizer does not get called "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2018-09-29 19:35+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -194,13 +194,18 @@ msgid ""
"the user."
msgstr ""
#: library/xml.dom.minidom.rst:161
#: library/xml.dom.minidom.rst:159 library/xml.dom.minidom.rst:180
#: library/xml.dom.minidom.rst:199
msgid "The *standalone* parameter was added."
msgstr ""
#: library/xml.dom.minidom.rst:164
msgid ""
"Return a string or byte string containing the XML represented by the DOM "
"node."
msgstr ""
#: library/xml.dom.minidom.rst:164
#: library/xml.dom.minidom.rst:167
msgid ""
"With an explicit *encoding* [1]_ argument, the result is a byte string in "
"the specified encoding. With no *encoding* argument, the result is a Unicode "
@ -209,63 +214,63 @@ msgid ""
"incorrect, since UTF-8 is the default encoding of XML."
msgstr ""
#: library/xml.dom.minidom.rst:171 library/xml.dom.minidom.rst:187
#: library/xml.dom.minidom.rst:174 library/xml.dom.minidom.rst:193
msgid "The *standalone* argument behaves exactly as in :meth:`writexml`."
msgstr ""
#: library/xml.dom.minidom.rst:173
#: library/xml.dom.minidom.rst:176
msgid ""
"The :meth:`toxml` method now preserves the attribute order specified by the "
"user."
msgstr ""
#: library/xml.dom.minidom.rst:180
#: library/xml.dom.minidom.rst:186
msgid ""
"Return a pretty-printed version of the document. *indent* specifies the "
"indentation string and defaults to a tabulator; *newl* specifies the string "
"emitted at the end of each line and defaults to ``\\n``."
msgstr ""
#: library/xml.dom.minidom.rst:184
#: library/xml.dom.minidom.rst:190
msgid ""
"The *encoding* argument behaves like the corresponding argument of :meth:"
"`toxml`."
msgstr ""
#: library/xml.dom.minidom.rst:189
#: library/xml.dom.minidom.rst:195
msgid ""
"The :meth:`toprettyxml` method now preserves the attribute order specified "
"by the user."
msgstr ""
#: library/xml.dom.minidom.rst:197
#: library/xml.dom.minidom.rst:205
msgid "DOM Example"
msgstr ""
#: library/xml.dom.minidom.rst:199
#: library/xml.dom.minidom.rst:207
msgid ""
"This example program is a fairly realistic example of a simple program. In "
"this particular case, we do not take much advantage of the flexibility of "
"the DOM."
msgstr ""
#: library/xml.dom.minidom.rst:208
#: library/xml.dom.minidom.rst:216
msgid "minidom and the DOM standard"
msgstr ""
#: library/xml.dom.minidom.rst:210
#: library/xml.dom.minidom.rst:218
msgid ""
"The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM "
"with some DOM 2 features (primarily namespace features)."
msgstr ""
#: library/xml.dom.minidom.rst:213
#: library/xml.dom.minidom.rst:221
msgid ""
"Usage of the DOM interface in Python is straight-forward. The following "
"mapping rules apply:"
msgstr ""
#: library/xml.dom.minidom.rst:216
#: library/xml.dom.minidom.rst:224
msgid ""
"Interfaces are accessed through instance objects. Applications should not "
"instantiate the classes themselves; they should use the creator functions "
@ -274,14 +279,14 @@ msgid ""
"operations."
msgstr ""
#: library/xml.dom.minidom.rst:221
#: library/xml.dom.minidom.rst:229
msgid ""
"Operations are used as methods. Since the DOM uses only :keyword:`in` "
"parameters, the arguments are passed in normal order (from left to right). "
"There are no optional arguments. ``void`` operations return ``None``."
msgstr ""
#: library/xml.dom.minidom.rst:225
#: library/xml.dom.minidom.rst:233
msgid ""
"IDL attributes map to instance attributes. For compatibility with the OMG "
"IDL language mapping for Python, an attribute ``foo`` can also be accessed "
@ -289,13 +294,13 @@ msgid ""
"``readonly`` attributes must not be changed; this is not enforced at runtime."
msgstr ""
#: library/xml.dom.minidom.rst:230
#: library/xml.dom.minidom.rst:238
msgid ""
"The types ``short int``, ``unsigned int``, ``unsigned long long``, and "
"``boolean`` all map to Python integer objects."
msgstr ""
#: library/xml.dom.minidom.rst:233
#: library/xml.dom.minidom.rst:241
msgid ""
"The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` "
"supports either bytes or strings, but will normally produce strings. Values "
@ -303,21 +308,21 @@ msgid ""
"``null`` value by the DOM specification from the W3C."
msgstr ""
#: library/xml.dom.minidom.rst:238
#: library/xml.dom.minidom.rst:246
msgid ""
"``const`` declarations map to variables in their respective scope (e.g. "
"``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be "
"changed."
msgstr ""
#: library/xml.dom.minidom.rst:241
#: library/xml.dom.minidom.rst:249
msgid ""
"``DOMException`` is currently not supported in :mod:`xml.dom.minidom`. "
"Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such as :exc:"
"`TypeError` and :exc:`AttributeError`."
msgstr ""
#: library/xml.dom.minidom.rst:245
#: library/xml.dom.minidom.rst:253
msgid ""
":class:`NodeList` objects are implemented using Python's built-in list type. "
"These objects provide the interface defined in the DOM specification, but "
@ -326,30 +331,30 @@ msgid ""
"recommendations."
msgstr ""
#: library/xml.dom.minidom.rst:251
#: library/xml.dom.minidom.rst:259
msgid ""
"The following interfaces have no implementation in :mod:`xml.dom.minidom`:"
msgstr ""
#: library/xml.dom.minidom.rst:253
#: library/xml.dom.minidom.rst:261
msgid ":class:`DOMTimeStamp`"
msgstr ":class:`DOMTimeStamp`"
#: library/xml.dom.minidom.rst:255
#: library/xml.dom.minidom.rst:263
msgid ":class:`EntityReference`"
msgstr ":class:`EntityReference`"
#: library/xml.dom.minidom.rst:257
#: library/xml.dom.minidom.rst:265
msgid ""
"Most of these reflect information in the XML document that is not of general "
"utility to most DOM users."
msgstr ""
#: library/xml.dom.minidom.rst:261
#: library/xml.dom.minidom.rst:269
msgid "Footnotes"
msgstr "Notes"
#: library/xml.dom.minidom.rst:262
#: library/xml.dom.minidom.rst:270
msgid ""
"The encoding name included in the XML output should conform to the "
"appropriate standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not "

140
merge.py Normal file
View File

@ -0,0 +1,140 @@
"""Tool to merge cpython pot files to python-docs-fr po files for a
given branch.
"""
import re
import shutil
from pathlib import Path
import argparse
import subprocess
from subprocess import PIPE
from tqdm import tqdm
def run(*args: str | Path, **kwargs) -> subprocess.CompletedProcess:
"""Run a shell command with subprocess.run() with check=True and
encoding="UTF-8".
"""
return subprocess.run(list(args), encoding="UTF-8", check=True, **kwargs)
def parse_args():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
"--cpython_repo",
default=Path("venv/cpython"),
type=Path,
help="Use this given cpython clone.",
)
parser.add_argument("branch", help="Merge from this branch")
return parser.parse_args()
def setup_repo(repo_path: Path, branch: str):
"""Ensure we're up-to-date."""
run("git", "-C", repo_path, "checkout", branch)
run("git", "-C", repo_path, "pull", "--ff-only")
def copy_new_files(new_files: set[Path], pot_path: Path) -> None:
"""Just copy new po files to our hierarchy."""
print(f"{len(new_files)} new files.")
for file in new_files:
file.parent.mkdir(parents=True, exist_ok=True)
src = (pot_path / file).with_suffix(".pot")
run("msgcat", "-o", file, src)
def update_known_files(known_files: set[Path], pot_path: Path) -> None:
"""msgmerge updated pot files in our po files."""
print(f"{len(known_files)} files to update.")
for file in tqdm(known_files, desc="merging pot files"):
src = (pot_path / file).with_suffix(".pot")
run("msgmerge", "-q", "--backup=off", "--force-po", "-U", file, src)
def remove_old_files(old_files: set[Path]) -> None:
"""Remove files removed upstream."""
print(f"{len(old_files)} removed files.")
for file in old_files:
run("git", "rm", file)
def clean_paths(files: set[Path]) -> None:
"""Ensure the path present in po files are always relative.
This avoid having diffs on those paths when we change something in
a script.
"""
for file in tqdm(files, desc="Cleaning rst path in pot files"):
contents = file.read_text(encoding="UTF-8")
contents = re.sub("^#: .*Doc/", "#: ", contents, flags=re.M)
file.write_text(contents, encoding="UTF-8")
def update_makefile(cpython_repo: Path) -> None:
"""Update CPYTHON_CURRENT_COMMIT in the Makefile.
So that when we run `make` it use the same commit than the one
used to generate the `po` files.
"""
makefile = Path("Makefile").read_text(encoding="UTF-8")
head = run("git", "-C", cpython_repo, "rev-parse", "HEAD", stdout=PIPE).stdout
makefile = re.sub(
"^CPYTHON_CURRENT_COMMIT :=.*$",
f"CPYTHON_CURRENT_COMMIT := {head}",
makefile,
flags=re.M,
)
Path("Makefile").write_text(makefile, encoding="UTF-8")
run("git", "add", "Makefile")
def git_add_relevant_files():
"""Add only files with relevant modifications.
This only add files with actual modifications, not just metadata
modifications, to avoid noise in history.
"""
modified_files = run("git", "ls-files", "-m", stdout=PIPE).stdout.split("\n")
modified_po_files = [line for line in modified_files if line.endswith(".po")]
for file in modified_po_files:
diff = run("git", "diff", "-U0", file, stdout=PIPE).stdout
if len(diff.split("\n")) > 8:
run("git", "add", file)
else:
run("git", "checkout", "--", file)
run("rm", "-f", "whatsnew/changelog.po") # We don't translate this file.
def main():
args = parse_args()
setup_repo(args.cpython_repo, args.branch)
run(
*["sphinx-build", "-jauto", "-QDgettext_compact=0", "-bgettext", ".", "../pot"],
cwd=args.cpython_repo / "Doc",
)
pot_path = args.cpython_repo / "pot"
upstream = {
file.relative_to(pot_path).with_suffix(".po")
for file in pot_path.glob("**/*.pot")
}
downstream = {
po
for po in Path(".").glob("**/*.po")
if not (po.is_relative_to(Path("locales")) or po.is_relative_to(Path(".git")))
}
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))
shutil.rmtree(pot_path)
run("powrap", "-m")
update_makefile(args.cpython_repo)
git_add_relevant_files()
run("git", "commit", "-m", "Make merge")
if __name__ == "__main__":
main()

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-07 16:58+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -747,7 +747,7 @@ msgstr ""
#: reference/compound_stmts.rst:588
msgid ""
"If the guard evaluates as truthy or missing, the ``block`` inside "
"If the guard evaluates as true or is missing, the ``block`` inside "
"``case_block`` is executed."
msgstr ""
@ -804,13 +804,12 @@ msgstr ""
#: reference/compound_stmts.rst:640
msgid ""
"If the ``guard`` condition evaluates to \"truthy\", the case block is "
"selected."
"If the ``guard`` condition evaluates as true, the case block is selected."
msgstr ""
#: reference/compound_stmts.rst:643
msgid ""
"If the ``guard`` condition evaluates to \"falsy\", the case block is not "
"If the ``guard`` condition evaluates as false, the case block is not "
"selected."
msgstr ""
@ -1239,7 +1238,7 @@ msgid ""
"will raise a :exc:`ValueError` at runtime."
msgstr ""
#: reference/compound_stmts.rst:975 reference/compound_stmts.rst:1020
#: reference/compound_stmts.rst:975
msgid ""
"The following is the logical flow for matching a mapping pattern against a "
"subject value:"
@ -1307,6 +1306,12 @@ msgstr ""
msgid "The same keyword should not be repeated in class patterns."
msgstr ""
#: reference/compound_stmts.rst:1020
msgid ""
"The following is the logical flow for matching a class pattern against a "
"subject value:"
msgstr ""
#: reference/compound_stmts.rst:1023
msgid ""
"If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise :"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-07 17:05+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -2650,10 +2650,11 @@ msgstr ""
"valeur n'est pas prévisible entre deux invocations de Python."
#: reference/datamodel.rst:1524
#, fuzzy
msgid ""
"This is intended to provide protection against a denial-of-service caused by "
"carefully-chosen inputs that exploit the worst case performance of a dict "
"insertion, O(n^2) complexity. See http://www.ocert.org/advisories/"
"insertion, O(n\\ :sup:`2`) complexity. See http://www.ocert.org/advisories/"
"ocert-2011-003.html for details."
msgstr ""
"C'est un comportement voulu pour se protéger contre un déni de service qui "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-04-09 23:45+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -202,15 +202,16 @@ msgstr ""
"recherche des opérations de liaisons."
#: reference/executionmodel.rst:122
#, fuzzy
msgid ""
"If the :keyword:`global` statement occurs within a block, all uses of the "
"name specified in the statement refer to the binding of that name in the top-"
"level namespace. Names are resolved in the top-level namespace by searching "
"the global namespace, i.e. the namespace of the module containing the code "
"block, and the builtins namespace, the namespace of the module :mod:"
"`builtins`. The global namespace is searched first. If the name is not "
"names specified in the statement refer to the bindings of those names in the "
"top-level namespace. Names are resolved in the top-level namespace by "
"searching the global namespace, i.e. the namespace of the module containing "
"the code block, and the builtins namespace, the namespace of the module :mod:"
"`builtins`. The global namespace is searched first. If the names are not "
"found there, the builtins namespace is searched. The :keyword:`!global` "
"statement must precede all uses of the name."
"statement must precede all uses of the listed names."
msgstr ""
"Si l'instruction :keyword:`global` apparaît dans un bloc, toutes les "
"utilisations du nom spécifié dans l'instruction font référence à la liaison "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-04-10 17:40+0200\n"
"Last-Translator: Samuel Giffard <samuel@giffard.co>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -608,26 +608,40 @@ msgstr ""
"particulière. Ces classes se reconnaissent par des caractères de "
"soulignement en tête et en queue d'identifiant :"
#: reference/lexical_analysis.rst:397
#: reference/lexical_analysis.rst:388
msgid "``_*``"
msgstr "``_*``"
#: reference/lexical_analysis.rst:388
msgid ""
"Not imported by ``from module import *``. The special identifier ``_`` is "
"used in the interactive interpreter to store the result of the last "
"evaluation; it is stored in the :mod:`builtins` module. When not in "
"interactive mode, ``_`` has no special meaning and is not defined. See "
"section :ref:`import`."
msgid "Not imported by ``from module import *``."
msgstr ""
#: reference/lexical_analysis.rst:409
msgid "``_``"
msgstr ""
#: reference/lexical_analysis.rst:391
msgid ""
"In a ``case`` pattern within a :keyword:`match` statement, ``_`` is a :ref:"
"`soft keyword <soft-keywords>` that denotes a :ref:`wildcard <wildcard-"
"patterns>`."
msgstr ""
"L'identifiant spécial ``_`` n'est pas importé par ``from module import *``. "
"Il est utilisé dans l'interpréteur interactif pour stocker le résultat de la "
"dernière évaluation ; il est stocké dans le module :mod:`builtins`. Lorsque "
"vous n'êtes pas en mode interactif, ``_`` n'a pas de signification "
"particulière et n'est pas défini. Voir la section :ref:`import`."
#: reference/lexical_analysis.rst:395
msgid ""
"Separately, the interactive interpreter makes the result of the last "
"evaluation available in the variable ``_``. (It is stored in the :mod:"
"`builtins` module, alongside built-in functions like ``print``.)"
msgstr ""
#: reference/lexical_analysis.rst:400
msgid ""
"Elsewhere, ``_`` is a regular identifier. It is often used to name \"special"
"\" items, but it is not special to Python itself."
msgstr ""
#: reference/lexical_analysis.rst:405
msgid ""
"The name ``_`` is often used in conjunction with internationalization; refer "
"to the documentation for the :mod:`gettext` module for more information on "
"this convention."
@ -636,11 +650,15 @@ msgstr ""
"reportez-vous à la documentation du module :mod:`gettext` pour plus "
"d'informations sur cette convention."
#: reference/lexical_analysis.rst:405
#: reference/lexical_analysis.rst:409
msgid "It is also commonly used for unused variables."
msgstr ""
#: reference/lexical_analysis.rst:417
msgid "``__*__``"
msgstr "``__*__``"
#: reference/lexical_analysis.rst:400
#: reference/lexical_analysis.rst:412
msgid ""
"System-defined names, informally known as \"dunder\" names. These names are "
"defined by the interpreter and its implementation (including the standard "
@ -659,11 +677,11 @@ msgstr ""
"qu'indique explicitement la documentation, est sujette à des mauvaises "
"surprises sans avertissement."
#: reference/lexical_analysis.rst:412
#: reference/lexical_analysis.rst:424
msgid "``__*``"
msgstr "``__*``"
#: reference/lexical_analysis.rst:408
#: reference/lexical_analysis.rst:420
msgid ""
"Class-private names. Names in this category, when used within the context "
"of a class definition, are re-written to use a mangled form to help avoid "
@ -676,27 +694,27 @@ msgstr ""
 privés » des classes de base et les classes dérivées. Voir la section :ref:"
"`atom-identifiers`."
#: reference/lexical_analysis.rst:417
#: reference/lexical_analysis.rst:429
msgid "Literals"
msgstr "Littéraux"
#: reference/lexical_analysis.rst:421
#: reference/lexical_analysis.rst:433
msgid "Literals are notations for constant values of some built-in types."
msgstr ""
"Les littéraux sont des notations pour indiquer des valeurs constantes de "
"certains types natifs."
#: reference/lexical_analysis.rst:432
#: reference/lexical_analysis.rst:444
msgid "String and Bytes literals"
msgstr "Littéraux de chaînes de caractères et de suites d'octets"
#: reference/lexical_analysis.rst:434
#: reference/lexical_analysis.rst:446
msgid "String literals are described by the following lexical definitions:"
msgstr ""
"Les chaînes de caractères littérales sont définies par les définitions "
"lexicales suivantes :"
#: reference/lexical_analysis.rst:459
#: reference/lexical_analysis.rst:471
msgid ""
"One syntactic restriction not indicated by these productions is that "
"whitespace is not allowed between the :token:`stringprefix` or :token:"
@ -710,7 +728,7 @@ msgstr ""
"d'encodage ; il vaut UTF-8 si aucune déclaration d'encodage n'est donnée "
"dans le fichier source ; voir la section :ref:`encodings`."
#: reference/lexical_analysis.rst:469
#: reference/lexical_analysis.rst:481
msgid ""
"In plain English: Both types of literals can be enclosed in matching single "
"quotes (``'``) or double quotes (``\"``). They can also be enclosed in "
@ -728,7 +746,7 @@ msgstr ""
"tels que le retour à la ligne, la barre oblique inversée elle-même ou le "
"guillemet utilisé pour délimiter la chaîne."
#: reference/lexical_analysis.rst:480
#: reference/lexical_analysis.rst:492
msgid ""
"Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an "
"instance of the :class:`bytes` type instead of the :class:`str` type. They "
@ -741,7 +759,7 @@ msgstr ""
"dont la valeur est supérieure ou égale à 128 doivent être exprimés à l'aide "
"d'échappements."
#: reference/lexical_analysis.rst:489
#: reference/lexical_analysis.rst:501
msgid ""
"Both string and bytes literals may optionally be prefixed with a letter "
"``'r'`` or ``'R'``; such strings are called :dfn:`raw strings` and treat "
@ -758,7 +776,7 @@ msgstr ""
"Unicode de Python 2.x se comportent différemment, la syntaxe ``'ur'`` n'est "
"pas reconnue en Python 3.x."
#: reference/lexical_analysis.rst:496
#: reference/lexical_analysis.rst:508
msgid ""
"The ``'rb'`` prefix of raw bytes literals has been added as a synonym of "
"``'br'``."
@ -766,7 +784,7 @@ msgstr ""
"le préfixe ``'rb'`` a été ajouté comme synonyme de ``'br'`` pour les "
"littéraux de suites d'octets."
#: reference/lexical_analysis.rst:500
#: reference/lexical_analysis.rst:512
msgid ""
"Support for the unicode legacy literal (``u'value'``) was reintroduced to "
"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:"
@ -776,7 +794,7 @@ msgstr ""
"été réintroduite afin de simplifier la maintenance de code compatible Python "
"2.x et 3.x. Voir la :pep:`414` pour davantage d'informations."
#: reference/lexical_analysis.rst:509
#: reference/lexical_analysis.rst:521
msgid ""
"A string literal with ``'f'`` or ``'F'`` in its prefix is a :dfn:`formatted "
"string literal`; see :ref:`f-strings`. The ``'f'`` may be combined with "
@ -789,7 +807,7 @@ msgstr ""
"donc les chaînes de caractères formatées sont possibles mais les littéraux "
"de suites d'octets ne peuvent pas l'être."
#: reference/lexical_analysis.rst:514
#: reference/lexical_analysis.rst:526
msgid ""
"In triple-quoted literals, unescaped newlines and quotes are allowed (and "
"are retained), except that three unescaped quotes in a row terminate the "
@ -802,7 +820,7 @@ msgstr ""
"guillemet le caractère utilisé pour commencer le littéral, c'est-à-dire "
"``'`` ou ``\"``)."
#: reference/lexical_analysis.rst:533
#: reference/lexical_analysis.rst:545
msgid ""
"Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string "
"and bytes literals are interpreted according to rules similar to those used "
@ -813,188 +831,188 @@ msgstr ""
"interprétées comme elles le seraient par le C Standard. Les séquences "
"d'échappement reconnues sont :"
#: reference/lexical_analysis.rst:538 reference/lexical_analysis.rst:571
#: reference/lexical_analysis.rst:550 reference/lexical_analysis.rst:583
msgid "Escape Sequence"
msgstr "Séquence d'échappement"
#: reference/lexical_analysis.rst:538 reference/lexical_analysis.rst:571
#: reference/lexical_analysis.rst:550 reference/lexical_analysis.rst:583
msgid "Meaning"
msgstr "Signification"
#: reference/lexical_analysis.rst:538 reference/lexical_analysis.rst:571
#: reference/lexical_analysis.rst:550 reference/lexical_analysis.rst:583
msgid "Notes"
msgstr "Notes"
#: reference/lexical_analysis.rst:540
#: reference/lexical_analysis.rst:552
msgid "``\\newline``"
msgstr "``\\newline``"
#: reference/lexical_analysis.rst:540
#: reference/lexical_analysis.rst:552
msgid "Backslash and newline ignored"
msgstr "barre oblique inversée et retour à la ligne ignorés"
#: reference/lexical_analysis.rst:542
#: reference/lexical_analysis.rst:554
msgid "``\\\\``"
msgstr "``\\\\``"
#: reference/lexical_analysis.rst:542
#: reference/lexical_analysis.rst:554
msgid "Backslash (``\\``)"
msgstr "barre oblique inversée (``\\``)"
#: reference/lexical_analysis.rst:544
#: reference/lexical_analysis.rst:556
msgid "``\\'``"
msgstr "``\\'``"
#: reference/lexical_analysis.rst:544
#: reference/lexical_analysis.rst:556
msgid "Single quote (``'``)"
msgstr "guillemet simple (``'``)"
#: reference/lexical_analysis.rst:546
#: reference/lexical_analysis.rst:558
msgid "``\\\"``"
msgstr "``\\\"``"
#: reference/lexical_analysis.rst:546
#: reference/lexical_analysis.rst:558
msgid "Double quote (``\"``)"
msgstr "guillemet double (``\"``)"
#: reference/lexical_analysis.rst:548
#: reference/lexical_analysis.rst:560
msgid "``\\a``"
msgstr "``\\a``"
#: reference/lexical_analysis.rst:548
#: reference/lexical_analysis.rst:560
msgid "ASCII Bell (BEL)"
msgstr "cloche ASCII (BEL)"
#: reference/lexical_analysis.rst:550
#: reference/lexical_analysis.rst:562
msgid "``\\b``"
msgstr "``\\b``"
#: reference/lexical_analysis.rst:550
#: reference/lexical_analysis.rst:562
msgid "ASCII Backspace (BS)"
msgstr "retour arrière ASCII (BS)"
#: reference/lexical_analysis.rst:552
#: reference/lexical_analysis.rst:564
msgid "``\\f``"
msgstr "``\\f``"
#: reference/lexical_analysis.rst:552
#: reference/lexical_analysis.rst:564
msgid "ASCII Formfeed (FF)"
msgstr "saut de page ASCII (FF)"
#: reference/lexical_analysis.rst:554
#: reference/lexical_analysis.rst:566
msgid "``\\n``"
msgstr "``\\n``"
#: reference/lexical_analysis.rst:554
#: reference/lexical_analysis.rst:566
msgid "ASCII Linefeed (LF)"
msgstr "saut de ligne ASCII (LF)"
#: reference/lexical_analysis.rst:556
#: reference/lexical_analysis.rst:568
msgid "``\\r``"
msgstr "``\\r``"
#: reference/lexical_analysis.rst:556
#: reference/lexical_analysis.rst:568
msgid "ASCII Carriage Return (CR)"
msgstr "retour à la ligne ASCII (CR)"
#: reference/lexical_analysis.rst:558
#: reference/lexical_analysis.rst:570
msgid "``\\t``"
msgstr "``\\t``"
#: reference/lexical_analysis.rst:558
#: reference/lexical_analysis.rst:570
msgid "ASCII Horizontal Tab (TAB)"
msgstr "tabulation horizontale ASCII (TAB)"
#: reference/lexical_analysis.rst:560
#: reference/lexical_analysis.rst:572
msgid "``\\v``"
msgstr "``\\v``"
#: reference/lexical_analysis.rst:560
#: reference/lexical_analysis.rst:572
msgid "ASCII Vertical Tab (VT)"
msgstr "tabulation verticale ASCII (VT)"
#: reference/lexical_analysis.rst:562
#: reference/lexical_analysis.rst:574
msgid "``\\ooo``"
msgstr "``\\ooo``"
#: reference/lexical_analysis.rst:562
#: reference/lexical_analysis.rst:574
msgid "Character with octal value *ooo*"
msgstr "caractère dont le code est *ooo* en octal"
#: reference/lexical_analysis.rst:562
#: reference/lexical_analysis.rst:574
msgid "(1,3)"
msgstr "(1,3)"
#: reference/lexical_analysis.rst:565
#: reference/lexical_analysis.rst:577
msgid "``\\xhh``"
msgstr "``\\xhh``"
#: reference/lexical_analysis.rst:565
#: reference/lexical_analysis.rst:577
msgid "Character with hex value *hh*"
msgstr "caractère dont le code est *ooo* en hexadécimal"
#: reference/lexical_analysis.rst:565
#: reference/lexical_analysis.rst:577
msgid "(2,3)"
msgstr "(2,3)"
#: reference/lexical_analysis.rst:568
#: reference/lexical_analysis.rst:580
msgid "Escape sequences only recognized in string literals are:"
msgstr ""
"Les séquences d'échappement reconnues seulement dans les chaînes littérales "
"sont :"
#: reference/lexical_analysis.rst:573
#: reference/lexical_analysis.rst:585
msgid "``\\N{name}``"
msgstr "``\\N{name}``"
#: reference/lexical_analysis.rst:573
#: reference/lexical_analysis.rst:585
msgid "Character named *name* in the Unicode database"
msgstr "caractère dont le nom est *name* dans la base de données Unicode"
#: reference/lexical_analysis.rst:573
#: reference/lexical_analysis.rst:585
msgid "\\(4)"
msgstr "\\(4)"
#: reference/lexical_analysis.rst:576
#: reference/lexical_analysis.rst:588
msgid "``\\uxxxx``"
msgstr "``\\uxxxx``"
#: reference/lexical_analysis.rst:576
#: reference/lexical_analysis.rst:588
msgid "Character with 16-bit hex value *xxxx*"
msgstr "caractère dont le code est *xxxx* en hexadécimal"
#: reference/lexical_analysis.rst:576
#: reference/lexical_analysis.rst:588
msgid "\\(5)"
msgstr "\\(5)"
#: reference/lexical_analysis.rst:579
#: reference/lexical_analysis.rst:591
msgid "``\\Uxxxxxxxx``"
msgstr "``\\Uxxxxxxxx``"
#: reference/lexical_analysis.rst:579
#: reference/lexical_analysis.rst:591
msgid "Character with 32-bit hex value *xxxxxxxx*"
msgstr "caractère dont le code est *xxxxxxxx* en hexadécimal sur 32 bits"
#: reference/lexical_analysis.rst:579
#: reference/lexical_analysis.rst:591
msgid "\\(6)"
msgstr "\\(6)"
#: reference/lexical_analysis.rst:583
#: reference/lexical_analysis.rst:595
msgid "Notes:"
msgstr "Notes :"
#: reference/lexical_analysis.rst:586
#: reference/lexical_analysis.rst:598
msgid "As in Standard C, up to three octal digits are accepted."
msgstr ""
"Comme dans le C Standard, jusqu'à trois chiffres en base huit sont acceptés."
#: reference/lexical_analysis.rst:589
#: reference/lexical_analysis.rst:601
msgid "Unlike in Standard C, exactly two hex digits are required."
msgstr ""
"Contrairement au C Standard, il est obligatoire de fournir deux chiffres "
"hexadécimaux."
#: reference/lexical_analysis.rst:592
#: reference/lexical_analysis.rst:604
msgid ""
"In a bytes literal, hexadecimal and octal escapes denote the byte with the "
"given value. In a string literal, these escapes denote a Unicode character "
@ -1004,15 +1022,15 @@ msgstr ""
"un octet dont la valeur est donnée. Dans une chaîne littérale, un "
"échappement est un caractère Unicode dont le code est donné."
#: reference/lexical_analysis.rst:597
#: reference/lexical_analysis.rst:609
msgid "Support for name aliases [#]_ has been added."
msgstr "Ajout du support pour les alias de noms [#]_."
#: reference/lexical_analysis.rst:601
#: reference/lexical_analysis.rst:613
msgid "Exactly four hex digits are required."
msgstr "Exactement quatre chiffres hexadécimaux sont requis."
#: reference/lexical_analysis.rst:604
#: reference/lexical_analysis.rst:616
msgid ""
"Any Unicode character can be encoded this way. Exactly eight hex digits are "
"required."
@ -1020,7 +1038,7 @@ msgstr ""
"N'importe quel caractère Unicode peut être encodé de cette façon. Exactement "
"huit chiffres hexadécimaux sont requis."
#: reference/lexical_analysis.rst:610
#: reference/lexical_analysis.rst:622
msgid ""
"Unlike Standard C, all unrecognized escape sequences are left in the string "
"unchanged, i.e., *the backslash is left in the result*. (This behavior is "
@ -1038,7 +1056,7 @@ msgstr ""
"dans les littéraux de chaînes de caractères ne sont pas reconnues pour les "
"littéraux de suites d'octets."
#: reference/lexical_analysis.rst:617
#: reference/lexical_analysis.rst:629
msgid ""
"Unrecognized escape sequences produce a :exc:`DeprecationWarning`. In a "
"future Python version they will be a :exc:`SyntaxWarning` and eventually a :"
@ -1048,7 +1066,7 @@ msgstr ""
"`DeprecationWarning`. Dans les versions suivantes de Python, elles génèrent "
"une :exc:`SyntaxWarning` et éventuellement une :exc:`SyntaxError`."
#: reference/lexical_analysis.rst:622
#: reference/lexical_analysis.rst:634
msgid ""
"Even in a raw literal, quotes can be escaped with a backslash, but the "
"backslash remains in the result; for example, ``r\"\\\"\"`` is a valid "
@ -1073,11 +1091,11 @@ msgstr ""
"comme deux caractères faisant partie du littéral et *non* comme une "
"continuation de ligne."
#: reference/lexical_analysis.rst:635
#: reference/lexical_analysis.rst:647
msgid "String literal concatenation"
msgstr "Concaténation de chaînes de caractères"
#: reference/lexical_analysis.rst:637
#: reference/lexical_analysis.rst:649
msgid ""
"Multiple adjacent string or bytes literals (delimited by whitespace), "
"possibly using different quoting conventions, are allowed, and their meaning "
@ -1095,7 +1113,7 @@ msgstr ""
"caractères sur plusieurs lignes ou même pour ajouter des commentaires à des "
"portions de chaînes de caractères. Par exemple ::"
#: reference/lexical_analysis.rst:648
#: reference/lexical_analysis.rst:660
msgid ""
"Note that this feature is defined at the syntactical level, but implemented "
"at compile time. The '+' operator must be used to concatenate string "
@ -1113,11 +1131,11 @@ msgstr ""
"triples guillemets). Enfin, les chaînes de caractères formatées peuvent être "
"concaténées avec des chaînes de caractères ordinaires."
#: reference/lexical_analysis.rst:669
#: reference/lexical_analysis.rst:681
msgid "Formatted string literals"
msgstr "Chaînes de caractères formatées littérales"
#: reference/lexical_analysis.rst:673
#: reference/lexical_analysis.rst:685
msgid ""
"A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal "
"that is prefixed with ``'f'`` or ``'F'``. These strings may contain "
@ -1132,7 +1150,7 @@ msgstr ""
"littéraux de chaines ont des valeurs constantes, les chaines formatées sont "
"de vraies expressions évaluées à l'exécution."
#: reference/lexical_analysis.rst:679
#: reference/lexical_analysis.rst:691
msgid ""
"Escape sequences are decoded like in ordinary string literals (except when a "
"literal is also marked as a raw string). After decoding, the grammar for "
@ -1143,7 +1161,7 @@ msgstr ""
"marquée comme une chaîne brute). Après décodage, la grammaire s'appliquant "
"au contenu de la chaîne de caractères est :"
#: reference/lexical_analysis.rst:693
#: reference/lexical_analysis.rst:705
msgid ""
"The parts of the string outside curly braces are treated literally, except "
"that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the "
@ -1166,7 +1184,7 @@ msgstr ""
"de format peut aussi être rajoutée, introduite par le caractère deux-points "
"``':'``. Le champ à remplacer se termine par une accolade fermante ``'}'``."
#: reference/lexical_analysis.rst:703
#: reference/lexical_analysis.rst:715
msgid ""
"Expressions in formatted string literals are treated like regular Python "
"expressions surrounded by parentheses, with a few exceptions. An empty "
@ -1186,7 +1204,7 @@ msgstr ""
"commentaire. Chaque expression est évaluée dans le contexte où la chaîne de "
"caractères formatée apparaît, de gauche à droite."
#: reference/lexical_analysis.rst:712
#: reference/lexical_analysis.rst:724
msgid ""
"Prior to Python 3.7, an :keyword:`await` expression and comprehensions "
"containing an :keyword:`async for` clause were illegal in the expressions in "
@ -1197,7 +1215,7 @@ msgstr ""
"des chaînes de caractères formatées littérales à cause dun problème dans "
"limplémentation."
#: reference/lexical_analysis.rst:717
#: reference/lexical_analysis.rst:729
msgid ""
"When the equal sign ``'='`` is provided, the output will have the expression "
"text, the ``'='`` and the evaluated value. Spaces after the opening brace "
@ -1215,11 +1233,11 @@ msgstr ""
"indiqué, c'est :func:`str` de l'expression qui est utilisée à moins qu'une "
"conversion ``!r`` ne soit déclarée."
#: reference/lexical_analysis.rst:725
#: reference/lexical_analysis.rst:737
msgid "The equal sign ``'='``."
msgstr "le signe égal ``'='``."
#: reference/lexical_analysis.rst:728
#: reference/lexical_analysis.rst:740
msgid ""
"If a conversion is specified, the result of evaluating the expression is "
"converted before formatting. Conversion ``'!s'`` calls :func:`str` on the "
@ -1230,7 +1248,7 @@ msgstr ""
"`str` sur le résultat, ``'!r'`` appelle :func:`repr` et ``'!a'`` appelle :"
"func:`ascii`."
#: reference/lexical_analysis.rst:732
#: reference/lexical_analysis.rst:744
msgid ""
"The result is then formatted using the :func:`format` protocol. The format "
"specifier is passed to the :meth:`__format__` method of the expression or "
@ -1244,7 +1262,7 @@ msgstr ""
"lorsque la spécification de format est omise. Le résultat formaté est alors "
"inclus dans la valeur finale de la chaîne complète."
#: reference/lexical_analysis.rst:738
#: reference/lexical_analysis.rst:750
msgid ""
"Top-level format specifiers may include nested replacement fields. These "
"nested fields may include their own conversion fields and :ref:`format "
@ -1259,7 +1277,7 @@ msgstr ""
"spécification de format <formatspec>` est le même que celui utilisé par la "
"méthode :meth:`str.format`."
#: reference/lexical_analysis.rst:744
#: reference/lexical_analysis.rst:756
msgid ""
"Formatted string literals may be concatenated, but replacement fields cannot "
"be split across literals."
@ -1267,11 +1285,11 @@ msgstr ""
"Les chaînes formatées littérales peuvent être concaténées mais les champs à "
"remplacer ne peuvent pas être divisés entre les littéraux."
#: reference/lexical_analysis.rst:747
#: reference/lexical_analysis.rst:759
msgid "Some examples of formatted string literals::"
msgstr "Quelques exemples de chaines formatées littérales ::"
#: reference/lexical_analysis.rst:779
#: reference/lexical_analysis.rst:791
msgid ""
"A consequence of sharing the same syntax as regular string literals is that "
"characters in the replacement fields must not conflict with the quoting used "
@ -1282,14 +1300,14 @@ msgstr ""
"entrer en conflit avec le guillemet utilisé pour encadrer la chaine formatée "
"littérale ::"
#: reference/lexical_analysis.rst:786
#: reference/lexical_analysis.rst:798
msgid ""
"Backslashes are not allowed in format expressions and will raise an error::"
msgstr ""
"La barre oblique inversée (ou antislash) n'est pas autorisée dans les "
"expressions des champs à remplacer et son utilisation génère une erreur ::"
#: reference/lexical_analysis.rst:791
#: reference/lexical_analysis.rst:803
msgid ""
"To include a value in which a backslash escape is required, create a "
"temporary variable."
@ -1297,7 +1315,7 @@ msgstr ""
"Pour inclure une valeur où l'échappement par barre oblique inversée est "
"nécessaire, vous devez créer une variable temporaire."
#: reference/lexical_analysis.rst:798
#: reference/lexical_analysis.rst:810
msgid ""
"Formatted string literals cannot be used as docstrings, even if they do not "
"include expressions."
@ -1305,7 +1323,7 @@ msgstr ""
"Une chaine formatée littérale ne peut pas être utilisée en tant que "
"*docstring*, même si elle ne comporte pas d'expression."
#: reference/lexical_analysis.rst:809
#: reference/lexical_analysis.rst:821
msgid ""
"See also :pep:`498` for the proposal that added formatted string literals, "
"and :meth:`str.format`, which uses a related format string mechanism."
@ -1314,11 +1332,11 @@ msgstr ""
"littérales et :meth:`str.format` qui utilise un mécanisme similaire pour "
"formater les chaînes de caractères."
#: reference/lexical_analysis.rst:816
#: reference/lexical_analysis.rst:828
msgid "Numeric literals"
msgstr "Littéraux numériques"
#: reference/lexical_analysis.rst:822
#: reference/lexical_analysis.rst:834
msgid ""
"There are three types of numeric literals: integers, floating point numbers, "
"and imaginary numbers. There are no complex literals (complex numbers can "
@ -1329,7 +1347,7 @@ msgstr ""
"complexes (les nombres complexes peuvent être construits en ajoutant un "
"nombre réel et un nombre imaginaire)."
#: reference/lexical_analysis.rst:826
#: reference/lexical_analysis.rst:838
msgid ""
"Note that numeric literals do not include a sign; a phrase like ``-1`` is "
"actually an expression composed of the unary operator '``-``' and the "
@ -1339,16 +1357,16 @@ msgstr ""
"telle que ``-1`` est en fait une expression composée de l'opérateur unitaire "
"``-`` et du littéral ``1``."
#: reference/lexical_analysis.rst:840
#: reference/lexical_analysis.rst:852
msgid "Integer literals"
msgstr "Entiers littéraux"
#: reference/lexical_analysis.rst:842
#: reference/lexical_analysis.rst:854
msgid "Integer literals are described by the following lexical definitions:"
msgstr ""
"Les entiers littéraux sont décrits par les définitions lexicales suivantes :"
#: reference/lexical_analysis.rst:856
#: reference/lexical_analysis.rst:868
msgid ""
"There is no limit for the length of integer literals apart from what can be "
"stored in available memory."
@ -1356,7 +1374,7 @@ msgstr ""
"Il n'y a pas de limite pour la longueur des entiers littéraux, sauf celle "
"relative à la capacité mémoire."
#: reference/lexical_analysis.rst:859
#: reference/lexical_analysis.rst:871
msgid ""
"Underscores are ignored for determining the numeric value of the literal. "
"They can be used to group digits for enhanced readability. One underscore "
@ -1367,7 +1385,7 @@ msgstr ""
"lecture. Un souligné peut être placé entre des chiffres ou après la "
"spécification de la base telle que ``0x``."
#: reference/lexical_analysis.rst:863
#: reference/lexical_analysis.rst:875
msgid ""
"Note that leading zeros in a non-zero decimal number are not allowed. This "
"is for disambiguation with C-style octal literals, which Python used before "
@ -1378,26 +1396,26 @@ msgstr ""
"les littéraux en base octale selon le style C que Python utilisait avant la "
"version 3.0."
#: reference/lexical_analysis.rst:867
#: reference/lexical_analysis.rst:879
msgid "Some examples of integer literals::"
msgstr "Quelques exemples d'entiers littéraux ::"
#: reference/lexical_analysis.rst:873 reference/lexical_analysis.rst:905
#: reference/lexical_analysis.rst:885 reference/lexical_analysis.rst:917
msgid "Underscores are now allowed for grouping purposes in literals."
msgstr "Les tirets bas ne sont pas autorisés pour grouper les littéraux."
#: reference/lexical_analysis.rst:884
#: reference/lexical_analysis.rst:896
msgid "Floating point literals"
msgstr "Nombres à virgule flottante littéraux"
#: reference/lexical_analysis.rst:886
#: reference/lexical_analysis.rst:898
msgid ""
"Floating point literals are described by the following lexical definitions:"
msgstr ""
"Les nombres à virgule flottante littéraux sont décrits par les définitions "
"lexicales suivantes :"
#: reference/lexical_analysis.rst:896
#: reference/lexical_analysis.rst:908
msgid ""
"Note that the integer and exponent parts are always interpreted using radix "
"10. For example, ``077e010`` is legal, and denotes the same number as "
@ -1411,21 +1429,21 @@ msgstr ""
"virgule flottante dépend de l'implémentation. Comme pour les entiers "
"littéraux, les soulignés permettent de grouper des chiffres."
#: reference/lexical_analysis.rst:901
#: reference/lexical_analysis.rst:913
msgid "Some examples of floating point literals::"
msgstr "Quelques exemples de nombres à virgule flottante littéraux ::"
#: reference/lexical_analysis.rst:914
#: reference/lexical_analysis.rst:926
msgid "Imaginary literals"
msgstr "Imaginaires littéraux"
#: reference/lexical_analysis.rst:916
#: reference/lexical_analysis.rst:928
msgid "Imaginary literals are described by the following lexical definitions:"
msgstr ""
"Les nombres imaginaires sont décrits par les définitions lexicales "
"suivantes :"
#: reference/lexical_analysis.rst:921
#: reference/lexical_analysis.rst:933
msgid ""
"An imaginary literal yields a complex number with a real part of 0.0. "
"Complex numbers are represented as a pair of floating point numbers and have "
@ -1440,23 +1458,23 @@ msgstr ""
"nulle, ajoutez un nombre à virgule flottante à votre littéral imaginaire. "
"Par exemple ``(3+4j)``. Voici d'autres exemples de littéraux imaginaires ::"
#: reference/lexical_analysis.rst:933
#: reference/lexical_analysis.rst:945
msgid "Operators"
msgstr "Opérateurs"
#: reference/lexical_analysis.rst:937
#: reference/lexical_analysis.rst:949
msgid "The following tokens are operators:"
msgstr "Les lexèmes suivants sont des opérateurs :"
#: reference/lexical_analysis.rst:950
#: reference/lexical_analysis.rst:962
msgid "Delimiters"
msgstr "Délimiteurs"
#: reference/lexical_analysis.rst:954
#: reference/lexical_analysis.rst:966
msgid "The following tokens serve as delimiters in the grammar:"
msgstr "Les lexèmes suivants servent de délimiteurs dans la grammaire :"
#: reference/lexical_analysis.rst:963
#: reference/lexical_analysis.rst:975
msgid ""
"The period can also occur in floating-point and imaginary literals. A "
"sequence of three periods has a special meaning as an ellipsis literal. The "
@ -1469,7 +1487,7 @@ msgstr ""
"la liste, les opérateurs d'assignation augmentés, servent de délimiteurs "
"pour l'analyseur lexical mais sont aussi des opérateurs."
#: reference/lexical_analysis.rst:968
#: reference/lexical_analysis.rst:980
msgid ""
"The following printing ASCII characters have special meaning as part of "
"other tokens or are otherwise significant to the lexical analyzer:"
@ -1478,7 +1496,7 @@ msgstr ""
"partie d'autres lexèmes ou ont une signification particulière pour "
"l'analyseur lexical :"
#: reference/lexical_analysis.rst:975
#: reference/lexical_analysis.rst:987
msgid ""
"The following printing ASCII characters are not used in Python. Their "
"occurrence outside string literals and comments is an unconditional error:"
@ -1487,10 +1505,24 @@ msgstr ""
"apparaissent en dehors de chaines littérales ou de commentaires, ils "
"produisent une erreur :"
#: reference/lexical_analysis.rst:984
#: reference/lexical_analysis.rst:996
msgid "Footnotes"
msgstr "Notes"
#: reference/lexical_analysis.rst:985
#: reference/lexical_analysis.rst:997
msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt"
msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt"
#~ msgid ""
#~ "Not imported by ``from module import *``. The special identifier ``_`` "
#~ "is used in the interactive interpreter to store the result of the last "
#~ "evaluation; it is stored in the :mod:`builtins` module. When not in "
#~ "interactive mode, ``_`` has no special meaning and is not defined. See "
#~ "section :ref:`import`."
#~ msgstr ""
#~ "L'identifiant spécial ``_`` n'est pas importé par ``from module import "
#~ "*``. Il est utilisé dans l'interpréteur interactif pour stocker le "
#~ "résultat de la dernière évaluation ; il est stocké dans le module :mod:"
#~ "`builtins`. Lorsque vous n'êtes pas en mode interactif, ``_`` n'a pas de "
#~ "signification particulière et n'est pas défini. Voir la section :ref:"
#~ "`import`."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-04-27 22:51+0200\n"
"Last-Translator: pierre choffe <choffepierre@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -38,6 +38,14 @@ msgstr ""
#: tutorial/introduction.rst:16
msgid ""
"You can toggle the display of prompts and output by clicking on ``>>>`` in "
"the upper-right corner of an example box. If you hide the prompts and "
"output for an example, then you can easily copy and paste the input lines "
"into your interpreter."
msgstr ""
#: tutorial/introduction.rst:23
msgid ""
"Many of the examples in this manual, even those entered at the interactive "
"prompt, include comments. Comments in Python start with the hash character, "
"``#``, and extend to the end of the physical line. A comment may appear at "
@ -56,15 +64,15 @@ msgstr ""
"servent qu'à expliquer le code et ne sont pas interprétés par Python, ils "
"peuvent être ignorés lorsque vous tapez les exemples."
#: tutorial/introduction.rst:24
#: tutorial/introduction.rst:31
msgid "Some examples::"
msgstr "Quelques exemples ::"
#: tutorial/introduction.rst:35
#: tutorial/introduction.rst:42
msgid "Using Python as a Calculator"
msgstr "Utilisation de Python comme une calculatrice"
#: tutorial/introduction.rst:37
#: tutorial/introduction.rst:44
msgid ""
"Let's try some simple Python commands. Start the interpreter and wait for "
"the primary prompt, ``>>>``. (It shouldn't take long.)"
@ -72,11 +80,11 @@ msgstr ""
"Essayons quelques commandes Python simples. Démarrez l'interpréteur et "
"attendez l'invite primaire, ``>>>``. Ça ne devrait pas être long."
#: tutorial/introduction.rst:44
#: tutorial/introduction.rst:51
msgid "Numbers"
msgstr "Les nombres"
#: tutorial/introduction.rst:46
#: tutorial/introduction.rst:53
msgid ""
"The interpreter acts as a simple calculator: you can type an expression at "
"it and it will write the value. Expression syntax is straightforward: the "
@ -90,7 +98,7 @@ msgstr ""
"la plupart des langages (par exemple, Pascal ou C) ; les parenthèses peuvent "
"être utilisées pour faire des regroupements. Par exemple ::"
#: tutorial/introduction.rst:61
#: tutorial/introduction.rst:68
msgid ""
"The integer numbers (e.g. ``2``, ``4``, ``20``) have type :class:`int`, the "
"ones with a fractional part (e.g. ``5.0``, ``1.6``) have type :class:"
@ -101,7 +109,7 @@ msgstr ""
"Vous trouvez plus de détails sur les types numériques plus loin dans ce "
"tutoriel."
#: tutorial/introduction.rst:65
#: tutorial/introduction.rst:72
msgid ""
"Division (``/``) always returns a float. To do :term:`floor division` and "
"get an integer result (discarding any fractional result) you can use the ``//"
@ -112,7 +120,7 @@ msgstr ""
"résultat entier. Pour obtenir le reste d'une division entière, utilisez "
"l'opérateur ``%`` ::"
#: tutorial/introduction.rst:79
#: tutorial/introduction.rst:86
msgid ""
"With Python, it is possible to use the ``**`` operator to calculate powers "
"[#]_::"
@ -120,7 +128,7 @@ msgstr ""
"En Python, il est possible de calculer des puissances avec l'opérateur "
"``**`` [#]_ ::"
#: tutorial/introduction.rst:86
#: tutorial/introduction.rst:93
msgid ""
"The equal sign (``=``) is used to assign a value to a variable. Afterwards, "
"no result is displayed before the next interactive prompt::"
@ -128,7 +136,7 @@ msgstr ""
"Le signe égal (``=``) est utilisé pour affecter une valeur à une variable. "
"Dans ce cas, aucun résultat n'est affiché avant l'invite suivante ::"
#: tutorial/introduction.rst:94
#: tutorial/introduction.rst:101
msgid ""
"If a variable is not \"defined\" (assigned a value), trying to use it will "
"give you an error::"
@ -136,7 +144,7 @@ msgstr ""
"Si une variable n'est pas « définie » (si aucune valeur ne lui a été "
"affectée), son utilisation produit une erreur ::"
#: tutorial/introduction.rst:102
#: tutorial/introduction.rst:109
msgid ""
"There is full support for floating point; operators with mixed type operands "
"convert the integer operand to floating point::"
@ -147,7 +155,7 @@ msgstr ""
"opérandes de types différents convertissent l'opérande de type entier en "
"type virgule flottante ::"
#: tutorial/introduction.rst:108
#: tutorial/introduction.rst:115
msgid ""
"In interactive mode, the last printed expression is assigned to the variable "
"``_``. This means that when you are using Python as a desk calculator, it "
@ -157,7 +165,7 @@ msgstr ""
"variable ``_``. Ainsi, lorsque vous utilisez Python comme calculatrice, cela "
"vous permet de continuer des calculs facilement, par exemple ::"
#: tutorial/introduction.rst:121
#: tutorial/introduction.rst:128
msgid ""
"This variable should be treated as read-only by the user. Don't explicitly "
"assign a value to it --- you would create an independent local variable with "
@ -168,7 +176,7 @@ msgstr ""
"ainsi une variable locale indépendante, avec le même nom, qui masquerait la "
"variable native et son fonctionnement magique."
#: tutorial/introduction.rst:125
#: tutorial/introduction.rst:132
msgid ""
"In addition to :class:`int` and :class:`float`, Python supports other types "
"of numbers, such as :class:`~decimal.Decimal` and :class:`~fractions."
@ -181,11 +189,11 @@ msgstr ""
"les :ref:`nombres complexes <typesnumeric>`, en utilisant le suffixe ``j`` "
"ou ``J`` pour indiquer la partie imaginaire (tel que ``3+5j``)."
#: tutorial/introduction.rst:135
#: tutorial/introduction.rst:142
msgid "Strings"
msgstr "Chaînes de caractères"
#: tutorial/introduction.rst:137
#: tutorial/introduction.rst:144
msgid ""
"Besides numbers, Python can also manipulate strings, which can be expressed "
"in several ways. They can be enclosed in single quotes (``'...'``) or "
@ -198,7 +206,7 @@ msgstr ""
"\"``) sans distinction [#]_. ``\\`` peut être utilisé pour protéger un "
"guillemet ::"
#: tutorial/introduction.rst:155
#: tutorial/introduction.rst:162
msgid ""
"In the interactive interpreter, the output string is enclosed in quotes and "
"special characters are escaped with backslashes. While this might sometimes "
@ -220,7 +228,7 @@ msgstr ""
"en affichant les caractères spéciaux qui étaient protégés par une barre "
"oblique inverse ::"
#: tutorial/introduction.rst:175
#: tutorial/introduction.rst:182
msgid ""
"If you don't want characters prefaced by ``\\`` to be interpreted as special "
"characters, you can use *raw strings* by adding an ``r`` before the first "
@ -230,7 +238,7 @@ msgstr ""
"interprétés comme étant spéciaux, utilisez les *chaînes brutes* (*raw "
"strings* en anglais) en préfixant la chaîne d'un ``r`` ::"
#: tutorial/introduction.rst:185
#: tutorial/introduction.rst:192
msgid ""
"String literals can span multiple lines. One way is using triple-quotes: ``"
"\"\"\"...\"\"\"`` or ``'''...'''``. End of lines are automatically included "
@ -243,7 +251,7 @@ msgstr ""
"on peut l'empêcher en ajoutant ``\\`` à la fin de la ligne. L'exemple "
"suivant ::"
#: tutorial/introduction.rst:196
#: tutorial/introduction.rst:203
msgid ""
"produces the following output (note that the initial newline is not "
"included):"
@ -251,7 +259,7 @@ msgstr ""
"produit l'affichage suivant (notez que le premier retour à la ligne n'est "
"pas inclus) :"
#: tutorial/introduction.rst:204
#: tutorial/introduction.rst:211
msgid ""
"Strings can be concatenated (glued together) with the ``+`` operator, and "
"repeated with ``*``::"
@ -259,7 +267,7 @@ msgstr ""
"Les chaînes peuvent être concaténées (collées ensemble) avec l'opérateur ``"
"+`` et répétées avec l'opérateur ``*`` ::"
#: tutorial/introduction.rst:211
#: tutorial/introduction.rst:218
msgid ""
"Two or more *string literals* (i.e. the ones enclosed between quotes) next "
"to each other are automatically concatenated. ::"
@ -267,28 +275,28 @@ msgstr ""
"Plusieurs chaînes de caractères, écrites littéralement (c'est-à-dire entre "
"guillemets), côte à côte, sont automatiquement concaténées. ::"
#: tutorial/introduction.rst:217
#: tutorial/introduction.rst:224
msgid ""
"This feature is particularly useful when you want to break long strings::"
msgstr ""
"Cette fonctionnalité est surtout intéressante pour couper des chaînes trop "
"longues ::"
#: tutorial/introduction.rst:224
#: tutorial/introduction.rst:231
msgid ""
"This only works with two literals though, not with variables or expressions::"
msgstr ""
"Cela ne fonctionne cependant qu'avec les chaînes littérales, pas avec les "
"variables ni les expressions ::"
#: tutorial/introduction.rst:238
#: tutorial/introduction.rst:245
msgid ""
"If you want to concatenate variables or a variable and a literal, use ``+``::"
msgstr ""
"Pour concaténer des variables, ou des variables avec des chaînes littérales, "
"utilisez l'opérateur ``+`` ::"
#: tutorial/introduction.rst:243
#: tutorial/introduction.rst:250
msgid ""
"Strings can be *indexed* (subscripted), with the first character having "
"index 0. There is no separate character type; a character is simply a string "
@ -300,20 +308,20 @@ msgstr ""
"distinct pour les caractères, un caractère est simplement une chaîne de "
"longueur 1 ::"
#: tutorial/introduction.rst:253
#: tutorial/introduction.rst:260
msgid ""
"Indices may also be negative numbers, to start counting from the right::"
msgstr ""
"Les indices peuvent également être négatifs, on compte alors en partant de "
"la droite. Par exemple ::"
#: tutorial/introduction.rst:262
#: tutorial/introduction.rst:269
msgid "Note that since -0 is the same as 0, negative indices start from -1."
msgstr ""
"Notez que, comme ``-0`` égale ``0``, les indices négatifs commencent par "
"``-1``."
#: tutorial/introduction.rst:264
#: tutorial/introduction.rst:271
msgid ""
"In addition to indexing, *slicing* is also supported. While indexing is "
"used to obtain individual characters, *slicing* allows you to obtain "
@ -324,7 +332,7 @@ msgstr ""
"indice permet d'obtenir un caractère, *trancher* permet d'obtenir une sous-"
"chaîne ::"
#: tutorial/introduction.rst:272
#: tutorial/introduction.rst:279
msgid ""
"Slice indices have useful defaults; an omitted first index defaults to zero, "
"an omitted second index defaults to the size of the string being sliced. ::"
@ -333,7 +341,7 @@ msgstr ""
"indice vaut zéro par défaut (c.-à-d. lorsqu'il est omis), le deuxième "
"correspond par défaut à la taille de la chaîne de caractères ::"
#: tutorial/introduction.rst:282
#: tutorial/introduction.rst:289
msgid ""
"Note how the start is always included, and the end always excluded. This "
"makes sure that ``s[:i] + s[i:]`` is always equal to ``s``::"
@ -341,7 +349,7 @@ msgstr ""
"Notez que le début est toujours inclus et la fin toujours exclue. Cela "
"assure que ``s[:i] + s[i:]`` est toujours égal à ``s`` ::"
#: tutorial/introduction.rst:290
#: tutorial/introduction.rst:297
msgid ""
"One way to remember how slices work is to think of the indices as pointing "
"*between* characters, with the left edge of the first character numbered 0. "
@ -353,7 +361,7 @@ msgstr ""
"caractère ayant la position 0. Le côté droit du dernier caractère d'une "
"chaîne de *n* caractères a alors pour indice *n*. Par exemple ::"
#: tutorial/introduction.rst:301
#: tutorial/introduction.rst:308
msgid ""
"The first row of numbers gives the position of the indices 0...6 in the "
"string; the second row gives the corresponding negative indices. The slice "
@ -365,7 +373,7 @@ msgstr ""
"de *i* à *j* est constituée de tous les caractères situés entre les bords "
"libellés *i* et *j*, respectivement."
#: tutorial/introduction.rst:306
#: tutorial/introduction.rst:313
msgid ""
"For non-negative indices, the length of a slice is the difference of the "
"indices, if both are within bounds. For example, the length of "
@ -375,11 +383,11 @@ msgstr ""
"entre ces indices, si les deux sont entre les bornes. Par exemple, la "
"longueur de ``word[1:3]`` est 2."
#: tutorial/introduction.rst:310
#: tutorial/introduction.rst:317
msgid "Attempting to use an index that is too large will result in an error::"
msgstr "Utiliser un indice trop grand produit une erreur ::"
#: tutorial/introduction.rst:317
#: tutorial/introduction.rst:324
msgid ""
"However, out of range slice indexes are handled gracefully when used for "
"slicing::"
@ -387,7 +395,7 @@ msgstr ""
"Cependant, les indices hors bornes sont gérés silencieusement lorsqu'ils "
"sont utilisés dans des tranches ::"
#: tutorial/introduction.rst:325
#: tutorial/introduction.rst:332
msgid ""
"Python strings cannot be changed --- they are :term:`immutable`. Therefore, "
"assigning to an indexed position in the string results in an error::"
@ -396,21 +404,21 @@ msgstr ""
"qu'elles sont :term:`immuables <immutable>`. Affecter une nouvelle valeur à "
"un indice dans une chaîne produit une erreur ::"
#: tutorial/introduction.rst:337
#: tutorial/introduction.rst:344
msgid "If you need a different string, you should create a new one::"
msgstr ""
"Si vous avez besoin d'une chaîne différente, vous devez en créer une "
"nouvelle ::"
#: tutorial/introduction.rst:344
#: tutorial/introduction.rst:351
msgid "The built-in function :func:`len` returns the length of a string::"
msgstr "La fonction native :func:`len` renvoie la longueur d'une chaîne ::"
#: tutorial/introduction.rst:355
#: tutorial/introduction.rst:362
msgid ":ref:`textseq`"
msgstr ":ref:`textseq`"
#: tutorial/introduction.rst:354
#: tutorial/introduction.rst:361
msgid ""
"Strings are examples of *sequence types*, and support the common operations "
"supported by such types."
@ -418,11 +426,11 @@ msgstr ""
"Les chaînes de caractères sont des exemples de *types séquences* ; elles "
"acceptent donc les opérations classiques prises en charge par ces types."
#: tutorial/introduction.rst:359
#: tutorial/introduction.rst:366
msgid ":ref:`string-methods`"
msgstr ":ref:`string-methods`"
#: tutorial/introduction.rst:358
#: tutorial/introduction.rst:365
msgid ""
"Strings support a large number of methods for basic transformations and "
"searching."
@ -430,28 +438,28 @@ msgstr ""
"Les chaînes de caractères gèrent un large éventail de méthodes de "
"transformations basiques et de recherche."
#: tutorial/introduction.rst:362
#: tutorial/introduction.rst:369
msgid ":ref:`f-strings`"
msgstr ":ref:`f-strings`"
#: tutorial/introduction.rst:362
#: tutorial/introduction.rst:369
msgid "String literals that have embedded expressions."
msgstr "Des chaînes littérales qui contiennent des expressions."
#: tutorial/introduction.rst:365
#: tutorial/introduction.rst:372
msgid ":ref:`formatstrings`"
msgstr ":ref:`formatstrings`"
#: tutorial/introduction.rst:365
#: tutorial/introduction.rst:372
msgid "Information about string formatting with :meth:`str.format`."
msgstr ""
"Informations sur le formatage des chaînes avec la méthode :meth:`str.format`."
#: tutorial/introduction.rst:368
#: tutorial/introduction.rst:375
msgid ":ref:`old-string-formatting`"
msgstr ":ref:`old-string-formatting`"
#: tutorial/introduction.rst:368
#: tutorial/introduction.rst:375
msgid ""
"The old formatting operations invoked when strings are the left operand of "
"the ``%`` operator are described in more detail here."
@ -459,11 +467,11 @@ msgstr ""
"Description détaillée des anciennes méthodes de mise en forme, appelées "
"lorsque les chaînes de caractères sont à gauche de l'opérateur ``%``."
#: tutorial/introduction.rst:375
#: tutorial/introduction.rst:382
msgid "Lists"
msgstr "Listes"
#: tutorial/introduction.rst:377
#: tutorial/introduction.rst:384
msgid ""
"Python knows a number of *compound* data types, used to group together other "
"values. The most versatile is the *list*, which can be written as a list of "
@ -476,7 +484,7 @@ msgstr ""
"par des virgules. Les éléments d'une liste ne sont pas obligatoirement tous "
"du même type, bien qu'à l'usage ce soit souvent le cas. ::"
#: tutorial/introduction.rst:386
#: tutorial/introduction.rst:393
msgid ""
"Like strings (and all other built-in :term:`sequence` types), lists can be "
"indexed and sliced::"
@ -484,7 +492,7 @@ msgstr ""
"Comme les chaînes de caractères (et toute autre type de :term:`sequence`), "
"les listes peuvent être indicées et découpées ::"
#: tutorial/introduction.rst:396
#: tutorial/introduction.rst:403
msgid ""
"All slice operations return a new list containing the requested elements. "
"This means that the following slice returns a :ref:`shallow copy "
@ -494,11 +502,11 @@ msgstr ""
"les éléments demandés. Cela signifie que l'opération suivante renvoie une :"
"ref:`copie (superficielle) <shallow_vs_deep_copy>` de la liste ::"
#: tutorial/introduction.rst:403
#: tutorial/introduction.rst:410
msgid "Lists also support operations like concatenation::"
msgstr "Les listes gèrent aussi les opérations comme les concaténations ::"
#: tutorial/introduction.rst:408
#: tutorial/introduction.rst:415
msgid ""
"Unlike strings, which are :term:`immutable`, lists are a :term:`mutable` "
"type, i.e. it is possible to change their content::"
@ -507,7 +515,7 @@ msgstr ""
"listes sont :term:`muables <mutable>` : il est possible de modifier leur "
"contenu ::"
#: tutorial/introduction.rst:418
#: tutorial/introduction.rst:425
msgid ""
"You can also add new items at the end of the list, by using the :meth:`~list."
"append` *method* (we will see more about methods later)::"
@ -516,7 +524,7 @@ msgstr ""
"avec la méthode :meth:`~list.append` (les méthodes sont abordées plus "
"tard) ::"
#: tutorial/introduction.rst:426
#: tutorial/introduction.rst:433
msgid ""
"Assignment to slices is also possible, and this can even change the size of "
"the list or clear it entirely::"
@ -524,11 +532,11 @@ msgstr ""
"Des affectations de tranches sont également possibles, ce qui peut même "
"modifier la taille de la liste ou la vider complètement ::"
#: tutorial/introduction.rst:445
#: tutorial/introduction.rst:452
msgid "The built-in function :func:`len` also applies to lists::"
msgstr "La primitive :func:`len` s'applique aussi aux listes ::"
#: tutorial/introduction.rst:451
#: tutorial/introduction.rst:458
msgid ""
"It is possible to nest lists (create lists containing other lists), for "
"example::"
@ -536,11 +544,11 @@ msgstr ""
"Il est possible d'imbriquer des listes (c.-à-d. créer des listes contenant "
"d'autres listes). Par exemple ::"
#: tutorial/introduction.rst:467
#: tutorial/introduction.rst:474
msgid "First Steps Towards Programming"
msgstr "Premiers pas vers la programmation"
#: tutorial/introduction.rst:469
#: tutorial/introduction.rst:476
msgid ""
"Of course, we can use Python for more complicated tasks than adding two and "
"two together. For instance, we can write an initial sub-sequence of the "
@ -552,11 +560,11 @@ msgstr ""
"`suite de Fibonacci <https://fr.wikipedia.org/wiki/Suite_de_Fibonacci>`_ "
"comme ceci ::"
#: tutorial/introduction.rst:489
#: tutorial/introduction.rst:496
msgid "This example introduces several new features."
msgstr "Cet exemple introduit plusieurs nouvelles fonctionnalités."
#: tutorial/introduction.rst:491
#: tutorial/introduction.rst:498
msgid ""
"The first line contains a *multiple assignment*: the variables ``a`` and "
"``b`` simultaneously get the new values 0 and 1. On the last line this is "
@ -571,7 +579,7 @@ msgstr ""
"avant que les affectations ne soient effectuées. Ces expressions en partie "
"droite sont toujours évaluées de la gauche vers la droite."
#: tutorial/introduction.rst:497
#: tutorial/introduction.rst:504
msgid ""
"The :keyword:`while` loop executes as long as the condition (here: ``a < "
"10``) remains true. In Python, like in C, any non-zero integer value is "
@ -592,7 +600,7 @@ msgstr ""
"``==`` (égal), ``<=`` (inférieur ou égal), ``>=`` (supérieur ou égal) et ``!"
"=`` (non égal)."
#: tutorial/introduction.rst:506
#: tutorial/introduction.rst:513
msgid ""
"The *body* of the loop is *indented*: indentation is Python's way of "
"grouping statements. At the interactive prompt, you have to type a tab or "
@ -614,7 +622,7 @@ msgstr ""
"venez de saisir la dernière ligne). Notez bien que toutes les lignes à "
"l'intérieur d'un bloc doivent être indentées au même niveau."
#: tutorial/introduction.rst:515
#: tutorial/introduction.rst:522
msgid ""
"The :func:`print` function writes the value of the argument(s) it is given. "
"It differs from just writing the expression you want to write (as we did "
@ -631,7 +639,7 @@ msgstr ""
"apostrophe et une espace est insérée entre les éléments de telle sorte que "
"vous pouvez facilement formater les choses, comme ceci ::"
#: tutorial/introduction.rst:526
#: tutorial/introduction.rst:533
msgid ""
"The keyword argument *end* can be used to avoid the newline after the "
"output, or end the output with a different string::"
@ -639,11 +647,11 @@ msgstr ""
"Le paramètre nommé *end* peut servir pour enlever le retour à la ligne ou "
"pour terminer la ligne par une autre chaîne ::"
#: tutorial/introduction.rst:538
#: tutorial/introduction.rst:545
msgid "Footnotes"
msgstr "Notes"
#: tutorial/introduction.rst:539
#: tutorial/introduction.rst:546
msgid ""
"Since ``**`` has higher precedence than ``-``, ``-3**2`` will be interpreted "
"as ``-(3**2)`` and thus result in ``-9``. To avoid this and get ``9``, you "
@ -653,7 +661,7 @@ msgstr ""
"** 2)`` et vaut donc ``-9``. Pour éviter cela et obtenir ``9``, utilisez des "
"parenthèses : ``(-3) ** 2``."
#: tutorial/introduction.rst:543
#: tutorial/introduction.rst:550
msgid ""
"Unlike other languages, special characters such as ``\\n`` have the same "
"meaning with both single (``'...'``) and double (``\"...\"``) quotes. The "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2020-04-27 22:54+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -297,10 +297,12 @@ msgstr ""
"la variable shell :envvar:`PATH`) ;"
#: tutorial/modules.rst:194
msgid "The installation-dependent default."
msgstr "la valeur par défaut, dépendante de l'installation."
msgid ""
"The installation-dependent default (by convention including a ``site-"
"packages`` directory, handled by the :mod:`site` module)."
msgstr ""
#: tutorial/modules.rst:197
#: tutorial/modules.rst:198
msgid ""
"On file systems which support symlinks, the directory containing the input "
"script is calculated after the symlink is followed. In other words the "
@ -311,7 +313,7 @@ msgstr ""
"Autrement dit, le dossier contenant le lien symbolique n'est **pas** ajouté "
"aux dossiers de recherche de modules."
#: tutorial/modules.rst:201
#: tutorial/modules.rst:202
msgid ""
"After initialization, Python programs can modify :data:`sys.path`. The "
"directory containing the script being run is placed at the beginning of the "
@ -327,11 +329,11 @@ msgstr ""
"chargé à sa place. C'est une erreur typique, à moins que ce ne soit voulu. "
"Voir :ref:`tut-standardmodules` pour plus d'informations."
#: tutorial/modules.rst:212
#: tutorial/modules.rst:213
msgid "\"Compiled\" Python files"
msgstr "Fichiers Python « compilés »"
#: tutorial/modules.rst:214
#: tutorial/modules.rst:215
msgid ""
"To speed up loading modules, Python caches the compiled version of each "
"module in the ``__pycache__`` directory under the name :file:`module."
@ -349,7 +351,7 @@ msgstr ""
"Cette règle de nommage permet à des versions compilées par des versions "
"différentes de Python de coexister."
#: tutorial/modules.rst:222
#: tutorial/modules.rst:223
msgid ""
"Python checks the modification date of the source against the compiled "
"version to see if it's out of date and needs to be recompiled. This is a "
@ -363,7 +365,7 @@ msgstr ""
"indépendantes de la plateforme et peuvent donc être partagées entre des "
"systèmes d'architectures différentes."
#: tutorial/modules.rst:227
#: tutorial/modules.rst:228
msgid ""
"Python does not check the cache in two circumstances. First, it always "
"recompiles and does not store the result for the module that's loaded "
@ -379,11 +381,11 @@ msgstr ""
"source (où seule la version compilée est fournie), le module compilé doit se "
"trouver dans le dossier source et sa source ne doit pas être présente."
#: tutorial/modules.rst:234
#: tutorial/modules.rst:235
msgid "Some tips for experts:"
msgstr "Astuces pour les experts :"
#: tutorial/modules.rst:236
#: tutorial/modules.rst:237
msgid ""
"You can use the :option:`-O` or :option:`-OO` switches on the Python command "
"to reduce the size of a compiled module. The ``-O`` switch removes assert "
@ -402,7 +404,7 @@ msgstr ""
"`` et sont généralement plus petits. Les versions futures de Python "
"pourraient changer les effets de l'optimisation ;"
#: tutorial/modules.rst:244
#: tutorial/modules.rst:245
msgid ""
"A program doesn't run any faster when it is read from a ``.pyc`` file than "
"when it is read from a ``.py`` file; the only thing that's faster about ``."
@ -411,7 +413,7 @@ msgstr ""
"un programme ne s'exécute pas plus vite lorsqu'il est lu depuis un ``.pyc``, "
"il est juste chargé plus vite ;"
#: tutorial/modules.rst:248
#: tutorial/modules.rst:249
msgid ""
"The module :mod:`compileall` can create .pyc files for all modules in a "
"directory."
@ -419,7 +421,7 @@ msgstr ""
"le module :mod:`compileall` peut créer des fichiers ``.pyc`` pour tous les "
"modules d'un dossier ;"
#: tutorial/modules.rst:251
#: tutorial/modules.rst:252
msgid ""
"There is more detail on this process, including a flow chart of the "
"decisions, in :pep:`3147`."
@ -427,11 +429,11 @@ msgstr ""
"vous trouvez plus de détails sur ce processus, ainsi qu'un organigramme des "
"décisions, dans la :pep:`3147`."
#: tutorial/modules.rst:258
#: tutorial/modules.rst:259
msgid "Standard Modules"
msgstr "Modules standards"
#: tutorial/modules.rst:262
#: tutorial/modules.rst:263
msgid ""
"Python comes with a library of standard modules, described in a separate "
"document, the Python Library Reference (\"Library Reference\" hereafter). "
@ -457,7 +459,7 @@ msgstr ""
"présent dans tous les interpréteurs Python. Les variables ``sys.ps1`` et "
"``sys.ps2`` définissent les chaînes d'invites principales et secondaires ::"
#: tutorial/modules.rst:285
#: tutorial/modules.rst:286
msgid ""
"These two variables are only defined if the interpreter is in interactive "
"mode."
@ -465,7 +467,7 @@ msgstr ""
"Ces deux variables ne sont définies que si l'interpréteur est en mode "
"interactif."
#: tutorial/modules.rst:287
#: tutorial/modules.rst:288
msgid ""
"The variable ``sys.path`` is a list of strings that determines the "
"interpreter's search path for modules. It is initialized to a default path "
@ -480,11 +482,11 @@ msgstr ""
"définie. ``sys.path`` est modifiable en utilisant les opérations habituelles "
"des listes ::"
#: tutorial/modules.rst:300
#: tutorial/modules.rst:301
msgid "The :func:`dir` Function"
msgstr "La fonction :func:`dir`"
#: tutorial/modules.rst:302
#: tutorial/modules.rst:303
msgid ""
"The built-in function :func:`dir` is used to find out which names a module "
"defines. It returns a sorted list of strings::"
@ -493,19 +495,19 @@ msgstr ""
"définis par un module. Elle donne une liste de chaînes classées par ordre "
"lexicographique ::"
#: tutorial/modules.rst:331
#: tutorial/modules.rst:332
msgid ""
"Without arguments, :func:`dir` lists the names you have defined currently::"
msgstr "Sans paramètre, :func:`dir` liste les noms actuellement définis ::"
#: tutorial/modules.rst:339
#: tutorial/modules.rst:340
msgid ""
"Note that it lists all types of names: variables, modules, functions, etc."
msgstr ""
"Notez qu'elle liste tous les types de noms : les variables, fonctions, "
"modules, etc."
#: tutorial/modules.rst:343
#: tutorial/modules.rst:344
msgid ""
":func:`dir` does not list the names of built-in functions and variables. If "
"you want a list of those, they are defined in the standard module :mod:"
@ -515,11 +517,11 @@ msgstr ""
"Si vous voulez les lister, elles sont définies dans le module :mod:"
"`builtins` ::"
#: tutorial/modules.rst:382
#: tutorial/modules.rst:383
msgid "Packages"
msgstr "Les paquets"
#: tutorial/modules.rst:384
#: tutorial/modules.rst:385
msgid ""
"Packages are a way of structuring Python's module namespace by using "
"\"dotted module names\". For example, the module name :mod:`A.B` designates "
@ -538,7 +540,7 @@ msgstr ""
"paquets contenant plusieurs modules tel que NumPy ou Pillow d'avoir à se "
"soucier des noms des modules des autres."
#: tutorial/modules.rst:392
#: tutorial/modules.rst:393
msgid ""
"Suppose you want to design a collection of modules (a \"package\") for the "
"uniform handling of sound files and sound data. There are many different "
@ -565,7 +567,7 @@ msgstr ""
"structure possible pour votre paquet (exprimée sous la forme d'une "
"arborescence de fichiers) :"
#: tutorial/modules.rst:429
#: tutorial/modules.rst:430
msgid ""
"When importing the package, Python searches through the directories on ``sys."
"path`` looking for the package subdirectory."
@ -573,7 +575,7 @@ msgstr ""
"Lorsqu'il importe des paquets, Python cherche dans chaque dossier de ``sys."
"path`` un sous-dossier du nom du paquet."
#: tutorial/modules.rst:432
#: tutorial/modules.rst:433
msgid ""
"The :file:`__init__.py` files are required to make Python treat directories "
"containing the file as packages. This prevents directories with a common "
@ -590,7 +592,7 @@ msgstr ""
"exécuter du code d'initialisation pour son paquet ou configurer la variable "
"``__all__`` (documentée plus loin)."
#: tutorial/modules.rst:439
#: tutorial/modules.rst:440
msgid ""
"Users of the package can import individual modules from the package, for "
"example::"
@ -598,7 +600,7 @@ msgstr ""
"Les utilisateurs d'un module peuvent importer ses modules individuellement, "
"par exemple ::"
#: tutorial/modules.rst:444
#: tutorial/modules.rst:445
msgid ""
"This loads the submodule :mod:`sound.effects.echo`. It must be referenced "
"with its full name. ::"
@ -606,11 +608,11 @@ msgstr ""
"charge le sous-module :mod:`sound.effects.echo`. Il doit alors être "
"référencé par son nom complet. ::"
#: tutorial/modules.rst:449
#: tutorial/modules.rst:450
msgid "An alternative way of importing the submodule is::"
msgstr "Une autre manière d'importer des sous-modules est ::"
#: tutorial/modules.rst:453
#: tutorial/modules.rst:454
msgid ""
"This also loads the submodule :mod:`echo`, and makes it available without "
"its package prefix, so it can be used as follows::"
@ -618,7 +620,7 @@ msgstr ""
"charge aussi le sous-module :mod:`echo` et le rend disponible sans avoir à "
"indiquer le préfixe du paquet. Il peut donc être utilisé comme ceci ::"
#: tutorial/modules.rst:458
#: tutorial/modules.rst:459
msgid ""
"Yet another variation is to import the desired function or variable "
"directly::"
@ -626,7 +628,7 @@ msgstr ""
"Une autre méthode consiste à importer la fonction ou la variable désirée "
"directement ::"
#: tutorial/modules.rst:462
#: tutorial/modules.rst:463
msgid ""
"Again, this loads the submodule :mod:`echo`, but this makes its function :"
"func:`echofilter` directly available::"
@ -634,7 +636,7 @@ msgstr ""
"Le sous-module :mod:`echo` est toujours chargé mais ici la fonction :func:"
"`echofilter` est disponible directement ::"
#: tutorial/modules.rst:467
#: tutorial/modules.rst:468
msgid ""
"Note that when using ``from package import item``, the item can be either a "
"submodule (or subpackage) of the package, or some other name defined in the "
@ -650,7 +652,7 @@ msgstr ""
"le paquet ; s'il ne l'est pas, elle cherche à charger un module et, si elle "
"n'en trouve pas, une exception :exc:`ImportError` est levée."
#: tutorial/modules.rst:474
#: tutorial/modules.rst:475
msgid ""
"Contrarily, when using syntax like ``import item.subitem.subsubitem``, each "
"item except for the last must be a package; the last item can be a module or "
@ -663,11 +665,11 @@ msgstr ""
"ni une fonction, ni une classe, ni une variable définie dans l'élément "
"précédent."
#: tutorial/modules.rst:483
#: tutorial/modules.rst:484
msgid "Importing \\* From a Package"
msgstr "Importer \\* depuis un paquet"
#: tutorial/modules.rst:487
#: tutorial/modules.rst:488
msgid ""
"Now what happens when the user writes ``from sound.effects import *``? "
"Ideally, one would hope that this somehow goes out to the filesystem, finds "
@ -682,7 +684,7 @@ msgstr ""
"avoir des effets secondaires indésirables ou, du moins, désirés seulement "
"lorsque le sous-module est importé explicitement."
#: tutorial/modules.rst:493
#: tutorial/modules.rst:494
msgid ""
"The only solution is for the package author to provide an explicit index of "
"the package. The :keyword:`import` statement uses the following convention: "
@ -705,7 +707,7 @@ msgstr ""
"pour son paquet. Par exemple, le fichier :file:`sound/effects/__init__.py` "
"peut contenir le code suivant ::"
#: tutorial/modules.rst:505
#: tutorial/modules.rst:506
msgid ""
"This would mean that ``from sound.effects import *`` would import the three "
"named submodules of the :mod:`sound` package."
@ -713,7 +715,7 @@ msgstr ""
"Cela signifie que ``from sound.effects import *`` importe les trois sous-"
"modules explicitement désignés du paquet :mod:`sound`."
#: tutorial/modules.rst:508
#: tutorial/modules.rst:509
msgid ""
"If ``__all__`` is not defined, the statement ``from sound.effects import *`` "
"does *not* import all submodules from the package :mod:`sound.effects` into "
@ -735,7 +737,7 @@ msgstr ""
"modules du paquet ayant été chargés explicitement par une instruction :"
"keyword:`import`. Typiquement ::"
#: tutorial/modules.rst:521
#: tutorial/modules.rst:522
msgid ""
"In this example, the :mod:`echo` and :mod:`surround` modules are imported in "
"the current namespace because they are defined in the :mod:`sound.effects` "
@ -747,7 +749,7 @@ msgstr ""
"qu'ils sont définis dans le paquet :mod:`sound.effects` (cela fonctionne "
"aussi lorsque ``__all__`` est définie)."
#: tutorial/modules.rst:526
#: tutorial/modules.rst:527
msgid ""
"Although certain modules are designed to export only names that follow "
"certain patterns when you use ``import *``, it is still considered bad "
@ -758,7 +760,7 @@ msgstr ""
"*`` reste considéré comme une mauvaise pratique dans du code à destination "
"d'un environnement de production."
#: tutorial/modules.rst:530
#: tutorial/modules.rst:531
msgid ""
"Remember, there is nothing wrong with using ``from package import "
"specific_submodule``! In fact, this is the recommended notation unless the "
@ -770,11 +772,11 @@ msgstr ""
"que le module qui fait les importations ait besoin de sous-modules ayant le "
"même nom mais provenant de paquets différents."
#: tutorial/modules.rst:539
#: tutorial/modules.rst:540
msgid "Intra-package References"
msgstr "Références internes dans un paquet"
#: tutorial/modules.rst:541
#: tutorial/modules.rst:542
msgid ""
"When packages are structured into subpackages (as with the :mod:`sound` "
"package in the example), you can use absolute imports to refer to submodules "
@ -788,7 +790,7 @@ msgstr ""
"vocoder` a besoin du module :mod:`echo` du paquet :mod:`sound.effects`, il "
"peut utiliser ``from sound.effects import echo``."
#: tutorial/modules.rst:547
#: tutorial/modules.rst:548
msgid ""
"You can also write relative imports, with the ``from module import name`` "
"form of import statement. These imports use leading dots to indicate the "
@ -800,7 +802,7 @@ msgstr ""
"points pour indiquer leur origine (paquet courant ou parent). Depuis le "
"module :mod:`surround`, par exemple vous pouvez écrire ::"
#: tutorial/modules.rst:556
#: tutorial/modules.rst:557
msgid ""
"Note that relative imports are based on the name of the current module. "
"Since the name of the main module is always ``\"__main__\"``, modules "
@ -812,11 +814,11 @@ msgstr ""
"modules utilisés par le module principal d'une application ne peuvent être "
"importés que par des importations absolues."
#: tutorial/modules.rst:562
#: tutorial/modules.rst:563
msgid "Packages in Multiple Directories"
msgstr "Paquets dans plusieurs dossiers"
#: tutorial/modules.rst:564
#: tutorial/modules.rst:565
msgid ""
"Packages support one more special attribute, :attr:`__path__`. This is "
"initialized to be a list containing the name of the directory holding the "
@ -830,7 +832,7 @@ msgstr ""
"peut être modifiée, altérant ainsi les futures recherches de modules et sous-"
"paquets contenus dans le paquet."
#: tutorial/modules.rst:570
#: tutorial/modules.rst:571
msgid ""
"While this feature is not often needed, it can be used to extend the set of "
"modules found in a package."
@ -838,11 +840,11 @@ msgstr ""
"Bien que cette fonctionnalité ne soit que rarement utile, elle peut servir à "
"élargir la liste des modules trouvés dans un paquet."
#: tutorial/modules.rst:575
#: tutorial/modules.rst:576
msgid "Footnotes"
msgstr "Notes"
#: tutorial/modules.rst:576
#: tutorial/modules.rst:577
msgid ""
"In fact function definitions are also 'statements' that are 'executed'; the "
"execution of a module-level function definition enters the function name in "
@ -851,3 +853,6 @@ msgstr ""
"En réalité, la déclaration d'une fonction est elle-même une instruction ; "
"son exécution enregistre le nom de la fonction dans la table des symboles "
"globaux du module."
#~ msgid "The installation-dependent default."
#~ msgstr "la valeur par défaut, dépendante de l'installation."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-24 15:30+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -571,11 +571,12 @@ msgstr ""
"code Python."
#: using/cmdline.rst:323
#, fuzzy
msgid ""
"Hash randomization is intended to provide protection against a denial-of-"
"service caused by carefully-chosen inputs that exploit the worst case "
"performance of a dict construction, O(n^2) complexity. See http://www.ocert."
"org/advisories/ocert-2011-003.html for details."
"performance of a dict construction, O(n\\ :sup:`2`) complexity. See http://"
"www.ocert.org/advisories/ocert-2011-003.html for details."
msgstr ""
"L'imprévisibilité des empreintes a pour objectif de se protéger contre les "
"dénis de service qui utiliseraient des valeurs d'entrée judicieusement "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -824,7 +824,7 @@ msgstr ""
#: using/configure.rst:553
msgid ""
"Other C extensins are built as dynamic libraires, like the ``_asyncio`` "
"Other C extensins are built as dynamic libraries, like the ``_asyncio`` "
"module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. "
"Example on Linux x86-64::"
msgstr ""

View File

@ -4,8 +4,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To:\n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2021-09-24 15:11+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -286,13 +286,13 @@ msgid ""
"not ``install``. The ``install_sw`` target does not override ``openssl.cnf``."
msgstr ""
#: using/unix.rst:171
#: using/unix.rst:172
msgid ""
"Build Python with custom OpenSSL (see the configure `--with-openssl` and `--"
"with-openssl-rpath` options)"
msgstr ""
#: using/unix.rst:186
#: using/unix.rst:187
msgid ""
"Patch releases of OpenSSL have a backwards compatible ABI. You don't need to "
"recompile Python to update OpenSSL. It's sufficient to replace the custom "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2019-11-01 11:43+0100\n"
"Last-Translator: Melançon Victor <victor.melancon0@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1242,7 +1242,7 @@ msgid ""
"limiting the size of source files. In particular, this affected the maximum "
"size of literal lists and dictionaries in Python source; occasionally people "
"who are generating Python code would run into this limit. A patch by "
"Charles G. Waldman raises the limit from ``2^16`` to ``2^{32}``."
"Charles G. Waldman raises the limit from ``2**16`` to ``2**32``."
msgstr ""
#: whatsnew/2.0.rst:796

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2017-08-10 00:52+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -991,14 +991,14 @@ msgstr ""
#: whatsnew/2.7.rst:956
msgid ""
"Long integers are now stored internally either in base 2**15 or in base "
"2**30, the base being determined at build time. Previously, they were "
"always stored in base 2**15. Using base 2**30 gives significant performance "
"improvements on 64-bit machines, but benchmark results on 32-bit machines "
"have been mixed. Therefore, the default is to use base 2**30 on 64-bit "
"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure "
"option :option:`!--enable-big-digits` that can be used to override this "
"default."
"Long integers are now stored internally either in base ``2**15`` or in base "
"``2**30``, the base being determined at build time. Previously, they were "
"always stored in base ``2**15``. Using base ``2**30`` gives significant "
"performance improvements on 64-bit machines, but benchmark results on 32-bit "
"machines have been mixed. Therefore, the default is to use base ``2**30`` "
"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a "
"new configure option :option:`!--enable-big-digits` that can be used to "
"override this default."
msgstr ""
#: whatsnew/2.7.rst:965

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"PO-Revision-Date: 2018-07-31 23:30+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -598,13 +598,14 @@ msgstr ""
#: whatsnew/3.1.rst:477
msgid ""
"Integers are now stored internally either in base 2**15 or in base 2**30, "
"the base being determined at build time. Previously, they were always "
"stored in base 2**15. Using base 2**30 gives significant performance "
"improvements on 64-bit machines, but benchmark results on 32-bit machines "
"have been mixed. Therefore, the default is to use base 2**30 on 64-bit "
"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure "
"option ``--enable-big-digits`` that can be used to override this default."
"Integers are now stored internally either in base ``2**15`` or in base "
"``2**30``, the base being determined at build time. Previously, they were "
"always stored in base ``2**15``. Using base ``2**30`` gives significant "
"performance improvements on 64-bit machines, but benchmark results on 32-bit "
"machines have been mixed. Therefore, the default is to use base ``2**30`` "
"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a "
"new configure option ``--enable-big-digits`` that can be used to override "
"this default."
msgstr ""
#: whatsnew/3.1.rst:486

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff