1
0
Fork 0

Merge remote-tracking branch 'python/2.6' into exceptions

This commit is contained in:
Jean-Baptiste Braun 2018-05-10 22:15:20 +02:00
commit 80389e66a3
294 changed files with 24464 additions and 36682 deletions

File diff suppressed because it is too large Load Diff

93
Makefile Normal file
View File

@ -0,0 +1,93 @@
# Makefile for French Python Documentation
#
# Here is what you can do:
#
# - make # Automatically build an html local version
# - make todo # To list remaining tasks
# - make merge # To merge pot from upstream
# - make fuzzy # To find fuzzy strings
# - make progress # To compute current progression
# - make upgrade_venv # To upgrade the venv that compiles the doc
#
# Modes are: autobuild-stable, autobuild-dev, and autobuild-html,
# documented in gen/src/3.6/Doc/Makefile as we're only delegating the
# real work to the Python Doc Makefile.
CPYTHON_CLONE := ../cpython/
SPHINX_CONF := $(CPYTHON_CLONE)/Doc/conf.py
LANGUAGE := fr
VENV := ~/.venvs/python-docs-i18n/
PYTHON := $(shell which python3)
MODE := autobuild-dev-html
BRANCH = $(shell git describe --contains --all HEAD)
JOBS = 1
.PHONY: all
all: $(VENV)/bin/sphinx-build $(VENV)/bin/blurb $(SPHINX_CONF)
mkdir -p $(CPYTHON_CLONE)/Doc/locales/$(LANGUAGE)/
ln -nfs $(shell readlink -f .) $(CPYTHON_CLONE)/Doc/locales/$(LANGUAGE)/LC_MESSAGES
. $(VENV)/bin/activate; $(MAKE) -C $(CPYTHON_CLONE)/Doc/ SPHINXOPTS='-j$(JOBS) -D locale_dirs=locales -D language=$(LANGUAGE) -D gettext_compact=0' $(MODE)
$(SPHINX_CONF):
git clone --depth 1 --no-single-branch https://github.com/python/cpython.git $(CPYTHON_CLONE)
$(VENV)/bin/activate:
mkdir -p $(VENV)
$(PYTHON) -m venv $(VENV)
$(VENV)/bin/sphinx-build: $(VENV)/bin/activate
. $(VENV)/bin/activate; python3 -m pip install sphinx
$(VENV)/bin/blurb: $(VENV)/bin/activate
. $(VENV)/bin/activate; python3 -m pip install blurb
.PHONY: upgrade_venv
upgrade_venv: $(VENV)/bin/activate
. $(VENV)/bin/activate; python3 -m pip install --upgrade sphinx blurb
.PHONY: progress
progress:
@python3 -c 'import sys; print("{:.1%}".format(int(sys.argv[1]) / int(sys.argv[2])))' \
$(shell msgcat *.po */*.po | msgattrib --translated | grep -c '^msgid') \
$(shell msgcat *.po */*.po | grep -c '^msgid')
.PHONY: todo
todo:
for file in *.po */*.po; do echo $$(msgattrib --untranslated $$file | grep ^msgid | sed 1d | wc -l ) $$file; done | grep -v ^0 | sort -gr
.PHONY: merge
merge: $(VENV)/bin/sphinx-build
ifneq "$(shell cd $(CPYTHON_CLONE) 2>/dev/null && git describe --contains --all HEAD)" "$(BRANCH)"
$(error "You're merging from a different branch")
endif
(cd $(CPYTHON_CLONE)/Doc; rm -f build/NEWS)
(cd $(CPYTHON_CLONE); $(VENV)/bin/sphinx-build -Q -b gettext -D gettext_compact=0 Doc pot/)
find $(CPYTHON_CLONE)/pot/ -name '*.pot' |\
while read -r POT;\
do\
PO="./$$(echo "$$POT" | sed "s#$(CPYTHON_CLONE)/pot/##; s#\.pot\$$#.po#")";\
mkdir -p "$$(dirname "$$PO")";\
if [ -f "$$PO" ];\
then\
case "$$POT" in\
*whatsnew*) msgmerge --backup=off --force-po --no-fuzzy-matching -U "$$PO" "$$POT" ;;\
*) msgmerge --backup=off --force-po -U "$$PO" "$$POT" ;;\
esac\
else\
msgcat -o "$$PO" "$$POT";\
fi\
done
.PHONY: fuzzy
fuzzy:
for file in *.po */*.po; do echo $$(msgattrib --only-fuzzy --no-obsolete "$$file" | grep -c ^msgid) $$file; done | grep -v ^0 | sort -gr

View File

@ -1,5 +1,12 @@
This is the French Translation of the Python Documentation
==========================================================
French Translation of the Python Documentation
==============================================
**Translated: 28.0%**
See the `README.rst file on master
<https://github.com/python/python-docs-fr/blob/master/README.rst>`_
for more informations.
Documentation Contribution Agreement
------------------------------------
@ -22,278 +29,3 @@ Python community is welcomed and appreciated.
You signify acceptance of this agreement by submitting your work to
the PSF for inclusion in the documentation.
Contributing to the Translation
-------------------------------
To clone, as we're working on the ``3.6`` branch, you can use ``git
clone --branch 3.6``.
How to Contribute
~~~~~~~~~~~~~~~~~
You can either contribute on `transifex/python-doc/public
<https://www.transifex.com/python-doc/public/>`_, or by simply openning an
issue on this repository, or by editing the ``po`` files.
To modify those files you first have to fork this project and follow
github instructions to clone it.
Next, to edit the files, you can use an editor of your choice, there's many:
- Highly recommended: `poedit <http://www.poedit.net/>`_
- gted
- gtranslator
- lokalize
- betterpoeditor
- vim or emacs with an appropriate mode
- Vé on Android
- Probably many others
Finally, once your contribution is done, do a ``pull request`` so we
can review and merge it.
What to translate
~~~~~~~~~~~~~~~~~
You can start with easy tasks like reviewing fuzzy entries to help
keeping the documentation up to date. You can also proofread already
translated entries, and finally translate untranslated ones.
- Do not translate content of ``:ref:...`` and ``:term:...``
- Put english words, if you have to use them, in *italics* (surrounded
by stars).
- ``::`` at the end of some paragraphs have to be translated to `` :
::`` in French to place the space before the column.
You can find files with a few translations missing::
for file in library/*; do echo $(msgattrib --untranslated $file | grep ^msgid | sed 1d | wc -l ) $file; done | grep -v ^0 | sort -gr | tail
Or replace the ``tail`` by a ``head`` to get files with a lot of work.
Where to get help
~~~~~~~~~~~~~~~~~
The coordinator for this translation is `mdk <https://mdk.fr/>`_.
Feel free to ask your questions on ``#python-fr`` on `freenode
<https://webchat.freenode.net/>`_.
Translation Progression
-----------------------
============ ===== ===== =====
.. 2.7 3.5 3.6
============ ===== ===== =====
about.po 100% 100% 100%
bugs.po 100% 100% 100%
c-api 9% 12% 11%
contents.po 100% 100% 100%
copyright.po 100% 100% 100%
distributing 100% 100% 100%
distutils 32% 33% 33%
extending 21% 24% 24%
faq 29% 33% 32%
glossary.po 85% 100% 100%
howto 7% 6% 6%
install 45% 46% 43%
installing 100% 100% 66%
library 16% 20% 19%
license.po 100% 100% 100%
reference 5% 5% 5%
sphinx.po 100% 100% 100%
tutorial 100% 100% 100%
using 31% 21% 19%
whatsnew 6% 41% 7%
~total~ 19% 25% 19%
============ ===== ===== =====
Priorities
----------
The ``tutorial/`` directory has a high priority as translations aim
for newcomers, then here are files most read in the original version:
- library/functions.po
- library/stdtypes.po
- library/string.po
- library/re.po
- library/datetime.po
- library/csv.po
- library/os.po
- library/random.po
- library/json.po
- library/subprocess.po
Translation Resources
---------------------
- `Le Grand Dictionnaire Terminologique <http://gdt.oqlf.gouv.qc.ca/>`_
- IRC channel `#python-fr <irc.lc/freenode/python-fr>`_ on freenode.
- The `liste traductions <http://lists.afpy.org/mailman/listinfo/traductions>`_.
- The `doc-sig mailing list
<https://mail.python.org/mailman/listinfo/doc-sig>`_.
- `Glossaire traduc.org <http://glossaire.traduc.org>`_
- `Glossaires et Dictionnaires of traduc.org
<https://traduc.org/Glossaires_et_dictionnaires>`_
- `glossary.po <https://docs.python.org/fr/3/glossary.html>`_, as it's
already translated.
- `deepl.com/translator <https://www.deepl.com>`_
Glossary
--------
For consistency in our translations, here are some propositions and
reminders for frequent terms you'll have to translate, don't hesitate
to open an issue if you disagree.
========================== ===========================================
Term Proposed Translation
========================== ===========================================
-like -compatible
abstract data type type abstrait
argument argument (Don't mix with parameter)
backslash antislash, *backslash*
bound lier
bug bogue, *bug*
built-in primitive, native
debugging débogage
double quote guillemet
e.g. e.g. (pour *exempli gratia*)
identifier identifiant
immutable immuable
interpreter interpréteur
library bibliothèque
list compréhension liste en compréhension
little-endian, big-endian `petit-boutiste, gros-boutiste
<https://fr.wikipedia.org/wiki/Endianness>`_
mutable variable
parameter paramètre
prompt invite
regular expression expression rationnelle, expression régulière
return Renvoie, ou parfois donne. On évite
"retourne" qui pourrait porter à confusion.
simple quote guillemet simple, apostrophe (apostrophe
is to glue, guillemet is to surround)
socket *socket*
statement instruction
underscore tiret bas, *underscore*
========================== ===========================================
Project History
---------------
This project was started `around 2012
<https://github.com/AFPy/python_doc_fr/commit/b77bdff59036b6b5a4804d5f519ce3ea341e027c>`_
by `afpy <https://www.afpy.org/>`_ members, in 2017 this project
became the official french Python documentation translation thanks to
`PEP 545 <https://www.python.org/dev/peps/pep-0545/>`_.
Simplify git diffs
------------------
Git diffs are often crowded with useless line number changes, like:
-#: ../Doc/library/signal.rst:406
+#: ../Doc/library/signal.rst:408
To tell git they are not usefull information, you can do the following
after ensuring ``~/.local/bin/`` is in your ``PATH``.
cat <<EOF > ~/.local/bin/podiff
#!/bin/sh
grep -v '^#:' "\$1"
EOF
chmod a+x ~/.local/bin/podiff
git config diff.podiff.textconv podiff
Maintenance
-----------
All those snippets are to run from the root of a ``python-docs-fr``
clone, and some expect to find an up-to-date CPython clone near to it,
like::
~/
├── python-docs-fr/
└── cpython/
To clone CPython you may use::
git clone --depth 1 --no-single-branch https://github.com/python/cpython.git
This avoids to download the whole history (not usefull to build
documentation) but still fetches all branches.
Merge pot files from CPython
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
VERSION="$(git describe --contains --all HEAD)"
(cd ../cpython; git checkout $VERSION && git pull --ff-only && sphinx-build -Q -b gettext -D gettext_compact=0 Doc pot/)
find ../cpython/pot/ -name '*.pot' |
while read -r POT
do
PO="./$(echo "$POT" | sed "s#../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
Find fuzzy strings
~~~~~~~~~~~~~~~~~~
.. code-block:: bash
find -name '*.po' | xargs -L1 msgattrib --only-fuzzy --no-obsolete
Run a test build locally
~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
mkdir -p /tmp/$USER/locales/fr
ln -nfs $(readlink -f .) /tmp/$USER/locales/fr/LC_MESSAGES
make -C ../cpython/Doc SPHINXOPTS="-D locale_dirs=/tmp/$USER/locales/ -D language=fr -D gettext_compact=0" autobuild-dev-html
Synchronize translation with Transifex
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You'll need the ``transifex-client``, ``pomerge``, and ``poindent``
from Pypi, and you'll need to configure ``tx`` via ``tx init``, and then:
.. code-block:: bash
tx pull
pomerge --from .tx/*.po .tx/**/*.po --to *.po **/*.po
poindent --modified
Now you should review and commit the pull, then push:
.. code-block:: bash
pomerge --from *.po **/*.po --to .tx/*.po .tx/**/*.po
tx push -t

18
bugs.po
View File

@ -7,21 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
"PO-Revision-Date: 2017-09-22 11:02+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2018-02-15 00:28+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 2.0.4\n"
#: ../Doc/bugs.rst:5
msgid "Dealing with Bugs"
msgstr "S'attaquer aux Bugs"
msgstr "S'attaquer aux bugs"
#: ../Doc/bugs.rst:7
msgid ""
@ -57,9 +55,9 @@ msgstr ""
"proposer une amélioration, si cela concerne aussi la documentation en "
"anglais, ouvrez un rapport sur le :ref:`tracker <using-the-tracker>` "
"décrivant en anglais le bogue et où vous l'avez trouvé. Si le problème ne "
"touche que la traduction en français, ouvrez un ticket sur `github <https://"
"github.com/python/python-docs-fr/issues>`_, ou venez nous en toucher un mot "
"sur `irc://freenode/#python-fr<https://webchat.freenode.net/>`_ Si vous avez "
"touche que la traduction en français, ouvrez un ticket sur https://github."
"com/python/python-docs-fr/issues, ou venez nous en toucher un mot sur le "
"canal #python-fr sur freenode (https://webchat.freenode.net/). Si vous avez "
"une suggestion de correction, merci de l'inclure également."
#: ../Doc/bugs.rst:22

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-02-15 00:28+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/abstract.rst:7
msgid "Abstract Objects Layer"
msgstr "Couche d'Abstraction des Objets"
msgstr "Couche d'abstraction des objets"
#: ../Doc/c-api/abstract.rst:9
msgid ""

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -622,33 +622,44 @@ msgstr ""
#: ../Doc/c-api/buffer.rst:478
msgid ""
"Copy *len* bytes from *src* to its contiguous representation in *buf*. "
"*order* can be ``'C'`` or ``'F'`` (for C-style or Fortran-style ordering). "
"``0`` is returned on success, ``-1`` on error."
msgstr ""
#: ../Doc/c-api/buffer.rst:482
msgid "This function fails if *len* != *src->len*."
msgstr ""
#: ../Doc/c-api/buffer.rst:487
msgid ""
"Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style "
"if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the "
"given shape with the given number of bytes per element."
msgstr ""
#: ../Doc/c-api/buffer.rst:485
#: ../Doc/c-api/buffer.rst:494
msgid ""
"Handle buffer requests for an exporter that wants to expose *buf* of size "
"*len* with writability set according to *readonly*. *buf* is interpreted as "
"a sequence of unsigned bytes."
msgstr ""
#: ../Doc/c-api/buffer.rst:489
#: ../Doc/c-api/buffer.rst:498
msgid ""
"The *flags* argument indicates the request type. This function always fills "
"in *view* as specified by flags, unless *buf* has been designated as read-"
"only and :c:macro:`PyBUF_WRITABLE` is set in *flags*."
msgstr ""
#: ../Doc/c-api/buffer.rst:493
#: ../Doc/c-api/buffer.rst:502
msgid ""
"On success, set :c:member:`view->obj` to a new reference to *exporter* and "
"return 0. Otherwise, raise :c:data:`PyExc_BufferError`, set :c:member:`view-"
">obj` to *NULL* and return ``-1``;"
msgstr ""
#: ../Doc/c-api/buffer.rst:497
#: ../Doc/c-api/buffer.rst:506
msgid ""
"If this function is used as part of a :ref:`getbufferproc <buffer-structs>`, "
"*exporter* MUST be set to the exporting object and *flags* must be passed "

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-02-15 00:30+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/bytearray.rst:6
msgid "Byte Array Objects"
msgstr "Objets Tableau d'Octets"
msgstr "Objets tableau d'octets"
#: ../Doc/c-api/bytearray.rst:13
msgid ""
@ -32,6 +32,8 @@ msgid ""
"This instance of :c:type:`PyTypeObject` represents the Python bytearray "
"type; it is the same object as :class:`bytearray` in the Python layer."
msgstr ""
"Cette instance de :c:type:`PyTypeObject` représente le type Python "
"*bytearray*, c'est le même que :class:`bytearray` côté Python."
#: ../Doc/c-api/bytearray.rst:23
msgid "Type check macros"
@ -62,6 +64,8 @@ msgid ""
"Return a new bytearray object from any object, *o*, that implements the :ref:"
"`buffer protocol <bufferobjects>`."
msgstr ""
"Renvoie un nouvel objet *bytearray* depuis n'importe quel objet, *o*, qui "
"implémente le :ref:`protocole buffer <bufferobjects>`."
#: ../Doc/c-api/bytearray.rst:50
msgid ""
@ -89,6 +93,9 @@ msgid ""
"Return the contents of *bytearray* as a char array after checking for a "
"*NULL* pointer. The returned array always has an extra null byte appended."
msgstr ""
"Renvoie le contenu de *bytearray* sous forme d'un tableau de caractères, en "
"vérifiant que ce n'est pas un pointeur *NULL*. Le tableau renvoyé se termine "
"toujours par un octet *null*."
#: ../Doc/c-api/bytearray.rst:73
msgid "Resize the internal buffer of *bytearray* to *len*."

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-02-15 00:30+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/bytes.rst:6
msgid "Bytes Objects"
msgstr "Objets *Bytes*"
msgstr "Objets *bytes*"
#: ../Doc/c-api/bytes.rst:8
msgid ""

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-02-15 00:30+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/code.rst:8
msgid "Code Objects"
msgstr "Objets Code"
msgstr "Objets code"
#: ../Doc/c-api/code.rst:12
msgid ""
@ -27,7 +27,7 @@ msgid ""
"represents a chunk of executable code that hasn't yet been bound into a "
"function."
msgstr ""
"Les objets Code sont un détail bas-niveau de l'implémentation CPython. "
"Les objets *Code* sont spécifiques à l'implémentation bas niveau de CPython. "
"Chacun d'eux représente une partie de code exécutable, qui n'a pas encore "
"été lié dans une fonction."
@ -36,20 +36,24 @@ msgid ""
"The C structure of the objects used to describe code objects. The fields of "
"this type are subject to change at any time."
msgstr ""
"La structure C utilisée pour décrire les objets *Code*. Les attributs de "
"cette structure sont sujets à changer à tout moment."
#: ../Doc/c-api/code.rst:24
msgid ""
"This is an instance of :c:type:`PyTypeObject` representing the Python :class:"
"`code` type."
msgstr ""
"C'est une instance de :c:type:`PyTypeObject` représentant le type Python :"
"class:`code`."
#: ../Doc/c-api/code.rst:30
msgid "Return true if *co* is a :class:`code` object."
msgstr ""
msgstr "Renvoie vrai si *co* est un objet :class:`code`."
#: ../Doc/c-api/code.rst:34
msgid "Return the number of free variables in *co*."
msgstr ""
msgstr "Renvoie le nombre de variables libres dans *co*."
#: ../Doc/c-api/code.rst:38
msgid ""
@ -58,6 +62,10 @@ msgid ""
"directly can bind you to a precise Python version since the definition of "
"the bytecode changes often."
msgstr ""
"Renvoie un nouvel objet *code*. Si vous avez besoin d'un objet code factice "
"pour créer une *frame*, utilisez plutôt :c:func:`PyCode_NewEmpty`. Appeler :"
"c:func:`PyCode_New` peut vous lier directement à une version spécifique de "
"Python, le *bytecode* étant sujet à modifications."
#: ../Doc/c-api/code.rst:46
msgid ""
@ -65,3 +73,6 @@ msgid ""
"and first line number. It is illegal to :func:`exec` or :func:`eval` the "
"resulting code object."
msgstr ""
"Renvoie un nouvel objet *code* avec le nom de fichier, le nom de fonction, "
"et le numéro de première ligne donnés. Il n'est pas permis d'utiliser :func:"
"`exec` ou :func:`eval` sur l'objet renvoyé."

View File

@ -7,19 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: 2017-09-22 10:30+0200\n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2018-02-15 00:31+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 2.0.4\n"
#: ../Doc/c-api/complex.rst:6
msgid "Complex Number Objects"
msgstr "Objets Nombres Complexes"
msgstr "Objets nombres complexes"
#: ../Doc/c-api/complex.rst:10
msgid ""

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-02-15 00:31+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/concrete.rst:8
msgid "Concrete Objects Layer"
msgstr "Couche des Objets Concrets"
msgstr "Couche des objets concrets"
#: ../Doc/c-api/concrete.rst:10
msgid ""
@ -30,6 +30,13 @@ msgid ""
"object is a dictionary, use :c:func:`PyDict_Check`. The chapter is "
"structured like the \"family tree\" of Python object types."
msgstr ""
"Les fonctions de ce chapitre sont spécifiques à certains types d'objets "
"Python. Leur donner un objet du mauvais type n'est pas une bonne idée, si "
"vous recevez un objet d'un programme Python, et que vous n'êtes pas sûr "
"qu'il soit du bon type, vous devez vérifier son type en premier. Par "
"exemple, pour vérifier qu'un objet est un dictionnaire, utilisez :c:func:"
"`PyDict_Check`. Ce chapitre est organisé comme un arbre généalogique de "
"types d'objets Python."
#: ../Doc/c-api/concrete.rst:19
msgid ""
@ -74,12 +81,12 @@ msgstr ""
#: ../Doc/c-api/concrete.rst:78
msgid "Container Objects"
msgstr "Objets Conteneurs"
msgstr "Objets conteneurs"
#: ../Doc/c-api/concrete.rst:91
msgid "Function Objects"
msgstr ""
msgstr "Objets fonctions"
#: ../Doc/c-api/concrete.rst:102
msgid "Other Objects"
msgstr "Autres Objets"
msgstr "Autres objets"

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-02-15 00:31+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,25 +19,28 @@ msgstr ""
#: ../Doc/c-api/coro.rst:6
msgid "Coroutine Objects"
msgstr ""
msgstr "Objets coroutines"
#: ../Doc/c-api/coro.rst:10
msgid ""
"Coroutine objects are what functions declared with an ``async`` keyword "
"return."
msgstr ""
"Les objets coroutines sont les objets renvoyés par les fonctions déclarées "
"avec le mot clef ``async``."
#: ../Doc/c-api/coro.rst:16
msgid "The C structure used for coroutine objects."
msgstr ""
msgstr "La structure C utilisée pour les objets coroutine."
#: ../Doc/c-api/coro.rst:21
msgid "The type object corresponding to coroutine objects."
msgstr ""
msgstr "L'objet type correpondant aux objets coroutines."
#: ../Doc/c-api/coro.rst:26
msgid "Return true if *ob*'s type is *PyCoro_Type*; *ob* must not be *NULL*."
msgstr ""
"Renvoie vrai si *ob* est de type *PyCoro_Type*. *ob* ne doit pas être *NULL*."
#: ../Doc/c-api/coro.rst:31
msgid ""
@ -46,3 +49,7 @@ msgid ""
"to *frame* is stolen by this function. The *frame* argument must not be "
"*NULL*."
msgstr ""
"Crée et renvoie un nouvel objet coroutine basé sur l'objet *frame*, avec "
"``__name__`` et ``__qualname__`` respectivement assignés de *name* et "
"*qualname*. Une référence à *frame* est empruntée par cette fonction. "
"L'argument *frame* ne doit pas être *NULL*."

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-02-15 00:32+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,17 +19,19 @@ msgstr ""
#: ../Doc/c-api/descriptor.rst:6
msgid "Descriptor Objects"
msgstr ""
msgstr "Les descripteurs"
#: ../Doc/c-api/descriptor.rst:8
msgid ""
"\"Descriptors\" are objects that describe some attribute of an object. They "
"are found in the dictionary of type objects."
msgstr ""
"Les \"Descripteurs\" sont des objets décrivant des attributs pour un objet. "
"Ils se trouvent dans le dictionnaire du type de l'objet."
#: ../Doc/c-api/descriptor.rst:15
msgid "The type object for the built-in descriptor types."
msgstr ""
msgstr "L'objet *type* des descripteurs natifs."
#: ../Doc/c-api/descriptor.rst:35
msgid ""
@ -37,3 +39,6 @@ msgid ""
"false if it describes a method. *descr* must be a descriptor object; there "
"is no error checking."
msgstr ""
"Renvoie vrai si le descripteur *descr* décrit un attribut de donnée, ou faux "
"s'il décrit une méthode. *descr* doit être un objet descripteur. Il n'y a "
"pas de vérification d'erreur."

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"PO-Revision-Date: 2017-05-27 19:52+0200\n"
"PO-Revision-Date: 2018-02-15 00:32+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -559,7 +559,7 @@ msgstr ""
#: ../Doc/c-api/exceptions.rst:554
msgid "Exception Objects"
msgstr "Objets Exception"
msgstr "Objets exception"
#: ../Doc/c-api/exceptions.rst:558
msgid ""
@ -610,7 +610,7 @@ msgstr ""
#: ../Doc/c-api/exceptions.rst:603
msgid "Unicode Exception Objects"
msgstr "Objets Exception Unicode"
msgstr "Objets exception unicode"
#: ../Doc/c-api/exceptions.rst:605
msgid ""
@ -1273,11 +1273,11 @@ msgstr ""
#: ../Doc/c-api/exceptions.rst:949 ../Doc/c-api/exceptions.rst:1013
msgid "Notes:"
msgstr "Notes : "
msgstr "Notes :"
#: ../Doc/c-api/exceptions.rst:952
msgid "This is a base class for other standard exceptions."
msgstr "C'est la classe de base pour les autres exceptions standards"
msgstr "C'est la classe de base pour les autres exceptions standards."
#: ../Doc/c-api/exceptions.rst:955
msgid "This is the same as :exc:`weakref.ReferenceError`."

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/function.rst:6
msgid "Function Objects"
msgstr ""
msgstr "Objets fonctions"
#: ../Doc/c-api/function.rst:10
msgid "There are a few functions specific to Python functions."

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-09-22 10:50+0200\n"
"PO-Revision-Date: 2018-02-15 00:32+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/gen.rst:6
msgid "Generator Objects"
msgstr "Objets Générateur"
msgstr "Objets générateur"
#: ../Doc/c-api/gen.rst:8
msgid ""
@ -35,7 +35,7 @@ msgstr ""
#: ../Doc/c-api/gen.rst:15
msgid "The C structure used for generator objects."
msgstr "La structure C utilisée pour les objets générateurs"
msgstr "La structure C utilisée pour les objets générateurs."
#: ../Doc/c-api/gen.rst:20
msgid "The type object corresponding to generator objects."
@ -61,7 +61,7 @@ msgid ""
msgstr ""
"Crée et renvoie un nouvel objet générateur basé sur l'objet *frame*. Une "
"référence à *frame* est volée par cette fonction. L'argument ne doit pas "
"être *NULL*"
"être *NULL*."
#: ../Doc/c-api/gen.rst:41
msgid ""

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/import.rst:6
msgid "Importing Modules"
msgstr ""
msgstr "Importer des modules"
#: ../Doc/c-api/import.rst:16
msgid ""

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/index.rst:5
msgid "Python/C API Reference Manual"
msgstr ""
msgstr "Manuel de référence de l'API Python/C"
#: ../Doc/c-api/index.rst:7
msgid ""
@ -28,3 +28,8 @@ msgid ""
"`extending-index`, which describes the general principles of extension "
"writing but does not document the API functions in detail."
msgstr ""
"C'est la documentation de l'API utilisée par les développeurs C et C++ "
"écrivant des modules d'extension ou intégrant Python. Elle va de pair avec :"
"ref:`extending-index`, qui décrit les principes généraux de l'écriture "
"d'extensions, mais ne rentre pas dans les détails de chaque fonction de "
"l'API."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -67,8 +67,8 @@ msgid ""
"last call to :c:func:`Py_Initialize`. Ideally, this frees all memory "
"allocated by the Python interpreter. This is a no-op when called for a "
"second time (without calling :c:func:`Py_Initialize` again first). Normally "
"the return value is 0. If there were errors during finalization (flushing "
"buffered data), -1 is returned."
"the return value is ``0``. If there were errors during finalization "
"(flushing buffered data), ``-1`` is returned."
msgstr ""
#: ../Doc/c-api/init.rst:70
@ -1123,7 +1123,7 @@ msgid ":const:`PyTrace_CALL`"
msgstr ""
#: ../Doc/c-api/init.rst:1066 ../Doc/c-api/init.rst:1071
msgid "Always *NULL*."
msgid "Always :c:data:`Py_None`."
msgstr ""
#: ../Doc/c-api/init.rst:1068
@ -1194,7 +1194,7 @@ msgstr ""
#: ../Doc/c-api/init.rst:1112
msgid ""
"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when "
"a call is returning without propagating an exception."
"a call is about to return."
msgstr ""
#: ../Doc/c-api/init.rst:1118
@ -1221,166 +1221,169 @@ msgid ""
"function as its first parameter, and may be any Python object, or *NULL*. "
"If the profile function needs to maintain state, using a different value for "
"*obj* for each thread provides a convenient and thread-safe place to store "
"it. The profile function is called for all monitored events except the line-"
"number events."
"it. The profile function is called for all monitored events except :const:"
"`PyTrace_LINE` and :const:`PyTrace_EXCEPTION`."
msgstr ""
#: ../Doc/c-api/init.rst:1146
msgid ""
"Set the tracing function to *func*. This is similar to :c:func:"
"`PyEval_SetProfile`, except the tracing function does receive line-number "
"events."
"events and does not receive any event related to C function objects being "
"called. Any trace function registered using :c:func:`PyEval_SetTrace` will "
"not receive :const:`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION` or :const:"
"`PyTrace_C_RETURN` as a value for the *what* parameter."
msgstr ""
#: ../Doc/c-api/init.rst:1152
#: ../Doc/c-api/init.rst:1156
msgid ""
"Return a tuple of function call counts. There are constants defined for the "
"positions within the tuple:"
msgstr ""
#: ../Doc/c-api/init.rst:1156
#: ../Doc/c-api/init.rst:1160
msgid "Name"
msgstr "Nom"
#: ../Doc/c-api/init.rst:1156
#: ../Doc/c-api/init.rst:1160
msgid "Value"
msgstr "Valeur"
#: ../Doc/c-api/init.rst:1158
#: ../Doc/c-api/init.rst:1162
msgid ":const:`PCALL_ALL`"
msgstr ""
#: ../Doc/c-api/init.rst:1158
#: ../Doc/c-api/init.rst:1162
msgid "0"
msgstr "0"
#: ../Doc/c-api/init.rst:1160
#: ../Doc/c-api/init.rst:1164
msgid ":const:`PCALL_FUNCTION`"
msgstr ""
#: ../Doc/c-api/init.rst:1160
#: ../Doc/c-api/init.rst:1164
msgid "1"
msgstr "1"
#: ../Doc/c-api/init.rst:1162
#: ../Doc/c-api/init.rst:1166
msgid ":const:`PCALL_FAST_FUNCTION`"
msgstr ""
#: ../Doc/c-api/init.rst:1162
#: ../Doc/c-api/init.rst:1166
msgid "2"
msgstr "2"
#: ../Doc/c-api/init.rst:1164
#: ../Doc/c-api/init.rst:1168
msgid ":const:`PCALL_FASTER_FUNCTION`"
msgstr ""
#: ../Doc/c-api/init.rst:1164
#: ../Doc/c-api/init.rst:1168
msgid "3"
msgstr "3"
#: ../Doc/c-api/init.rst:1166
#: ../Doc/c-api/init.rst:1170
msgid ":const:`PCALL_METHOD`"
msgstr ""
#: ../Doc/c-api/init.rst:1166
#: ../Doc/c-api/init.rst:1170
msgid "4"
msgstr "4"
#: ../Doc/c-api/init.rst:1168
#: ../Doc/c-api/init.rst:1172
msgid ":const:`PCALL_BOUND_METHOD`"
msgstr ""
#: ../Doc/c-api/init.rst:1168
#: ../Doc/c-api/init.rst:1172
msgid "5"
msgstr "5"
#: ../Doc/c-api/init.rst:1170
#: ../Doc/c-api/init.rst:1174
msgid ":const:`PCALL_CFUNCTION`"
msgstr ""
#: ../Doc/c-api/init.rst:1170
#: ../Doc/c-api/init.rst:1174
msgid "6"
msgstr "6"
#: ../Doc/c-api/init.rst:1172
#: ../Doc/c-api/init.rst:1176
msgid ":const:`PCALL_TYPE`"
msgstr ""
#: ../Doc/c-api/init.rst:1172
#: ../Doc/c-api/init.rst:1176
msgid "7"
msgstr "7"
#: ../Doc/c-api/init.rst:1174
#: ../Doc/c-api/init.rst:1178
msgid ":const:`PCALL_GENERATOR`"
msgstr ""
#: ../Doc/c-api/init.rst:1174
#: ../Doc/c-api/init.rst:1178
msgid "8"
msgstr "8"
#: ../Doc/c-api/init.rst:1176
#: ../Doc/c-api/init.rst:1180
msgid ":const:`PCALL_OTHER`"
msgstr ""
#: ../Doc/c-api/init.rst:1176
#: ../Doc/c-api/init.rst:1180
msgid "9"
msgstr ""
#: ../Doc/c-api/init.rst:1178
#: ../Doc/c-api/init.rst:1182
msgid ":const:`PCALL_POP`"
msgstr ""
#: ../Doc/c-api/init.rst:1178
#: ../Doc/c-api/init.rst:1182
msgid "10"
msgstr "10"
#: ../Doc/c-api/init.rst:1181
#: ../Doc/c-api/init.rst:1185
msgid ""
":const:`PCALL_FAST_FUNCTION` means no argument tuple needs to be created. :"
"const:`PCALL_FASTER_FUNCTION` means that the fast-path frame setup code is "
"used."
msgstr ""
#: ../Doc/c-api/init.rst:1184
#: ../Doc/c-api/init.rst:1188
msgid ""
"If there is a method call where the call can be optimized by changing the "
"argument tuple and calling the function directly, it gets recorded twice."
msgstr ""
#: ../Doc/c-api/init.rst:1188
#: ../Doc/c-api/init.rst:1192
msgid ""
"This function is only present if Python is compiled with :const:"
"`CALL_PROFILE` defined."
msgstr ""
#: ../Doc/c-api/init.rst:1194
#: ../Doc/c-api/init.rst:1198
msgid "Advanced Debugger Support"
msgstr "Support avancé du debugger"
#: ../Doc/c-api/init.rst:1199
#: ../Doc/c-api/init.rst:1203
msgid ""
"These functions are only intended to be used by advanced debugging tools."
msgstr ""
#: ../Doc/c-api/init.rst:1204
#: ../Doc/c-api/init.rst:1208
msgid ""
"Return the interpreter state object at the head of the list of all such "
"objects."
msgstr ""
#: ../Doc/c-api/init.rst:1209
#: ../Doc/c-api/init.rst:1213
msgid ""
"Return the next interpreter state object after *interp* from the list of all "
"such objects."
msgstr ""
#: ../Doc/c-api/init.rst:1215
#: ../Doc/c-api/init.rst:1219
msgid ""
"Return the pointer to the first :c:type:`PyThreadState` object in the list "
"of threads associated with the interpreter *interp*."
msgstr ""
#: ../Doc/c-api/init.rst:1221
#: ../Doc/c-api/init.rst:1225
msgid ""
"Return the next thread state object after *tstate* from the list of all such "
"objects belonging to the same :c:type:`PyInterpreterState` object."

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,15 +19,15 @@ msgstr ""
#: ../Doc/c-api/iter.rst:6
msgid "Iterator Protocol"
msgstr ""
msgstr "Protocole d'itération"
#: ../Doc/c-api/iter.rst:8
msgid "There are two functions specifically for working with iterators."
msgstr ""
msgstr "Il existe deux fonctions dédiées à l'interaction avec les itérateurs."
#: ../Doc/c-api/iter.rst:12
msgid "Return true if the object *o* supports the iterator protocol."
msgstr ""
msgstr "Renvoie vrai si l'objet *o* supporte le protocole d'itération."
#: ../Doc/c-api/iter.rst:17
msgid ""
@ -36,9 +36,16 @@ msgid ""
"values, returns *NULL* with no exception set. If an error occurs while "
"retrieving the item, returns *NULL* and passes along the exception."
msgstr ""
"Renvoie la valeur suivante d'une itération de *o*. L'objet doit être un "
"itérateur (c'est à l'appelant de faire cette vérification). Renvoie *NULL* "
"s'il n'y a plus de valeurs, sans déclarer d'exception. Renvoie *NULL* en "
"déclarant une exception si une erreur survient lors de la récupération d'un "
"élément."
#: ../Doc/c-api/iter.rst:22
msgid ""
"To write a loop which iterates over an iterator, the C code should look "
"something like this::"
msgstr ""
"Pour écrire une boucle itérant un itérateur, le code C devrait ressembler "
"à : ::"

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-12-13 08:47+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/iterator.rst:6
msgid "Iterator Objects"
msgstr ""
msgstr "Itérateurs"
#: ../Doc/c-api/iterator.rst:8
msgid ""
@ -29,6 +29,11 @@ msgid ""
"sentinel value, calling the callable for each item in the sequence, and "
"ending the iteration when the sentinel value is returned."
msgstr ""
"Python fournit deux itérateurs génériques. Le premier est un itérateur de "
"séquence, il fonctionne avec n'importe quelle séquence gérant la méthode :"
"meth:`__getitem__`. Le second fonctionne avec un objet appelable et une "
"valeur sentinelle, il appelle l'appelable pour obtenir chaque élément de la "
"séquence, et l'itération se termine lorsque la sentinelle est reçue."
#: ../Doc/c-api/iterator.rst:17
msgid ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -26,34 +26,41 @@ msgid ""
"All integers are implemented as \"long\" integer objects of arbitrary size."
msgstr ""
#: ../Doc/c-api/long.rst:15
#: ../Doc/c-api/long.rst:13
msgid ""
"On error, most ``PyLong_As*`` APIs return ``(return type)-1`` which cannot "
"be distinguished from a number. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: ../Doc/c-api/long.rst:18
msgid "This subtype of :c:type:`PyObject` represents a Python integer object."
msgstr ""
#: ../Doc/c-api/long.rst:20
#: ../Doc/c-api/long.rst:23
msgid ""
"This instance of :c:type:`PyTypeObject` represents the Python integer type. "
"This is the same object as :class:`int` in the Python layer."
msgstr ""
#: ../Doc/c-api/long.rst:26
#: ../Doc/c-api/long.rst:29
msgid ""
"Return true if its argument is a :c:type:`PyLongObject` or a subtype of :c:"
"type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:32
#: ../Doc/c-api/long.rst:35
msgid ""
"Return true if its argument is a :c:type:`PyLongObject`, but not a subtype "
"of :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:38
#: ../Doc/c-api/long.rst:41
msgid ""
"Return a new :c:type:`PyLongObject` object from *v*, or *NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:40
#: ../Doc/c-api/long.rst:43
msgid ""
"The current implementation keeps an array of integer objects for all "
"integers between ``-5`` and ``256``, when you create an int in that range "
@ -62,43 +69,43 @@ msgid ""
"in this case is undefined. :-)"
msgstr ""
#: ../Doc/c-api/long.rst:49
#: ../Doc/c-api/long.rst:52
msgid ""
"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, "
"or *NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:55
#: ../Doc/c-api/long.rst:58
msgid ""
"Return a new :c:type:`PyLongObject` object from a C :c:type:`Py_ssize_t`, or "
"*NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:61
#: ../Doc/c-api/long.rst:64
msgid ""
"Return a new :c:type:`PyLongObject` object from a C :c:type:`size_t`, or "
"*NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:67
#: ../Doc/c-api/long.rst:70
msgid ""
"Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or "
"*NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:73
#: ../Doc/c-api/long.rst:76
msgid ""
"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long "
"long`, or *NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:79
#: ../Doc/c-api/long.rst:82
msgid ""
"Return a new :c:type:`PyLongObject` object from the integer part of *v*, or "
"*NULL* on failure."
msgstr ""
#: ../Doc/c-api/long.rst:85
#: ../Doc/c-api/long.rst:88
msgid ""
"Return a new :c:type:`PyLongObject` based on the string value in *str*, "
"which is interpreted according to the radix in *base*. If *pend* is non-"
@ -111,7 +118,7 @@ msgid ""
"are no digits, :exc:`ValueError` will be raised."
msgstr ""
#: ../Doc/c-api/long.rst:98
#: ../Doc/c-api/long.rst:101
msgid ""
"Convert a sequence of Unicode digits to a Python integer value. The Unicode "
"string is first encoded to a byte string using :c:func:"
@ -119,19 +126,13 @@ msgid ""
"`PyLong_FromString`."
msgstr ""
#: ../Doc/c-api/long.rst:104
msgid ""
"Deprecated since version 3.3, will be removed in version 4.0: Part of the "
"old-style Py_UNICODE API; please migrate to using PyLong_FromUnicodeObject()."
msgstr ""
#: ../Doc/c-api/long.rst:104
#: ../Doc/c-api/long.rst:107
msgid ""
"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:"
"func:`PyLong_FromUnicodeObject`."
msgstr ""
#: ../Doc/c-api/long.rst:109
#: ../Doc/c-api/long.rst:112
msgid ""
"Convert a sequence of Unicode digits in the string *u* to a Python integer "
"value. The Unicode string is first encoded to a byte string using :c:func:"
@ -139,26 +140,33 @@ msgid ""
"`PyLong_FromString`."
msgstr ""
#: ../Doc/c-api/long.rst:119
#: ../Doc/c-api/long.rst:122
msgid ""
"Create a Python integer from the pointer *p*. The pointer value can be "
"retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`."
msgstr ""
#: ../Doc/c-api/long.rst:130 ../Doc/c-api/long.rst:140
#: ../Doc/c-api/long.rst:133 ../Doc/c-api/long.rst:145
msgid ""
"Return a C :c:type:`long` representation of *obj*. If *obj* is not an "
"instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method "
"(if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:134 ../Doc/c-api/long.rst:159
#: ../Doc/c-api/long.rst:137 ../Doc/c-api/long.rst:166
msgid ""
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
"type:`long`."
msgstr ""
#: ../Doc/c-api/long.rst:144
#: ../Doc/c-api/long.rst:140 ../Doc/c-api/long.rst:154
#: ../Doc/c-api/long.rst:169 ../Doc/c-api/long.rst:183
#: ../Doc/c-api/long.rst:200 ../Doc/c-api/long.rst:262
#: ../Doc/c-api/long.rst:274
msgid "Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate."
msgstr ""
#: ../Doc/c-api/long.rst:149
msgid ""
"If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:"
"`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return "
@ -166,14 +174,14 @@ msgid ""
"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual."
msgstr ""
#: ../Doc/c-api/long.rst:155 ../Doc/c-api/long.rst:165
#: ../Doc/c-api/long.rst:162 ../Doc/c-api/long.rst:174
msgid ""
"Return a C :c:type:`long long` representation of *obj*. If *obj* is not an "
"instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method "
"(if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:169
#: ../Doc/c-api/long.rst:178
msgid ""
"If the value of *obj* is greater than :const:`PY_LLONG_MAX` or less than :"
"const:`PY_LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, "
@ -181,101 +189,128 @@ msgid ""
"exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual."
msgstr ""
#: ../Doc/c-api/long.rst:183
#: ../Doc/c-api/long.rst:194
msgid ""
"Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must "
"be an instance of :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:186
#: ../Doc/c-api/long.rst:197
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"type:`Py_ssize_t`."
msgstr ""
#: ../Doc/c-api/long.rst:196
#: ../Doc/c-api/long.rst:209
msgid ""
"Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* "
"must be an instance of :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:199
#: ../Doc/c-api/long.rst:212
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"type:`unsigned long`."
msgstr ""
#: ../Doc/c-api/long.rst:205
#: ../Doc/c-api/long.rst:215
msgid ""
"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: ../Doc/c-api/long.rst:225
msgid ""
"Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an "
"instance of :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:208
#: ../Doc/c-api/long.rst:228
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"type:`size_t`."
msgstr ""
#: ../Doc/c-api/long.rst:217
#: ../Doc/c-api/long.rst:231
msgid ""
"Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: ../Doc/c-api/long.rst:240
msgid ""
"Return a C :c:type:`unsigned long long` representation of *pylong*. "
"*pylong* must be an instance of :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:220
#: ../Doc/c-api/long.rst:243
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :"
"c:type:`unsigned long long`."
msgstr ""
#: ../Doc/c-api/long.rst:223
#: ../Doc/c-api/long.rst:246
msgid ""
"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to "
"disambiguate."
msgstr ""
#: ../Doc/c-api/long.rst:249
msgid ""
"A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`."
msgstr ""
#: ../Doc/c-api/long.rst:229
#: ../Doc/c-api/long.rst:255
msgid ""
"Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not "
"an instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method "
"(if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:233
#: ../Doc/c-api/long.rst:259
msgid ""
"If the value of *obj* is out of range for an :c:type:`unsigned long`, return "
"the reduction of that value modulo ``ULONG_MAX + 1``."
msgstr ""
#: ../Doc/c-api/long.rst:239
#: ../Doc/c-api/long.rst:267
msgid ""
"Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* "
"is not an instance of :c:type:`PyLongObject`, first call its :meth:`__int__` "
"method (if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:243
#: ../Doc/c-api/long.rst:271
msgid ""
"If the value of *obj* is out of range for an :c:type:`unsigned long long`, "
"return the reduction of that value modulo ``PY_ULLONG_MAX + 1``."
msgstr ""
#: ../Doc/c-api/long.rst:249
#: ../Doc/c-api/long.rst:279
msgid ""
"Return a C :c:type:`double` representation of *pylong*. *pylong* must be an "
"instance of :c:type:`PyLongObject`."
msgstr ""
#: ../Doc/c-api/long.rst:252
#: ../Doc/c-api/long.rst:282
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
"type:`double`."
msgstr ""
#: ../Doc/c-api/long.rst:258
#: ../Doc/c-api/long.rst:285
msgid ""
"Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate."
msgstr ""
#: ../Doc/c-api/long.rst:290
msgid ""
"Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* "
"cannot be converted, an :exc:`OverflowError` will be raised. This is only "
"assured to produce a usable :c:type:`void` pointer for values created with :"
"c:func:`PyLong_FromVoidPtr`."
msgstr ""
#: ../Doc/c-api/long.rst:295
msgid "Returns *NULL* on error. Use :c:func:`PyErr_Occurred` to disambiguate."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -127,6 +127,7 @@ msgid ""
msgstr ""
#: ../Doc/c-api/memory.rst:111 ../Doc/c-api/memory.rst:181
#: ../Doc/c-api/memory.rst:282
msgid ""
"Allocates *n* bytes and returns a pointer of type :c:type:`void\\*` to the "
"allocated memory, or *NULL* if the request fails."
@ -140,6 +141,7 @@ msgid ""
msgstr ""
#: ../Doc/c-api/memory.rst:121 ../Doc/c-api/memory.rst:191
#: ../Doc/c-api/memory.rst:292
msgid ""
"Allocates *nelem* elements each whose size in bytes is *elsize* and returns "
"a pointer of type :c:type:`void\\*` to the allocated memory, or *NULL* if "
@ -154,6 +156,7 @@ msgid ""
msgstr ""
#: ../Doc/c-api/memory.rst:134 ../Doc/c-api/memory.rst:204
#: ../Doc/c-api/memory.rst:305
msgid ""
"Resizes the memory block pointed to by *p* to *n* bytes. The contents will "
"be unchanged to the minimum of the old and the new sizes."
@ -183,11 +186,12 @@ msgstr ""
msgid ""
"Frees the memory block pointed to by *p*, which must have been returned by a "
"previous call to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:"
"func:`PyMem_RawCalloc`. Otherwise, or if ``PyMem_Free(p)`` has been called "
"before, undefined behavior occurs."
"func:`PyMem_RawCalloc`. Otherwise, or if ``PyMem_RawFree(p)`` has been "
"called before, undefined behavior occurs."
msgstr ""
#: ../Doc/c-api/memory.rst:156 ../Doc/c-api/memory.rst:225
#: ../Doc/c-api/memory.rst:326
msgid "If *p* is *NULL*, no operation is performed."
msgstr ""
@ -195,19 +199,19 @@ msgstr ""
msgid "Memory Interface"
msgstr ""
#: ../Doc/c-api/memory.rst:164
#: ../Doc/c-api/memory.rst:164 ../Doc/c-api/memory.rst:269
msgid ""
"The following function sets, modeled after the ANSI C standard, but "
"specifying behavior when requesting zero bytes, are available for allocating "
"and releasing memory from the Python heap."
msgstr ""
#: ../Doc/c-api/memory.rst:168
#: ../Doc/c-api/memory.rst:168 ../Doc/c-api/memory.rst:273
msgid ""
"By default, these functions use :ref:`pymalloc memory allocator <pymalloc>`."
msgstr ""
#: ../Doc/c-api/memory.rst:172
#: ../Doc/c-api/memory.rst:172 ../Doc/c-api/memory.rst:277
msgid ""
"The :term:`GIL <global interpreter lock>` must be held when using these "
"functions."
@ -323,190 +327,236 @@ msgid "``PyMem_DEL(ptr)``"
msgstr ""
#: ../Doc/c-api/memory.rst:267
msgid "Object allocators"
msgstr ""
#: ../Doc/c-api/memory.rst:285
msgid ""
"Requesting zero bytes returns a distinct non-*NULL* pointer if possible, as "
"if ``PyObject_Malloc(1)`` had been called instead. The memory will not have "
"been initialized in any way."
msgstr ""
#: ../Doc/c-api/memory.rst:296
msgid ""
"Requesting zero elements or elements of size zero bytes returns a distinct "
"non-*NULL* pointer if possible, as if ``PyObject_Calloc(1, 1)`` had been "
"called instead."
msgstr ""
#: ../Doc/c-api/memory.rst:308
msgid ""
"If *p* is *NULL*, the call is equivalent to ``PyObject_Malloc(n)``; else if "
"*n* is equal to zero, the memory block is resized but is not freed, and the "
"returned pointer is non-*NULL*."
msgstr ""
#: ../Doc/c-api/memory.rst:312
msgid ""
"Unless *p* is *NULL*, it must have been returned by a previous call to :c:"
"func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:func:"
"`PyObject_Calloc`."
msgstr ""
#: ../Doc/c-api/memory.rst:315
msgid ""
"If the request fails, :c:func:`PyObject_Realloc` returns *NULL* and *p* "
"remains a valid pointer to the previous memory area."
msgstr ""
#: ../Doc/c-api/memory.rst:321
msgid ""
"Frees the memory block pointed to by *p*, which must have been returned by a "
"previous call to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:"
"func:`PyObject_Calloc`. Otherwise, or if ``PyObject_Free(p)`` has been "
"called before, undefined behavior occurs."
msgstr ""
#: ../Doc/c-api/memory.rst:330
msgid "Customize Memory Allocators"
msgstr ""
#: ../Doc/c-api/memory.rst:273
#: ../Doc/c-api/memory.rst:336
msgid ""
"Structure used to describe a memory block allocator. The structure has four "
"fields:"
msgstr ""
#: ../Doc/c-api/memory.rst:277 ../Doc/c-api/memory.rst:414
#: ../Doc/c-api/memory.rst:340 ../Doc/c-api/memory.rst:477
msgid "Field"
msgstr ""
#: ../Doc/c-api/memory.rst:277 ../Doc/c-api/memory.rst:414
#: ../Doc/c-api/memory.rst:340 ../Doc/c-api/memory.rst:477
msgid "Meaning"
msgstr "Signification"
#: ../Doc/c-api/memory.rst:279 ../Doc/c-api/memory.rst:416
#: ../Doc/c-api/memory.rst:342 ../Doc/c-api/memory.rst:479
msgid "``void *ctx``"
msgstr "``void *ctx``"
#: ../Doc/c-api/memory.rst:279 ../Doc/c-api/memory.rst:416
#: ../Doc/c-api/memory.rst:342 ../Doc/c-api/memory.rst:479
msgid "user context passed as first argument"
msgstr ""
#: ../Doc/c-api/memory.rst:281
#: ../Doc/c-api/memory.rst:344
msgid "``void* malloc(void *ctx, size_t size)``"
msgstr "``void* malloc(void *ctx, size_t size)``"
#: ../Doc/c-api/memory.rst:281
#: ../Doc/c-api/memory.rst:344
msgid "allocate a memory block"
msgstr ""
#: ../Doc/c-api/memory.rst:283
#: ../Doc/c-api/memory.rst:346
msgid "``void* calloc(void *ctx, size_t nelem, size_t elsize)``"
msgstr ""
#: ../Doc/c-api/memory.rst:283
#: ../Doc/c-api/memory.rst:346
msgid "allocate a memory block initialized with zeros"
msgstr ""
#: ../Doc/c-api/memory.rst:286
#: ../Doc/c-api/memory.rst:349
msgid "``void* realloc(void *ctx, void *ptr, size_t new_size)``"
msgstr ""
#: ../Doc/c-api/memory.rst:286
#: ../Doc/c-api/memory.rst:349
msgid "allocate or resize a memory block"
msgstr ""
#: ../Doc/c-api/memory.rst:288
#: ../Doc/c-api/memory.rst:351
msgid "``void free(void *ctx, void *ptr)``"
msgstr "``void free(void *ctx, void *ptr)``"
#: ../Doc/c-api/memory.rst:288
#: ../Doc/c-api/memory.rst:351
msgid "free a memory block"
msgstr ""
#: ../Doc/c-api/memory.rst:291
#: ../Doc/c-api/memory.rst:354
msgid ""
"The :c:type:`PyMemAllocator` structure was renamed to :c:type:"
"`PyMemAllocatorEx` and a new ``calloc`` field was added."
msgstr ""
#: ../Doc/c-api/memory.rst:298
#: ../Doc/c-api/memory.rst:361
msgid "Enum used to identify an allocator domain. Domains:"
msgstr ""
#: ../Doc/c-api/memory.rst:302 ../Doc/c-api/memory.rst:311
#: ../Doc/c-api/memory.rst:320
#: ../Doc/c-api/memory.rst:365 ../Doc/c-api/memory.rst:374
#: ../Doc/c-api/memory.rst:383
msgid "Functions:"
msgstr ""
#: ../Doc/c-api/memory.rst:304
#: ../Doc/c-api/memory.rst:367
msgid ":c:func:`PyMem_RawMalloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:305
#: ../Doc/c-api/memory.rst:368
msgid ":c:func:`PyMem_RawRealloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:306
#: ../Doc/c-api/memory.rst:369
msgid ":c:func:`PyMem_RawCalloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:307
#: ../Doc/c-api/memory.rst:370
msgid ":c:func:`PyMem_RawFree`"
msgstr ""
#: ../Doc/c-api/memory.rst:313
#: ../Doc/c-api/memory.rst:376
msgid ":c:func:`PyMem_Malloc`,"
msgstr ""
#: ../Doc/c-api/memory.rst:314
#: ../Doc/c-api/memory.rst:377
msgid ":c:func:`PyMem_Realloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:315
#: ../Doc/c-api/memory.rst:378
msgid ":c:func:`PyMem_Calloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:316
#: ../Doc/c-api/memory.rst:379
msgid ":c:func:`PyMem_Free`"
msgstr ""
#: ../Doc/c-api/memory.rst:322
#: ../Doc/c-api/memory.rst:385
msgid ":c:func:`PyObject_Malloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:323
#: ../Doc/c-api/memory.rst:386
msgid ":c:func:`PyObject_Realloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:324
#: ../Doc/c-api/memory.rst:387
msgid ":c:func:`PyObject_Calloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:325
#: ../Doc/c-api/memory.rst:388
msgid ":c:func:`PyObject_Free`"
msgstr ""
#: ../Doc/c-api/memory.rst:329
#: ../Doc/c-api/memory.rst:392
msgid "Get the memory block allocator of the specified domain."
msgstr ""
#: ../Doc/c-api/memory.rst:334
#: ../Doc/c-api/memory.rst:397
msgid "Set the memory block allocator of the specified domain."
msgstr ""
#: ../Doc/c-api/memory.rst:336
#: ../Doc/c-api/memory.rst:399
msgid ""
"The new allocator must return a distinct non-NULL pointer when requesting "
"zero bytes."
msgstr ""
#: ../Doc/c-api/memory.rst:339
#: ../Doc/c-api/memory.rst:402
msgid ""
"For the :c:data:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-"
"safe: the :term:`GIL <global interpreter lock>` is not held when the "
"allocator is called."
msgstr ""
#: ../Doc/c-api/memory.rst:343
#: ../Doc/c-api/memory.rst:406
msgid ""
"If the new allocator is not a hook (does not call the previous allocator), "
"the :c:func:`PyMem_SetupDebugHooks` function must be called to reinstall the "
"debug hooks on top on the new allocator."
msgstr ""
#: ../Doc/c-api/memory.rst:350
#: ../Doc/c-api/memory.rst:413
msgid "Setup hooks to detect bugs in the Python memory allocator functions."
msgstr ""
#: ../Doc/c-api/memory.rst:352
#: ../Doc/c-api/memory.rst:415
msgid ""
"Newly allocated memory is filled with the byte ``0xCB``, freed memory is "
"filled with the byte ``0xDB``."
msgstr ""
#: ../Doc/c-api/memory.rst:355
#: ../Doc/c-api/memory.rst:418
msgid "Runtime checks:"
msgstr ""
#: ../Doc/c-api/memory.rst:357
#: ../Doc/c-api/memory.rst:420
msgid ""
"Detect API violations, ex: :c:func:`PyObject_Free` called on a buffer "
"allocated by :c:func:`PyMem_Malloc`"
msgstr ""
#: ../Doc/c-api/memory.rst:359
#: ../Doc/c-api/memory.rst:422
msgid "Detect write before the start of the buffer (buffer underflow)"
msgstr ""
#: ../Doc/c-api/memory.rst:360
#: ../Doc/c-api/memory.rst:423
msgid "Detect write after the end of the buffer (buffer overflow)"
msgstr ""
#: ../Doc/c-api/memory.rst:361
#: ../Doc/c-api/memory.rst:424
msgid ""
"Check that the :term:`GIL <global interpreter lock>` is held when allocator "
"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :"
"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called"
msgstr ""
#: ../Doc/c-api/memory.rst:366
#: ../Doc/c-api/memory.rst:429
msgid ""
"On error, the debug hooks use the :mod:`tracemalloc` module to get the "
"traceback where a memory block was allocated. The traceback is only "
@ -514,14 +564,14 @@ msgid ""
"memory block was traced."
msgstr ""
#: ../Doc/c-api/memory.rst:371
#: ../Doc/c-api/memory.rst:434
msgid ""
"These hooks are installed by default if Python is compiled in debug mode. "
"The :envvar:`PYTHONMALLOC` environment variable can be used to install debug "
"hooks on a Python compiled in release mode."
msgstr ""
#: ../Doc/c-api/memory.rst:375
#: ../Doc/c-api/memory.rst:438
msgid ""
"This function now also works on Python compiled in release mode. On error, "
"the debug hooks now use :mod:`tracemalloc` to get the traceback where a "
@ -530,11 +580,11 @@ msgid ""
"`PYMEM_DOMAIN_MEM` domains are called."
msgstr ""
#: ../Doc/c-api/memory.rst:386
#: ../Doc/c-api/memory.rst:449
msgid "The pymalloc allocator"
msgstr ""
#: ../Doc/c-api/memory.rst:388
#: ../Doc/c-api/memory.rst:451
msgid ""
"Python has a *pymalloc* allocator optimized for small objects (smaller or "
"equal to 512 bytes) with a short lifetime. It uses memory mappings called "
@ -543,79 +593,79 @@ msgid ""
"512 bytes."
msgstr ""
#: ../Doc/c-api/memory.rst:393
#: ../Doc/c-api/memory.rst:456
msgid ""
"*pymalloc* is the default allocator of the :c:data:`PYMEM_DOMAIN_MEM` (ex: :"
"c:func:`PyMem_Malloc`) and :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:"
"`PyObject_Malloc`) domains."
msgstr ""
#: ../Doc/c-api/memory.rst:397
#: ../Doc/c-api/memory.rst:460
msgid "The arena allocator uses the following functions:"
msgstr ""
#: ../Doc/c-api/memory.rst:399
#: ../Doc/c-api/memory.rst:462
msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows,"
msgstr ""
#: ../Doc/c-api/memory.rst:400
#: ../Doc/c-api/memory.rst:463
msgid ":c:func:`mmap` and :c:func:`munmap` if available,"
msgstr ""
#: ../Doc/c-api/memory.rst:401
#: ../Doc/c-api/memory.rst:464
msgid ":c:func:`malloc` and :c:func:`free` otherwise."
msgstr ""
#: ../Doc/c-api/memory.rst:404
#: ../Doc/c-api/memory.rst:467
msgid "Customize pymalloc Arena Allocator"
msgstr ""
#: ../Doc/c-api/memory.rst:410
#: ../Doc/c-api/memory.rst:473
msgid ""
"Structure used to describe an arena allocator. The structure has three "
"fields:"
msgstr ""
#: ../Doc/c-api/memory.rst:418
#: ../Doc/c-api/memory.rst:481
msgid "``void* alloc(void *ctx, size_t size)``"
msgstr "``void* alloc(void *ctx, size_t size)``"
#: ../Doc/c-api/memory.rst:418
#: ../Doc/c-api/memory.rst:481
msgid "allocate an arena of size bytes"
msgstr ""
#: ../Doc/c-api/memory.rst:420
#: ../Doc/c-api/memory.rst:483
msgid "``void free(void *ctx, size_t size, void *ptr)``"
msgstr "``void free(void *ctx, size_t size, void *ptr)``"
#: ../Doc/c-api/memory.rst:420
#: ../Doc/c-api/memory.rst:483
msgid "free an arena"
msgstr ""
#: ../Doc/c-api/memory.rst:425
#: ../Doc/c-api/memory.rst:488
msgid "Get the arena allocator."
msgstr ""
#: ../Doc/c-api/memory.rst:429
#: ../Doc/c-api/memory.rst:492
msgid "Set the arena allocator."
msgstr ""
#: ../Doc/c-api/memory.rst:435
#: ../Doc/c-api/memory.rst:498
msgid "Examples"
msgstr "Exemples"
#: ../Doc/c-api/memory.rst:437
#: ../Doc/c-api/memory.rst:500
msgid ""
"Here is the example from section :ref:`memoryoverview`, rewritten so that "
"the I/O buffer is allocated from the Python heap by using the first function "
"set::"
msgstr ""
#: ../Doc/c-api/memory.rst:450
#: ../Doc/c-api/memory.rst:513
msgid "The same code using the type-oriented function set::"
msgstr ""
#: ../Doc/c-api/memory.rst:462
#: ../Doc/c-api/memory.rst:525
msgid ""
"Note that in the two examples above, the buffer is always manipulated via "
"functions belonging to the same set. Indeed, it is required to use the same "
@ -625,14 +675,14 @@ msgid ""
"different allocators operating on different heaps. ::"
msgstr ""
#: ../Doc/c-api/memory.rst:477
#: ../Doc/c-api/memory.rst:540
msgid ""
"In addition to the functions aimed at handling raw memory blocks from the "
"Python heap, objects in Python are allocated and released with :c:func:"
"`PyObject_New`, :c:func:`PyObject_NewVar` and :c:func:`PyObject_Del`."
msgstr ""
#: ../Doc/c-api/memory.rst:481
#: ../Doc/c-api/memory.rst:544
msgid ""
"These will be explained in the next chapter on defining and implementing new "
"object types in C."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -211,64 +211,70 @@ msgstr ""
#: ../Doc/c-api/module.rst:198
msgid ""
"A traversal function to call during GC traversal of the module object, or "
"*NULL* if not needed."
"*NULL* if not needed. This function may be called before module state is "
"allocated (:c:func:`PyModule_GetState()` may return `NULL`), and before the :"
"c:member:`Py_mod_exec` function is executed."
msgstr ""
#: ../Doc/c-api/module.rst:203
#: ../Doc/c-api/module.rst:205
msgid ""
"A clear function to call during GC clearing of the module object, or *NULL* "
"if not needed."
msgstr ""
#: ../Doc/c-api/module.rst:208
msgid ""
"A function to call during deallocation of the module object, or *NULL* if "
"not needed."
"if not needed. This function may be called before module state is allocated "
"(:c:func:`PyModule_GetState()` may return `NULL`), and before the :c:member:"
"`Py_mod_exec` function is executed."
msgstr ""
#: ../Doc/c-api/module.rst:212
msgid ""
"A function to call during deallocation of the module object, or *NULL* if "
"not needed. This function may be called before module state is allocated (:c:"
"func:`PyModule_GetState()` may return `NULL`), and before the :c:member:"
"`Py_mod_exec` function is executed."
msgstr ""
#: ../Doc/c-api/module.rst:218
msgid "Single-phase initialization"
msgstr ""
#: ../Doc/c-api/module.rst:214
#: ../Doc/c-api/module.rst:220
msgid ""
"The module initialization function may create and return the module object "
"directly. This is referred to as \"single-phase initialization\", and uses "
"one of the following two module creation functions:"
msgstr ""
#: ../Doc/c-api/module.rst:220
#: ../Doc/c-api/module.rst:226
msgid ""
"Create a new module object, given the definition in *def*. This behaves "
"like :c:func:`PyModule_Create2` with *module_api_version* set to :const:"
"`PYTHON_API_VERSION`."
msgstr ""
#: ../Doc/c-api/module.rst:227
#: ../Doc/c-api/module.rst:233
msgid ""
"Create a new module object, given the definition in *def*, assuming the API "
"version *module_api_version*. If that version does not match the version of "
"the running interpreter, a :exc:`RuntimeWarning` is emitted."
msgstr ""
#: ../Doc/c-api/module.rst:233
#: ../Doc/c-api/module.rst:239
msgid ""
"Most uses of this function should be using :c:func:`PyModule_Create` "
"instead; only use this if you are sure you need it."
msgstr ""
#: ../Doc/c-api/module.rst:236
#: ../Doc/c-api/module.rst:242
msgid ""
"Before it is returned from in the initialization function, the resulting "
"module object is typically populated using functions like :c:func:"
"`PyModule_AddObject`."
msgstr ""
#: ../Doc/c-api/module.rst:242
#: ../Doc/c-api/module.rst:248
msgid "Multi-phase initialization"
msgstr ""
#: ../Doc/c-api/module.rst:244
#: ../Doc/c-api/module.rst:250
msgid ""
"An alternate way to specify extensions is to request \"multi-phase "
"initialization\". Extension modules created this way behave more like Python "
@ -278,7 +284,7 @@ msgid ""
"methods of classes."
msgstr ""
#: ../Doc/c-api/module.rst:251
#: ../Doc/c-api/module.rst:257
msgid ""
"Unlike modules created using single-phase initialization, these modules are "
"not singletons: if the *sys.modules* entry is removed and the module is re-"
@ -291,14 +297,14 @@ msgid ""
"or individual classes created with :c:func:`PyType_FromSpec`)."
msgstr ""
#: ../Doc/c-api/module.rst:261
#: ../Doc/c-api/module.rst:267
msgid ""
"All modules created using multi-phase initialization are expected to "
"support :ref:`sub-interpreters <sub-interpreter-support>`. Making sure "
"multiple modules are independent is typically enough to achieve this."
msgstr ""
#: ../Doc/c-api/module.rst:265
#: ../Doc/c-api/module.rst:271
msgid ""
"To request multi-phase initialization, the initialization function "
"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :"
@ -306,65 +312,65 @@ msgid ""
"instance must be initialized with the following function:"
msgstr ""
#: ../Doc/c-api/module.rst:272
#: ../Doc/c-api/module.rst:278
msgid ""
"Ensures a module definition is a properly initialized Python object that "
"correctly reports its type and reference count."
msgstr ""
#: ../Doc/c-api/module.rst:275
#: ../Doc/c-api/module.rst:281
msgid "Returns *def* cast to ``PyObject*``, or *NULL* if an error occurred."
msgstr ""
#: ../Doc/c-api/module.rst:279
#: ../Doc/c-api/module.rst:285
msgid ""
"The *m_slots* member of the module definition must point to an array of "
"``PyModuleDef_Slot`` structures:"
msgstr ""
#: ../Doc/c-api/module.rst:286
#: ../Doc/c-api/module.rst:292
msgid "A slot ID, chosen from the available values explained below."
msgstr ""
#: ../Doc/c-api/module.rst:290
#: ../Doc/c-api/module.rst:296
msgid "Value of the slot, whose meaning depends on the slot ID."
msgstr ""
#: ../Doc/c-api/module.rst:294
#: ../Doc/c-api/module.rst:300
msgid "The *m_slots* array must be terminated by a slot with id 0."
msgstr ""
#: ../Doc/c-api/module.rst:296
#: ../Doc/c-api/module.rst:302
msgid "The available slot types are:"
msgstr ""
#: ../Doc/c-api/module.rst:300
#: ../Doc/c-api/module.rst:306
msgid ""
"Specifies a function that is called to create the module object itself. The "
"*value* pointer of this slot must point to a function of the signature:"
msgstr ""
#: ../Doc/c-api/module.rst:305
#: ../Doc/c-api/module.rst:311
msgid ""
"The function receives a :py:class:`~importlib.machinery.ModuleSpec` "
"instance, as defined in :PEP:`451`, and the module definition. It should "
"return a new module object, or set an error and return *NULL*."
msgstr ""
#: ../Doc/c-api/module.rst:310
#: ../Doc/c-api/module.rst:316
msgid ""
"This function should be kept minimal. In particular, it should not call "
"arbitrary Python code, as trying to import the same module again may result "
"in an infinite loop."
msgstr ""
#: ../Doc/c-api/module.rst:314
#: ../Doc/c-api/module.rst:320
msgid ""
"Multiple ``Py_mod_create`` slots may not be specified in one module "
"definition."
msgstr ""
#: ../Doc/c-api/module.rst:317
#: ../Doc/c-api/module.rst:323
msgid ""
"If ``Py_mod_create`` is not specified, the import machinery will create a "
"normal module object using :c:func:`PyModule_New`. The name is taken from "
@ -373,7 +379,7 @@ msgid ""
"through symlinks, all while sharing a single module definition."
msgstr ""
#: ../Doc/c-api/module.rst:323
#: ../Doc/c-api/module.rst:329
msgid ""
"There is no requirement for the returned object to be an instance of :c:type:"
"`PyModule_Type`. Any type can be used, as long as it supports setting and "
@ -383,7 +389,7 @@ msgid ""
"``Py_mod_create``."
msgstr ""
#: ../Doc/c-api/module.rst:332
#: ../Doc/c-api/module.rst:338
msgid ""
"Specifies a function that is called to *execute* the module. This is "
"equivalent to executing the code of a Python module: typically, this "
@ -391,21 +397,21 @@ msgid ""
"function is:"
msgstr ""
#: ../Doc/c-api/module.rst:339
#: ../Doc/c-api/module.rst:345
msgid ""
"If multiple ``Py_mod_exec`` slots are specified, they are processed in the "
"order they appear in the *m_slots* array."
msgstr ""
#: ../Doc/c-api/module.rst:342
#: ../Doc/c-api/module.rst:348
msgid "See :PEP:`489` for more details on multi-phase initialization."
msgstr ""
#: ../Doc/c-api/module.rst:345
#: ../Doc/c-api/module.rst:351
msgid "Low-level module creation functions"
msgstr ""
#: ../Doc/c-api/module.rst:347
#: ../Doc/c-api/module.rst:353
msgid ""
"The following functions are called under the hood when using multi-phase "
"initialization. They can be used directly, for example when creating module "
@ -413,14 +419,14 @@ msgid ""
"``PyModule_ExecDef`` must be called to fully initialize a module."
msgstr ""
#: ../Doc/c-api/module.rst:354
#: ../Doc/c-api/module.rst:360
msgid ""
"Create a new module object, given the definition in *module* and the "
"ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` "
"with *module_api_version* set to :const:`PYTHON_API_VERSION`."
msgstr ""
#: ../Doc/c-api/module.rst:362
#: ../Doc/c-api/module.rst:368
msgid ""
"Create a new module object, given the definition in *module* and the "
"ModuleSpec *spec*, assuming the API version *module_api_version*. If that "
@ -428,24 +434,24 @@ msgid ""
"`RuntimeWarning` is emitted."
msgstr ""
#: ../Doc/c-api/module.rst:369
#: ../Doc/c-api/module.rst:375
msgid ""
"Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` "
"instead; only use this if you are sure you need it."
msgstr ""
#: ../Doc/c-api/module.rst:376
#: ../Doc/c-api/module.rst:382
msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*."
msgstr ""
#: ../Doc/c-api/module.rst:382
#: ../Doc/c-api/module.rst:388
msgid ""
"Set the docstring for *module* to *docstring*. This function is called "
"automatically when creating a module from ``PyModuleDef``, using either "
"``PyModule_Create`` or ``PyModule_FromDefAndSpec``."
msgstr ""
#: ../Doc/c-api/module.rst:391
#: ../Doc/c-api/module.rst:397
msgid ""
"Add the functions from the *NULL* terminated *functions* array to *module*. "
"Refer to the :c:type:`PyMethodDef` documentation for details on individual "
@ -457,11 +463,11 @@ msgid ""
"``PyModule_FromDefAndSpec``."
msgstr ""
#: ../Doc/c-api/module.rst:403
#: ../Doc/c-api/module.rst:409
msgid "Support functions"
msgstr ""
#: ../Doc/c-api/module.rst:405
#: ../Doc/c-api/module.rst:411
msgid ""
"The module initialization function (if using single phase initialization) or "
"a function called from a module execution slot (if using multi-phase "
@ -469,28 +475,28 @@ msgid ""
"module state:"
msgstr ""
#: ../Doc/c-api/module.rst:412
#: ../Doc/c-api/module.rst:418
msgid ""
"Add an object to *module* as *name*. This is a convenience function which "
"can be used from the module's initialization function. This steals a "
"reference to *value*. Return ``-1`` on error, ``0`` on success."
msgstr ""
#: ../Doc/c-api/module.rst:418
#: ../Doc/c-api/module.rst:424
msgid ""
"Add an integer constant to *module* as *name*. This convenience function "
"can be used from the module's initialization function. Return ``-1`` on "
"error, ``0`` on success."
msgstr ""
#: ../Doc/c-api/module.rst:425
#: ../Doc/c-api/module.rst:431
msgid ""
"Add a string constant to *module* as *name*. This convenience function can "
"be used from the module's initialization function. The string *value* must "
"be *NULL*-terminated. Return ``-1`` on error, ``0`` on success."
msgstr ""
#: ../Doc/c-api/module.rst:432
#: ../Doc/c-api/module.rst:438
msgid ""
"Add an int constant to *module*. The name and the value are taken from "
"*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int "
@ -498,29 +504,29 @@ msgid ""
"error, ``0`` on success."
msgstr ""
#: ../Doc/c-api/module.rst:440
#: ../Doc/c-api/module.rst:446
msgid "Add a string constant to *module*."
msgstr ""
#: ../Doc/c-api/module.rst:444
#: ../Doc/c-api/module.rst:450
msgid "Module lookup"
msgstr ""
#: ../Doc/c-api/module.rst:446
#: ../Doc/c-api/module.rst:452
msgid ""
"Single-phase initialization creates singleton modules that can be looked up "
"in the context of the current interpreter. This allows the module object to "
"be retrieved later with only a reference to the module definition."
msgstr ""
#: ../Doc/c-api/module.rst:450
#: ../Doc/c-api/module.rst:456
msgid ""
"These functions will not work on modules created using multi-phase "
"initialization, since multiple such modules can be created from a single "
"definition."
msgstr ""
#: ../Doc/c-api/module.rst:455
#: ../Doc/c-api/module.rst:461
msgid ""
"Returns the module object that was created from *def* for the current "
"interpreter. This method requires that the module object has been attached "
@ -529,18 +535,18 @@ msgid ""
"to the interpreter state yet, it returns *NULL*."
msgstr ""
#: ../Doc/c-api/module.rst:462
#: ../Doc/c-api/module.rst:468
msgid ""
"Attaches the module object passed to the function to the interpreter state. "
"This allows the module object to be accessible via :c:func:"
"`PyState_FindModule`."
msgstr ""
#: ../Doc/c-api/module.rst:465
#: ../Doc/c-api/module.rst:471
msgid "Only effective on modules created using single-phase initialization."
msgstr ""
#: ../Doc/c-api/module.rst:471
#: ../Doc/c-api/module.rst:477
msgid ""
"Removes the module object created from *def* from the interpreter state."
msgstr ""

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-11-05 11:18+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/none.rst:6
msgid "The ``None`` Object"
msgstr ""
msgstr "L'objet ``None``"
#: ../Doc/c-api/none.rst:10
msgid ""
@ -28,6 +28,10 @@ msgid ""
"identity (using ``==`` in C) is sufficient. There is no :c:func:"
"`PyNone_Check` function for the same reason."
msgstr ""
"Notez que le :c:type:`PyTypeObject` de ``None`` n'est pas directement exposé "
"via l'API Python/C. Puisque ``None`` est un singleton, tester son identité "
"(en utilisant ``==`` en C) est suffisant. Il n'existe pas de fonction :c:"
"func:`PyNone_Check` pour la même raison."
#: ../Doc/c-api/none.rst:18
msgid ""
@ -35,9 +39,14 @@ msgid ""
"methods. It needs to be treated just like any other object with respect to "
"reference counts."
msgstr ""
"L'objet Python ``None``, exprimant l'absence de valeur. Cet objet n'a "
"aucune méthode. Il doit être traité exactement comme les autres objets en "
"terme de comptage de références."
#: ../Doc/c-api/none.rst:25
msgid ""
"Properly handle returning :c:data:`Py_None` from within a C function (that "
"is, increment the reference count of ``None`` and return it.)"
msgstr ""
"Renvoie, de la bonne manière, :c:data:`Py_None` depuis une fonction C (c'est "
"à dire en incrémentant les références à ``None`` avant de le donner)."

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-01-29 00:24+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/objbuffer.rst:4
msgid "Old Buffer Protocol"
msgstr ""
msgstr "Ancien *Buffer Protocol*"
#: ../Doc/c-api/objbuffer.rst:8
msgid ""
@ -30,6 +30,12 @@ msgid ""
"you control over the lifetime of the resources acquired when a buffer is "
"exported."
msgstr ""
"Ces fonctions faisaient partie de l'API de l'ancien protocol de tampons dans "
"Python 2. Dans Python 3, ce protocole n'existe plus, mais les fonctions sont "
"toujours exposées pour simplifier le portage de code Python 2.x. Elles se "
"comportent comme une abstraction de compatibilité du :ref:`nouveau protocole "
"de tampons <bufferobjects>`, mais sans vous donner de contrôle sur la durée "
"de vie des resources acquises lorsqu'un tampon est exporté."
#: ../Doc/c-api/objbuffer.rst:15
msgid ""
@ -38,6 +44,10 @@ msgid ""
"`PyArg_ParseTuple` family of functions) to get a buffer view over an object, "
"and :c:func:`PyBuffer_Release` when the buffer view can be released."
msgstr ""
"Il est donc recommandé d'appeler :c:func:`PyObject_GetBuffer` (ou les :ref:"
"`codes <arg-parsing>` ``y*`` ou ``w*`` à la famille de fonctions :c:func:"
"`PyArg_ParseTuple`) pour obtenir une vue d'un tampon sur un objet, et :c:"
"func:`PyBuffer_Release` lorsque la vue peut être libérée."
#: ../Doc/c-api/objbuffer.rst:23
msgid ""
@ -62,6 +72,8 @@ msgid ""
"Returns ``1`` if *o* supports the single-segment readable buffer interface. "
"Otherwise returns ``0``."
msgstr ""
"Renvoie ``1`` si *o* gère l'interface *single-segment readable buffer*, "
"``0`` sinon."
#: ../Doc/c-api/objbuffer.rst:47
msgid ""
@ -70,3 +82,8 @@ msgid ""
"``0``, sets *buffer* to the memory location and *buffer_len* to the buffer "
"length. Returns ``-1`` and sets a :exc:`TypeError` on error."
msgstr ""
"Renvoie un pointeur vers un espace mémoire dans lequel il est possible "
"décrire. L'argument *obj* doit gérer l'interface *single-segment, character "
"buffer*. Si tout s'est bien passé, ``0`` est renvoyé, *buffer* pointe vers "
"l'espace mémoire, et *buffer_len* vaudra la taille du buffer. Renvoie ``-1`` "
"et met l'exception :exc:`TypeError` en cas d'erreur."

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-10-18 09:23+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,10 +19,12 @@ msgstr ""
#: ../Doc/c-api/objimpl.rst:7
msgid "Object Implementation Support"
msgstr ""
msgstr "Implémentation d'objets"
#: ../Doc/c-api/objimpl.rst:9
msgid ""
"This chapter describes the functions, types, and macros used when defining "
"new object types."
msgstr ""
"Ce chapitre décrit les fonctions, types, et macros utilisées pour définir de "
"nouveaux types d'objets."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -30,49 +30,48 @@ msgstr ""
#: ../Doc/c-api/sequence.rst:20
msgid ""
"Returns the number of objects in sequence *o* on success, and ``-1`` on "
"failure. For objects that do not provide sequence protocol, this is "
"equivalent to the Python expression ``len(o)``."
"failure. This is equivalent to the Python expression ``len(o)``."
msgstr ""
#: ../Doc/c-api/sequence.rst:27
#: ../Doc/c-api/sequence.rst:26
msgid ""
"Return the concatenation of *o1* and *o2* on success, and *NULL* on failure. "
"This is the equivalent of the Python expression ``o1 + o2``."
msgstr ""
#: ../Doc/c-api/sequence.rst:33
#: ../Doc/c-api/sequence.rst:32
msgid ""
"Return the result of repeating sequence object *o* *count* times, or *NULL* "
"on failure. This is the equivalent of the Python expression ``o * count``."
msgstr ""
#: ../Doc/c-api/sequence.rst:39
#: ../Doc/c-api/sequence.rst:38
msgid ""
"Return the concatenation of *o1* and *o2* on success, and *NULL* on failure. "
"The operation is done *in-place* when *o1* supports it. This is the "
"equivalent of the Python expression ``o1 += o2``."
msgstr ""
#: ../Doc/c-api/sequence.rst:46
#: ../Doc/c-api/sequence.rst:45
msgid ""
"Return the result of repeating sequence object *o* *count* times, or *NULL* "
"on failure. The operation is done *in-place* when *o* supports it. This is "
"the equivalent of the Python expression ``o *= count``."
msgstr ""
#: ../Doc/c-api/sequence.rst:53
#: ../Doc/c-api/sequence.rst:52
msgid ""
"Return the *i*\\ th element of *o*, or *NULL* on failure. This is the "
"equivalent of the Python expression ``o[i]``."
msgstr ""
#: ../Doc/c-api/sequence.rst:59
#: ../Doc/c-api/sequence.rst:58
msgid ""
"Return the slice of sequence object *o* between *i1* and *i2*, or *NULL* on "
"failure. This is the equivalent of the Python expression ``o[i1:i2]``."
msgstr ""
#: ../Doc/c-api/sequence.rst:65
#: ../Doc/c-api/sequence.rst:64
msgid ""
"Assign object *v* to the *i*\\ th element of *o*. Raise an exception and "
"return ``-1`` on failure; return ``0`` on success. This is the equivalent "
@ -80,58 +79,58 @@ msgid ""
"reference to *v*."
msgstr ""
#: ../Doc/c-api/sequence.rst:70
#: ../Doc/c-api/sequence.rst:69
msgid ""
"If *v* is *NULL*, the element is deleted, however this feature is deprecated "
"in favour of using :c:func:`PySequence_DelItem`."
msgstr ""
#: ../Doc/c-api/sequence.rst:76
#: ../Doc/c-api/sequence.rst:75
msgid ""
"Delete the *i*\\ th element of object *o*. Returns ``-1`` on failure. This "
"is the equivalent of the Python statement ``del o[i]``."
msgstr ""
#: ../Doc/c-api/sequence.rst:82
#: ../Doc/c-api/sequence.rst:81
msgid ""
"Assign the sequence object *v* to the slice in sequence object *o* from *i1* "
"to *i2*. This is the equivalent of the Python statement ``o[i1:i2] = v``."
msgstr ""
#: ../Doc/c-api/sequence.rst:88
#: ../Doc/c-api/sequence.rst:87
msgid ""
"Delete the slice in sequence object *o* from *i1* to *i2*. Returns ``-1`` "
"on failure. This is the equivalent of the Python statement ``del o[i1:i2]``."
msgstr ""
#: ../Doc/c-api/sequence.rst:94
#: ../Doc/c-api/sequence.rst:93
msgid ""
"Return the number of occurrences of *value* in *o*, that is, return the "
"number of keys for which ``o[key] == value``. On failure, return ``-1``. "
"This is equivalent to the Python expression ``o.count(value)``."
msgstr ""
#: ../Doc/c-api/sequence.rst:101
#: ../Doc/c-api/sequence.rst:100
msgid ""
"Determine if *o* contains *value*. If an item in *o* is equal to *value*, "
"return ``1``, otherwise return ``0``. On error, return ``-1``. This is "
"equivalent to the Python expression ``value in o``."
msgstr ""
#: ../Doc/c-api/sequence.rst:108
#: ../Doc/c-api/sequence.rst:107
msgid ""
"Return the first index *i* for which ``o[i] == value``. On error, return "
"``-1``. This is equivalent to the Python expression ``o.index(value)``."
msgstr ""
#: ../Doc/c-api/sequence.rst:114
#: ../Doc/c-api/sequence.rst:113
msgid ""
"Return a list object with the same contents as the sequence or iterable *o*, "
"or *NULL* on failure. The returned list is guaranteed to be new. This is "
"equivalent to the Python expression ``list(o)``."
msgstr ""
#: ../Doc/c-api/sequence.rst:123
#: ../Doc/c-api/sequence.rst:122
msgid ""
"Return a tuple object with the same contents as the arbitrary sequence *o* "
"or *NULL* on failure. If *o* is a tuple, a new reference will be returned, "
@ -139,7 +138,7 @@ msgid ""
"is equivalent to the Python expression ``tuple(o)``."
msgstr ""
#: ../Doc/c-api/sequence.rst:131
#: ../Doc/c-api/sequence.rst:130
msgid ""
"Return the sequence *o* as a list, unless it is already a tuple or list, in "
"which case *o* is returned. Use :c:func:`PySequence_Fast_GET_ITEM` to "
@ -147,26 +146,26 @@ msgid ""
"is not a sequence, raises :exc:`TypeError` with *m* as the message text."
msgstr ""
#: ../Doc/c-api/sequence.rst:139
#: ../Doc/c-api/sequence.rst:138
msgid ""
"Return the *i*\\ th element of *o*, assuming that *o* was returned by :c:"
"func:`PySequence_Fast`, *o* is not *NULL*, and that *i* is within bounds."
msgstr ""
#: ../Doc/c-api/sequence.rst:145
#: ../Doc/c-api/sequence.rst:144
msgid ""
"Return the underlying array of PyObject pointers. Assumes that *o* was "
"returned by :c:func:`PySequence_Fast` and *o* is not *NULL*."
msgstr ""
#: ../Doc/c-api/sequence.rst:148
#: ../Doc/c-api/sequence.rst:147
msgid ""
"Note, if a list gets resized, the reallocation may relocate the items array. "
"So, only use the underlying array pointer in contexts where the sequence "
"cannot change."
msgstr ""
#: ../Doc/c-api/sequence.rst:155
#: ../Doc/c-api/sequence.rst:154
msgid ""
"Return the *i*\\ th element of *o* or *NULL* on failure. Macro form of :c:"
"func:`PySequence_GetItem` but without checking that :c:func:"
@ -174,7 +173,7 @@ msgid ""
"indices."
msgstr ""
#: ../Doc/c-api/sequence.rst:163
#: ../Doc/c-api/sequence.rst:162
msgid ""
"Returns the length of *o*, assuming that *o* was returned by :c:func:"
"`PySequence_Fast` and that *o* is not *NULL*. The size can also be gotten "

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-01-21 23:58+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/stable.rst:7
msgid "Stable Application Binary Interface"
msgstr ""
msgstr "ABI Stable"
#: ../Doc/c-api/stable.rst:9
msgid ""
@ -28,6 +28,10 @@ msgid ""
"changing existing API or removing API (although some interfaces do get "
"removed after being deprecated first)."
msgstr ""
"L'API C de Python change à chaque version. La majorité de ces changement "
"n'affecte cependant pas la compatibilité du code source. Typiquement, des "
"API sont ajoutées, mais ni modifiées ni supprimées (bien que certaines "
"interfaces puissent être supprimées, après avoir d'abord été dépréciées)."
#: ../Doc/c-api/stable.rst:14
msgid ""
@ -40,6 +44,15 @@ msgid ""
"addition, on Windows, extension modules link with a specific pythonXY.dll "
"and need to be recompiled to link with a newer one."
msgstr ""
"Malheureusement, la compatibilité de l'API ne s'étend pas à une "
"compatibilité binaire (l'ABI). L'évolution des structures en est la raison "
"principale : l'ajout de nouveaux attributs, ou le changement du type d'un "
"attribut peut ne pas casser l'API mais casser l'ABI. Par conséquent, les "
"modules d'extension doivent être recompilés à chaque nouvelle version de "
"Python (ce n'est exceptionnellement pas nécessaire sur Unix, si aucune des "
"interfaces modifiées n'est utilisée). De plus, sous Windows, les modules "
"d'extension sont liés à un *pythonXY.dll* spécifique, ils est donc "
"nécessaire de les recompiler pour les lier au nouveau DLL."
#: ../Doc/c-api/stable.rst:23
msgid ""
@ -49,6 +62,12 @@ msgid ""
"become hidden from the extension module; in return, a module is built that "
"works on any 3.x version (x>=2) without recompilation."
msgstr ""
"Depuis Python 3.2 il est garanti qu'une certaine partie de l'API gardera une "
"ABI stable. Les modules d'extension souhaitant utiliser cette API (Appellée "
"\"API limitée\") doivent définir ``Py_LIMITED_API``. Des spécificités de "
"l'interpréteur sont alors cachées au module, en contrepartie le module "
"devient compatible avec toutes les versions de Python 3.x (x>=2) sans "
"recompilation."
#: ../Doc/c-api/stable.rst:29
msgid ""
@ -60,6 +79,14 @@ msgid ""
"Python releases, but fail to load (because of missing symbols) on the older "
"releases."
msgstr ""
"Dans certains cas, il est nécessaire d'étendre l'ABI stable avec de "
"nouvelles fonctions. Les modules d'extension souhaitant utiliser ces "
"nouvelles APIs doivent configurer ``Py_LIMITED_API`` à la valeur "
"``Py_VERSION_HEX`` correspondant à la plus ancienne version de Python qu'ils "
"souhaitent supporter (voir :ref:`apiabiversion`, par exemple ``0x03030000`` "
"pour Python 3.3). De tels modules fonctionneront dans toutes les versions "
"ultérieures de Python, mais ne pourront pas se charger (dû à des symboles "
"manquants) sur les versions plus anciennes."
#: ../Doc/c-api/stable.rst:36
msgid ""
@ -67,3 +94,7 @@ msgid ""
"documented in :pep:`384`. In the C API documentation, API elements that are "
"not part of the limited API are marked as \"Not part of the limited API.\""
msgstr ""
"Depuis Python 3.2, l'ensemble des fonctions exposées par l'API limitée est "
"documentée dans la :pep:`384`. Dans la documentation de l'API C, les "
"éléments ne faisant pas partie de l'API limitée sont notés \"Ne faisant pas "
"partie de l'API limitée\" (*\"Not part of the limited API\"*)."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-02-08 09:58+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -83,74 +83,104 @@ msgid ""
"handler instead of decoding them."
msgstr ""
#: ../Doc/c-api/sys.rst:69
#: ../Doc/c-api/sys.rst:69 ../Doc/c-api/sys.rst:106
msgid "Encoding, highest priority to lowest priority:"
msgstr ""
#: ../Doc/c-api/sys.rst:71 ../Doc/c-api/sys.rst:108
msgid "``UTF-8`` on macOS and Android;"
msgstr ""
#: ../Doc/c-api/sys.rst:72
msgid ""
"``ASCII`` if the ``LC_CTYPE`` locale is ``\"C\"``, ``nl_langinfo(CODESET)`` "
"returns the ``ASCII`` encoding (or an alias), and :c:func:`mbstowcs` and :c:"
"func:`wcstombs` functions use the ``ISO-8859-1`` encoding."
msgstr ""
#: ../Doc/c-api/sys.rst:76
msgid "the current locale encoding (``LC_CTYPE`` locale)."
msgstr ""
#: ../Doc/c-api/sys.rst:78
msgid ""
"Return a pointer to a newly allocated wide character string, use :c:func:"
"`PyMem_RawFree` to free the memory. If size is not ``NULL``, write the "
"number of wide characters excluding the null character into ``*size``"
"number of wide characters excluding the null character into ``*size``."
msgstr ""
#: ../Doc/c-api/sys.rst:73
#: ../Doc/c-api/sys.rst:82
msgid ""
"Return ``NULL`` on decoding error or memory allocation error. If *size* is "
"not ``NULL``, ``*size`` is set to ``(size_t)-1`` on memory error or set to "
"``(size_t)-2`` on decoding error."
msgstr ""
#: ../Doc/c-api/sys.rst:77
#: ../Doc/c-api/sys.rst:86
msgid ""
"Decoding errors should never happen, unless there is a bug in the C library."
msgstr ""
#: ../Doc/c-api/sys.rst:80
#: ../Doc/c-api/sys.rst:89
msgid ""
"Use the :c:func:`Py_EncodeLocale` function to encode the character string "
"back to a byte string."
msgstr ""
#: ../Doc/c-api/sys.rst:85
#: ../Doc/c-api/sys.rst:94
msgid ""
"The :c:func:`PyUnicode_DecodeFSDefaultAndSize` and :c:func:"
"`PyUnicode_DecodeLocaleAndSize` functions."
msgstr ""
#: ../Doc/c-api/sys.rst:93
#: ../Doc/c-api/sys.rst:102
msgid ""
"Encode a wide character string to the locale encoding with the :ref:"
"`surrogateescape error handler <surrogateescape>`: surrogate characters in "
"the range U+DC80..U+DCFF are converted to bytes 0x80..0xFF."
msgstr ""
#: ../Doc/c-api/sys.rst:97
#: ../Doc/c-api/sys.rst:109
msgid ""
"``ASCII`` if the ``LC_CTYPE`` locale is ``\"C\"``, ``nl_langinfo(CODESET)`` "
"returns the ``ASCII`` encoding (or an alias), and :c:func:`mbstowcs` and :c:"
"func:`wcstombs` functions uses the ``ISO-8859-1`` encoding."
msgstr ""
#: ../Doc/c-api/sys.rst:113
msgid "the current locale encoding."
msgstr ""
#: ../Doc/c-api/sys.rst:115
msgid ""
"Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` "
"to free the memory. Return ``NULL`` on encoding error or memory allocation "
"error"
msgstr ""
#: ../Doc/c-api/sys.rst:101
#: ../Doc/c-api/sys.rst:119
msgid ""
"If error_pos is not ``NULL``, ``*error_pos`` is set to the index of the "
"invalid character on encoding error, or set to ``(size_t)-1`` otherwise."
msgstr ""
#: ../Doc/c-api/sys.rst:104
#: ../Doc/c-api/sys.rst:122
msgid ""
"Use the :c:func:`Py_DecodeLocale` function to decode the bytes string back "
"to a wide character string."
msgstr ""
#: ../Doc/c-api/sys.rst:109
#: ../Doc/c-api/sys.rst:127
msgid ""
"The :c:func:`PyUnicode_EncodeFSDefault` and :c:func:`PyUnicode_EncodeLocale` "
"functions."
msgstr ""
#: ../Doc/c-api/sys.rst:118
#: ../Doc/c-api/sys.rst:136
msgid "System Functions"
msgstr ""
#: ../Doc/c-api/sys.rst:120
#: ../Doc/c-api/sys.rst:138
msgid ""
"These are utility functions that make functionality from the :mod:`sys` "
"module accessible to C code. They all work with the current interpreter "
@ -158,45 +188,45 @@ msgid ""
"state structure."
msgstr ""
#: ../Doc/c-api/sys.rst:126
#: ../Doc/c-api/sys.rst:144
msgid ""
"Return the object *name* from the :mod:`sys` module or *NULL* if it does not "
"exist, without setting an exception."
msgstr ""
#: ../Doc/c-api/sys.rst:131
#: ../Doc/c-api/sys.rst:149
msgid ""
"Set *name* in the :mod:`sys` module to *v* unless *v* is *NULL*, in which "
"case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` "
"on error."
msgstr ""
#: ../Doc/c-api/sys.rst:137
#: ../Doc/c-api/sys.rst:155
msgid "Reset :data:`sys.warnoptions` to an empty list."
msgstr ""
#: ../Doc/c-api/sys.rst:141
#: ../Doc/c-api/sys.rst:159
msgid "Append *s* to :data:`sys.warnoptions`."
msgstr ""
#: ../Doc/c-api/sys.rst:145
#: ../Doc/c-api/sys.rst:163
msgid "Append *unicode* to :data:`sys.warnoptions`."
msgstr ""
#: ../Doc/c-api/sys.rst:149
#: ../Doc/c-api/sys.rst:167
msgid ""
"Set :data:`sys.path` to a list object of paths found in *path* which should "
"be a list of paths separated with the platform's search path delimiter (``:"
"`` on Unix, ``;`` on Windows)."
msgstr ""
#: ../Doc/c-api/sys.rst:155
#: ../Doc/c-api/sys.rst:173
msgid ""
"Write the output string described by *format* to :data:`sys.stdout`. No "
"exceptions are raised, even if truncation occurs (see below)."
msgstr ""
#: ../Doc/c-api/sys.rst:158
#: ../Doc/c-api/sys.rst:176
msgid ""
"*format* should limit the total size of the formatted output string to 1000 "
"bytes or less -- after 1000 bytes, the output string is truncated. In "
@ -207,48 +237,48 @@ msgid ""
"of digits for very large numbers."
msgstr ""
#: ../Doc/c-api/sys.rst:166
#: ../Doc/c-api/sys.rst:184
msgid ""
"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message "
"is written to the real (C level) *stdout*."
msgstr ""
#: ../Doc/c-api/sys.rst:171
#: ../Doc/c-api/sys.rst:189
msgid ""
"As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
msgstr ""
#: ../Doc/c-api/sys.rst:176
#: ../Doc/c-api/sys.rst:194
msgid ""
"Function similar to PySys_WriteStdout() but format the message using :c:func:"
"`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary "
"length."
msgstr ""
#: ../Doc/c-api/sys.rst:184
#: ../Doc/c-api/sys.rst:202
msgid ""
"As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
msgstr ""
#: ../Doc/c-api/sys.rst:191
#: ../Doc/c-api/sys.rst:209
msgid ""
"Parse *s* as a set of :option:`-X` options and add them to the current "
"options mapping as returned by :c:func:`PySys_GetXOptions`."
msgstr ""
#: ../Doc/c-api/sys.rst:198
#: ../Doc/c-api/sys.rst:216
msgid ""
"Return the current dictionary of :option:`-X` options, similarly to :data:"
"`sys._xoptions`. On error, *NULL* is returned and an exception is set."
msgstr ""
#: ../Doc/c-api/sys.rst:208
#: ../Doc/c-api/sys.rst:226
msgid "Process Control"
msgstr ""
#: ../Doc/c-api/sys.rst:215
#: ../Doc/c-api/sys.rst:233
msgid ""
"Print a fatal error message and kill the process. No cleanup is performed. "
"This function should only be invoked when a condition is detected that would "
@ -258,18 +288,18 @@ msgid ""
"file:`core` file."
msgstr ""
#: ../Doc/c-api/sys.rst:229
#: ../Doc/c-api/sys.rst:247
msgid ""
"Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls "
"the standard C library function ``exit(status)``. If :c:func:"
"`Py_FinalizeEx` indicates an error, the exit status is set to 120."
msgstr ""
#: ../Doc/c-api/sys.rst:233
#: ../Doc/c-api/sys.rst:251
msgid "Errors from finalization no longer ignored."
msgstr ""
#: ../Doc/c-api/sys.rst:243
#: ../Doc/c-api/sys.rst:261
msgid ""
"Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The "
"cleanup function will be called with no arguments and should return no "

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/type.rst:6
msgid "Type Objects"
msgstr ""
msgstr "Objets type"
#: ../Doc/c-api/type.rst:13
msgid "The C structure of the objects used to describe built-in types."

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/c-api/typeobj.rst:6
msgid "Type Objects"
msgstr ""
msgstr "Objets Type"
#: ../Doc/c-api/typeobj.rst:8
msgid ""
@ -761,7 +761,7 @@ msgstr ""
#: ../Doc/c-api/typeobj.rst:611
msgid "Constant"
msgstr ""
msgstr "Constante"
#: ../Doc/c-api/typeobj.rst:611
msgid "Comparison"

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-10-18 09:03+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -28,3 +28,7 @@ msgid ""
"C, and parsing function arguments and constructing Python values from C "
"values."
msgstr ""
"Les fonctions de ce chapitre sont utilitaires, certaines aident à rendre le "
"code en C plus portable, d'autres à utiliser des modules Python depuis du C, "
"parser des arguments de fonctions, ou encore construire des valeurs Python à "
"partir de valeurs C."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -173,10 +173,11 @@ msgid ""
"Read and execute statements from a file associated with an interactive "
"device until EOF is reached. The user will be prompted using ``sys.ps1`` "
"and ``sys.ps2``. *filename* is decoded from the filesystem encoding (:func:"
"`sys.getfilesystemencoding`). Returns ``0`` at EOF."
"`sys.getfilesystemencoding`). Returns ``0`` at EOF or a negative number "
"upon failure."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:149
#: ../Doc/c-api/veryhigh.rst:150
msgid ""
"Can be set to point to a function with the prototype ``int func(void)``. "
"The function will be called when Python's interpreter prompt is about to "
@ -186,7 +187,7 @@ msgid ""
"the Python source code."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:160
#: ../Doc/c-api/veryhigh.rst:161
msgid ""
"Can be set to point to a function with the prototype ``char *func(FILE "
"*stdin, FILE *stdout, char *prompt)``, overriding the default function used "
@ -197,34 +198,34 @@ msgid ""
"line-editing and tab-completion features."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:169
#: ../Doc/c-api/veryhigh.rst:170
msgid ""
"The result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:"
"func:`PyMem_RawRealloc`, or *NULL* if an error occurred."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:172
#: ../Doc/c-api/veryhigh.rst:173
msgid ""
"The result must be allocated by :c:func:`PyMem_RawMalloc` or :c:func:"
"`PyMem_RawRealloc`, instead of being allocated by :c:func:`PyMem_Malloc` or :"
"c:func:`PyMem_Realloc`."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:180
#: ../Doc/c-api/veryhigh.rst:181
msgid ""
"This is a simplified interface to :c:func:"
"`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to "
"*NULL* and *flags* set to ``0``."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:187
#: ../Doc/c-api/veryhigh.rst:188
msgid ""
"This is a simplified interface to :c:func:"
"`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set to "
"*NULL*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:194
#: ../Doc/c-api/veryhigh.rst:195
msgid ""
"Parse Python source code from *str* using the start token *start* according "
"to the *flags* argument. The result can be used to create a code object "
@ -233,25 +234,25 @@ msgid ""
"(:func:`sys.getfilesystemencoding`)."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:203
#: ../Doc/c-api/veryhigh.rst:204
msgid ""
"This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` "
"below, leaving *flags* set to ``0``."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:209
#: ../Doc/c-api/veryhigh.rst:210
msgid ""
"Similar to :c:func:`PyParser_SimpleParseStringFlagsFilename`, but the Python "
"source code is read from *fp* instead of an in-memory string."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:215
#: ../Doc/c-api/veryhigh.rst:216
msgid ""
"This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving "
"*flags* set to *NULL*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:221
#: ../Doc/c-api/veryhigh.rst:222
msgid ""
"Execute Python source code from *str* in the context specified by the "
"objects *globals* and *locals* with the compiler flags specified by "
@ -260,31 +261,31 @@ msgid ""
"token that should be used to parse the source code."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:227
#: ../Doc/c-api/veryhigh.rst:228
msgid ""
"Returns the result of executing the code as a Python object, or *NULL* if an "
"exception was raised."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:233
#: ../Doc/c-api/veryhigh.rst:234
msgid ""
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
"*closeit* set to ``0`` and *flags* set to *NULL*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:239
#: ../Doc/c-api/veryhigh.rst:240
msgid ""
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
"*flags* set to *NULL*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:245
#: ../Doc/c-api/veryhigh.rst:246
msgid ""
"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving "
"*closeit* set to ``0``."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:251
#: ../Doc/c-api/veryhigh.rst:252
msgid ""
"Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read "
"from *fp* instead of an in-memory string. *filename* should be the name of "
@ -293,19 +294,19 @@ msgid ""
"func:`PyRun_FileExFlags` returns."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:260
#: ../Doc/c-api/veryhigh.rst:261
msgid ""
"This is a simplified interface to :c:func:`Py_CompileStringFlags` below, "
"leaving *flags* set to *NULL*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:266
#: ../Doc/c-api/veryhigh.rst:267
msgid ""
"This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, "
"with *optimize* set to ``-1``."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:272
#: ../Doc/c-api/veryhigh.rst:273
msgid ""
"Parse and compile the Python source code in *str*, returning the resulting "
"code object. The start token is given by *start*; this can be used to "
@ -316,7 +317,7 @@ msgid ""
"returns *NULL* if the code cannot be parsed or compiled."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:280
#: ../Doc/c-api/veryhigh.rst:281
msgid ""
"The integer *optimize* specifies the optimization level of the compiler; a "
"value of ``-1`` selects the optimization level of the interpreter as given "
@ -325,20 +326,20 @@ msgid ""
"or ``2`` (docstrings are removed too)."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:291
#: ../Doc/c-api/veryhigh.rst:292
msgid ""
"Like :c:func:`Py_CompileStringObject`, but *filename* is a byte string "
"decoded from the filesystem encoding (:func:`os.fsdecode`)."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:298
#: ../Doc/c-api/veryhigh.rst:299
msgid ""
"This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the "
"code object, and global and local variables. The other arguments are set to "
"*NULL*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:305
#: ../Doc/c-api/veryhigh.rst:306
msgid ""
"Evaluate a precompiled code object, given a particular environment for its "
"evaluation. This environment consists of a dictionary of global variables, "
@ -347,19 +348,19 @@ msgid ""
"only_parameter>` arguments and a closure tuple of cells."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:314
#: ../Doc/c-api/veryhigh.rst:315
msgid ""
"The C structure of the objects used to describe frame objects. The fields of "
"this type are subject to change at any time."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:320
#: ../Doc/c-api/veryhigh.rst:321
msgid ""
"Evaluate an execution frame. This is a simplified interface to :c:func:"
"`PyEval_EvalFrameEx`, for backward compatibility."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:326
#: ../Doc/c-api/veryhigh.rst:327
msgid ""
"This is the main, unvarnished function of Python interpretation. It is "
"literally 2000 lines long. The code object associated with the execution "
@ -369,39 +370,39 @@ msgid ""
"`~generator.throw` methods of generator objects."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:333
#: ../Doc/c-api/veryhigh.rst:334
msgid ""
"This function now includes a debug assertion to help ensure that it does not "
"silently discard an active exception."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:340
#: ../Doc/c-api/veryhigh.rst:341
msgid ""
"This function changes the flags of the current evaluation frame, and returns "
"true on success, false on failure."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:348
#: ../Doc/c-api/veryhigh.rst:349
msgid ""
"The start symbol from the Python grammar for isolated expressions; for use "
"with :c:func:`Py_CompileString`."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:356
#: ../Doc/c-api/veryhigh.rst:357
msgid ""
"The start symbol from the Python grammar for sequences of statements as read "
"from a file or other source; for use with :c:func:`Py_CompileString`. This "
"is the symbol to use when compiling arbitrarily long Python source code."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:365
#: ../Doc/c-api/veryhigh.rst:366
msgid ""
"The start symbol from the Python grammar for a single statement; for use "
"with :c:func:`Py_CompileString`. This is the symbol used for the interactive "
"interpreter loop."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:372
#: ../Doc/c-api/veryhigh.rst:373
msgid ""
"This is the structure used to hold compiler flags. In cases where code is "
"only being compiled, it is passed as ``int flags``, and in cases where code "
@ -409,14 +410,14 @@ msgid ""
"case, ``from __future__ import`` can modify *flags*."
msgstr ""
#: ../Doc/c-api/veryhigh.rst:377
#: ../Doc/c-api/veryhigh.rst:378
msgid ""
"Whenever ``PyCompilerFlags *flags`` is *NULL*, :attr:`cf_flags` is treated "
"as equal to ``0``, and any modification due to ``from __future__ import`` is "
"discarded. ::"
msgstr ""
#: ../Doc/c-api/veryhigh.rst:388
#: ../Doc/c-api/veryhigh.rst:389
msgid ""
"This bit can be set in *flags* to cause division operator ``/`` to be "
"interpreted as \"true division\" according to :pep:`238`."

View File

@ -3,14 +3,13 @@
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-02-08 09:58+0100\n"
"PO-Revision-Date: 2017-12-01 08:54+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -26,9 +25,9 @@ msgid "Python and this documentation is:"
msgstr "Python et cette documentation sont :"
#: ../Doc/copyright.rst:7
msgid "Copyright © 2001-2016 Python Software Foundation. All rights reserved."
msgid "Copyright © 2001-2018 Python Software Foundation. All rights reserved."
msgstr ""
"Copyright © 2001-2016 Python Software Foundation. Tous droits réservés."
"Copyright © 2001-2018 Python Software Foundation. Tout droits réservés."
#: ../Doc/copyright.rst:9
msgid "Copyright © 2000 BeOpen.com. All rights reserved."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2018-02-15 00:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,11 @@ msgstr ""
#: ../Doc/distributing/index.rst:5
msgid "Distributing Python Modules"
msgstr "Distribuer des Modules Python"
msgstr "Distribuer des modules Python"
#: ../Doc/distributing/index.rst:0
msgid "Email"
msgstr "Email"
#: ../Doc/distributing/index.rst:7
msgid "distutils-sig@python.org"
@ -247,7 +251,7 @@ msgid ""
"The Python Packaging User Guide includes more details on the `currently "
"recommended tools`_."
msgstr ""
" Le *Python Packaging User Guide* contient plus de détails sur les `(en) "
"Le *Python Packaging User Guide* contient plus de détails sur les `(en) "
"outils actuellement recommandés <currently recommended tools_>`_."
#: ../Doc/distributing/index.rst:117

View File

@ -459,7 +459,7 @@ msgstr ""
"des slashs) dans un souci de portabilité. Les fichiers de code source "
"peuvent être du C, C++, SWIG (.i), des fichiers de ressources spécifiques à "
"la plateforme ou tout autre reconnu par la commande :command:`build_ext` "
"comme source d'une extension Python"
"comme source d'une extension Python."
#: ../Doc/distutils/apiref.rst:196
msgid "*include_dirs*"
@ -666,7 +666,7 @@ msgstr ""
#: ../Doc/distutils/apiref.rst:334
msgid "Determine the default compiler to use for the given platform."
msgstr ""
"Détermine le compilateur par défaut a utiliser par une plateforme donnée"
"Détermine le compilateur par défaut a utiliser par une plateforme donnée."
#: ../Doc/distutils/apiref.rst:336
msgid ""
@ -1343,7 +1343,7 @@ msgstr ""
#: ../Doc/distutils/apiref.rst:879
msgid "Added support for the ``xztar`` format."
msgstr "Ajout du support des fichiers ``xztar``"
msgstr "Ajout du support des fichiers ``xztar``."
#: ../Doc/distutils/apiref.rst:885
msgid ""

View File

@ -7,19 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: 2017-09-22 10:31+0200\n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2018-02-15 00:34+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 2.0.4\n"
#: ../Doc/distutils/builtdist.rst:5
msgid "Creating Built Distributions"
msgstr "Créer une Distribution Compilée"
msgstr "Créer une distribution compilée"
#: ../Doc/distutils/builtdist.rst:7
msgid ""
@ -35,7 +35,7 @@ msgstr ""
"cependant pas forcément un binaire, il peut ne contenir que des sources "
"Python et/ou du byte-code; et nous n'appelons pas ça un *package* parce que "
"ce mot est déjà utiliseé dans Python (et \"installateur\" est un terme "
"spécifique au monde des systèmes de bureau). "
"spécifique au monde des systèmes de bureau)."
#: ../Doc/distutils/builtdist.rst:14
msgid ""
@ -85,7 +85,7 @@ msgid ""
"tree::"
msgstr ""
"Pour prendre un exemple simple, si je lance la commande suivante dans les "
"sources de Distutils ::"
"sources de Distutils ::"
#: ../Doc/distutils/builtdist.rst:37
msgid ""
@ -282,15 +282,15 @@ msgstr "``msi``"
#: ../Doc/distutils/builtdist.rst:100
msgid "Microsoft Installer."
msgstr "Installateur Microsoft"
msgstr "Installateur Microsoft."
#: ../Doc/distutils/builtdist.rst:103
msgid "Added support for the ``xztar`` format."
msgstr "Ajout du support des fichiers ``xztar``"
msgstr "Ajout du support des fichiers ``xztar``."
#: ../Doc/distutils/builtdist.rst:107
msgid "Notes:"
msgstr "Notes : "
msgstr "Notes :"
#: ../Doc/distutils/builtdist.rst:110
msgid "default on Unix"
@ -378,7 +378,7 @@ msgid ""
"commands."
msgstr ""
"Le chapitre suivant donne des détails individuel sur les commandes :command:"
"`bdist_\\*` "
"`bdist_\\*`."
#: ../Doc/distutils/builtdist.rst:163
msgid "Creating RPM packages"
@ -408,7 +408,7 @@ msgid ""
"command:`bdist_rpm` command::"
msgstr ""
"La manière habituelle de créer un RPM de votre module est d'utiliser la "
"commande :command:`bdist_rpm`::"
"commande :command:`bdist_rpm` ::"
#: ../Doc/distutils/builtdist.rst:177
msgid "or the :command:`bdist` command with the :option:`!--format` option::"
@ -424,7 +424,7 @@ msgstr ""
"La première vous permet de spécifier des options spécifique à RPM; la "
"dernière vous permet de spécifier plusieurs format d'un seul coup. Si vous "
"avez besoin d'utiliser les deux, vous pouvez explicitement spécifier "
"plusieurs commande :command:`bdist_\\*` et leurs options."
"plusieurs commande :command:`bdist_\\*` et leurs options ::"
#: ../Doc/distutils/builtdist.rst:188
msgid ""
@ -523,7 +523,7 @@ msgstr ""
#: ../Doc/distutils/builtdist.rst:220
msgid ":command:`bdist_rpm` option"
msgstr "Option de :command:`bdist_rpm` "
msgstr "Option de :command:`bdist_rpm`"
#: ../Doc/distutils/builtdist.rst:220
msgid "default value"
@ -717,7 +717,7 @@ msgid ""
"installers is usually as easy as running::"
msgstr ""
"Etant donné que les métadonnées sont tirées du script de préparation, créer "
"un installateur Windows est généralement facile, il suffit de lancer::"
"un installateur Windows est généralement facile, il suffit de lancer ::"
#: ../Doc/distutils/builtdist.rst:310
msgid "or the :command:`bdist` command with the :option:`!--formats` option::"
@ -810,7 +810,7 @@ msgid ""
"support this option, so the command::"
msgstr ""
"Pour construire une version 64 bits de votre module. L'installateur Windows "
"supporte aussi cette option, donc la commande::"
"supporte aussi cette option, donc la commande ::"
#: ../Doc/distutils/builtdist.rst:364
msgid ""
@ -818,7 +818,7 @@ msgid ""
"Windows."
msgstr ""
"créera un installateur executable 64 bits depuis votre version 32 bits de "
"Windows. "
"Windows."
#: ../Doc/distutils/builtdist.rst:366
msgid ""
@ -913,7 +913,7 @@ msgstr ""
"Cette fonction peut être utilisée pour extraire des localisations de "
"fichiers spéciaux sous Windows comme un menu démarrer ou le Bureau. Cela "
"renvoie le chemin complet pour le fichier. *csidl_string* doit être unes des "
"chaines suivantes::"
"chaines suivantes ::"
#: ../Doc/distutils/builtdist.rst:434
msgid "If the folder cannot be retrieved, :exc:`OSError` is raised."

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-03-21 00:48+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -41,7 +41,8 @@ msgstr ":command:`install_data`"
#: ../Doc/distutils/commandref.rst:37
msgid "This command installs all data files provided with the distribution."
msgstr "Cette commande installe tout les fichier fournit avec la distribution"
msgstr ""
"Cette commande installe tous les fichiers fournis avec la distribution."
#: ../Doc/distutils/commandref.rst:43
msgid ":command:`install_scripts`"
@ -49,11 +50,12 @@ msgstr ":command:`install_scripts`"
#: ../Doc/distutils/commandref.rst:45
msgid "This command installs all (Python) scripts in the distribution."
msgstr "Cette commande installe tout les scripts (Python) dans la distribution"
msgstr ""
"Cette commande installe tout les scripts (Python) dans la distribution."
#: ../Doc/distutils/commandref.rst:54
msgid "Creating a source distribution: the :command:`sdist` command"
msgstr "Créer une distribution source: la commande :command:`sdist` "
msgstr "Créer une distribution source: la commande :command:`sdist`"
#: ../Doc/distutils/commandref.rst:58
msgid "The manifest template commands are:"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -64,10 +64,10 @@ msgid ""
msgstr ""
#: ../Doc/distutils/configfile.rst:39
msgid "The basic syntax of the configuration file is simple::"
msgid "The basic syntax of the configuration file is simple:"
msgstr ""
#: ../Doc/distutils/configfile.rst:45
#: ../Doc/distutils/configfile.rst:47
msgid ""
"where *command* is one of the Distutils commands (e.g. :command:`build_py`, :"
"command:`install`), and *option* is one of the options that command "
@ -78,37 +78,37 @@ msgid ""
"by indenting the continuation lines."
msgstr ""
#: ../Doc/distutils/configfile.rst:53
#: ../Doc/distutils/configfile.rst:55
msgid ""
"You can find out the list of options supported by a particular command with "
"the universal :option:`!--help` option, e.g. ::"
"the universal :option:`!--help` option, e.g."
msgstr ""
#: ../Doc/distutils/configfile.rst:69
#: ../Doc/distutils/configfile.rst:73
msgid ""
"Note that an option spelled :option:`!--foo-bar` on the command-line is "
"spelled ``foo_bar`` in configuration files."
msgstr ""
#: ../Doc/distutils/configfile.rst:74
#: ../Doc/distutils/configfile.rst:78
msgid ""
"For example, say you want your extensions to be built \"in-place\"---that "
"is, you have an extension :mod:`pkg.ext`, and you want the compiled "
"extension file (:file:`ext.so` on Unix, say) to be put in the same source "
"directory as your pure Python modules :mod:`pkg.mod1` and :mod:`pkg.mod2`. "
"You can always use the :option:`!--inplace` option on the command-line to "
"ensure this::"
"ensure this:"
msgstr ""
#: ../Doc/distutils/configfile.rst:82
#: ../Doc/distutils/configfile.rst:88
msgid ""
"But this requires that you always specify the :command:`build_ext` command "
"explicitly, and remember to provide :option:`!--inplace`. An easier way is "
"to \"set and forget\" this option, by encoding it in :file:`setup.cfg`, the "
"configuration file for this distribution::"
"configuration file for this distribution:"
msgstr ""
#: ../Doc/distutils/configfile.rst:90
#: ../Doc/distutils/configfile.rst:98
msgid ""
"This will affect all builds of this module distribution, whether or not you "
"explicitly specify :command:`build_ext`. If you include :file:`setup.cfg` "
@ -121,7 +121,7 @@ msgid ""
"always a bad idea, though.)"
msgstr ""
#: ../Doc/distutils/configfile.rst:99
#: ../Doc/distutils/configfile.rst:107
msgid ""
"Another example: certain commands take a lot of options that don't change "
"from run to run; for example, :command:`bdist_rpm` needs to know everything "
@ -130,30 +130,30 @@ msgid ""
"generated by the Distutils (such as the list of files installed). But some "
"of it has to be supplied as options to :command:`bdist_rpm`, which would be "
"very tedious to do on the command-line for every run. Hence, here is a "
"snippet from the Distutils' own :file:`setup.cfg`::"
"snippet from the Distutils' own :file:`setup.cfg`:"
msgstr ""
#: ../Doc/distutils/configfile.rst:117
#: ../Doc/distutils/configfile.rst:127
msgid ""
"Note that the ``doc_files`` option is simply a whitespace-separated string "
"split across multiple lines for readability."
msgstr ""
#: ../Doc/distutils/configfile.rst:124
#: ../Doc/distutils/configfile.rst:134
msgid ":ref:`inst-config-syntax` in \"Installing Python Modules\""
msgstr ""
#: ../Doc/distutils/configfile.rst:124
#: ../Doc/distutils/configfile.rst:134
msgid ""
"More information on the configuration files is available in the manual for "
"system administrators."
msgstr ""
#: ../Doc/distutils/configfile.rst:129
#: ../Doc/distutils/configfile.rst:139
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/distutils/configfile.rst:130
#: ../Doc/distutils/configfile.rst:140
msgid ""
"This ideal probably won't be achieved until auto-configuration is fully "
"supported by the Distutils."

View File

@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2017-12-14 08:45+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,11 +19,19 @@ msgstr ""
#: ../Doc/distutils/index.rst:5
msgid "Distributing Python Modules (Legacy version)"
msgstr ""
msgstr "Distribuer des modules Python (Version historique)"
#: ../Doc/distutils/index.rst:0
msgid "Authors"
msgstr "Auteurs"
#: ../Doc/distutils/index.rst:7
msgid "Greg Ward, Anthony Baxter"
msgstr ""
msgstr "Greg Ward, Anthony Baxter"
#: ../Doc/distutils/index.rst:0
msgid "Email"
msgstr "Email"
#: ../Doc/distutils/index.rst:8
msgid "distutils-sig@python.org"
@ -31,11 +39,11 @@ msgstr "distutils-sig@python.org"
#: ../Doc/distutils/index.rst:12
msgid ":ref:`distributing-index`"
msgstr ""
msgstr ":ref:`distributing-index`"
#: ../Doc/distutils/index.rst:13
msgid "The up to date module distribution documentations"
msgstr ""
msgstr "La documentation actuelle de distribution de modules"
#: ../Doc/distutils/index.rst:15
msgid ""
@ -44,6 +52,11 @@ msgid ""
"Distutils to make Python modules and extensions easily available to a wider "
"audience with very little overhead for build/release/install mechanics."
msgstr ""
"Ce document décrit les outils de distribution de Python (\"Distutils\") du "
"point de vue d'un développeur de modules. Il décrit comment utiliser "
"`Distutils` pour rendre des modules et extensions Python disponnible à une "
"large audience, simplement, avec un faible surcoût sur les mécaniques de "
"construction, déploiement et installation."
#: ../Doc/distutils/index.rst:22
msgid ""
@ -53,3 +66,8 @@ msgid ""
"recommendations section <https://packaging.python.org/en/latest/current/>`__ "
"in the Python Packaging User Guide for more information."
msgstr ""
"Ce guide ne couvre que les outils de base, fournis avec cette version de "
"Python, pour construire et distribuer des extensions. D'autres outils "
"peuvent être plus sécurisés et plus simple à utiliser. Consultez `quick "
"recommendations section <https://packaging.python.org/en/latest/current/>`__ "
"dans le *Python Packaging User Guide* pour plus d'informations."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -298,10 +298,9 @@ msgstr ""
msgid ""
"a collection of Python modules distributed together as a single downloadable "
"resource and meant to be installed *en masse*. Examples of some well-known "
"module distributions are NumPy, SciPy, PIL (the Python Imaging Library), or "
"mxBase. (This would be called a *package*, except that term is already "
"taken in the Python context: a single module distribution may contain zero, "
"one, or many Python packages.)"
"module distributions are NumPy, SciPy, Pillow, or mxBase. (This would be "
"called a *package*, except that term is already taken in the Python context: "
"a single module distribution may contain zero, one, or many Python packages.)"
msgstr ""
#: ../Doc/distutils/introduction.rst:203

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -214,96 +214,96 @@ msgid ""
"existence of a :file:`.pypirc` file at the location :file:`$HOME/.pypirc`. "
"If this file exists, the command uses the username, password, and repository "
"URL configured in the file. The format of a :file:`.pypirc` file is as "
"follows::"
"follows:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:170
#: ../Doc/distutils/packageindex.rst:172
msgid ""
"The *distutils* section defines an *index-servers* variable that lists the "
"name of all sections describing a repository."
msgstr ""
#: ../Doc/distutils/packageindex.rst:173
#: ../Doc/distutils/packageindex.rst:175
msgid "Each section describing a repository defines three variables:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:175
#: ../Doc/distutils/packageindex.rst:177
msgid "*repository*, that defines the url of the PyPI server. Defaults to"
msgstr ""
#: ../Doc/distutils/packageindex.rst:176
#: ../Doc/distutils/packageindex.rst:178
msgid "``https://upload.pypi.org/legacy/``."
msgstr ""
#: ../Doc/distutils/packageindex.rst:177
#: ../Doc/distutils/packageindex.rst:179
msgid "*username*, which is the registered username on the PyPI server."
msgstr ""
#: ../Doc/distutils/packageindex.rst:179
#: ../Doc/distutils/packageindex.rst:181
msgid "*password*, that will be used to authenticate. If omitted the user"
msgstr ""
#: ../Doc/distutils/packageindex.rst:179
#: ../Doc/distutils/packageindex.rst:181
msgid "will be prompt to type it when needed."
msgstr ""
#: ../Doc/distutils/packageindex.rst:181
#: ../Doc/distutils/packageindex.rst:183
msgid ""
"If you want to define another server a new section can be created and listed "
"in the *index-servers* variable::"
"in the *index-servers* variable:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:199
#: ../Doc/distutils/packageindex.rst:203
msgid ""
"This allows the :command:`register` and :command:`upload` commands to be "
"called with the ``--repository`` option as described in :ref:`package-"
"cmdoptions`."
msgstr ""
#: ../Doc/distutils/packageindex.rst:203
#: ../Doc/distutils/packageindex.rst:207
msgid ""
"Specifically, you might want to add the `PyPI Test Repository <https://wiki."
"python.org/moin/TestPyPI>`_ to your ``.pypirc`` to facilitate testing before "
"doing your first upload to ``PyPI`` itself."
msgstr ""
#: ../Doc/distutils/packageindex.rst:211
#: ../Doc/distutils/packageindex.rst:215
msgid "PyPI package display"
msgstr ""
#: ../Doc/distutils/packageindex.rst:213
#: ../Doc/distutils/packageindex.rst:217
msgid ""
"The ``long_description`` field plays a special role at PyPI. It is used by "
"the server to display a home page for the registered package."
msgstr ""
#: ../Doc/distutils/packageindex.rst:216
#: ../Doc/distutils/packageindex.rst:220
msgid ""
"If you use the `reStructuredText <http://docutils.sourceforge.net/rst."
"html>`_ syntax for this field, PyPI will parse it and display an HTML output "
"for the package home page."
msgstr ""
#: ../Doc/distutils/packageindex.rst:220
#: ../Doc/distutils/packageindex.rst:224
msgid ""
"The ``long_description`` field can be attached to a text file located in the "
"package::"
msgstr ""
#: ../Doc/distutils/packageindex.rst:231
#: ../Doc/distutils/packageindex.rst:235
msgid ""
"In that case, :file:`README.txt` is a regular reStructuredText text file "
"located in the root of the package besides :file:`setup.py`."
msgstr ""
#: ../Doc/distutils/packageindex.rst:234
#: ../Doc/distutils/packageindex.rst:238
msgid ""
"To prevent registering broken reStructuredText content, you can use the :"
"program:`rst2html` program that is provided by the :mod:`docutils` package "
"and check the ``long_description`` from the command line:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:242
#: ../Doc/distutils/packageindex.rst:246
msgid ""
":mod:`docutils` will display a warning if there's something wrong with your "
"syntax. Because PyPI applies additional checks (e.g. by passing ``--no-"

View File

@ -490,7 +490,7 @@ msgstr ""
#: ../Doc/distutils/setupscript.rst:398 ../Doc/distutils/setupscript.rst:416
msgid "Explanation"
msgstr ""
msgstr "Explication"
#: ../Doc/distutils/setupscript.rst:400
msgid "``==1.0``"
@ -868,7 +868,7 @@ msgstr "\\(6)"
#: ../Doc/distutils/setupscript.rst:597
msgid "Notes:"
msgstr "Notes : "
msgstr "Notes :"
#: ../Doc/distutils/setupscript.rst:600
msgid "These fields are required."

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-05-25 22:44+0200\n"
"PO-Revision-Date: 2018-02-15 00:34+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/distutils/sourcedist.rst:5
msgid "Creating a Source Distribution"
msgstr "Créer une Distribution Source"
msgstr "Créer une distribution source"
#: ../Doc/distutils/sourcedist.rst:7
msgid ""
@ -48,6 +48,8 @@ msgid ""
"You can specify as many formats as you like using the :option:`!--formats` "
"option, for example::"
msgstr ""
"Vous pouvez donner autant de formats que necessaire via l'option :option:`!--"
"formats`, par exemple ::"
#: ../Doc/distutils/sourcedist.rst:22
msgid "to create a gzipped tarball and a zip file. The available formats are:"
@ -129,11 +131,11 @@ msgstr "Fichier tar (:file:`.tar`)"
#: ../Doc/distutils/sourcedist.rst:44
msgid "Added support for the ``xztar`` format."
msgstr "Ajout du support des fichiers ``xztar``"
msgstr "Ajout du support des fichiers ``xztar``."
#: ../Doc/distutils/sourcedist.rst:47
msgid "Notes:"
msgstr "Notes : "
msgstr "Notes :"
#: ../Doc/distutils/sourcedist.rst:50
msgid "default on Windows"
@ -174,7 +176,7 @@ msgstr ""
msgid "For example, if you want all files of the archive to be owned by root::"
msgstr ""
"Par exemple, si vous voulez que tous les fichiers de l'archive soient détenu "
"par *root*::"
"par *root* ::"
#: ../Doc/distutils/sourcedist.rst:75
msgid "Specifying the files to distribute"
@ -281,7 +283,7 @@ msgstr ""
"un nom de fichier par ligne, uniquement des fichiers normaux (ou leur lien "
"symbolique). Si vous fournissez votre propre :file:`MANIFEST`, vous devez "
"tout spécifier: le groupe de fichier par défaut décrit au dessus ne sera pas "
"inclu automatiquement dans ce cas"
"inclu automatiquement dans ce cas."
#: ../Doc/distutils/sourcedist.rst:120
msgid ""
@ -299,7 +301,7 @@ msgid ""
msgstr ""
"Les fichiers :file:`MANIFEST` commence avec un commentaire indiquant qu'ils "
"sont générés. Les fichiers sans ce commentaire ne sont pas réécrits ou "
"supprimés"
"supprimés."
#: ../Doc/distutils/sourcedist.rst:129
msgid ""
@ -315,6 +317,9 @@ msgid ""
"a set of files to include or exclude from the source distribution. For an "
"example, again we turn to the Distutils' own manifest template:"
msgstr ""
"Le modèle de manifeste a une commande par ligne, où chaque commande spécifie "
"un ensemble de fichiers à inclure ou à exclure de la distribution source. "
"Par exemple, regardons encore le manifest de Distutils :"
#: ../Doc/distutils/sourcedist.rst:144
msgid ""
@ -328,6 +333,16 @@ msgid ""
"There are several other commands available in the manifest template mini-"
"language; see section :ref:`sdist-cmd`."
msgstr ""
"L'intention doit être assez claire : inclure tous les fichiers à la racine "
"de la distribution correpondant à :file:`*.txt`, tous les fichiers n'importe "
"où dans le dossier :file:`examples` correpondant à :file:`\\*.txt` ou :file:`"
"\\*.py`, et exclus tous les dossier correspondant à :file:`examples/sample?/"
"build`. Tout ceci est fait **après** l'ensemble d'inclusions standards, vous "
"pouvez donc exclure des fichiers précédamment inclus en utilisant une "
"instruction explicite dans le manifeste. (Vous pouvez aussi utiliser "
"l'option :option:`!--no-defaults` pour désactiver complètement les "
"inclusions standards). Il existe d'autres commandes dans le langage du "
"fichier manifeste, consultez le chapitre :ref:`sdist-cmd`."
#: ../Doc/distutils/sourcedist.rst:154
msgid ""
@ -372,6 +387,9 @@ msgid ""
"defaults` option, and you can disable the standard exclude set with :option:"
"`!--no-prune`."
msgstr ""
"Vous pouvez désactiver l'ensemble des fichiers inclus par défaut en "
"utilisant l'option :option:`!--no-defaults`, ainsi que désactiver les "
"exclusions standards avec l'option :option:`!--no-prune`."
#: ../Doc/distutils/sourcedist.rst:172
msgid ""
@ -390,7 +408,7 @@ msgid ""
"two directories were mentioned in the ``packages`` option in the setup "
"script---see section :ref:`setup-script`)"
msgstr ""
"inclure tous les fichier source Python dans les sous-dossiers :file:"
"inclure tous les fichiers source Python dans les sous-dossiers :file:"
"`distutils` et :file:`distutils/command` (parce que des packages "
"correspondant à ces deux dossiers ont été mentionnés dans l'argument "
"``packages`` du script d'installation ---voir le chapitre :ref:`setup-"
@ -459,7 +477,7 @@ msgstr ""
"dans le modèle manifeste doivent toujours être séparés par des slash; "
"Distutils s'occupera de les convertir a la représentation standard de votre "
"plateforme. De cette manière, le modèle manifeste est portable sur tout "
"système d'exploitation"
"système d'exploitation."
#: ../Doc/distutils/sourcedist.rst:210
msgid "Manifest-related options"
@ -513,6 +531,9 @@ msgid ""
"option:`!--no-defaults` and :option:`!--no-prune` to disable the standard "
"\"include\" and \"exclude\" sets."
msgstr ""
"Il existe plusieurs options pour modifier ce comportement. D'abord utilisez "
"les options :option:`!--no-defaults` et :option:`!--no-prune` pour "
"désactiver les inclusions et exclusions standards."
#: ../Doc/distutils/sourcedist.rst:231
msgid ""
@ -520,8 +541,10 @@ msgid ""
"source distribution::"
msgstr ""
"Deuxièmement, si vous voulez (ré)généré le manifeste, mais pas créer la "
"distribution source ::"
"distribution source ::"
#: ../Doc/distutils/sourcedist.rst:236
msgid ":option:`!-o` is a shortcut for :option:`!--manifest-only`."
msgstr ""
"L'option :option:`!-o` est un raccourci pour l'option :option:`!--manifest-"
"only`."

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-10-18 09:24+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,9 +19,10 @@ msgstr ""
#: ../Doc/distutils/uploading.rst:5
msgid "Uploading Packages to the Package Index"
msgstr ""
msgstr "Téléverser des paquets dans *Python Package Index*"
#: ../Doc/distutils/uploading.rst:7
msgid ""
"The contents of this page have moved to the section :ref:`package-index`."
msgstr ""
"Le contenu de cette page à déménagé dans la section :ref:`package-index`."

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-11-07 23:22+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -27,7 +27,7 @@ msgid ""
"``.pyd`` on Windows), which exports an *initialization function*."
msgstr ""
"Une extension C pour CPython est une bibliothèque partagée (Un ``.so`` sur "
"Linux, un ``.pyd`` sur windows), qui expose une *fonction d'initialisation*."
"Linux, un ``.pyd`` sur Windows), qui expose une *fonction d'initialisation*."
#: ../Doc/extending/building.rst:12
msgid ""
@ -80,6 +80,12 @@ msgid ""
"function corresponding to the filename is found. See the *\"Multiple modules "
"in one library\"* section in :pep:`489` for details."
msgstr ""
"Il est possible d'exporter plusieurs modules depuis une seule bibliothéque "
"partagée en définissant plusieurs fonctions d'initialisation. Cependant pour "
"les importer, un lien symbolique doit être créé pour chacun, ou un "
"*importer* personalisé, puisque par défaut seule la fonction correpondant au "
"nom du fichier est cherchée. Voir le chapitre *\"Multiple modules in one "
"library\"* dans la :pep:`489` pour plus d'informations."
#: ../Doc/extending/building.rst:49
msgid "Building C and C++ Extensions with distutils"
@ -150,6 +156,13 @@ msgid ""
"example, the instance defines an extension named ``demo`` which is build by "
"compiling a single source file, :file:`demo.c`."
msgstr ""
"Il est classique de pré-calculer les arguments à la fonction :func:`setup`, "
"pour plus de lisibilité. Dans l'exemple ci-dessus, l'argument "
"``ext_modules`` à :func:`~distutils.core.setup` est une liste de modules "
"d'extension, chacun est une instance de la classe :class:`~distutils."
"extension.Extension`. Dans l'exemple, l'instance définit une extension "
"nommée ``demo`` construite par la compilation d'un seul fichier source :file:"
"`demo.c`."
#: ../Doc/extending/building.rst:99
msgid ""
@ -170,6 +183,13 @@ msgid ""
"distutils passes this information in different ways to the compiler. For "
"example, on Unix, this may result in the compilation commands ::"
msgstr ""
"Dans cet exemple, la fonction :func:`~distutils.core.setup` est appellée "
"avec quelques autres méta-informations, ce qui est recommandé pour "
"distribuer des paquets. En ce qui concerne l'extension, sont définis "
"quelques macros préprocesseur, dossiers pour les en-têtes et bibliothèques. "
"En fonction du compilateur, *distutils* peut donner ces informations de "
"manière différente. Par exemple, sur Unix, ça peut ressembler aux "
"commandes : ::"
#: ../Doc/extending/building.rst:139
msgid ""
@ -211,6 +231,9 @@ msgid ""
"distribution; this is done through a :file:`MANIFEST.in` file; see :ref:"
"`manifest` for details."
msgstr ""
"Dans certains cas, des fichiers supplémentaires doivent être inclus dans une "
"distribution source : c'est possible via un fichier :file:`MANIFEST.in`, c."
"f. :ref:`manifest`."
#: ../Doc/extending/building.rst:161
msgid ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-08-10 00:58+0200\n"
"PO-Revision-Date: 2018-02-15 00:35+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/extending/embedding.rst:8
msgid "Embedding Python in Another Application"
msgstr "Intégrer Python dans une autre Application"
msgstr "Intégrer Python dans une autre application"
#: ../Doc/extending/embedding.rst:10
msgid ""
@ -55,7 +55,7 @@ msgstr ""
"est qu'en étendant Python, le programme principal reste l'interpréteur "
"Python, alors qu'en intégrant Python le programme principal peut ne rien à "
"voir avec Python. C'est simplement quelques parties du programme qui "
"appellent l'interprète Python pour exécuter un peu de code Python."
"appellent l'interpréteur Python pour exécuter un peu de code Python."
#: ../Doc/extending/embedding.rst:26
msgid ""
@ -102,7 +102,7 @@ msgstr ""
#: ../Doc/extending/embedding.rst:49
msgid "Very High Level Embedding"
msgstr "Intégration de Très Haut Niveau"
msgstr "Intégration de très haut niveau"
#: ../Doc/extending/embedding.rst:51
msgid ""
@ -130,10 +130,21 @@ msgid ""
"which saves you the trouble of allocating memory space and loading the file "
"contents."
msgstr ""
"C'est la fonction :c:func:`Py_SetProgramName` qui devrait être appelée en "
"premier, avant :c:func:`Py_Initialize`, afin d'informer l'interpréteur des "
"chemins vers ses bibliothèques. Ensuite l'interpréteur est initialisé par :c:"
"func:`Py_Initialize`, suivi de l'exécution de Python codé en dur affichant "
"la date et l'heure, puis, l'appel à :c:func:`Py_FinalizeEx` éteint "
"l'interpréteur, engendrant ainsi la fin du programme. Dans un vrai "
"programme, vous pourriez vouloir lire le script Python depuis une autre "
"source, peut être depuis un éditeur de texte, un fichier, ou une base de "
"donnée. Récupérer du code Python depuis un fichier se fait via :c:func:"
"`PyRun_SimplFile`, qui vous économise le travail d'allouer de la mémoire et "
"de charger le contenu du fichier."
#: ../Doc/extending/embedding.rst:92
msgid "Beyond Very High Level Embedding: An overview"
msgstr "Au delà de l'Intégration de Haut Niveau: Survol"
msgstr "Au delà de l'intégration de haut niveau: survol"
#: ../Doc/extending/embedding.rst:94
msgid ""
@ -221,7 +232,7 @@ msgstr ""
#: ../Doc/extending/embedding.rst:133
msgid "Pure Embedding"
msgstr "Intégration Pure"
msgstr "Intégration pure"
#: ../Doc/extending/embedding.rst:135
msgid ""
@ -250,7 +261,7 @@ msgstr ""
"Ce code charge un script Python en utilisant ``argv[1]``, et appelle une "
"fonction dont le nom est dans ``argv[2]``. Ses arguments entiers sont les "
"autres valeurs de ``argv``. Si vous :ref:`compilez et liez <compiling>` ce "
"programme (appelons l'exécutable :program:`call`), et l'appellez pour "
"programme (appelons l'exécutable :program:`call`), et l'appelez pour "
"exécuter un script Python, tel que :"
#: ../Doc/extending/embedding.rst:160
@ -291,7 +302,7 @@ msgstr ""
"Une fois le script chargé, le nom recherché est obtenu en utilisant :c:func:"
"`PyObject_GetAttrString`. Si le nom existe, et que l'objet récupéré peut "
"être appelé, vous pouvez présumer sans risque que c'est une fonction. Le "
"programme continue, classiquement, par la construction de l'uplet "
"programme continue, classiquement, par la construction de n-uplet "
"d'arguments. L'appel à la fonction Python est alors effectué avec : ::"
#: ../Doc/extending/embedding.rst:198
@ -306,7 +317,7 @@ msgstr ""
#: ../Doc/extending/embedding.rst:206
msgid "Extending Embedded Python"
msgstr "Étendre un Python Intégré"
msgstr "Étendre un Python intégré"
#: ../Doc/extending/embedding.rst:208
msgid ""
@ -336,7 +347,7 @@ msgid ""
msgstr ""
"Insérez le code ci-dessus juste avant la fonction :c:func:`main`. Ajoutez "
"aussi les deux instructions suivantes avant l'appel à :c:func:"
"`Py_Initialize` ::"
"`Py_Initialize` ::"
#: ../Doc/extending/embedding.rst:251
msgid ""
@ -345,7 +356,7 @@ msgid ""
"extensions, the Python script can do things like"
msgstr ""
"Ces deux lignes initialisent la variable ``numarg``, et rend la fonction :"
"func:`emb.numargs` accessible à l'interprète intégré. Avec ces ajouts, le "
"func:`emb.numargs` accessible à l'interpréteur intégré. Avec ces ajouts, le "
"script Python petit maintenant faire des choses comme"
#: ../Doc/extending/embedding.rst:260

File diff suppressed because it is too large Load Diff

View File

@ -7,19 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-08-10 00:58+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2017-11-22 10:45+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \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 1.8.11\n"
"X-Generator: Poedit 2.0.4\n"
#: ../Doc/extending/index.rst:5
msgid "Extending and Embedding the Python Interpreter"
msgstr ""
msgstr "Extension et intégration de l'interpréteur Python"
#: ../Doc/extending/index.rst:7
msgid ""
@ -31,6 +31,15 @@ msgid ""
"extension modules so that they can be loaded dynamically (at run time) into "
"the interpreter, if the underlying operating system supports this feature."
msgstr ""
"Ce document décrit comment écrire des modules en C ou C++ pour étendre "
"l'interpréteur Python à de nouveaux modules. En plus de définir de nouvelles "
"fonctions, ces modules peuvent définir de nouveaux types d'objets ainsi que "
"leur méthodes. Ce document explique aussi comment intégrer l'interpréteur "
"Python dans une autre application, pour être utilisé comme langage "
"d'extension. Enfin, ce document montre comment compiler et lier les modules "
"d'extension pour qu'ils puissent être chargés dynamiquement (à l'exécution) "
"dans l'interpréteur, si le système d'exploitation sous-jacent supporte cette "
"fonctionnalité."
#: ../Doc/extending/index.rst:15
msgid ""
@ -40,60 +49,86 @@ msgid ""
"documents the existing object types, functions and modules (both built-in "
"and written in Python) that give the language its wide application range."
msgstr ""
"Ce document présuppose que vous avez des connaissances de base sur Python. "
"Pour une introduction informelle du langage, voyez :ref:`tutorial-index`. :"
"ref:`reference-index` donne une définition plus formelle du langage. :ref:"
"`library-index` documente les objets types, fonctions et modules existants "
"(tous intégrés et écrits en Python) qui donnent au langage sa large gamme "
"d'applications."
#: ../Doc/extending/index.rst:21
msgid ""
"For a detailed description of the whole Python/C API, see the separate :ref:"
"`c-api-index`."
msgstr ""
"Pour une description dans sa totalité de l'API Python/C, voir :ref:`c-api-"
"index`."
#: ../Doc/extending/index.rst:26
msgid "Recommended third party tools"
msgstr ""
msgstr "Les outils tiers recommandés"
#: ../Doc/extending/index.rst:28
#, fuzzy
msgid ""
"This guide only covers the basic tools for creating extensions provided as "
"part of this version of CPython. Third party tools like Cython, ``cffi``, "
"SWIG and Numba offer both simpler and more sophisticated approaches to "
"creating C and C++ extensions for Python."
"part of this version of CPython. Third party tools like `Cython <http://"
"cython.org/>`_, `cffi <https://cffi.readthedocs.io>`_, `SWIG <http://www."
"swig.org>`_ and `Numba <https://numba.pydata.org/>`_ offer both simpler and "
"more sophisticated approaches to creating C and C++ extensions for Python."
msgstr ""
"Ce guide ne couvre que les outils basiques permettant de créer des "
"extensions fournies dans cette version de CPython. Les outils tiers tels que "
"Cython, ``cffi``, SWIG et Numba offrent des approches plus simples et plus "
"élaborées pour créer des extensions C et C++ pour Python."
#: ../Doc/extending/index.rst:38
#: ../Doc/extending/index.rst:40
msgid ""
"`Python Packaging User Guide: Binary Extensions <https://packaging.python."
"org/en/latest/extensions/>`_"
msgstr ""
"`Python Packaging User Guide: Binary Extensions <https://packaging.python."
"org/en/latest/extensions/>`_"
"`Guide d'utilisation de l'empaquetage Python : Extensions binaires <https://"
"packaging.python.org/en/latest/extensions/>`_"
#: ../Doc/extending/index.rst:36
#: ../Doc/extending/index.rst:38
msgid ""
"The Python Packaging User Guide not only covers several available tools that "
"simplify the creation of binary extensions, but also discusses the various "
"reasons why creating an extension module may be desirable in the first place."
msgstr ""
#: ../Doc/extending/index.rst:43
msgid "Creating extensions without third party tools"
msgstr ""
"Le guide d'utilisation de l'empaquetage Python ne couvre pas uniquement "
"quelques outils disponibles qui simplifient la création d'extensions "
"binaires, mais aborde aussi les différentes raisons pour lesquelles créer un "
"module d'extension peut être souhaitable d'entrée."
#: ../Doc/extending/index.rst:45
msgid "Creating extensions without third party tools"
msgstr "Création d'extensions sans outils tiers"
#: ../Doc/extending/index.rst:47
msgid ""
"This section of the guide covers creating C and C++ extensions without "
"assistance from third party tools. It is intended primarily for creators of "
"those tools, rather than being a recommended way to create your own C "
"extensions."
msgstr ""
"Cette section du guide couvre la création d'extensions C et C++ sans "
"l'utilisation d'outils tiers. Cette section est destinée aux créateurs de "
"ces outils, plus que d'être une méthode recommandée pour créer votre propre "
"extension C."
#: ../Doc/extending/index.rst:60
#: ../Doc/extending/index.rst:63
msgid "Embedding the CPython runtime in a larger application"
msgstr ""
msgstr "Intégrer l'interpréteur CPython dans une plus grande application"
#: ../Doc/extending/index.rst:62
#: ../Doc/extending/index.rst:65
msgid ""
"Sometimes, rather than creating an extension that runs inside the Python "
"interpreter as the main application, it is desirable to instead embed the "
"CPython runtime inside a larger application. This section covers some of the "
"details involved in doing that successfully."
msgstr ""
"Parfois, plutôt que de créer une extension qui s'exécute dans l'interpréteur "
"Python comme application principale, il est préférable d'intégrer "
"l'interpréteur Python dans une application plus large. Cette section donne "
"quelques informations nécessaires au succès de cette opération."

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,862 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2018, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-02 00:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../Doc/extending/newtypes_tutorial.rst:7
msgid "Defining Extension Types: Tutorial"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:14
msgid ""
"Python allows the writer of a C extension module to define new types that "
"can be manipulated from Python code, much like the built-in :class:`str` "
"and :class:`list` types. The code for all extension types follows a "
"pattern, but there are some details that you need to understand before you "
"can get started. This document is a gentle introduction to the topic."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:24
msgid "The Basics"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:26
msgid ""
"The :term:`CPython` runtime sees all Python objects as variables of type :c:"
"type:`PyObject\\*`, which serves as a \"base type\" for all Python objects. "
"The :c:type:`PyObject` structure itself only contains the object's :term:"
"`reference count` and a pointer to the object's \"type object\". This is "
"where the action is; the type object determines which (C) functions get "
"called by the interpreter when, for instance, an attribute gets looked up on "
"an object, a method called, or it is multiplied by another object. These C "
"functions are called \"type methods\"."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:35
msgid ""
"So, if you want to define a new extension type, you need to create a new "
"type object."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:38
msgid ""
"This sort of thing can only be explained by example, so here's a minimal, "
"but complete, module that defines a new type named :class:`Custom` inside a "
"C extension module :mod:`custom`:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:43
msgid ""
"What we're showing here is the traditional way of defining *static* "
"extension types. It should be adequate for most uses. The C API also "
"allows defining heap-allocated extension types using the :c:func:"
"`PyType_FromSpec` function, which isn't covered in this tutorial."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:50
msgid ""
"Now that's quite a bit to take in at once, but hopefully bits will seem "
"familiar from the previous chapter. This file defines three things:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:53
msgid ""
"What a :class:`Custom` **object** contains: this is the ``CustomObject`` "
"struct, which is allocated once for each :class:`Custom` instance."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:55
msgid ""
"How the :class:`Custom` **type** behaves: this is the ``CustomType`` struct, "
"which defines a set of flags and function pointers that the interpreter "
"inspects when specific operations are requested."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:58
msgid ""
"How to initialize the :mod:`custom` module: this is the ``PyInit_custom`` "
"function and the associated ``custommodule`` struct."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:61
msgid "The first bit is::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:67
msgid ""
"This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory "
"at the start of each object struct and defines a field called ``ob_base`` of "
"type :c:type:`PyObject`, containing a pointer to a type object and a "
"reference count (these can be accessed using the macros :c:macro:`Py_REFCNT` "
"and :c:macro:`Py_TYPE` respectively). The reason for the macro is to "
"abstract away the layout and to enable additional fields in debug builds."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:75
msgid ""
"There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be "
"wary of adding one by accident: some compilers will complain."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:78
msgid ""
"Of course, objects generally store additional data besides the standard "
"``PyObject_HEAD`` boilerplate; for example, here is the definition for "
"standard Python floats::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:87
msgid "The second bit is the definition of the type object. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:99
msgid ""
"We recommend using C99-style designated initializers as above, to avoid "
"listing all the :c:type:`PyTypeObject` fields that you don't care about and "
"also to avoid caring about the fields' declaration order."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:103
msgid ""
"The actual definition of :c:type:`PyTypeObject` in :file:`object.h` has many "
"more :ref:`fields <type-structs>` than the definition above. The remaining "
"fields will be filled with zeros by the C compiler, and it's common practice "
"to not specify them explicitly unless you need them."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:108
msgid "We're going to pick it apart, one field at a time::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:112
msgid ""
"This line is mandatory boilerplate to initialize the ``ob_base`` field "
"mentioned above. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:117
msgid ""
"The name of our type. This will appear in the default textual "
"representation of our objects and in some error messages, for example:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:127
msgid ""
"Note that the name is a dotted name that includes both the module name and "
"the name of the type within the module. The module in this case is :mod:"
"`custom` and the type is :class:`Custom`, so we set the type name to :class:"
"`custom.Custom`. Using the real dotted import path is important to make your "
"type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:136
msgid ""
"This is so that Python knows how much memory to allocate when creating new :"
"class:`Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only "
"used for variable-sized objects and should otherwise be zero."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:142
msgid ""
"If you want your type to be subclassable from Python, and your type has the "
"same :c:member:`~PyTypeObject.tp_basicsize` as its base type, you may have "
"problems with multiple inheritance. A Python subclass of your type will "
"have to list your type first in its :attr:`~class.__bases__`, or else it "
"will not be able to call your type's :meth:`__new__` method without getting "
"an error. You can avoid this problem by ensuring that your type has a "
"larger value for :c:member:`~PyTypeObject.tp_basicsize` than its base type "
"does. Most of the time, this will be true anyway, because either your base "
"type will be :class:`object`, or else you will be adding data members to "
"your base type, and therefore increasing its size."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:152
msgid "We set the class flags to :const:`Py_TPFLAGS_DEFAULT`. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:156
msgid ""
"All types should include this constant in their flags. It enables all of "
"the members defined until at least Python 3.3. If you need further members, "
"you will need to OR the corresponding flags."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:160
msgid ""
"We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:164
msgid ""
"To enable object creation, we have to provide a :c:member:`~PyTypeObject."
"tp_new` handler. This is the equivalent of the Python method :meth:"
"`__new__`, but has to be specified explicitly. In this case, we can just "
"use the default implementation provided by the API function :c:func:"
"`PyType_GenericNew`. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:171
msgid ""
"Everything else in the file should be familiar, except for some code in :c:"
"func:`PyInit_custom`::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:177
msgid ""
"This initializes the :class:`Custom` type, filling in a number of members to "
"the appropriate default values, including :attr:`ob_type` that we initially "
"set to *NULL*. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:183
msgid ""
"This adds the type to the module dictionary. This allows us to create :"
"class:`Custom` instances by calling the :class:`Custom` class:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:191
msgid ""
"That's it! All that remains is to build it; put the above code in a file "
"called :file:`custom.c` and:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:200
msgid "in a file called :file:`setup.py`; then typing"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:206
msgid ""
"at a shell should produce a file :file:`custom.so` in a subdirectory; move "
"to that directory and fire up Python --- you should be able to ``import "
"custom`` and play around with Custom objects."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:210
msgid "That wasn't so hard, was it?"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:212
msgid ""
"Of course, the current Custom type is pretty uninteresting. It has no data "
"and doesn't do anything. It can't even be subclassed."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:216
msgid ""
"While this documentation showcases the standard :mod:`distutils` module for "
"building C extensions, it is recommended in real-world use cases to use the "
"newer and better-maintained ``setuptools`` library. Documentation on how to "
"do this is out of scope for this document and can be found in the `Python "
"Packaging User's Guide <https://packaging.python.org/tutorials/distributing-"
"packages/>`_."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:224
msgid "Adding data and methods to the Basic example"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:226
msgid ""
"Let's extend the basic example to add some data and methods. Let's also "
"make the type usable as a base class. We'll create a new module, :mod:"
"`custom2` that adds these capabilities:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:233
msgid "This version of the module has a number of changes."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:235
msgid "We've added an extra include::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:239
msgid ""
"This include provides declarations that we use to handle attributes, as "
"described a bit later."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:242
msgid ""
"The :class:`Custom` type now has three data attributes in its C struct, "
"*first*, *last*, and *number*. The *first* and *last* variables are Python "
"strings containing first and last names. The *number* attribute is a C "
"integer."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:246
msgid "The object structure is updated accordingly::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:255
msgid ""
"Because we now have data to manage, we have to be more careful about object "
"allocation and deallocation. At a minimum, we need a deallocation method::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:266
msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:270
msgid ""
"This method first clears the reference counts of the two Python attributes. :"
"c:func:`Py_XDECREF` correctly handles the case where its argument is *NULL* "
"(which might happen here if ``tp_new`` failed midway). It then calls the :c:"
"member:`~PyTypeObject.tp_free` member of the object's type (computed by "
"``Py_TYPE(self)``) to free the object's memory. Note that the object's type "
"might not be :class:`CustomType`, because the object may be an instance of a "
"subclass."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:279
msgid ""
"The explicit cast to ``destructor`` above is needed because we defined "
"``Custom_dealloc`` to take a ``CustomObject *`` argument, but the "
"``tp_dealloc`` function pointer expects to receive a ``PyObject *`` "
"argument. Otherwise, the compiler will emit a warning. This is object-"
"oriented polymorphism, in C!"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:285
msgid ""
"We want to make sure that the first and last names are initialized to empty "
"strings, so we provide a ``tp_new`` implementation::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:309
msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:313
msgid ""
"The ``tp_new`` handler is responsible for creating (as opposed to "
"initializing) objects of the type. It is exposed in Python as the :meth:"
"`__new__` method. It is not required to define a ``tp_new`` member, and "
"indeed many extension types will simply reuse :c:func:`PyType_GenericNew` as "
"done in the first version of the ``Custom`` type above. In this case, we "
"use the ``tp_new`` handler to initialize the ``first`` and ``last`` "
"attributes to non-*NULL* default values."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:321
msgid ""
"``tp_new`` is passed the type being instantiated (not necessarily "
"``CustomType``, if a subclass is instantiated) and any arguments passed when "
"the type was called, and is expected to return the instance created. "
"``tp_new`` handlers always accept positional and keyword arguments, but they "
"often ignore the arguments, leaving the argument handling to initializer (a."
"k.a. ``tp_init`` in C or ``__init__`` in Python) methods."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:329
msgid ""
"``tp_new`` shouldn't call ``tp_init`` explicitly, as the interpreter will do "
"it itself."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:332
msgid ""
"The ``tp_new`` implementation calls the :c:member:`~PyTypeObject.tp_alloc` "
"slot to allocate memory::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:337
msgid ""
"Since memory allocation may fail, we must check the :c:member:`~PyTypeObject."
"tp_alloc` result against *NULL* before proceeding."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:341
msgid ""
"We didn't fill the :c:member:`~PyTypeObject.tp_alloc` slot ourselves. "
"Rather :c:func:`PyType_Ready` fills it for us by inheriting it from our base "
"class, which is :class:`object` by default. Most types use the default "
"allocation strategy."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:347
msgid ""
"If you are creating a co-operative :c:member:`~PyTypeObject.tp_new` (one "
"that calls a base type's :c:member:`~PyTypeObject.tp_new` or :meth:"
"`__new__`), you must *not* try to determine what method to call using method "
"resolution order at runtime. Always statically determine what type you are "
"going to call, and call its :c:member:`~PyTypeObject.tp_new` directly, or "
"via ``type->tp_base->tp_new``. If you do not do this, Python subclasses of "
"your type that also inherit from other Python-defined classes may not work "
"correctly. (Specifically, you may not be able to create instances of such "
"subclasses without getting a :exc:`TypeError`.)"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:357
msgid ""
"We also define an initialization function which accepts arguments to provide "
"initial values for our instance::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:386
msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:390
msgid ""
"The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as the :meth:"
"`__init__` method. It is used to initialize an object after it's created. "
"Initializers always accept positional and keyword arguments, and they should "
"return either ``0`` on success or ``-1`` on error."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:395
msgid ""
"Unlike the ``tp_new`` handler, there is no guarantee that ``tp_init`` is "
"called at all (for example, the :mod:`pickle` module by default doesn't "
"call :meth:`__init__` on unpickled instances). It can also be called "
"multiple times. Anyone can call the :meth:`__init__` method on our "
"objects. For this reason, we have to be extra careful when assigning the "
"new attribute values. We might be tempted, for example to assign the "
"``first`` member like this::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:409
msgid ""
"But this would be risky. Our type doesn't restrict the type of the "
"``first`` member, so it could be any kind of object. It could have a "
"destructor that causes code to be executed that tries to access the "
"``first`` member; or that destructor could release the :term:`Global "
"interpreter Lock` and let arbitrary code run in other threads that accesses "
"and modifies our object."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:416
msgid ""
"To be paranoid and protect ourselves against this possibility, we almost "
"always reassign members before decrementing their reference counts. When "
"don't we have to do this?"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:420
msgid "when we absolutely know that the reference count is greater than 1;"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:422
msgid ""
"when we know that deallocation of the object [#]_ will neither release the :"
"term:`GIL` nor cause any calls back into our type's code;"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:425
msgid ""
"when decrementing a reference count in a :c:member:`~PyTypeObject."
"tp_dealloc` handler on a type which doesn't support cyclic garbage "
"collection [#]_."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:428
msgid ""
"We want to expose our instance variables as attributes. There are a number "
"of ways to do that. The simplest way is to define member definitions::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:441
msgid ""
"and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:445
msgid ""
"Each member definition has a member name, type, offset, access flags and "
"documentation string. See the :ref:`Generic-Attribute-Management` section "
"below for details."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:449
msgid ""
"A disadvantage of this approach is that it doesn't provide a way to restrict "
"the types of objects that can be assigned to the Python attributes. We "
"expect the first and last names to be strings, but any Python objects can be "
"assigned. Further, the attributes can be deleted, setting the C pointers to "
"*NULL*. Even though we can make sure the members are initialized to non-"
"*NULL* values, the members can be set to *NULL* if the attributes are "
"deleted."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:456
msgid ""
"We define a single method, :meth:`Custom.name()`, that outputs the objects "
"name as the concatenation of the first and last names. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:473
msgid ""
"The method is implemented as a C function that takes a :class:`Custom` (or :"
"class:`Custom` subclass) instance as the first argument. Methods always "
"take an instance as the first argument. Methods often take positional and "
"keyword arguments as well, but in this case we don't take any and don't need "
"to accept a positional argument tuple or keyword argument dictionary. This "
"method is equivalent to the Python method:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:485
msgid ""
"Note that we have to check for the possibility that our :attr:`first` and :"
"attr:`last` members are *NULL*. This is because they can be deleted, in "
"which case they are set to *NULL*. It would be better to prevent deletion "
"of these attributes and to restrict the attribute values to be strings. "
"We'll see how to do that in the next section."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:491
msgid ""
"Now that we've defined the method, we need to create an array of method "
"definitions::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:501
msgid ""
"(note that we used the :const:`METH_NOARGS` flag to indicate that the method "
"is expecting no arguments other than *self*)"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:504
msgid "and assign it to the :c:member:`~PyTypeObject.tp_methods` slot::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:508
msgid ""
"Finally, we'll make our type usable as a base class for subclassing. We've "
"written our methods carefully so far so that they don't make any assumptions "
"about the type of the object being created or used, so all we need to do is "
"to add the :const:`Py_TPFLAGS_BASETYPE` to our class flag definition::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:515
msgid ""
"We rename :c:func:`PyInit_custom` to :c:func:`PyInit_custom2`, update the "
"module name in the :c:type:`PyModuleDef` struct, and update the full class "
"name in the :c:type:`PyTypeObject` struct."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:519
msgid "Finally, we update our :file:`setup.py` file to build the new module:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:532
msgid "Providing finer control over data attributes"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:534
msgid ""
"In this section, we'll provide finer control over how the :attr:`first` and :"
"attr:`last` attributes are set in the :class:`Custom` example. In the "
"previous version of our module, the instance variables :attr:`first` and :"
"attr:`last` could be set to non-string values or even deleted. We want to "
"make sure that these attributes always contain strings."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:543
msgid ""
"To provide greater control, over the :attr:`first` and :attr:`last` "
"attributes, we'll use custom getter and setter functions. Here are the "
"functions for getting and setting the :attr:`first` attribute::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:574
msgid ""
"The getter function is passed a :class:`Custom` object and a \"closure\", "
"which is a void pointer. In this case, the closure is ignored. (The "
"closure supports an advanced usage in which definition data is passed to the "
"getter and setter. This could, for example, be used to allow a single set of "
"getter and setter functions that decide the attribute to get or set based on "
"data in the closure.)"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:580
msgid ""
"The setter function is passed the :class:`Custom` object, the new value, and "
"the closure. The new value may be *NULL*, in which case the attribute is "
"being deleted. In our setter, we raise an error if the attribute is deleted "
"or if its new value is not a string."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:585
msgid "We create an array of :c:type:`PyGetSetDef` structures::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:595
msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:599
msgid ""
"The last item in a :c:type:`PyGetSetDef` structure is the \"closure\" "
"mentioned above. In this case, we aren't using a closure, so we just pass "
"*NULL*."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:602
msgid "We also remove the member definitions for these attributes::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:610
msgid ""
"We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only "
"allow strings [#]_ to be passed::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:639
msgid ""
"With these changes, we can assure that the ``first`` and ``last`` members "
"are never *NULL* so we can remove checks for *NULL* values in almost all "
"cases. This means that most of the :c:func:`Py_XDECREF` calls can be "
"converted to :c:func:`Py_DECREF` calls. The only place we can't change "
"these calls is in the ``tp_dealloc`` implementation, where there is the "
"possibility that the initialization of these members failed in ``tp_new``."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:646
msgid ""
"We also rename the module initialization function and module name in the "
"initialization function, as we did before, and we add an extra definition to "
"the :file:`setup.py` file."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:652
msgid "Supporting cyclic garbage collection"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:654
msgid ""
"Python has a :term:`cyclic garbage collector (GC) <garbage collection>` that "
"can identify unneeded objects even when their reference counts are not zero. "
"This can happen when objects are involved in cycles. For example, consider:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:664
msgid ""
"In this example, we create a list that contains itself. When we delete it, "
"it still has a reference from itself. Its reference count doesn't drop to "
"zero. Fortunately, Python's cyclic garbage collector will eventually figure "
"out that the list is garbage and free it."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:669
msgid ""
"In the second version of the :class:`Custom` example, we allowed any kind of "
"object to be stored in the :attr:`first` or :attr:`last` attributes [#]_. "
"Besides, in the second and third versions, we allowed subclassing :class:"
"`Custom`, and subclasses may add arbitrary attributes. For any of those two "
"reasons, :class:`Custom` objects can participate in cycles:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:683
msgid ""
"To allow a :class:`Custom` instance participating in a reference cycle to be "
"properly detected and collected by the cyclic GC, our :class:`Custom` type "
"needs to fill two additional slots and to enable a flag that enables these "
"slots:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:690
msgid ""
"First, the traversal method lets the cyclic GC know about subobjects that "
"could participate in cycles::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:710
msgid ""
"For each subobject that can participate in cycles, we need to call the :c:"
"func:`visit` function, which is passed to the traversal method. The :c:func:"
"`visit` function takes as arguments the subobject and the extra argument "
"*arg* passed to the traversal method. It returns an integer value that must "
"be returned if it is non-zero."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:716
msgid ""
"Python provides a :c:func:`Py_VISIT` macro that automates calling visit "
"functions. With :c:func:`Py_VISIT`, we can minimize the amount of "
"boilerplate in ``Custom_traverse``::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:729
msgid ""
"The :c:member:`~PyTypeObject.tp_traverse` implementation must name its "
"arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:732
msgid ""
"Second, we need to provide a method for clearing any subobjects that can "
"participate in cycles::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:743
msgid ""
"Notice the use of the :c:func:`Py_CLEAR` macro. It is the recommended and "
"safe way to clear data attributes of arbitrary types while decrementing "
"their reference counts. If you were to call :c:func:`Py_XDECREF` instead on "
"the attribute before setting it to *NULL*, there is a possibility that the "
"attribute's destructor would call back into code that reads the attribute "
"again (*especially* if there is a reference cycle)."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:751
msgid "You could emulate :c:func:`Py_CLEAR` by writing::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:758
msgid ""
"Nevertheless, it is much easier and less error-prone to always use :c:func:"
"`Py_CLEAR` when deleting an attribute. Don't try to micro-optimize at the "
"expense of robustness!"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:762
msgid ""
"The deallocator ``Custom_dealloc`` may call arbitrary code when clearing "
"attributes. It means the circular GC can be triggered inside the function. "
"Since the GC assumes reference count is not zero, we need to untrack the "
"object from the GC by calling :c:func:`PyObject_GC_UnTrack` before clearing "
"members. Here is our reimplemented deallocator using :c:func:"
"`PyObject_GC_UnTrack` and ``Custom_clear``::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:777
msgid ""
"Finally, we add the :const:`Py_TPFLAGS_HAVE_GC` flag to the class flags::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:781
msgid ""
"That's pretty much it. If we had written custom :c:member:`~PyTypeObject."
"tp_alloc` or :c:member:`~PyTypeObject.tp_free` handlers, we'd need to modify "
"them for cyclic garbage collection. Most extensions will use the versions "
"automatically provided."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:787
msgid "Subclassing other types"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:789
msgid ""
"It is possible to create new extension types that are derived from existing "
"types. It is easiest to inherit from the built in types, since an extension "
"can easily use the :c:type:`PyTypeObject` it needs. It can be difficult to "
"share these :c:type:`PyTypeObject` structures between extension modules."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:794
msgid ""
"In this example we will create a :class:`SubList` type that inherits from "
"the built-in :class:`list` type. The new type will be completely compatible "
"with regular lists, but will have an additional :meth:`increment` method "
"that increases an internal counter:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:814
msgid ""
"As you can see, the source code closely resembles the :class:`Custom` "
"examples in previous sections. We will break down the main differences "
"between them. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:822
msgid ""
"The primary difference for derived type objects is that the base type's "
"object structure must be the first value. The base type will already "
"include the :c:func:`PyObject_HEAD` at the beginning of its structure."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:826
msgid ""
"When a Python object is a :class:`SubList` instance, its ``PyObject *`` "
"pointer can be safely cast to both ``PyListObject *`` and ``SubListObject "
"*``::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:838
msgid ""
"We see above how to call through to the :attr:`__init__` method of the base "
"type."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:841
msgid ""
"This pattern is important when writing a type with custom :c:member:"
"`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_dealloc` members. "
"The :c:member:`~PyTypeObject.tp_new` handler should not actually create the "
"memory for the object with its :c:member:`~PyTypeObject.tp_alloc`, but let "
"the base class handle it by calling its own :c:member:`~PyTypeObject.tp_new`."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:847
msgid ""
"The :c:type:`PyTypeObject` struct supports a :c:member:`~PyTypeObject."
"tp_base` specifying the type's concrete base class. Due to cross-platform "
"compiler issues, you can't fill that field directly with a reference to :c:"
"type:`PyList_Type`; it should be done later in the module initialization "
"function::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:870
msgid ""
"Before calling :c:func:`PyType_Ready`, the type structure must have the :c:"
"member:`~PyTypeObject.tp_base` slot filled in. When we are deriving an "
"existing type, it is not necessary to fill out the :c:member:`~PyTypeObject."
"tp_alloc` slot with :c:func:`PyType_GenericNew` -- the allocation function "
"from the base type will be inherited."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:876
msgid ""
"After that, calling :c:func:`PyType_Ready` and adding the type object to the "
"module is the same as with the basic :class:`Custom` examples."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:881
msgid "Footnotes"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:882
msgid ""
"This is true when we know that the object is a basic type, like a string or "
"a float."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:885
msgid ""
"We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in "
"this example, because our type doesn't support garbage collection."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:888
msgid ""
"We now know that the first and last members are strings, so perhaps we could "
"be less careful about decrementing their reference counts, however, we "
"accept instances of string subclasses. Even though deallocating normal "
"strings won't call back into our objects, we can't guarantee that "
"deallocating an instance of a string subclass won't call back into our "
"objects."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:894
msgid ""
"Also, even with our attributes restricted to strings instances, the user "
"could pass arbitrary :class:`str` subclasses and therefore still create "
"reference cycles."
msgstr ""

View File

@ -3,14 +3,13 @@
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2017-12-01 08:56+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +18,7 @@ msgstr ""
#: ../Doc/extending/windows.rst:8
msgid "Building C and C++ Extensions on Windows"
msgstr ""
msgstr "Construire des extensions C et C++ sur Windows"
#: ../Doc/extending/windows.rst:10
msgid ""
@ -30,6 +29,12 @@ msgid ""
"programmer interested in producing software which can be successfully built "
"on both Unix and Windows."
msgstr ""
"Cette page explique rapidement comment créer un module d'extension Windows "
"pour Python en utilisant Microsoft Visual C++, et donne plus d'informations "
"contextuelles sur son fonctionnement. Le texte explicatif est utile tant "
"pour le développeur Windows qui apprend à construire des extensions Python "
"que pour le développeur Unix souhaitant produire des logiciels pouvant être "
"construits sur Unix et Windows."
#: ../Doc/extending/windows.rst:17
msgid ""
@ -38,6 +43,10 @@ msgid ""
"still need the C compiler that was used to build Python; typically Microsoft "
"Visual C++."
msgstr ""
"Les auteurs de modules sont invités à utiliser l'approche *distutils* pour "
"construire des modules d'extension, au lieu de celle décrite dans cette "
"section. Vous aurez toujours besoin du compilateur C utilisé pour construire "
"Python ; typiquement Microsoft Visual C++."
#: ../Doc/extending/windows.rst:24
msgid ""
@ -48,10 +57,16 @@ msgid ""
"working with. For example, if you are using Python 2.2.1, ``XY`` will "
"actually be ``22``."
msgstr ""
"Cette page mentionne plusieurs noms de fichiers comprenant un numéro de "
"version Python encodé. Ces noms de fichiers sont construits sous le format "
"de version ``XY`` ; en pratique, ``'X'`` représente le numéro de version "
"majeure et ``'Y'`` représente le numéro de version mineure de la version "
"Python avec laquelle vous travaillez. Par exemple, si vous utilisez Python "
"2.2.1, ``XY`` correspond à ``22``."
#: ../Doc/extending/windows.rst:34
msgid "A Cookbook Approach"
msgstr ""
msgstr "Une approche \"recette de cuisine\""
#: ../Doc/extending/windows.rst:36
msgid ""
@ -64,10 +79,20 @@ msgid ""
"project file for the :source:`winsound <PCbuild/winsound.vcxproj>` standard "
"library module."
msgstr ""
"Il y a deux approches lorsque l'on construit des modules d'extension sur "
"Windows, tout comme sur Unix : utiliser le paquet :mod:`distutils` pour "
"contrôler le processus de construction, ou faire les choses manuellement. "
"L'approche distutils fonctionne bien pour la plupart des extensions ; la "
"documentation pour utiliser :mod:`distutils` pour construire et empaqueter "
"les modules d'extension est disponible dans :ref:`distutils-index`. Si vous "
"considerez que vous avez réellement besoin de faire les choses manuellement, "
"il pourrait être enrichissant d'étudier le fichier de projet :source:"
"`winsound <PCbuild/winsound.vcxproj>` pour le module de la bibliothèque "
"standard."
#: ../Doc/extending/windows.rst:48
msgid "Differences Between Unix and Windows"
msgstr ""
msgstr "Différences entre Unix et Windows"
#: ../Doc/extending/windows.rst:53
msgid ""
@ -75,6 +100,10 @@ msgid ""
"code. Before you try to build a module that can be dynamically loaded, be "
"aware of how your system works."
msgstr ""
"Unix et Windows utilisent des paradigmes complètement différents pour le "
"chargement du code pendant l'exécution. Avant d'essayer de construire un "
"module qui puisse être chargé dynamiquement, soyez conscient du mode de "
"fonctionnement du système."
#: ../Doc/extending/windows.rst:57
msgid ""
@ -85,6 +114,13 @@ msgid ""
"actual locations in the program where the functions and data are placed in "
"memory. This is basically a link operation."
msgstr ""
"Sur Unix, un fichier objet partagé (:file:`.so`) contient du code servant au "
"programme, ainsi que les noms des fonctions et les données que l'on "
"s'attend à trouver dans le programme. Quand le fichier est attaché au "
"programme, toutes les réferences à ces fonctions et données dans le code du "
"fichier sont modifiées pour pointer vers les localisations actuelles dans le "
"programme où sont désormais placées les fonctions et données dans la "
"mémoire. C'est tout simplement une opération de liaison."
#: ../Doc/extending/windows.rst:64
msgid ""
@ -95,6 +131,13 @@ msgid ""
"and the lookup table is modified at runtime to point to the functions and "
"data."
msgstr ""
"Sur Windows, un fichier bibliothèque de liens dynamiques (:file:`.dll`) n'a "
"pas de références paresseuses. A la place, un accès aux fonctions ou données "
"passe par une table de conversion. Cela est fait pour que le code DLL ne "
"doive pas être réarrangé à l'exécution pour renvoyer à la mémoire du "
"programme ; à la place, le code utilise déjà la table de conversion DLL, et "
"cette table est modifiée à l'exécution pour pointer vers les fonctions et "
"données."
#: ../Doc/extending/windows.rst:70
msgid ""
@ -105,6 +148,12 @@ msgid ""
"files in the libraries; if it finds it, it will include all the code from "
"that object file."
msgstr ""
"Sur Unix, il n'y a qu'un type de bibliothèque de fichier (:file:`.a`) qui "
"contient du code venant de plusieurs fichiers objets (:file:`.o`). Durant "
"l'étape de liaison pour créer un fichier objet partagé (:file:`.so`), le "
"lieur peut informer qu'il ne sait pas où un identificateur est défini. Le "
"lieur le cherchera dans les fichiers objet dans les bibliothèques ; s'il le "
"trouve, il incluera tout le code provenant de ce fichier objet."
#: ../Doc/extending/windows.rst:76
msgid ""
@ -119,6 +168,18 @@ msgid ""
"will need to be used for all future DLLs that depend on the symbols in the "
"application or DLL."
msgstr ""
"Sur Windows, il y a deux types de bibliothèques, une bibliothèque statique "
"et une bibliothèque d'import (toutes deux appelées :file:`.lib`). Une "
"bibliothèque statique est comme un fichier Unix :file:`.a` ; elle contient "
"du code pouvant être inclus si nécessaire. Une bibliothèque d'import est "
"uniquement utilisée pour rassurer le lieur qu'un certain identificateur est "
"légal, et sera présent dans le programme quand la DLL est chargé. Comme ça "
"le lieur utilise les informations provenant de la bibliothèque d'import pour "
"construire la table de conversion pour utiliser les identificateurs qui ne "
"sont pas inclus dans la DLL. Quand une application ou une DLL est lié, une "
"bibliothèque d'import peut être générée, qui devra être utilisée pour tous "
"les futures DLL dépendantes aux symboles provenant de l'application ou de la "
"DLL."
#: ../Doc/extending/windows.rst:86
msgid ""
@ -130,6 +191,14 @@ msgid ""
"`A.lib` to the linker for B and C. :file:`A.lib` does not contain code; it "
"just contains information which will be used at runtime to access A's code."
msgstr ""
"Supposons que vous construisez deux modules de chargement dynamiques, B et "
"C, qui ne devraient pas partager un autre bloc de code avec A. Sur Unix, "
"vous ne transmettrez pas :file:`A.a` au lieur pour :file:`B.so` et :file:`C."
"so` ; cela le ferait être inclus deux fois, pour que B et C aient chacuns "
"leur propre copie. Sur Windows, construire :file:`A.dll` construira aussi :"
"file:`A.lib`. Vous transmettez :file:`A.lib` au lieur pour B et C. :file:`A."
"lib` ne contient pas de code ; il contient uniquement des informations qui "
"seront utilisées lors de l'exécution pour accéder au code de A."
#: ../Doc/extending/windows.rst:94
msgid ""
@ -138,10 +207,14 @@ msgid ""
"On Unix, linking with a library is more like ``from spam import *``; it does "
"create a separate copy."
msgstr ""
"Sur Windows, utiliser une bibliothèque d'import est comme utiliser ``import "
"spam``; cela vous donne accès aux noms des spams, mais ne crée par de copie "
"séparée. Sur Unix, se lier à une bibliothèque est plus comme ``from spam "
"import *`` ; cela créé une copie séparée."
#: ../Doc/extending/windows.rst:103
msgid "Using DLLs in Practice"
msgstr ""
msgstr "Utiliser les DLL en pratique"
#: ../Doc/extending/windows.rst:108
msgid ""
@ -149,6 +222,9 @@ msgid ""
"or may not work (though Borland seems to). The rest of this section is MSVC+"
"+ specific."
msgstr ""
"Le Python de Windows est construit en Microsoft Visual C++ ; utiliser "
"d'autres compilateurs pourrait fonctionner, ou pas (cependant Borland a "
"l'air de fonctionner). Le reste de cette section est spécifique à MSVC++."
#: ../Doc/extending/windows.rst:112
msgid ""
@ -156,6 +232,9 @@ msgid ""
"linker. To build two DLLs, spam and ni (which uses C functions found in "
"spam), you could use these commands::"
msgstr ""
"Lorsque vous créez des DLL sur Windows, vous devez transmettre :file:"
"`pythonXY.lib` au lieur. Pour construire deux DLL, spam et ni (qui utilisent "
"des fonctions C trouvées dans spam), vous pouvez utiliser ces commandes ::"
#: ../Doc/extending/windows.rst:119
msgid ""
@ -164,6 +243,10 @@ msgid ""
"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find "
"the Python code thanks to :file:`pythonXY.lib`."
msgstr ""
"La première commande a créé trois fichiers : :file:`spam.obj`, :file:`spam."
"dll` et :file:`spam.lib`. :file:`Spam.dll` ne contient pas de fonctions "
"Python (telles que :c:func:`PyArg_ParseTuple`), mais il sait comment trouver "
"le code Python grâce à :file:`pythonXY.lib`."
#: ../Doc/extending/windows.rst:124
msgid ""
@ -171,6 +254,9 @@ msgid ""
"lib`), which knows how to find the necessary functions from spam, and also "
"from the Python executable."
msgstr ""
"La seconde commande a créé :file:`ni.dll` (et :file:`.obj` et :file:`.lib`), "
"qui sait comment trouver les fonctions nécessaires dans spam, ainsi qu'à "
"partir de l'exécutable Python."
#: ../Doc/extending/windows.rst:128
msgid ""
@ -179,6 +265,11 @@ msgid ""
"say ``_declspec(dllexport)``, as in ``void _declspec(dllexport) "
"initspam(void)`` or ``PyObject _declspec(dllexport) *NiGetSpamData(void)``."
msgstr ""
"Chaque identificateur n'est pas exporté vers la table de conversion. Si vous "
"voulez que tout autre module (y compris Python) soit capable de voir vos "
"identificateurs, vous devez préciser ``_declspec(dllexport)``, comme dans "
"``void _declspec(dllexport) initspam(void)`` ou ``PyObject "
"_declspec(dllexport) *NiGetSpamData(void)``."
#: ../Doc/extending/windows.rst:133
msgid ""
@ -187,3 +278,8 @@ msgid ""
"the Project Settings dialog, Link tab, to specify *ignore default "
"libraries*. Add the correct :file:`msvcrtxx.lib` to the list of libraries."
msgstr ""
"Developer Studio apportera beaucoup de bibliothèques d'import dont vous "
"n'avez pas vraiment besoin, augmentant d'environ 100K votre exécutable. Pour "
"s'en débarasser, allez dans les Paramètres du Projet, onglet Lien, pour "
"préciser *ignorer les bibliothèques par défaut*. Et la :file:`msvcrtxx.lib` "
"correcte à la liste des bibliothèques."

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-09-22 10:35+0200\n"
"PO-Revision-Date: 2018-02-15 00:36+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/faq/design.rst:3
msgid "Design and History FAQ"
msgstr "FAQ Histoire et Design"
msgstr "FAQ histoire et design"
#: ../Doc/faq/design.rst:6
msgid "Why does Python use indentation for grouping of statements?"
@ -370,7 +370,7 @@ msgid ""
"generally less robust than the \"while True\" solution::"
msgstr ""
"Il y a une manière alternative de faire ça qui semble attrayante mais elle "
"est généralement moins robuste que la solution ``while True`` ::"
"est généralement moins robuste que la solution ``while True`` ::"
#: ../Doc/faq/design.rst:196
msgid ""
@ -537,7 +537,7 @@ msgstr ""
"Un bloc try/except est extrêmement efficient tant qu'aucune exception ne "
"sont levée. En effet, intercepter une exception s'avère coûteux. Dans les "
"versions de précédant Python 2.0, il était courant d'utiliser cette "
"pratique::"
"pratique ::"
#: ../Doc/faq/design.rst:286
msgid ""
@ -612,8 +612,8 @@ msgid ""
"Can't you emulate threads in the interpreter instead of relying on an OS-"
"specific thread implementation?"
msgstr ""
"Est-il possible d'émuler des *threads* dans l'interpréteur plutôt que se "
"baser sur les implémentations spécifique aux OS ?"
"Est-il possible d'émuler des fils d'exécution dans l'interpréteur plutôt que "
"se baser sur les implémentations spécifique aux OS ?"
#: ../Doc/faq/design.rst:341
msgid ""
@ -625,8 +625,8 @@ msgstr ""
"Réponse 1: Malheureusement, l'interpréteur pousse au moins un block de pile "
"C (*stack frame*) pour chaque bloc de pile de Python. Aussi, les extensions "
"peuvent rappeler dans Python à presque n'importe quel moment. Par "
"conséquent, une implémentation complète des *thread* nécessiterai un support "
"complet en C."
"conséquent, une implémentation complète des fils d'exécution nécessiterai un "
"support complet en C."
#: ../Doc/faq/design.rst:346
msgid ""
@ -733,7 +733,7 @@ msgid ""
msgstr ""
"Dans certaines implémentations de Python, le code suivant (qui marche "
"parfaitement avec *CPython*) aurait probablement manqué de descripteurs de "
"fichiers::"
"fichiers ::"
#: ../Doc/faq/design.rst:400
msgid ""
@ -757,7 +757,7 @@ msgstr ""
"Si vous souhaitez écrire du code qui fonctionne avec n'importe quelle "
"implémentation de Python, vous devez explicitement fermer le fichier ou "
"utiliser l'instruction :keyword:`with` ; ceci fonctionnera indépendamment du "
"système de gestion de la mémoire::"
"système de gestion de la mémoire ::"
#: ../Doc/faq/design.rst:415
msgid "Why doesn't CPython use a more traditional garbage collection scheme?"
@ -876,7 +876,7 @@ msgid ""
msgstr ""
"Les *tuples* sont immuables, ce qui signifie que lorsqu'un *tuple* a été "
"créé, vous ne pouvez remplacer aucun de ses éléments par une nouvelle "
"valeur. Les listes sont mutables, ce qui signifie que vous pouvez toujours "
"valeur. Les listes sont muables, ce qui signifie que vous pouvez toujours "
"modifier les éléments d'une liste. Seuls des éléments immuables peuvent être "
"utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul "
"des *tuples* peuvent être utilisés comme clés."
@ -984,7 +984,7 @@ msgid ""
msgstr ""
"L'implémentation de la table de hachage des dictionnaires utilise une valeur "
"de hachage calculée à partir de la valeur de la clé pour trouver la clé elle-"
"même. Si la clé était un objet mutable, sa valeur peut changer, et donc son "
"même. Si la clé était un objet muable, sa valeur peut changer, et donc son "
"hachage pourrait également changer. Mais toute personne modifiant l'objet "
"clé ne peut pas dire qu'elle a été utilisée comme une clé de dictionnaire. "
"Il ne peut déplacer l'entrée dans le dictionnaire. Ainsi, lorsque vous "
@ -1016,7 +1016,7 @@ msgid ""
msgstr ""
"Les listes de hachage par leur adresse (*ID* de l'objet). Cela ne "
"fonctionne pas parce que si vous créez une nouvelle liste avec la même "
"valeur, elle ne sera pas retrouvée; par exemple.::"
"valeur, elle ne sera pas retrouvée; par exemple ::"
#: ../Doc/faq/design.rst:529
msgid ""
@ -1036,7 +1036,7 @@ msgid ""
"copying code would run into an infinite loop."
msgstr ""
"Faire une copie lors de l'utilisation d'une liste en tant que clé. Cela ne "
"fonctionne pas puisque la liste, étant un objet mutable, pourrait contenir "
"fonctionne pas puisque la liste, étant un objet muable, pourrait contenir "
"une référence à elle-même ou avoir une boucle infinie au niveau du code "
"copié."
@ -1190,7 +1190,7 @@ msgstr ""
"structuré\" qui fonctionne même avec les appels de fonctions. Beaucoup de "
"personnes estiment que les exceptions peuvent émuler idéalement tout "
"utilisation raisonnable des constructions \"go\" ou \"goto\" en C, en "
"Fortran ou autres langages de programmation. Par exemple::"
"Fortran ou autres langages de programmation. Par exemple ::"
#: ../Doc/faq/design.rst:665
msgid ""
@ -1247,7 +1247,7 @@ msgid ""
msgstr ""
"Python a une instruction \"with\" qui encapsule l'exécution d'un bloc, en "
"appelant le code sur l'entrée et la sortie du bloc. Certains langages "
"possèdent une construction qui ressemble à ceci::"
"possèdent une construction qui ressemble à ceci ::"
#: ../Doc/faq/design.rst:706
msgid "In Python, such a construct would be ambiguous."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: 2018-02-15 00:37+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/faq/extending.rst:3
msgid "Extending/Embedding FAQ"
msgstr "FAQ Extension/Intégration"
msgstr "FAQ extension/intégration"
#: ../Doc/faq/extending.rst:16
msgid "Can I create my own functions in C?"
@ -81,8 +81,8 @@ msgid ""
"and functions with a tool such as `SWIG <http://www.swig.org>`_. `SIP "
"<https://riverbankcomputing.com/software/sip/intro>`__, `CXX <http://cxx."
"sourceforge.net/>`_ `Boost <http://www.boost.org/libs/python/doc/index."
"html>`_, or `Weave <https://scipy.github.io/devdocs/tutorial/weave.html>`_ "
"are also alternatives for wrapping C++ libraries."
"html>`_, or `Weave <https://github.com/scipy/weave>`_ are also alternatives "
"for wrapping C++ libraries."
msgstr ""
#: ../Doc/faq/extending.rst:61
@ -93,8 +93,8 @@ msgstr ""
msgid ""
"The highest-level function to do this is :c:func:`PyRun_SimpleString` which "
"takes a single string argument to be executed in the context of the module "
"``__main__`` and returns 0 for success and -1 when an exception occurred "
"(including ``SyntaxError``). If you want more control, use :c:func:"
"``__main__`` and returns ``0`` for success and ``-1`` when an exception "
"occurred (including ``SyntaxError``). If you want more control, use :c:func:"
"`PyRun_String`; see the source for :c:func:`PyRun_SimpleString` in ``Python/"
"pythonrun.c``."
msgstr ""

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-12 13:37+0200\n"
"PO-Revision-Date: 2017-09-12 13:41+0200\n"
"PO-Revision-Date: 2018-02-15 00:37+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -19,11 +19,11 @@ msgstr ""
#: ../Doc/faq/general.rst:5
msgid "General Python FAQ"
msgstr "FAQ Générale sur Python"
msgstr "FAQ générale sur Python"
#: ../Doc/faq/general.rst:13
msgid "General Information"
msgstr "Informations Générales"
msgstr "Informations générales"
#: ../Doc/faq/general.rst:16
msgid "What is Python?"
@ -900,7 +900,7 @@ msgstr ""
"une fenêtre avec l'interpréteur en fonctionnement pendant qu'ils rentrent la "
"source de leur programme dans une autre fenêtre. S'ils ne peuvent pas se "
"souvenir des méthodes pour une listen, ils peuvent faire quelque chose comme "
"ça :"
"ça ::"
#: ../Doc/faq/general.rst:441
msgid ""

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2018-02-15 00:37+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/faq/gui.rst:5
msgid "Graphic User Interface FAQ"
msgstr "FAQ Interface Graphique"
msgstr "FAQ interface graphique"
#: ../Doc/faq/gui.rst:15
msgid "General GUI Questions"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-15 00:37+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/faq/library.rst:5
msgid "Library and Extension FAQ"
msgstr "Bibliothèque et Extension FAQ"
msgstr "FAQ sur la bibliothèque et les extension"
#: ../Doc/faq/library.rst:12
msgid "General Library Questions"
@ -127,20 +127,20 @@ msgstr ""
msgid ""
"Occasionally, a user's environment is so full that the :program:`/usr/bin/"
"env` program fails; or there's no env program at all. In that case, you can "
"try the following hack (due to Alex Rezinsky)::"
"try the following hack (due to Alex Rezinsky):"
msgstr ""
#: ../Doc/faq/library.rst:84
#: ../Doc/faq/library.rst:86
msgid ""
"The minor disadvantage is that this defines the script's __doc__ string. "
"However, you can fix that by adding ::"
msgstr ""
#: ../Doc/faq/library.rst:92
#: ../Doc/faq/library.rst:94
msgid "Is there a curses/termcap package for Python?"
msgstr ""
#: ../Doc/faq/library.rst:96
#: ../Doc/faq/library.rst:98
msgid ""
"For Unix variants: The standard Python source distribution comes with a "
"curses module in the :source:`Modules` subdirectory, though it's not "
@ -148,7 +148,7 @@ msgid ""
"distribution -- there is no curses module for Windows.)"
msgstr ""
#: ../Doc/faq/library.rst:101
#: ../Doc/faq/library.rst:103
msgid ""
"The :mod:`curses` module supports basic curses features as well as many "
"additional functions from ncurses and SYSV curses such as colour, "
@ -158,58 +158,58 @@ msgid ""
"category."
msgstr ""
#: ../Doc/faq/library.rst:107
#: ../Doc/faq/library.rst:109
msgid ""
"For Windows: use `the consolelib module <http://effbot.org/zone/console-"
"index.htm>`_."
msgstr ""
#: ../Doc/faq/library.rst:112
#: ../Doc/faq/library.rst:114
msgid "Is there an equivalent to C's onexit() in Python?"
msgstr ""
#: ../Doc/faq/library.rst:114
#: ../Doc/faq/library.rst:116
msgid ""
"The :mod:`atexit` module provides a register function that is similar to "
"C's :c:func:`onexit`."
msgstr ""
#: ../Doc/faq/library.rst:119
#: ../Doc/faq/library.rst:121
msgid "Why don't my signal handlers work?"
msgstr ""
#: ../Doc/faq/library.rst:121
#: ../Doc/faq/library.rst:123
msgid ""
"The most common problem is that the signal handler is declared with the "
"wrong argument list. It is called as ::"
msgstr ""
#: ../Doc/faq/library.rst:126
#: ../Doc/faq/library.rst:128
msgid "so it should be declared with two arguments::"
msgstr ""
#: ../Doc/faq/library.rst:133
#: ../Doc/faq/library.rst:135
msgid "Common tasks"
msgstr ""
#: ../Doc/faq/library.rst:136
#: ../Doc/faq/library.rst:138
msgid "How do I test a Python program or component?"
msgstr ""
#: ../Doc/faq/library.rst:138
#: ../Doc/faq/library.rst:140
msgid ""
"Python comes with two testing frameworks. The :mod:`doctest` module finds "
"examples in the docstrings for a module and runs them, comparing the output "
"with the expected output given in the docstring."
msgstr ""
#: ../Doc/faq/library.rst:142
#: ../Doc/faq/library.rst:144
msgid ""
"The :mod:`unittest` module is a fancier testing framework modelled on Java "
"and Smalltalk testing frameworks."
msgstr ""
#: ../Doc/faq/library.rst:145
#: ../Doc/faq/library.rst:147
msgid ""
"To make testing easier, you should use good modular design in your program. "
"Your program should have almost all functionality encapsulated in either "
@ -220,15 +220,15 @@ msgid ""
"more difficult to do."
msgstr ""
#: ../Doc/faq/library.rst:153
#: ../Doc/faq/library.rst:155
msgid "The \"global main logic\" of your program may be as simple as ::"
msgstr ""
#: ../Doc/faq/library.rst:158
#: ../Doc/faq/library.rst:160
msgid "at the bottom of the main module of your program."
msgstr ""
#: ../Doc/faq/library.rst:160
#: ../Doc/faq/library.rst:162
msgid ""
"Once your program is organized as a tractable collection of functions and "
"class behaviours you should write test functions that exercise the "
@ -240,24 +240,24 @@ msgid ""
"design flaws earlier."
msgstr ""
#: ../Doc/faq/library.rst:168
#: ../Doc/faq/library.rst:170
msgid ""
"\"Support modules\" that are not intended to be the main module of a program "
"may include a self-test of the module. ::"
msgstr ""
#: ../Doc/faq/library.rst:174
#: ../Doc/faq/library.rst:176
msgid ""
"Even programs that interact with complex external interfaces may be tested "
"when the external interfaces are unavailable by using \"fake\" interfaces "
"implemented in Python."
msgstr ""
#: ../Doc/faq/library.rst:180
#: ../Doc/faq/library.rst:182
msgid "How do I create documentation from doc strings?"
msgstr ""
#: ../Doc/faq/library.rst:182
#: ../Doc/faq/library.rst:184
msgid ""
"The :mod:`pydoc` module can create HTML from the doc strings in your Python "
"source code. An alternative for creating API documentation purely from "
@ -265,65 +265,65 @@ msgid ""
"sphinx-doc.org>`_ can also include docstring content."
msgstr ""
#: ../Doc/faq/library.rst:189
#: ../Doc/faq/library.rst:191
msgid "How do I get a single keypress at a time?"
msgstr ""
#: ../Doc/faq/library.rst:191
#: ../Doc/faq/library.rst:193
msgid ""
"For Unix variants there are several solutions. It's straightforward to do "
"this using curses, but curses is a fairly large module to learn."
msgstr ""
#: ../Doc/faq/library.rst:235
#: ../Doc/faq/library.rst:237
msgid "Threads"
msgstr ""
#: ../Doc/faq/library.rst:238
#: ../Doc/faq/library.rst:240
msgid "How do I program using threads?"
msgstr ""
#: ../Doc/faq/library.rst:240
#: ../Doc/faq/library.rst:242
msgid ""
"Be sure to use the :mod:`threading` module and not the :mod:`_thread` "
"module. The :mod:`threading` module builds convenient abstractions on top of "
"the low-level primitives provided by the :mod:`_thread` module."
msgstr ""
#: ../Doc/faq/library.rst:244
#: ../Doc/faq/library.rst:246
msgid ""
"Aahz has a set of slides from his threading tutorial that are helpful; see "
"http://www.pythoncraft.com/OSCON2001/."
msgstr ""
#: ../Doc/faq/library.rst:249
#: ../Doc/faq/library.rst:251
msgid "None of my threads seem to run: why?"
msgstr ""
#: ../Doc/faq/library.rst:251
#: ../Doc/faq/library.rst:253
msgid ""
"As soon as the main thread exits, all threads are killed. Your main thread "
"is running too quickly, giving the threads no time to do any work."
msgstr ""
#: ../Doc/faq/library.rst:254
#: ../Doc/faq/library.rst:256
msgid ""
"A simple fix is to add a sleep to the end of the program that's long enough "
"for all the threads to finish::"
msgstr ""
#: ../Doc/faq/library.rst:269
#: ../Doc/faq/library.rst:271
msgid ""
"But now (on many platforms) the threads don't run in parallel, but appear to "
"run sequentially, one at a time! The reason is that the OS thread scheduler "
"doesn't start a new thread until the previous thread is blocked."
msgstr ""
#: ../Doc/faq/library.rst:273
#: ../Doc/faq/library.rst:275
msgid "A simple fix is to add a tiny sleep to the start of the run function::"
msgstr ""
#: ../Doc/faq/library.rst:286
#: ../Doc/faq/library.rst:288
msgid ""
"Instead of trying to guess a good delay value for :func:`time.sleep`, it's "
"better to use some kind of semaphore mechanism. One idea is to use the :mod:"
@ -332,17 +332,17 @@ msgid ""
"the queue as there are threads."
msgstr ""
#: ../Doc/faq/library.rst:294
#: ../Doc/faq/library.rst:296
msgid "How do I parcel out work among a bunch of worker threads?"
msgstr ""
#: ../Doc/faq/library.rst:296
#: ../Doc/faq/library.rst:298
msgid ""
"The easiest way is to use the new :mod:`concurrent.futures` module, "
"especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class."
msgstr ""
#: ../Doc/faq/library.rst:299
#: ../Doc/faq/library.rst:301
msgid ""
"Or, if you want fine control over the dispatching algorithm, you can write "
"your own logic manually. Use the :mod:`queue` module to create a queue "
@ -352,25 +352,25 @@ msgid ""
"necessary to ensure that each job is handed out exactly once."
msgstr ""
#: ../Doc/faq/library.rst:306
#: ../Doc/faq/library.rst:308
msgid "Here's a trivial example::"
msgstr ""
#: ../Doc/faq/library.rst:344
#: ../Doc/faq/library.rst:346
msgid "When run, this will produce the following output:"
msgstr ""
#: ../Doc/faq/library.rst:362
#: ../Doc/faq/library.rst:364
msgid ""
"Consult the module's documentation for more details; the :class:`~queue."
"Queue` class provides a featureful interface."
msgstr ""
#: ../Doc/faq/library.rst:367
#: ../Doc/faq/library.rst:369
msgid "What kinds of global value mutation are thread-safe?"
msgstr ""
#: ../Doc/faq/library.rst:369
#: ../Doc/faq/library.rst:371
msgid ""
"A :term:`global interpreter lock` (GIL) is used internally to ensure that "
"only one thread runs in the Python VM at a time. In general, Python offers "
@ -380,7 +380,7 @@ msgid ""
"instruction is therefore atomic from the point of view of a Python program."
msgstr ""
#: ../Doc/faq/library.rst:376
#: ../Doc/faq/library.rst:378
msgid ""
"In theory, this means an exact accounting requires an exact understanding of "
"the PVM bytecode implementation. In practice, it means that operations on "
@ -388,17 +388,17 @@ msgid ""
"\"look atomic\" really are."
msgstr ""
#: ../Doc/faq/library.rst:381
#: ../Doc/faq/library.rst:383
msgid ""
"For example, the following operations are all atomic (L, L1, L2 are lists, "
"D, D1, D2 are dicts, x, y are objects, i, j are ints)::"
msgstr ""
#: ../Doc/faq/library.rst:396
#: ../Doc/faq/library.rst:398
msgid "These aren't::"
msgstr ""
#: ../Doc/faq/library.rst:403
#: ../Doc/faq/library.rst:405
msgid ""
"Operations that replace other objects may invoke those other objects' :meth:"
"`__del__` method when their reference count reaches zero, and that can "
@ -406,11 +406,11 @@ msgid ""
"and lists. When in doubt, use a mutex!"
msgstr ""
#: ../Doc/faq/library.rst:410
#: ../Doc/faq/library.rst:412
msgid "Can't we get rid of the Global Interpreter Lock?"
msgstr ""
#: ../Doc/faq/library.rst:414
#: ../Doc/faq/library.rst:416
msgid ""
"The :term:`global interpreter lock` (GIL) is often seen as a hindrance to "
"Python's deployment on high-end multiprocessor server machines, because a "
@ -418,7 +418,7 @@ msgid ""
"insistence that (almost) all Python code can only run while the GIL is held."
msgstr ""
#: ../Doc/faq/library.rst:419
#: ../Doc/faq/library.rst:421
msgid ""
"Back in the days of Python 1.5, Greg Stein actually implemented a "
"comprehensive patch set (the \"free threading\" patches) that removed the "
@ -430,7 +430,7 @@ msgid ""
"the GIL."
msgstr ""
#: ../Doc/faq/library.rst:427
#: ../Doc/faq/library.rst:429
msgid ""
"This doesn't mean that you can't make good use of Python on multi-CPU "
"machines! You just have to be creative with dividing the work up between "
@ -441,7 +441,7 @@ msgid ""
"dispatching of tasks."
msgstr ""
#: ../Doc/faq/library.rst:435
#: ../Doc/faq/library.rst:437
msgid ""
"Judicious use of C extensions will also help; if you use a C extension to "
"perform a time-consuming task, the extension can release the GIL while the "
@ -450,7 +450,7 @@ msgid ""
"`hashlib` already do this."
msgstr ""
#: ../Doc/faq/library.rst:441
#: ../Doc/faq/library.rst:443
msgid ""
"It has been suggested that the GIL should be a per-interpreter-state lock "
"rather than truly global; interpreters then wouldn't be able to share "
@ -462,7 +462,7 @@ msgid ""
"the interpreter state. And so on."
msgstr ""
#: ../Doc/faq/library.rst:450
#: ../Doc/faq/library.rst:452
msgid ""
"And I doubt that it can even be done in finite time, because the same "
"problem exists for 3rd party extensions. It is likely that 3rd party "
@ -470,28 +470,28 @@ msgid ""
"store all their global state in the interpreter state."
msgstr ""
#: ../Doc/faq/library.rst:455
#: ../Doc/faq/library.rst:457
msgid ""
"And finally, once you have multiple interpreters not sharing any state, what "
"have you gained over running each interpreter in a separate process?"
msgstr ""
#: ../Doc/faq/library.rst:460
#: ../Doc/faq/library.rst:462
msgid "Input and Output"
msgstr "Les entrées/sorties"
#: ../Doc/faq/library.rst:463
#: ../Doc/faq/library.rst:465
msgid "How do I delete a file? (And other file questions...)"
msgstr ""
#: ../Doc/faq/library.rst:465
#: ../Doc/faq/library.rst:467
msgid ""
"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, "
"see the :mod:`os` module. The two functions are identical; :func:`~os."
"unlink` is simply the name of the Unix system call for this function."
msgstr ""
#: ../Doc/faq/library.rst:469
#: ../Doc/faq/library.rst:471
msgid ""
"To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create "
"one. ``os.makedirs(path)`` will create any intermediate directories in "
@ -500,11 +500,11 @@ msgid ""
"directory tree and its contents, use :func:`shutil.rmtree`."
msgstr ""
#: ../Doc/faq/library.rst:475
#: ../Doc/faq/library.rst:477
msgid "To rename a file, use ``os.rename(old_path, new_path)``."
msgstr ""
#: ../Doc/faq/library.rst:477
#: ../Doc/faq/library.rst:479
msgid ""
"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use "
"``f.truncate(offset)``; offset defaults to the current seek position. "
@ -512,54 +512,54 @@ msgid ""
"open`, where *fd* is the file descriptor (a small integer)."
msgstr ""
#: ../Doc/faq/library.rst:482
#: ../Doc/faq/library.rst:484
msgid ""
"The :mod:`shutil` module also contains a number of functions to work on "
"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :"
"func:`~shutil.rmtree`."
msgstr ""
#: ../Doc/faq/library.rst:488
#: ../Doc/faq/library.rst:490
msgid "How do I copy a file?"
msgstr ""
#: ../Doc/faq/library.rst:490
#: ../Doc/faq/library.rst:492
msgid ""
"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note "
"that on MacOS 9 it doesn't copy the resource fork and Finder info."
msgstr ""
#: ../Doc/faq/library.rst:495
#: ../Doc/faq/library.rst:497
msgid "How do I read (or write) binary data?"
msgstr ""
#: ../Doc/faq/library.rst:497
#: ../Doc/faq/library.rst:499
msgid ""
"To read or write complex binary data formats, it's best to use the :mod:"
"`struct` module. It allows you to take a string containing binary data "
"(usually numbers) and convert it to Python objects; and vice versa."
msgstr ""
#: ../Doc/faq/library.rst:501
#: ../Doc/faq/library.rst:503
msgid ""
"For example, the following code reads two 2-byte integers and one 4-byte "
"integer in big-endian format from a file::"
msgstr ""
#: ../Doc/faq/library.rst:510
#: ../Doc/faq/library.rst:512
msgid ""
"The '>' in the format string forces big-endian data; the letter 'h' reads "
"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 "
"bytes) from the string."
msgstr ""
#: ../Doc/faq/library.rst:514
#: ../Doc/faq/library.rst:516
msgid ""
"For data that is more regular (e.g. a homogeneous list of ints or floats), "
"you can also use the :mod:`array` module."
msgstr ""
#: ../Doc/faq/library.rst:519
#: ../Doc/faq/library.rst:521
msgid ""
"To read and write binary data, it is mandatory to open the file in binary "
"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` "
@ -567,11 +567,11 @@ msgid ""
"will return :class:`str` objects rather than :class:`bytes` objects."
msgstr ""
#: ../Doc/faq/library.rst:527
#: ../Doc/faq/library.rst:529
msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?"
msgstr ""
#: ../Doc/faq/library.rst:529
#: ../Doc/faq/library.rst:531
msgid ""
":func:`os.read` is a low-level function which takes a file descriptor, a "
"small integer representing the opened file. :func:`os.popen` creates a high-"
@ -580,37 +580,37 @@ msgid ""
"popen`, you need to use ``p.read(n)``."
msgstr ""
#: ../Doc/faq/library.rst:616
#: ../Doc/faq/library.rst:618
msgid "How do I access the serial (RS232) port?"
msgstr ""
#: ../Doc/faq/library.rst:618
#: ../Doc/faq/library.rst:620
msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:"
msgstr ""
#: ../Doc/faq/library.rst:620
#: ../Doc/faq/library.rst:622
msgid "http://pyserial.sourceforge.net"
msgstr ""
#: ../Doc/faq/library.rst:622
#: ../Doc/faq/library.rst:624
msgid "For Unix, see a Usenet post by Mitch Chapman:"
msgstr ""
#: ../Doc/faq/library.rst:624
#: ../Doc/faq/library.rst:626
msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com"
msgstr ""
#: ../Doc/faq/library.rst:628
#: ../Doc/faq/library.rst:630
msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?"
msgstr ""
#: ../Doc/faq/library.rst:630
#: ../Doc/faq/library.rst:632
msgid ""
"Python :term:`file objects <file object>` are a high-level layer of "
"abstraction on low-level C file descriptors."
msgstr ""
#: ../Doc/faq/library.rst:633
#: ../Doc/faq/library.rst:635
msgid ""
"For most file objects you create in Python via the built-in :func:`open` "
"function, ``f.close()`` marks the Python file object as being closed from "
@ -619,7 +619,7 @@ msgid ""
"``f`` becomes garbage."
msgstr ""
#: ../Doc/faq/library.rst:639
#: ../Doc/faq/library.rst:641
msgid ""
"But stdin, stdout and stderr are treated specially by Python, because of the "
"special status also given to them by C. Running ``sys.stdout.close()`` "
@ -627,94 +627,94 @@ msgid ""
"associated C file descriptor."
msgstr ""
#: ../Doc/faq/library.rst:644
#: ../Doc/faq/library.rst:646
msgid ""
"To close the underlying C file descriptor for one of these three, you should "
"first be sure that's what you really want to do (e.g., you may confuse "
"extension modules trying to do I/O). If it is, use :func:`os.close`::"
msgstr ""
#: ../Doc/faq/library.rst:652
#: ../Doc/faq/library.rst:654
msgid "Or you can use the numeric constants 0, 1 and 2, respectively."
msgstr ""
#: ../Doc/faq/library.rst:656
#: ../Doc/faq/library.rst:658
msgid "Network/Internet Programming"
msgstr ""
#: ../Doc/faq/library.rst:659
#: ../Doc/faq/library.rst:661
msgid "What WWW tools are there for Python?"
msgstr ""
#: ../Doc/faq/library.rst:661
#: ../Doc/faq/library.rst:663
msgid ""
"See the chapters titled :ref:`internet` and :ref:`netdata` in the Library "
"Reference Manual. Python has many modules that will help you build server-"
"side and client-side web systems."
msgstr ""
#: ../Doc/faq/library.rst:667
#: ../Doc/faq/library.rst:669
msgid ""
"A summary of available frameworks is maintained by Paul Boddie at https://"
"wiki.python.org/moin/WebProgramming\\ ."
msgstr ""
#: ../Doc/faq/library.rst:670
#: ../Doc/faq/library.rst:672
msgid ""
"Cameron Laird maintains a useful set of pages about Python web technologies "
"at http://phaseit.net/claird/comp.lang.python/web_python."
msgstr ""
#: ../Doc/faq/library.rst:675
#: ../Doc/faq/library.rst:677
msgid "How can I mimic CGI form submission (METHOD=POST)?"
msgstr ""
#: ../Doc/faq/library.rst:677
#: ../Doc/faq/library.rst:679
msgid ""
"I would like to retrieve web pages that are the result of POSTing a form. Is "
"there existing code that would let me do this easily?"
msgstr ""
#: ../Doc/faq/library.rst:680
#: ../Doc/faq/library.rst:682
msgid "Yes. Here's a simple example that uses urllib.request::"
msgstr ""
#: ../Doc/faq/library.rst:695
#: ../Doc/faq/library.rst:697
msgid ""
"Note that in general for percent-encoded POST operations, query strings must "
"be quoted using :func:`urllib.parse.urlencode`. For example, to send "
"``name=Guy Steele, Jr.``::"
msgstr ""
#: ../Doc/faq/library.rst:703
#: ../Doc/faq/library.rst:705
msgid ":ref:`urllib-howto` for extensive examples."
msgstr ""
#: ../Doc/faq/library.rst:707
#: ../Doc/faq/library.rst:709
msgid "What module should I use to help with generating HTML?"
msgstr ""
#: ../Doc/faq/library.rst:711
#: ../Doc/faq/library.rst:713
msgid ""
"You can find a collection of useful links on the `Web Programming wiki page "
"<https://wiki.python.org/moin/WebProgramming>`_."
msgstr ""
#: ../Doc/faq/library.rst:716
#: ../Doc/faq/library.rst:718
msgid "How do I send mail from a Python script?"
msgstr ""
#: ../Doc/faq/library.rst:718
#: ../Doc/faq/library.rst:720
msgid "Use the standard library module :mod:`smtplib`."
msgstr ""
#: ../Doc/faq/library.rst:720
#: ../Doc/faq/library.rst:722
msgid ""
"Here's a very simple interactive mail sender that uses it. This method will "
"work on any host that supports an SMTP listener. ::"
msgstr ""
#: ../Doc/faq/library.rst:740
#: ../Doc/faq/library.rst:742
msgid ""
"A Unix-only alternative uses sendmail. The location of the sendmail program "
"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/"
@ -722,17 +722,17 @@ msgid ""
"some sample code::"
msgstr ""
#: ../Doc/faq/library.rst:760
#: ../Doc/faq/library.rst:762
msgid "How do I avoid blocking in the connect() method of a socket?"
msgstr ""
#: ../Doc/faq/library.rst:762
#: ../Doc/faq/library.rst:764
msgid ""
"The :mod:`select` module is commonly used to help with asynchronous I/O on "
"sockets."
msgstr ""
#: ../Doc/faq/library.rst:765
#: ../Doc/faq/library.rst:767
msgid ""
"To prevent the TCP connect from blocking, you can set the socket to non-"
"blocking mode. Then when you do the ``connect()``, you will either connect "
@ -742,7 +742,7 @@ msgid ""
"values, so you're going to have to check what's returned on your system."
msgstr ""
#: ../Doc/faq/library.rst:772
#: ../Doc/faq/library.rst:774
msgid ""
"You can use the ``connect_ex()`` method to avoid creating an exception. It "
"will just return the errno value. To poll, you can call ``connect_ex()`` "
@ -750,26 +750,26 @@ msgid ""
"or you can pass this socket to select to check if it's writable."
msgstr ""
#: ../Doc/faq/library.rst:778
#: ../Doc/faq/library.rst:780
msgid ""
"The :mod:`asyncore` module presents a framework-like approach to the problem "
"of writing non-blocking networking code. The third-party `Twisted <https://"
"twistedmatrix.com/trac/>`_ library is a popular and feature-rich alternative."
msgstr ""
#: ../Doc/faq/library.rst:785
#: ../Doc/faq/library.rst:787
msgid "Databases"
msgstr ""
#: ../Doc/faq/library.rst:788
#: ../Doc/faq/library.rst:790
msgid "Are there any interfaces to database packages in Python?"
msgstr ""
#: ../Doc/faq/library.rst:790
#: ../Doc/faq/library.rst:792
msgid "Yes."
msgstr "Oui."
#: ../Doc/faq/library.rst:792
#: ../Doc/faq/library.rst:794
msgid ""
"Interfaces to disk-based hashes such as :mod:`DBM <dbm.ndbm>` and :mod:`GDBM "
"<dbm.gnu>` are also included with standard Python. There is also the :mod:"
@ -777,18 +777,18 @@ msgid ""
"database."
msgstr ""
#: ../Doc/faq/library.rst:797
#: ../Doc/faq/library.rst:799
msgid ""
"Support for most relational databases is available. See the "
"`DatabaseProgramming wiki page <https://wiki.python.org/moin/"
"DatabaseProgramming>`_ for details."
msgstr ""
#: ../Doc/faq/library.rst:803
#: ../Doc/faq/library.rst:805
msgid "How do you implement persistent objects in Python?"
msgstr ""
#: ../Doc/faq/library.rst:805
#: ../Doc/faq/library.rst:807
msgid ""
"The :mod:`pickle` library module solves this in a very general way (though "
"you still can't store things like open files, sockets or windows), and the :"
@ -796,55 +796,55 @@ msgid ""
"mappings containing arbitrary Python objects."
msgstr ""
#: ../Doc/faq/library.rst:812
#: ../Doc/faq/library.rst:814
msgid "Mathematics and Numerics"
msgstr ""
#: ../Doc/faq/library.rst:815
#: ../Doc/faq/library.rst:817
msgid "How do I generate random numbers in Python?"
msgstr ""
#: ../Doc/faq/library.rst:817
#: ../Doc/faq/library.rst:819
msgid ""
"The standard module :mod:`random` implements a random number generator. "
"Usage is simple::"
msgstr ""
#: ../Doc/faq/library.rst:823
#: ../Doc/faq/library.rst:825
msgid "This returns a random floating point number in the range [0, 1)."
msgstr ""
#: ../Doc/faq/library.rst:825
#: ../Doc/faq/library.rst:827
msgid ""
"There are also many other specialized generators in this module, such as:"
msgstr ""
#: ../Doc/faq/library.rst:827
#: ../Doc/faq/library.rst:829
msgid "``randrange(a, b)`` chooses an integer in the range [a, b)."
msgstr ""
#: ../Doc/faq/library.rst:828
#: ../Doc/faq/library.rst:830
msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)."
msgstr ""
#: ../Doc/faq/library.rst:829
#: ../Doc/faq/library.rst:831
msgid ""
"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution."
msgstr ""
#: ../Doc/faq/library.rst:831
#: ../Doc/faq/library.rst:833
msgid "Some higher-level functions operate on sequences directly, such as:"
msgstr ""
#: ../Doc/faq/library.rst:833
#: ../Doc/faq/library.rst:835
msgid "``choice(S)`` chooses random element from a given sequence"
msgstr ""
#: ../Doc/faq/library.rst:834
#: ../Doc/faq/library.rst:836
msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly"
msgstr ""
#: ../Doc/faq/library.rst:836
#: ../Doc/faq/library.rst:838
msgid ""
"There's also a ``Random`` class you can instantiate to create independent "
"multiple random number generators."

View File

@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-12 13:37+0200\n"
"PO-Revision-Date: 2017-09-22 10:34+0200\n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2017-10-27 17:41+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 2.0.4\n"
#: ../Doc/faq/programming.rst:5
@ -651,7 +651,7 @@ msgstr ""
#: ../Doc/faq/programming.rst:526
msgid "By passing a mutable (changeable in-place) object::"
msgstr "En passant un objet mutable (modifiable sur place) ::"
msgstr "En passant un objet muable (modifiable sur place) ::"
#: ../Doc/faq/programming.rst:536
msgid "By passing in a dictionary that gets mutated::"
@ -659,7 +659,7 @@ msgstr "En passant un dictionnaire, qui sera modifié : ::"
#: ../Doc/faq/programming.rst:546
msgid "Or bundle up values in a class instance::"
msgstr "Ou regrouper les valeurs dans une instance de classe::"
msgstr "Ou regrouper les valeurs dans une instance de classe ::"
#: ../Doc/faq/programming.rst:562
msgid "There's almost never a good reason to get this complicated."
@ -714,7 +714,7 @@ msgstr ""
#: ../Doc/faq/programming.rst:604
msgid "Object can encapsulate state for several methods::"
msgstr "Les objets peuvent encapsuler un état pour plusieurs méthodes::"
msgstr "Les objets peuvent encapsuler un état pour plusieurs méthodes ::"
#: ../Doc/faq/programming.rst:622
msgid ""
@ -743,11 +743,11 @@ msgid ""
"copy` method::"
msgstr ""
"Certains objects peuvent être copiés plus facilement. Les Dictionnaires ont "
"une méthode :meth:`~dict.copy` ::"
"une méthode :meth:`~dict.copy` ::"
#: ../Doc/faq/programming.rst:637
msgid "Sequences can be copied by slicing::"
msgstr "Les séquences peuvent être copiées via la syntaxe des tranches::"
msgstr "Les séquences peuvent être copiées via la syntaxe des tranches ::"
#: ../Doc/faq/programming.rst:643
msgid "How can I find the methods or attributes of an object?"
@ -823,7 +823,7 @@ msgstr ""
"C'est pareil que trouver le nom du chat qui traîne devant votre porte: Le "
"chat (objet) ne peux pas vous dire lui même son nom, et il s'en moque un peu "
"-- alors le meilleur moyen de savoir comment il s'appelle est de demander à "
"tous vos voisins (namespaces) si c'est leur chat (objet)…"
"tous vos voisins (namespaces) si c'est leur chat (objet)…."
#: ../Doc/faq/programming.rst:687
msgid ""
@ -840,7 +840,7 @@ msgstr "Qu'en est-il de la précédence de l'opérateur virgule ?"
#: ../Doc/faq/programming.rst:694
msgid "Comma is not an operator in Python. Consider this session::"
msgstr ""
"La virgule n'est pas un opérateur en Python. Observez la session suivante::"
"La virgule n'est pas un opérateur en Python. Observez la session suivante ::"
#: ../Doc/faq/programming.rst:699
msgid ""
@ -849,11 +849,11 @@ msgid ""
msgstr ""
"Comme la virgule n'est pas un opérateur, mais un séparateur entre deux "
"expression, l'expression ci dessus, est évaluée de la même façon que si vous "
"aviez écrit::"
"aviez écrit ::"
#: ../Doc/faq/programming.rst:704
msgid "not::"
msgstr "et non::"
msgstr "et non ::"
#: ../Doc/faq/programming.rst:708
msgid ""
@ -899,7 +899,7 @@ msgid ""
msgstr ""
"Oui. Cela est généralement réalisé en imbriquant les :keyword:`lambda` dans "
"des :keyword:`lambda`. Observez les trois exemples suivants, contribués par "
"Ulf Bartelt::"
"Ulf Bartelt ::"
#: ../Doc/faq/programming.rst:762
msgid "Don't try this at home, kids!"
@ -921,7 +921,7 @@ msgid ""
msgstr ""
"Pour écrire un entier octal, faites précéder la valeur octale par un zéro, "
"puis un \"o\" majuscule ou minuscule. Par exemple assigner la valeur octale "
"\"10\" (8 en décimal) à la variable \"a\", tapez::"
"\"10\" (8 en décimal) à la variable \"a\", tapez ::"
#: ../Doc/faq/programming.rst:779
msgid ""
@ -932,7 +932,7 @@ msgstr ""
"L'hexadécimal est tout aussi simple, faîtes précéder le nombre hexadécimal "
"par un zéro, puis un \"x\" majuscule ou minuscule. Les nombres hexadécimaux "
"peuvent être écrit en majuscules ou en minuscules. Par exemple, dans "
"l'interpréteur Python::"
"l'interpréteur Python ::"
#: ../Doc/faq/programming.rst:792
msgid "Why does -22 // 10 return -3?"
@ -1076,11 +1076,11 @@ msgstr ""
"chaines de caractères à des fonctions. Le principal avantage de cette "
"technique est que les chaines n'ont pas besoin d'être égales aux noms de "
"fonctions. C'est aussi la principale façon d'imiter la construction \"case"
"\"::"
"\" ::"
#: ../Doc/faq/programming.rst:898
msgid "Use the built-in function :func:`getattr`::"
msgstr "Utiliser la fonction :func:`getattr`::"
msgstr "Utiliser la fonction :func:`getattr` ::"
#: ../Doc/faq/programming.rst:903
msgid ""
@ -1094,12 +1094,12 @@ msgstr ""
msgid "This is used in several places in the standard library, like this::"
msgstr ""
"Ceci est utilisé dans plusieurs endroit de la bibliothèque standard, de "
"cette façon::"
"cette façon ::"
#: ../Doc/faq/programming.rst:919
msgid "Use :func:`locals` or :func:`eval` to resolve the function name::"
msgstr ""
"Utilisez :func:`locals` ou :func:`eval` pour résoudre le nom de fonction::"
"Utilisez :func:`locals` ou :func:`eval` pour résoudre le nom de fonction ::"
#: ../Doc/faq/programming.rst:932
msgid ""
@ -1331,7 +1331,7 @@ msgid ""
"iterable) into a tuple with the same items in the same order."
msgstr ""
"Le constructeur de type ``tuple(seq)`` convertit toute séquence (en fait "
"tout itérable) en un tuple avec les mêmes éléments dans le même ordre…"
"tout itérable) en un tuple avec les mêmes éléments dans le même ordre…."
#: ../Doc/faq/programming.rst:1072
msgid ""
@ -1397,7 +1397,7 @@ msgid ""
"Use the :func:`reversed` built-in function, which is new in Python 2.4::"
msgstr ""
"Utilisez la fonction embarquée :func:`reversed`, qui est apparue en Python "
"2.4::"
"2.4 ::"
#: ../Doc/faq/programming.rst:1104
msgid ""
@ -1409,7 +1409,7 @@ msgstr ""
#: ../Doc/faq/programming.rst:1107
msgid "With Python 2.3, you can use an extended slice syntax::"
msgstr "Avec Python 2.3 vous pouvez utiliser la syntaxe étendue de tranches::"
msgstr "Avec Python 2.3 vous pouvez utiliser la syntaxe étendue de tranches ::"
#: ../Doc/faq/programming.rst:1114
msgid "How do you remove duplicates from a list?"
@ -1432,7 +1432,7 @@ msgid ""
msgstr ""
"Si changer l'ordre de la liste ne vous dérange pas, commencez par trier "
"celle ci, puis parcourez la d'un bout à l'autre, en supprimant les doublons "
"trouvés en chemin::"
"trouvés en chemin ::"
#: ../Doc/faq/programming.rst:1132
msgid ""
@ -1457,7 +1457,7 @@ msgstr "Comment construire un tableau en Python?"
#: ../Doc/faq/programming.rst:1144
msgid "Use a list::"
msgstr "Utilisez une liste::"
msgstr "Utilisez une liste ::"
#: ../Doc/faq/programming.rst:1148
msgid ""
@ -1487,7 +1487,7 @@ msgid ""
"To get Lisp-style linked lists, you can emulate cons cells using tuples::"
msgstr ""
"Pour obtenir des listes chainées de type Lisp, vous pouvez émuler les \"cons "
"cells\" en utilisant des tuples::"
"cells\" en utilisant des tuples ::"
#: ../Doc/faq/programming.rst:1160
msgid ""
@ -1510,7 +1510,7 @@ msgstr "Comment puis-je créer une liste à plusieurs dimensions?"
msgid "You probably tried to make a multidimensional array like this::"
msgstr ""
"Vous avez probablement essayé de créer une liste à plusieurs dimensions de "
"cette façon::"
"cette façon ::"
#: ../Doc/faq/programming.rst:1175
msgid "This looks correct if you print it:"
@ -1540,7 +1540,7 @@ msgid ""
"then fill in each element with a newly created list::"
msgstr ""
"L'approche suggérée est de créer une liste de la longueur désiré d'abords, "
"puis de remplir tous les éléments avec une chaîne nouvellement créée."
"puis de remplir tous les éléments avec une chaîne nouvellement créée ::"
#: ../Doc/faq/programming.rst:1210
msgid ""
@ -1548,7 +1548,7 @@ msgid ""
"also use a list comprehension::"
msgstr ""
"Cette liste générée contient trois listes différentes de longueur deux. Vous "
"pouvez aussi utilisez la notation de compréhension de listes."
"pouvez aussi utilisez la notation de compréhension de listes ::"
#: ../Doc/faq/programming.rst:1216
msgid ""
@ -1562,7 +1562,7 @@ msgstr "Comment appliquer une méthode à une séquence d'objets?"
#: ../Doc/faq/programming.rst:1223
msgid "Use a list comprehension::"
msgstr "Utilisez une compréhension de liste::"
msgstr "Utilisez une compréhension de liste ::"
#: ../Doc/faq/programming.rst:1230
msgid ""
@ -1769,7 +1769,7 @@ msgid ""
msgstr ""
"Une méthode est une fonction sur un objet ``x`` appelez normalement comme "
"``x.name(arguments…)``. Les méthodes sont définies comme des fonctions à "
"l'intérieur de la définition de classe::"
"l'intérieur de la définition de classe ::"
#: ../Doc/faq/programming.rst:1396
msgid "What is self?"
@ -1838,7 +1838,7 @@ msgid ""
"just call it::"
msgstr ""
"Une meilleure approche est de définir une méthode ``search()`` sur toutes "
"les classes et qu'il suffit d'appeler::"
"les classes et qu'il suffit d'appeler ::"
#: ../Doc/faq/programming.rst:1444
msgid "What is delegation?"
@ -1867,7 +1867,7 @@ msgid ""
msgstr ""
"Les programmeurs Python peuvent facilement mettre en œuvre la délégation. "
"Par exemple, la classe suivante implémente une classe qui se comporte comme "
"un fichier, mais convertit toutes les données écrites en majuscules:"
"un fichier, mais convertit toutes les données écrites en majuscules ::"
#: ../Doc/faq/programming.rst:1467
msgid ""
@ -1897,7 +1897,7 @@ msgstr ""
"peuvent se compliquer. Lorsque les attributs doivent être définis aussi bien "
"que récupérés, la classe doit définir une méthode :meth:`__setattr__` aussi, "
"et il doit le faire avec soin. La mise en œuvre basique de la méthode :meth:"
"`__setattr__` est à peu près équivalent à ce qui suit:"
"`__setattr__` est à peu près équivalent à ce qui suit ::"
#: ../Doc/faq/programming.rst:1485
msgid ""
@ -1955,7 +1955,7 @@ msgstr ""
"votre classe. Ensuite, tout ce que vous devez changer est la valeur "
"attribuée à l'alias. Incidemment, cette astuce est également utile si vous "
"voulez décider dynamiquement (par exemple en fonction de la disponibilité "
"des ressources) la classe de base à utiliser. Exemple::"
"des ressources) la classe de base à utiliser. Exemple ::"
#: ../Doc/faq/programming.rst:1523
msgid "How do I create static class data and static class methods?"
@ -1978,7 +1978,7 @@ msgid ""
msgstr ""
"Pour les données statiques, il suffit de définir un attribut de classe. Pour "
"attribuer une nouvelle valeur à l'attribut, vous devez explicitement "
"utiliser le nom de classe dans l'affectation:"
"utiliser le nom de classe dans l'affectation ::"
#: ../Doc/faq/programming.rst:1540
msgid ""
@ -2002,7 +2002,7 @@ msgstr ""
"crée une nouvelle instance et sans rapport avec le nom \"count\" dans dans "
"le dictionnaire de données de ``self``. La redéfinition d'une donnée "
"statique de classe doit toujours spécifier la classe que l'on soit à "
"l'intérieur d'une méthode ou non:"
"l'intérieur d'une méthode ou non ::"
#: ../Doc/faq/programming.rst:1551
msgid "Static methods are possible::"
@ -2014,7 +2014,7 @@ msgid ""
"is via a simple module-level function::"
msgstr ""
"Cependant, d'une manière beaucoup plus simple pour obtenir l'effet d'une "
"méthode statique se fait par une simple fonction au niveau du module::"
"méthode statique se fait par une simple fonction au niveau du module ::"
#: ../Doc/faq/programming.rst:1565
msgid ""
@ -2047,7 +2047,7 @@ msgid ""
"using default arguments. For example::"
msgstr ""
"En Python, vous devez écrire un constructeur unique qui considère tous les "
"cas en utilisant des arguments par défaut. Par exemple::"
"cas en utilisant des arguments par défaut. Par exemple ::"
#: ../Doc/faq/programming.rst:1594
msgid "This is not entirely equivalent, but close enough in practice."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-01-21 23:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -17,18 +17,18 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../Doc/faq/windows.rst:7
#: ../Doc/faq/windows.rst:9
msgid "Python on Windows FAQ"
msgstr ""
"Ce n'est pas forcément une question simple. Si vous êtes déjà familier avec "
"le lancement de programmes depuis la ligne de commande de Windows alors tout "
"semblera évident; Sinon, vous auriez besoin d'être un peu guidé."
#: ../Doc/faq/windows.rst:18
#: ../Doc/faq/windows.rst:20
msgid "How do I run a Python program under Windows?"
msgstr "Comment exécuter un programme Python sous Windows ?"
#: ../Doc/faq/windows.rst:20
#: ../Doc/faq/windows.rst:22
msgid ""
"This is not necessarily a straightforward question. If you are already "
"familiar with running programs from the Windows command line then everything "
@ -38,19 +38,21 @@ msgstr ""
"le lancement de programmes depuis la ligne de commande de Windows alors tout "
"semblera évident; Sinon, vous auriez besoin d'être un peu guidé."
#: ../Doc/faq/windows.rst:0
msgid "|Python Development on XP|_"
msgstr "Développement |Python sur XP|_"
#: ../Doc/faq/windows.rst:27
#: ../Doc/faq/windows.rst:29
msgid ""
"This series of screencasts aims to get you up and running with Python on "
"Windows XP. The knowledge is distilled into 1.5 hours and will get you up "
"and running with the right Python distribution, coding in your choice of "
"IDE, and debugging and writing solid code with unit-tests."
msgstr ""
"Cette série de vidéos a pour but de vous montrer comment utiliser Python sur "
"Windows XP. Les explications durent 1 heure et demi et vous permetteront "
"d'utiliser la distribution Python adéquate, de développer dans l'IDE de "
"votre choix, et de débugger et écrire du code solide accompagné des tests "
"unitaires."
#: ../Doc/faq/windows.rst:36
#: ../Doc/faq/windows.rst:38
#, fuzzy
msgid ""
"Unless you use some sort of integrated development environment, you will end "
"up *typing* Windows commands into what is variously referred to as a \"DOS "
@ -58,54 +60,75 @@ msgid ""
"from your Start menu; under Windows 7 the menu selection is :menuselection:"
"`Start --> Programs --> Accessories --> Command Prompt`. You should be able "
"to recognize when you have started such a window because you will see a "
"Windows \"command prompt\", which usually looks like this::"
"Windows \"command prompt\", which usually looks like this:"
msgstr ""
"A moins que vous n'utilisiez quelque environnement de développement, vous "
"devrez entrer des commandes Windows dans ce qui est diversement référé comme "
"\"DOS Windows\" ou \"invite de commande Windows\". En général vous pouvez "
"ouvrir cette fenêtre depuis le menu Démarrer; sous Windows 7, allez dans :"
"Démarrer --> Programmes --> Accessoires --> Invite de commande. Vous serez "
"dans la bonne fenêtre quand vous verrez une fenêtre invite de commande qui "
"ressemble normalement à ça ::"
#: ../Doc/faq/windows.rst:46
#: ../Doc/faq/windows.rst:50
#, fuzzy
msgid ""
"The letter may be different, and there might be other things after it, so "
"you might just as easily see something like::"
"you might just as easily see something like:"
msgstr ""
"la lettre peut être différente, et il peut y avoir d'autres choses à la "
"suite, alors il se peut aussi bien que vous voyez quelque chose tel que::"
"La lettre peut être différente, et il peut y avoir d'autres choses à la "
"suite, alors il se peut aussi bien que vous voyez quelque chose tel que ::"
#: ../Doc/faq/windows.rst:51
#: ../Doc/faq/windows.rst:57
msgid ""
"depending on how your computer has been set up and what else you have "
"recently done with it. Once you have started such a window, you are well on "
"the way to running Python programs."
msgstr ""
"selon la configuration de votre ordinateur et ce que vous avez récemment "
"fait avec. Une fois que vous avez ouvert cette fenêtre, vous êtes bien "
"partis pour pouvoir lancer des programmes Python."
#: ../Doc/faq/windows.rst:55
#: ../Doc/faq/windows.rst:61
msgid ""
"You need to realize that your Python scripts have to be processed by another "
"program called the Python *interpreter*. The interpreter reads your script, "
"compiles it into bytecodes, and then executes the bytecodes to run your "
"program. So, how do you arrange for the interpreter to handle your Python?"
msgstr ""
"Retenez que vos scripts Python doivent être traités par un autre programme "
"appelé \"linterpréteur\" Python. Linterpréteur lit votre script, le "
"compile en *bytecode*, et exécute le *bytecode* pour faire tourner votre "
"programme. Alors, comment faire pour donner votre code Python à "
"l'interpréteur ?"
#: ../Doc/faq/windows.rst:60
#: ../Doc/faq/windows.rst:66
#, fuzzy
msgid ""
"First, you need to make sure that your command window recognises the word "
"\"python\" as an instruction to start the interpreter. If you have opened a "
"command window, you should try entering the command ``python`` and hitting "
"return.::"
"return:"
msgstr ""
"Tout d'abord, vous devez vous assurer que votre fenêtre d'invite de commande "
"reconnaît le mot \"python\" comme une instruction pour démarrer "
"l'interpréteur. Si vous avez ouvert une fenêtre de commande, entrez la "
"commande ``python``, puis appuyez sur la touche entrée ::"
#: ../Doc/faq/windows.rst:67
msgid "You should then see something like::"
msgstr ""
#: ../Doc/faq/windows.rst:75
#, fuzzy
msgid "You should then see something like:"
msgstr "Vous devez vous trouver face à quelque chose comme ça ::"
#: ../Doc/faq/windows.rst:73
#: ../Doc/faq/windows.rst:83
msgid ""
"You have started the interpreter in \"interactive mode\". That means you can "
"enter Python statements or expressions interactively and have them executed "
"or evaluated while you wait. This is one of Python's strongest features. "
"Check it by entering a few expressions of your choice and seeing the "
"results::"
"Check it by entering a few expressions of your choice and seeing the results:"
msgstr ""
#: ../Doc/faq/windows.rst:83
#: ../Doc/faq/windows.rst:95
msgid ""
"Many people use the interactive mode as a convenient yet highly programmable "
"calculator. When you want to end your interactive Python session, hold the :"
@ -113,7 +136,7 @@ msgid ""
"\" key to get back to your Windows command prompt."
msgstr ""
#: ../Doc/faq/windows.rst:88
#: ../Doc/faq/windows.rst:100
msgid ""
"You may also find that you have a Start-menu entry such as :menuselection:"
"`Start --> Programs --> Python 3.3 --> Python (command line)` that results "
@ -123,42 +146,38 @@ msgid ""
"the interpreter."
msgstr ""
#: ../Doc/faq/windows.rst:94
#: ../Doc/faq/windows.rst:106
msgid ""
"If the ``python`` command, instead of displaying the interpreter prompt "
"``>>>``, gives you a message like::"
msgstr ""
#: ../Doc/faq/windows.rst:0
msgid "|Adding Python to DOS Path|_"
msgstr ""
#: ../Doc/faq/windows.rst:102
#: ../Doc/faq/windows.rst:114
msgid ""
"Python is not added to the DOS path by default. This screencast will walk "
"you through the steps to add the correct entry to the `System Path`, "
"allowing Python to be executed from the command-line by all users."
msgstr ""
#: ../Doc/faq/windows.rst:111
#: ../Doc/faq/windows.rst:123
msgid "or::"
msgstr "ou : ::"
#: ../Doc/faq/windows.rst:115
#: ../Doc/faq/windows.rst:127
msgid ""
"then you need to make sure that your computer knows where to find the Python "
"interpreter. To do this you will have to modify a setting called PATH, "
"which is a list of directories where Windows will look for programs."
msgstr ""
#: ../Doc/faq/windows.rst:119
#: ../Doc/faq/windows.rst:131
msgid ""
"You should arrange for Python's installation directory to be added to the "
"PATH of every command window as it starts. If you installed Python fairly "
"recently then the command ::"
msgstr ""
#: ../Doc/faq/windows.rst:125
#: ../Doc/faq/windows.rst:137
msgid ""
"will probably tell you where it is installed; the usual location is "
"something like ``C:\\Python33``. Otherwise you will be reduced to a search "
@ -169,7 +188,7 @@ msgid ""
"command ::"
msgstr ""
#: ../Doc/faq/windows.rst:134
#: ../Doc/faq/windows.rst:146
msgid ""
"starts up the interpreter as above (and don't forget you'll need a \":kbd:"
"`Ctrl-Z`\" and an \":kbd:`Enter`\" to get out of it). Once you have verified "
@ -178,17 +197,17 @@ msgid ""
"in the installer as of CPython 3.3."
msgstr ""
#: ../Doc/faq/windows.rst:140
#: ../Doc/faq/windows.rst:152
msgid ""
"More information about environment variables can be found on the :ref:`Using "
"Python on Windows <setting-envvars>` page."
msgstr ""
#: ../Doc/faq/windows.rst:144
#: ../Doc/faq/windows.rst:156
msgid "How do I make Python scripts executable?"
msgstr ""
#: ../Doc/faq/windows.rst:146
#: ../Doc/faq/windows.rst:158
msgid ""
"On Windows, the standard Python installer already associates the .py "
"extension with a file type (Python.File) and gives that file type an open "
@ -199,11 +218,11 @@ msgid ""
"environment variable."
msgstr ""
#: ../Doc/faq/windows.rst:154
#: ../Doc/faq/windows.rst:166
msgid "Why does Python sometimes take so long to start?"
msgstr ""
#: ../Doc/faq/windows.rst:156
#: ../Doc/faq/windows.rst:168
msgid ""
"Usually Python starts very quickly on Windows, but occasionally there are "
"bug reports that Python suddenly begins to take a long time to start up. "
@ -211,7 +230,7 @@ msgid ""
"Windows systems which appear to be configured identically."
msgstr ""
#: ../Doc/faq/windows.rst:161
#: ../Doc/faq/windows.rst:173
msgid ""
"The problem may be caused by a misconfiguration of virus checking software "
"on the problem machine. Some virus scanners have been known to introduce "
@ -222,11 +241,11 @@ msgid ""
"activity, is a particular offender."
msgstr ""
#: ../Doc/faq/windows.rst:171
#: ../Doc/faq/windows.rst:183
msgid "How do I make an executable from a Python script?"
msgstr "Comment construire un exécutable depuis un script Python ?"
#: ../Doc/faq/windows.rst:173
#: ../Doc/faq/windows.rst:185
msgid ""
"See http://cx-freeze.sourceforge.net/ for a distutils extension that allows "
"you to create console and GUI executables from Python code. `py2exe <http://"
@ -235,11 +254,11 @@ msgid ""
"development."
msgstr ""
#: ../Doc/faq/windows.rst:181
#: ../Doc/faq/windows.rst:193
msgid "Is a ``*.pyd`` file the same as a DLL?"
msgstr ""
#: ../Doc/faq/windows.rst:183
#: ../Doc/faq/windows.rst:195
msgid ""
"Yes, .pyd files are dll's, but there are a few differences. If you have a "
"DLL named ``foo.pyd``, then it must have a function ``PyInit_foo()``. You "
@ -249,7 +268,7 @@ msgid ""
"as that would cause Windows to require the DLL to be present."
msgstr ""
#: ../Doc/faq/windows.rst:190
#: ../Doc/faq/windows.rst:202
msgid ""
"Note that the search path for foo.pyd is PYTHONPATH, not the same as the "
"path that Windows uses to search for foo.dll. Also, foo.pyd need not be "
@ -260,17 +279,17 @@ msgid ""
"available functions."
msgstr ""
#: ../Doc/faq/windows.rst:199
#: ../Doc/faq/windows.rst:211
msgid "How can I embed Python into a Windows application?"
msgstr ""
#: ../Doc/faq/windows.rst:201
#: ../Doc/faq/windows.rst:213
msgid ""
"Embedding the Python interpreter in a Windows app can be summarized as "
"follows:"
msgstr ""
#: ../Doc/faq/windows.rst:203
#: ../Doc/faq/windows.rst:215
msgid ""
"Do _not_ build Python into your .exe file directly. On Windows, Python must "
"be a DLL to handle importing modules that are themselves DLL's. (This is "
@ -279,7 +298,7 @@ msgid ""
"version, a number such as \"33\" for Python 3.3."
msgstr ""
#: ../Doc/faq/windows.rst:209
#: ../Doc/faq/windows.rst:221
msgid ""
"You can link to Python in two different ways. Load-time linking means "
"linking against :file:`python{NN}.lib`, while run-time linking means linking "
@ -288,7 +307,7 @@ msgid ""
"merely defines symbols for the linker.)"
msgstr ""
#: ../Doc/faq/windows.rst:215
#: ../Doc/faq/windows.rst:227
msgid ""
"Run-time linking greatly simplifies link options; everything happens at run "
"time. Your code must load :file:`python{NN}.dll` using the Windows "
@ -299,13 +318,13 @@ msgid ""
"API."
msgstr ""
#: ../Doc/faq/windows.rst:222
#: ../Doc/faq/windows.rst:234
msgid ""
"Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
"exe first."
msgstr ""
#: ../Doc/faq/windows.rst:227
#: ../Doc/faq/windows.rst:239
msgid ""
"If you use SWIG, it is easy to create a Python \"extension module\" that "
"will make the app's data and methods available to Python. SWIG will handle "
@ -314,7 +333,7 @@ msgid ""
"this also simplifies linking."
msgstr ""
#: ../Doc/faq/windows.rst:233
#: ../Doc/faq/windows.rst:245
msgid ""
"SWIG will create an init function (a C function) whose name depends on the "
"name of the extension module. For example, if the name of the module is "
@ -323,26 +342,26 @@ msgid ""
"initializes a mostly hidden helper class used by the shadow class."
msgstr ""
#: ../Doc/faq/windows.rst:239
#: ../Doc/faq/windows.rst:251
msgid ""
"The reason you can link the C code in step 2 into your .exe file is that "
"calling the initialization function is equivalent to importing the module "
"into Python! (This is the second key undocumented fact.)"
msgstr ""
#: ../Doc/faq/windows.rst:243
#: ../Doc/faq/windows.rst:255
msgid ""
"In short, you can use the following code to initialize the Python "
"interpreter with your extension module."
msgstr ""
#: ../Doc/faq/windows.rst:254
#: ../Doc/faq/windows.rst:266
msgid ""
"There are two problems with Python's C API which will become apparent if you "
"use a compiler other than MSVC, the compiler used to build pythonNN.dll."
msgstr ""
#: ../Doc/faq/windows.rst:257
#: ../Doc/faq/windows.rst:269
msgid ""
"Problem 1: The so-called \"Very High Level\" functions that take FILE * "
"arguments will not work in a multi-compiler environment because each "
@ -350,27 +369,27 @@ msgid ""
"implementation standpoint these are very _low_ level functions."
msgstr ""
#: ../Doc/faq/windows.rst:262
#: ../Doc/faq/windows.rst:274
msgid ""
"Problem 2: SWIG generates the following code when generating wrappers to "
"void functions:"
msgstr ""
#: ../Doc/faq/windows.rst:271
#: ../Doc/faq/windows.rst:283
msgid ""
"Alas, Py_None is a macro that expands to a reference to a complex data "
"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will "
"fail in a mult-compiler environment. Replace such code by:"
msgstr ""
#: ../Doc/faq/windows.rst:279
#: ../Doc/faq/windows.rst:291
msgid ""
"It may be possible to use SWIG's ``%typemap`` command to make the change "
"automatically, though I have not been able to get this to work (I'm a "
"complete SWIG newbie)."
msgstr ""
#: ../Doc/faq/windows.rst:283
#: ../Doc/faq/windows.rst:295
msgid ""
"Using a Python shell script to put up a Python interpreter window from "
"inside your Windows app is not a good idea; the resulting window will be "
@ -382,18 +401,18 @@ msgid ""
"and write() methods."
msgstr ""
#: ../Doc/faq/windows.rst:292
#: ../Doc/faq/windows.rst:304
msgid "How do I keep editors from inserting tabs into my Python source?"
msgstr ""
#: ../Doc/faq/windows.rst:294
#: ../Doc/faq/windows.rst:306
msgid ""
"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, "
"recommends 4 spaces for distributed Python code; this is also the Emacs "
"python-mode default."
msgstr ""
#: ../Doc/faq/windows.rst:298
#: ../Doc/faq/windows.rst:310
msgid ""
"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no "
"different in this respect, and is easily configured to use spaces: Take :"
@ -402,35 +421,35 @@ msgid ""
"radio button."
msgstr ""
#: ../Doc/faq/windows.rst:303
#: ../Doc/faq/windows.rst:315
msgid ""
"Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and "
"spaces are causing problems in leading whitespace. You may also run the :mod:"
"`tabnanny` module to check a directory tree in batch mode."
msgstr ""
#: ../Doc/faq/windows.rst:310
#: ../Doc/faq/windows.rst:322
msgid "How do I check for a keypress without blocking?"
msgstr ""
#: ../Doc/faq/windows.rst:312
#: ../Doc/faq/windows.rst:324
msgid ""
"Use the msvcrt module. This is a standard Windows-specific extension "
"module. It defines a function ``kbhit()`` which checks whether a keyboard "
"hit is present, and ``getch()`` which gets one character without echoing it."
msgstr ""
#: ../Doc/faq/windows.rst:318
#: ../Doc/faq/windows.rst:330
msgid "How do I emulate os.kill() in Windows?"
msgstr ""
#: ../Doc/faq/windows.rst:320
#: ../Doc/faq/windows.rst:332
msgid ""
"Prior to Python 2.7 and 3.2, to terminate a process, you can use :mod:"
"`ctypes`::"
"`ctypes`:"
msgstr ""
#: ../Doc/faq/windows.rst:330
#: ../Doc/faq/windows.rst:344
msgid ""
"In 2.7 and 3.2, :func:`os.kill` is implemented similar to the above "
"function, with the additional feature of being able to send :kbd:`Ctrl+C` "
@ -438,20 +457,23 @@ msgid ""
"those signals. See :func:`os.kill` for further details."
msgstr ""
#: ../Doc/faq/windows.rst:336
#: ../Doc/faq/windows.rst:350
msgid "How do I extract the downloaded documentation on Windows?"
msgstr ""
#: ../Doc/faq/windows.rst:338
#: ../Doc/faq/windows.rst:352
msgid ""
"Sometimes, when you download the documentation package to a Windows machine "
"using a web browser, the file extension of the saved file ends up being ."
"EXE. This is a mistake; the extension should be .TGZ."
msgstr ""
#: ../Doc/faq/windows.rst:342
#: ../Doc/faq/windows.rst:356
msgid ""
"Simply rename the downloaded file to have the .TGZ extension, and WinZip "
"will be able to handle it. (If your copy of WinZip doesn't, get a newer one "
"from https://www.winzip.com.)"
msgstr ""
#~ msgid "|Python Development on XP|_"
#~ msgstr "|Python Development on XP|_"

File diff suppressed because it is too large Load Diff

View File

@ -7,19 +7,23 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2017-08-10 14:06+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2018-02-15 00:38+0100\n"
"Last-Translator: Hugo Ludmann <ludmann.h@gmail.com>\n"
"Language-Team: \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.2\n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../Doc/howto/argparse.rst:3
msgid "Argparse Tutorial"
msgstr "Tutoriel Argparse"
msgstr "Tutoriel argparse"
#: ../Doc/howto/argparse.rst:0
msgid "author"
msgstr "auteur"
#: ../Doc/howto/argparse.rst:5
msgid "Tshepang Lekhonkhobe"
@ -376,17 +380,19 @@ msgstr "Et voilà le résultat :"
#: ../Doc/howto/argparse.rst:374
msgid "We've brought back a positional argument, hence the complaint."
msgstr ""
msgstr "Nous avons ajouté un argument nommé, d'où le message d'erreur."
#: ../Doc/howto/argparse.rst:376
msgid "Note that the order does not matter."
msgstr ""
msgstr "Notez que l'ordre importe peu."
#: ../Doc/howto/argparse.rst:378
msgid ""
"How about we give this program of ours back the ability to have multiple "
"verbosity values, and actually get to use them::"
msgstr ""
"Qu'en est il si nous donnons à ce programme la possibilité d'avoir plusieurs "
"niveaux de verbosité, et que celui-ci les prend en compte : ::"
#: ../Doc/howto/argparse.rst:412
msgid ""
@ -394,12 +400,17 @@ msgid ""
"Let's fix it by restricting the values the ``--verbosity`` option can "
"accept::"
msgstr ""
"Tout semble bon sauf le dernier, qui montre que notre programme contient un "
"bogue. Corrigeons cela en restreignant les options que ``--verbosity`` "
"accepte : ::"
#: ../Doc/howto/argparse.rst:448
msgid ""
"Note that the change also reflects both in the error message as well as the "
"help string."
msgstr ""
"Notez que ce changement est pris en compte à la fois dans le message "
"d'erreur et dans le texte d'aide."
#: ../Doc/howto/argparse.rst:451
msgid ""
@ -407,40 +418,55 @@ msgid ""
"pretty common. It also matches the way the CPython executable handles its "
"own verbosity argument (check the output of ``python --help``)::"
msgstr ""
"Essayons maintenant une approche différente pour jouer sur la verbosité, ce "
"qui arrive fréquemment. Cela correspond également à comment le programme "
"CPython gère ses propres paramètres de verbosité (jetez un œil sur la sortie "
"de la commande ``python --help``) : ::"
#: ../Doc/howto/argparse.rst:470
msgid ""
"We have introduced another action, \"count\", to count the number of "
"occurrences of a specific optional arguments:"
msgstr ""
"Nous avons introduit une autre action, \"count\", pour compter le nombre "
"doccurrences d'une argument optionnel en particulier :"
#: ../Doc/howto/argparse.rst:498
msgid ""
"Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the "
"previous version of our script. That should explain the complaint."
msgstr ""
"Oui, c'est maintenant d'avantage une option (similaire à ``action="
"\"store_true\"``) de la version précédente de notre script. Cela devrait "
"expliquer le message d'erreur."
#: ../Doc/howto/argparse.rst:501
msgid "It also behaves similar to \"store_true\" action."
msgstr ""
msgstr "Cela se comporte de la même manière que l'action \"store_true\"."
#: ../Doc/howto/argparse.rst:503
msgid ""
"Now here's a demonstration of what the \"count\" action gives. You've "
"probably seen this sort of usage before."
msgstr ""
"Maintenant voici une démonstration de ce que l'action \"count\" fait. Vous "
"avez sûrement vu ce genre d'utilisation auparavant."
#: ../Doc/howto/argparse.rst:506
msgid ""
"And if you don't specify the ``-v`` flag, that flag is considered to have "
"``None`` value."
msgstr ""
"Et si vous ne spécifiez pas le option ``-v``, ce option sera considéré en "
"tant que valeur ``None``."
#: ../Doc/howto/argparse.rst:509
msgid ""
"As should be expected, specifying the long form of the flag, we should get "
"the same output."
msgstr ""
"Comme on s'y attend, en spécifiant l'option dans sa forme longue, on devrait "
"obtenir la même sortie."
#: ../Doc/howto/argparse.rst:512
msgid ""
@ -448,32 +474,39 @@ msgid ""
"has acquired, but that can always be fixed by improving the documentation "
"for our script (e.g. via the ``help`` keyword argument)."
msgstr ""
"Malheureusement, notre sortie d'aide n'est pas très informative à propos des "
"nouvelles possibilités de notre programme, mais cela peut toujours être "
"corrigé en améliorant sa documentation. (e.g. en utilisant le l'argument "
"``help``)."
#: ../Doc/howto/argparse.rst:516
msgid "That last output exposes a bug in our program."
msgstr ""
msgstr "La dernière sortie du programme montre que celui-ci contient un bogue."
#: ../Doc/howto/argparse.rst:519
msgid "Let's fix::"
msgstr ""
msgstr "Corrigeons : ::"
#: ../Doc/howto/argparse.rst:538
msgid "And this is what it gives:"
msgstr ""
msgstr "Et c'est ce que ça donne :"
#: ../Doc/howto/argparse.rst:553
msgid ""
"First output went well, and fixes the bug we had before. That is, we want "
"any value >= 2 to be as verbose as possible."
msgstr ""
"Les premières exécutions du programme sont correctes, et le bogue que nous "
"avons eu est corrigé. Cela dit, nous voulons que n'importe quelle valeur >= "
"2 rende le programme aussi verbeux que possible."
#: ../Doc/howto/argparse.rst:556
msgid "Third output not so good."
msgstr ""
msgstr "La troisième sortie de programme n'est pas si bien que ça."
#: ../Doc/howto/argparse.rst:558
msgid "Let's fix that bug::"
msgstr ""
msgstr "Corrigeons ce bogue : ::"
#: ../Doc/howto/argparse.rst:575
msgid ""
@ -483,10 +516,15 @@ msgid ""
"value, and that cannot be compared to an int value (hence the :exc:"
"`TypeError` exception)."
msgstr ""
"Nous venons juste d'introduire un nouveau mot clef, ``default``. Nous "
"l'avons définit à ``0`` pour le rendre comparable aux autres valeurs. "
"Rappelez-vous que par défaut, si un argument optionnel n'est pas spécifié, "
"il sera définit à ``None``, et ne pourra pas être comparé à une valeur de "
"type entier (Une erreur :exc:`TypeError` serait alors levée)."
#: ../Doc/howto/argparse.rst:582
msgid "And:"
msgstr ""
msgstr "Et :"
#: ../Doc/howto/argparse.rst:589
msgid ""
@ -494,16 +532,22 @@ msgid ""
"scratched the surface. The :mod:`argparse` module is very powerful, and "
"we'll explore a bit more of it before we end this tutorial."
msgstr ""
"Vous pouvez aller assez loin seulement avec ce que nous avons appris jusqu'à "
"maintenant, et nous n'avons quaperçu la surface. Le module :mod:`argparse` "
"est très puissant, et nous allons l'explorer un peu plus avant la fin de ce "
"tutoriel."
#: ../Doc/howto/argparse.rst:596
msgid "Getting a little more advanced"
msgstr ""
msgstr "Aller un peu plus loin"
#: ../Doc/howto/argparse.rst:598
msgid ""
"What if we wanted to expand our tiny program to perform other powers, not "
"just squares::"
msgstr ""
"Qu'en est il si nous souhaitons étendre notre mini programe pour le rendre "
"capable de calculer d'autres puissances, et pas seulement des carrés : ::"
#: ../Doc/howto/argparse.rst:615 ../Doc/howto/argparse.rst:653
msgid "Output:"
@ -515,10 +559,13 @@ msgid ""
"that gets displayed. The following example instead uses verbosity level to "
"display *more* text instead::"
msgstr ""
"Il est à noter que jusqu'à présent nous avons utilisé le niveau de verbosité "
"pour *changer* le texte qui est affiché. L'exemple suivant au contraire "
"utilise le niveau de verbosité pour afficher *plus* de texte à la place : ::"
#: ../Doc/howto/argparse.rst:667
msgid "Conflicting options"
msgstr ""
msgstr "Options en conflit"
#: ../Doc/howto/argparse.rst:669
msgid ""
@ -529,12 +576,22 @@ msgid ""
"the new functionality makes more sense: we'll introduce the ``--quiet`` "
"option, which will be the opposite of the ``--verbose`` one::"
msgstr ""
"Jusque là, nous avons travaillé avec deux méthodes d'une instance de :class:"
"`argparse.ArgumentParser`. En voici une troisième, :meth:"
"`add_mutually_exclusive_group`. Elle nous permet de spécifier des options "
"qui sont en conflit entre elles. Changeons aussi le reste du programme de "
"telle sorte que la nouvelle fonctionnalité fasse sens : nous allons "
"introduire l'option ``--quiet``, qui va avoir l'effet opposé de l'option ``--"
"verbose`` : ::"
#: ../Doc/howto/argparse.rst:695
msgid ""
"Our program is now simpler, and we've lost some functionality for the sake "
"of demonstration. Anyways, here's the output:"
msgstr ""
"Notre programme est maintenant plus simple, et nous avons perdu des "
"fonctionnalités pour faire cette démonstration. Peu importe, voici la sortie "
"du programme :"
#: ../Doc/howto/argparse.rst:713
msgid ""
@ -542,12 +599,18 @@ msgid ""
"the sort of flexibility you get, i.e. mixing long form options with short "
"form ones."
msgstr ""
"Cela devrait être facile à suivre. J'ai ajouté cette dernière sortie pour "
"que vous puissiez voir le genre de flexibilité que vous pouvez avoir, i.e. "
"faire un mixe entre des options courtes et longues."
#: ../Doc/howto/argparse.rst:717
msgid ""
"Before we conclude, you probably want to tell your users the main purpose of "
"your program, just in case they don't know::"
msgstr ""
"Avant d'en finir, vous voudrez certainement dire à vos utilisateurs quel est "
"le but principal de votre programme, juste dans le cas ou ils ne savent "
"pas : ::"
#: ../Doc/howto/argparse.rst:738
msgid ""
@ -555,10 +618,13 @@ msgid ""
"tells us that we can either use ``-v`` or ``-q``, but not both at the same "
"time:"
msgstr ""
"Notez cette nuance dans le texte d'utlisation. Les options `[-v | -q]``, qui "
"nous disent que nous pouvons utiliser au choix ``-v`` ou ``-q``, mais pas "
"les deux ensemble :"
#: ../Doc/howto/argparse.rst:760
msgid "Conclusion"
msgstr ""
msgstr "Conclusion"
#: ../Doc/howto/argparse.rst:762
msgid ""
@ -566,3 +632,7 @@ msgid ""
"quite detailed and thorough, and full of examples. Having gone through this "
"tutorial, you should easily digest them without feeling overwhelmed."
msgstr ""
"Le module :mod:`argparse` offre bien plus que ce qui est montré ici. Sa "
"documentation est assez détaillée complète et pleine d'exemples. En ayant "
"accompli ce tutoriel, vous pourriez facilement comprendre cette "
"documentation sans vous sentir dépassé."

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Porting Extension Modules to Python 3"
msgstr ""
#: ../Doc/howto/cporting.rst:0
msgid "author"
msgstr "auteur"
#: ../Doc/howto/cporting.rst:9
msgid "Benjamin Peterson"
msgstr "Benjamin Peterson"
#: ../Doc/howto/cporting.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/cporting.rst:14
msgid ""
"Although changing the C-API was not one of Python 3's objectives, the many "
@ -190,3 +190,6 @@ msgid ""
"<http://cython.org/>`_. It translates a Python-like language to C. The "
"extension modules it creates are compatible with Python 3 and Python 2."
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,18 +21,22 @@ msgstr ""
msgid "Curses Programming with Python"
msgstr ""
#: ../Doc/howto/curses.rst:0
msgid "Author"
msgstr "Auteur"
#: ../Doc/howto/curses.rst:7
msgid "A.M. Kuchling, Eric S. Raymond"
msgstr ""
#: ../Doc/howto/curses.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/curses.rst:8
msgid "2.04"
msgstr ""
#: ../Doc/howto/curses.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/curses.rst:13
msgid ""
"This document describes how to use the :mod:`curses` extension module to "
@ -731,5 +735,5 @@ msgid ""
"demonstrating some applications written using Urwid."
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"
#~ msgid "Abstract"
#~ msgstr "Résumé"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,16 +21,20 @@ msgstr ""
msgid "Descriptor HowTo Guide"
msgstr ""
#: ../Doc/howto/descriptor.rst:0
msgid "Author"
msgstr "Auteur"
#: ../Doc/howto/descriptor.rst:5
msgid "Raymond Hettinger"
msgstr ""
#: ../Doc/howto/descriptor.rst:6
msgid "<python at rcn dot com>"
#: ../Doc/howto/descriptor.rst:0
msgid "Contact"
msgstr ""
#: ../Doc/howto/descriptor.rst:0
msgid "Contents"
#: ../Doc/howto/descriptor.rst:6
msgid "<python at rcn dot com>"
msgstr ""
#: ../Doc/howto/descriptor.rst:11
@ -247,8 +251,8 @@ msgstr ""
msgid ""
"The protocol is simple and offers exciting possibilities. Several use cases "
"are so common that they have been packaged into individual function calls. "
"Properties, bound and unbound methods, static methods, and class methods are "
"all based on the descriptor protocol."
"Properties, bound methods, static methods, and class methods are all based "
"on the descriptor protocol."
msgstr ""
#: ../Doc/howto/descriptor.rst:188
@ -302,8 +306,8 @@ msgstr ""
#: ../Doc/howto/descriptor.rst:268
msgid ""
"Class dictionaries store methods as functions. In a class definition, "
"methods are written using :keyword:`def` and :keyword:`lambda`, the usual "
"tools for creating functions. The only difference from regular functions is "
"methods are written using :keyword:`def` or :keyword:`lambda`, the usual "
"tools for creating functions. Methods only differ from regular functions in "
"that the first argument is reserved for the object instance. By Python "
"convention, the instance reference is called *self* but may be called *this* "
"or any other variable name."
@ -313,47 +317,26 @@ msgstr ""
msgid ""
"To support method calls, functions include the :meth:`__get__` method for "
"binding methods during attribute access. This means that all functions are "
"non-data descriptors which return bound or unbound methods depending whether "
"they are invoked from an object or a class. In pure python, it works like "
"this::"
"non-data descriptors which return bound methods when they are invoked from "
"an object. In pure python, it works like this::"
msgstr ""
#: ../Doc/howto/descriptor.rst:287
#: ../Doc/howto/descriptor.rst:288
msgid ""
"Running the interpreter shows how the function descriptor works in practice::"
msgstr ""
#: ../Doc/howto/descriptor.rst:301
msgid ""
"The output suggests that bound and unbound methods are two different types. "
"While they could have been implemented that way, the actual C implementation "
"of :c:type:`PyMethod_Type` in :source:`Objects/classobject.c` is a single "
"object with two different representations depending on whether the :attr:"
"`im_self` field is set or is *NULL* (the C equivalent of ``None``)."
msgstr ""
#: ../Doc/howto/descriptor.rst:307
msgid ""
"Likewise, the effects of calling a method object depend on the :attr:"
"`im_self` field. If set (meaning bound), the original function (stored in "
"the :attr:`im_func` field) is called as expected with the first argument set "
"to the instance. If unbound, all of the arguments are passed unchanged to "
"the original function. The actual C implementation of :func:"
"`instancemethod_call()` is only slightly more complex in that it includes "
"some type checking."
msgstr ""
#: ../Doc/howto/descriptor.rst:316
#: ../Doc/howto/descriptor.rst:326
msgid "Static Methods and Class Methods"
msgstr ""
#: ../Doc/howto/descriptor.rst:318
#: ../Doc/howto/descriptor.rst:328
msgid ""
"Non-data descriptors provide a simple mechanism for variations on the usual "
"patterns of binding functions into methods."
msgstr ""
#: ../Doc/howto/descriptor.rst:321
#: ../Doc/howto/descriptor.rst:331
msgid ""
"To recap, functions have a :meth:`__get__` method so that they can be "
"converted to a method when accessed as attributes. The non-data descriptor "
@ -361,51 +344,51 @@ msgid ""
"f(*args)`` becomes ``f(*args)``."
msgstr ""
#: ../Doc/howto/descriptor.rst:326
#: ../Doc/howto/descriptor.rst:336
msgid "This chart summarizes the binding and its two most useful variants:"
msgstr ""
#: ../Doc/howto/descriptor.rst:329
#: ../Doc/howto/descriptor.rst:339
msgid "Transformation"
msgstr ""
#: ../Doc/howto/descriptor.rst:329
#: ../Doc/howto/descriptor.rst:339
msgid "Called from an Object"
msgstr ""
#: ../Doc/howto/descriptor.rst:329
#: ../Doc/howto/descriptor.rst:339
msgid "Called from a Class"
msgstr ""
#: ../Doc/howto/descriptor.rst:332
#: ../Doc/howto/descriptor.rst:342
msgid "function"
msgstr "fonction"
#: ../Doc/howto/descriptor.rst:332
#: ../Doc/howto/descriptor.rst:342
msgid "f(obj, \\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:332 ../Doc/howto/descriptor.rst:334
#: ../Doc/howto/descriptor.rst:342 ../Doc/howto/descriptor.rst:344
msgid "f(\\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:334
#: ../Doc/howto/descriptor.rst:344
msgid "staticmethod"
msgstr ""
#: ../Doc/howto/descriptor.rst:336
#: ../Doc/howto/descriptor.rst:346
msgid "classmethod"
msgstr ""
#: ../Doc/howto/descriptor.rst:336
#: ../Doc/howto/descriptor.rst:346
msgid "f(type(obj), \\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:336
#: ../Doc/howto/descriptor.rst:346
msgid "f(klass, \\*args)"
msgstr ""
#: ../Doc/howto/descriptor.rst:339
#: ../Doc/howto/descriptor.rst:349
msgid ""
"Static methods return the underlying function without changes. Calling "
"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object."
@ -414,13 +397,13 @@ msgid ""
"a class."
msgstr ""
#: ../Doc/howto/descriptor.rst:345
#: ../Doc/howto/descriptor.rst:355
msgid ""
"Good candidates for static methods are methods that do not reference the "
"``self`` variable."
msgstr ""
#: ../Doc/howto/descriptor.rst:348
#: ../Doc/howto/descriptor.rst:358
msgid ""
"For instance, a statistics package may include a container class for "
"experimental data. The class provides normal methods for computing the "
@ -432,26 +415,26 @@ msgid ""
"``s.erf(1.5) --> .9332`` or ``Sample.erf(1.5) --> .9332``."
msgstr ""
#: ../Doc/howto/descriptor.rst:357
#: ../Doc/howto/descriptor.rst:367
msgid ""
"Since staticmethods return the underlying function with no changes, the "
"example calls are unexciting::"
msgstr ""
#: ../Doc/howto/descriptor.rst:370
#: ../Doc/howto/descriptor.rst:380
msgid ""
"Using the non-data descriptor protocol, a pure Python version of :func:"
"`staticmethod` would look like this::"
msgstr ""
#: ../Doc/howto/descriptor.rst:382
#: ../Doc/howto/descriptor.rst:392
msgid ""
"Unlike static methods, class methods prepend the class reference to the "
"argument list before calling the function. This format is the same for "
"whether the caller is an object or a class::"
msgstr ""
#: ../Doc/howto/descriptor.rst:397
#: ../Doc/howto/descriptor.rst:407
msgid ""
"This behavior is useful whenever the function only needs to have a class "
"reference and does not care about any underlying data. One use for "
@ -460,11 +443,11 @@ msgid ""
"keys. The pure Python equivalent is::"
msgstr ""
#: ../Doc/howto/descriptor.rst:413
#: ../Doc/howto/descriptor.rst:423
msgid "Now a new dictionary of unique keys can be constructed like this::"
msgstr ""
#: ../Doc/howto/descriptor.rst:418
#: ../Doc/howto/descriptor.rst:428
msgid ""
"Using the non-data descriptor protocol, a pure Python version of :func:"
"`classmethod` would look like this::"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2018-02-15 00:38+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -21,10 +21,18 @@ msgstr ""
msgid "Functional Programming HOWTO"
msgstr ""
#: ../Doc/howto/functional.rst:0
msgid "Author"
msgstr "Auteur"
#: ../Doc/howto/functional.rst:5
msgid "A. M. Kuchling"
msgstr ""
#: ../Doc/howto/functional.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/functional.rst:6
msgid "0.32"
msgstr ""
@ -707,7 +715,7 @@ msgstr ""
#: ../Doc/howto/functional.rst:617
msgid "Built-in functions"
msgstr "Fonctions Natives"
msgstr "Fonctions natives"
#: ../Doc/howto/functional.rst:619
msgid ""
@ -1368,6 +1376,3 @@ msgid ""
":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new "
"generator features in Python 2.5."
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Instrumenting CPython with DTrace and SystemTap"
msgstr ""
#: ../Doc/howto/instrumentation.rst:0
msgid "author"
msgstr "auteur"
#: ../Doc/howto/instrumentation.rst:9
msgid "David Malcolm"
msgstr ""
@ -178,112 +182,112 @@ msgstr ""
msgid ""
"For a `--enable-shared` build of CPython, the markers are contained within "
"the libpython shared library, and the probe's dotted path needs to reflect "
"this. For example, this line from the above example::"
"this. For example, this line from the above example:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:261
msgid "should instead read::"
msgstr ""
#: ../Doc/howto/instrumentation.rst:265
msgid "(assuming a debug build of CPython 3.6)"
#: ../Doc/howto/instrumentation.rst:263
msgid "should instead read:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:269
msgid "(assuming a debug build of CPython 3.6)"
msgstr ""
#: ../Doc/howto/instrumentation.rst:273
msgid "Available static markers"
msgstr ""
#: ../Doc/howto/instrumentation.rst:275
#: ../Doc/howto/instrumentation.rst:279
msgid ""
"This marker indicates that execution of a Python function has begun. It is "
"only triggered for pure-Python (bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:278
#: ../Doc/howto/instrumentation.rst:282
msgid ""
"The filename, function name, and line number are provided back to the "
"tracing script as positional arguments, which must be accessed using ``"
"$arg1``, ``$arg2``, ``$arg3``:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:282
#: ../Doc/howto/instrumentation.rst:286
msgid ""
"``$arg1`` : ``(const char *)`` filename, accessible using "
"``user_string($arg1)``"
msgstr ""
#: ../Doc/howto/instrumentation.rst:284
#: ../Doc/howto/instrumentation.rst:288
msgid ""
"``$arg2`` : ``(const char *)`` function name, accessible using "
"``user_string($arg2)``"
msgstr ""
#: ../Doc/howto/instrumentation.rst:287
#: ../Doc/howto/instrumentation.rst:291
msgid "``$arg3`` : ``int`` line number"
msgstr ""
#: ../Doc/howto/instrumentation.rst:291
#: ../Doc/howto/instrumentation.rst:295
msgid ""
"This marker is the converse of :c:func:`function__entry`, and indicates that "
"execution of a Python function has ended (either via ``return``, or via an "
"exception). It is only triggered for pure-Python (bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:295
#: ../Doc/howto/instrumentation.rst:299
msgid "The arguments are the same as for :c:func:`function__entry`"
msgstr ""
#: ../Doc/howto/instrumentation.rst:299
#: ../Doc/howto/instrumentation.rst:303
msgid ""
"This marker indicates a Python line is about to be executed. It is the "
"equivalent of line-by-line tracing with a Python profiler. It is not "
"triggered within C functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:303
#: ../Doc/howto/instrumentation.rst:307
msgid "The arguments are the same as for :c:func:`function__entry`."
msgstr ""
#: ../Doc/howto/instrumentation.rst:307
#: ../Doc/howto/instrumentation.rst:311
msgid ""
"Fires when the Python interpreter starts a garbage collection cycle. "
"``arg0`` is the generation to scan, like :func:`gc.collect()`."
msgstr ""
#: ../Doc/howto/instrumentation.rst:312
#: ../Doc/howto/instrumentation.rst:316
msgid ""
"Fires when the Python interpreter finishes a garbage collection cycle. "
"``arg0`` is the number of collected objects."
msgstr ""
#: ../Doc/howto/instrumentation.rst:317
#: ../Doc/howto/instrumentation.rst:321
msgid "SystemTap Tapsets"
msgstr ""
#: ../Doc/howto/instrumentation.rst:319
#: ../Doc/howto/instrumentation.rst:323
msgid ""
"The higher-level way to use the SystemTap integration is to use a \"tapset"
"\": SystemTap's equivalent of a library, which hides some of the lower-level "
"details of the static markers."
msgstr ""
#: ../Doc/howto/instrumentation.rst:323
#: ../Doc/howto/instrumentation.rst:327
msgid "Here is a tapset file, based on a non-shared build of CPython:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:346
#: ../Doc/howto/instrumentation.rst:350
msgid ""
"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/"
"systemtap/tapset``), then these additional probepoints become available:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:352
#: ../Doc/howto/instrumentation.rst:356
msgid ""
"This probe point indicates that execution of a Python function has begun. It "
"is only triggered for pure-python (bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:357
#: ../Doc/howto/instrumentation.rst:361
msgid ""
"This probe point is the converse of :c:func:`python.function.return`, and "
"indicates that execution of a Python function has ended (either via "
@ -291,18 +295,18 @@ msgid ""
"(bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:364
#: ../Doc/howto/instrumentation.rst:368
msgid "Examples"
msgstr "Exemples"
#: ../Doc/howto/instrumentation.rst:365
#: ../Doc/howto/instrumentation.rst:369
msgid ""
"This SystemTap script uses the tapset above to more cleanly implement the "
"example given above of tracing the Python function-call hierarchy, without "
"needing to directly name the static markers:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:384
#: ../Doc/howto/instrumentation.rst:388
msgid ""
"The following script uses the tapset above to provide a top-like view of all "
"running CPython code, showing the top 20 most frequently-entered bytecode "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "An introduction to the ipaddress module"
msgstr ""
#: ../Doc/howto/ipaddress.rst:0
msgid "author"
msgstr "auteur"
#: ../Doc/howto/ipaddress.rst:11
msgid "Peter Moody"
msgstr ""
@ -29,10 +33,6 @@ msgstr ""
msgid "Nick Coghlan"
msgstr ""
#: ../Doc/howto/ipaddress.rst:0
msgid "Overview"
msgstr ""
#: ../Doc/howto/ipaddress.rst:16
msgid ""
"This document aims to provide a gentle introduction to the :mod:`ipaddress` "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Porting Python 2 Code to Python 3"
msgstr ""
#: ../Doc/howto/pyporting.rst:0
msgid "author"
msgstr "auteur"
#: ../Doc/howto/pyporting.rst:7
msgid "Brett Cannon"
msgstr ""
#: ../Doc/howto/pyporting.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/pyporting.rst:11
msgid ""
"With Python 3 being the future of Python while Python 2 is still in active "
@ -631,3 +631,6 @@ msgid ""
"binary data, helping to make sure everything functions as expected in both "
"versions of Python."
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,14 +21,14 @@ msgstr ""
msgid "Socket Programming HOWTO"
msgstr ""
#: ../Doc/howto/sockets.rst:0
msgid "Author"
msgstr "Auteur"
#: ../Doc/howto/sockets.rst:7
msgid "Gordon McMillan"
msgstr ""
#: ../Doc/howto/sockets.rst:0
msgid "Abstract"
msgstr "Résumé"
#: ../Doc/howto/sockets.rst:12
msgid ""
"Sockets are used nearly everywhere, but are one of the most severely "
@ -475,3 +475,6 @@ msgid ""
"differently on Windows. In fact, on Windows I usually use threads (which "
"work very, very well) with my sockets."
msgstr ""
#~ msgid "Abstract"
#~ msgstr "Résumé"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2018-02-15 00:39+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,15 +19,23 @@ msgstr ""
#: ../Doc/howto/sorting.rst:4
msgid "Sorting HOW TO"
msgstr ""
msgstr "Guide pour le tri"
#: ../Doc/howto/sorting.rst:0
msgid "Author"
msgstr "Auteur"
#: ../Doc/howto/sorting.rst:6
msgid "Andrew Dalke and Raymond Hettinger"
msgstr ""
msgstr "Andrew Dalke et Raymond Hettinger"
#: ../Doc/howto/sorting.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/sorting.rst:7
msgid "0.1"
msgstr ""
msgstr "0.1"
#: ../Doc/howto/sorting.rst:10
msgid ""
@ -35,22 +43,29 @@ msgid ""
"in-place. There is also a :func:`sorted` built-in function that builds a "
"new sorted list from an iterable."
msgstr ""
"Les listes Python ont une méthode native :meth:`list.sort` qui modifie les "
"listes elles-mêmes. Il y a également une fonction native :func:`sorted` qui "
"construit une nouvelle liste triée depuis un itérable."
#: ../Doc/howto/sorting.rst:14
msgid ""
"In this document, we explore the various techniques for sorting data using "
"Python."
msgstr ""
"Dans ce document, nous explorons différentes techniques pour trier les "
"données en Python."
#: ../Doc/howto/sorting.rst:18
msgid "Sorting Basics"
msgstr ""
msgstr "Les bases du tri"
#: ../Doc/howto/sorting.rst:20
msgid ""
"A simple ascending sort is very easy: just call the :func:`sorted` function. "
"It returns a new sorted list::"
msgstr ""
"Un tri ascendant simple est très facile : il suffit d'appeler la fonction :"
"func:`sorted`. Elle renvoie une nouvelle liste triée : ::"
#: ../Doc/howto/sorting.rst:26
msgid ""
@ -59,26 +74,37 @@ msgid ""
"than :func:`sorted` - but if you don't need the original list, it's slightly "
"more efficient."
msgstr ""
"Vous pouvez aussi utiliser la méthode :meth:`list.sort`. Elle modifie la "
"liste elle-même (et renvoie ``None`` pour éviter les confusions). "
"Habituellement, cette méthode est moins pratique que la fonction :func:"
"`sorted` - mais si vous n'avez pas besoin de la liste originale, cette "
"technique est légèrement plus efficace."
#: ../Doc/howto/sorting.rst:36
msgid ""
"Another difference is that the :meth:`list.sort` method is only defined for "
"lists. In contrast, the :func:`sorted` function accepts any iterable."
msgstr ""
"Une autre différence est que la méthode :meth:`list.sort` est seulement "
"définie pour les listes. Au contraire, la fonction :func:`sorted` accepte "
"n'importe quel itérable."
#: ../Doc/howto/sorting.rst:43
msgid "Key Functions"
msgstr ""
msgstr "Fonctions clef"
#: ../Doc/howto/sorting.rst:45
msgid ""
"Both :meth:`list.sort` and :func:`sorted` have a *key* parameter to specify "
"a function to be called on each list element prior to making comparisons."
msgstr ""
":meth:`list.sort` et :func:`sorted` ont un paramètre nommé *key* afin de "
"spécifier une fonction qui peut être appelée sur chaque élément de la liste "
"afin d'effectuer des comparaisons."
#: ../Doc/howto/sorting.rst:48
msgid "For example, here's a case-insensitive string comparison:"
msgstr ""
msgstr "Par exemple, voici une comparaison de texte insensible à la casse:"
#: ../Doc/howto/sorting.rst:53
msgid ""
@ -86,21 +112,29 @@ msgid ""
"argument and returns a key to use for sorting purposes. This technique is "
"fast because the key function is called exactly once for each input record."
msgstr ""
"La valeur du paramètre *key* devrait être une fonction qui prend un seul "
"argument et renvoie une clef à utiliser à des fins de tri. Cette technique "
"est rapide car la fonction clef est appelée exactement une seule fois pour "
"chaque enregistrement en entrée."
#: ../Doc/howto/sorting.rst:57
msgid ""
"A common pattern is to sort complex objects using some of the object's "
"indices as keys. For example:"
msgstr ""
"Un usage fréquent est de faire un tri sur des objets complexes en utilisant "
"les indices des objets en tant que clef. Par exemple :"
#: ../Doc/howto/sorting.rst:68
msgid ""
"The same technique works for objects with named attributes. For example:"
msgstr ""
"La même technique marche pour des objets avec des attributs nommés. Par "
"exemple :"
#: ../Doc/howto/sorting.rst:87
msgid "Operator Module Functions"
msgstr ""
msgstr "Fonctions du module *operator*"
#: ../Doc/howto/sorting.rst:89
msgid ""
@ -109,20 +143,29 @@ msgid ""
"`operator` module has :func:`~operator.itemgetter`, :func:`~operator."
"attrgetter`, and a :func:`~operator.methodcaller` function."
msgstr ""
"Les fonctions clef utilisées ci-dessus sont courantes, donc Python fournit "
"des fonctions permettant de rendre plus simple et plus rapide l'usage des "
"fonctions d'accesseur. Le module :mod:`operator` contient les fonctions :"
"func:`~operator.itemgetter`, :func:`~operator.attrgetter`, et :func:"
"`~operator.methodcaller`."
#: ../Doc/howto/sorting.rst:94
msgid "Using those functions, the above examples become simpler and faster:"
msgstr ""
"En utilisant ces fonctions, les exemples au dessus deviennent plus simples "
"et plus rapides :"
#: ../Doc/howto/sorting.rst:104
msgid ""
"The operator module functions allow multiple levels of sorting. For example, "
"to sort by *grade* then by *age*:"
msgstr ""
"Les fonctions du module *operator* permettent plusieurs niveaux de tri. Par "
"exemple, pour trier par *grade* puis par *age* :"
#: ../Doc/howto/sorting.rst:114
msgid "Ascending and Descending"
msgstr ""
msgstr "Ascendant et descendant"
#: ../Doc/howto/sorting.rst:116
msgid ""
@ -130,10 +173,14 @@ msgid ""
"a boolean value. This is used to flag descending sorts. For example, to get "
"the student data in reverse *age* order:"
msgstr ""
":meth:`list.sort` and :func:`sorted` acceptent un paramètre nommé *reverse* "
"avec une valeur booléenne. C'est utilisé pour déterminer l'ordre descendant "
"des tris. Par exemple, pour avoir les données des étudiants dans l'ordre "
"inverse par *age* :"
#: ../Doc/howto/sorting.rst:127
msgid "Sort Stability and Complex Sorts"
msgstr ""
msgstr "Stabilité des tris et tris complexes"
#: ../Doc/howto/sorting.rst:129
msgid ""
@ -141,12 +188,18 @@ msgid ""
"Sorting_algorithm#Stability>`_\\. That means that when multiple records have "
"the same key, their original order is preserved."
msgstr ""
"Les tris sont garantis `stables <https://fr.wikipedia.org/wiki/"
"Algorithme_de_tri#Caract.C3.A8re_stable>`_\\. Cela signifie que lorsque "
"plusieurs enregistrements on la même clef, leur ordre original est préservé."
#: ../Doc/howto/sorting.rst:137
msgid ""
"Notice how the two records for *blue* retain their original order so that "
"``('blue', 1)`` is guaranteed to precede ``('blue', 2)``."
msgstr ""
"Notez comme les deux enregistrements pour *blue* gardent leur ordre original "
"et que par conséquent il est garanti que ``('blue', 1)`` précède ``('blue', "
"2)``."
#: ../Doc/howto/sorting.rst:140
msgid ""
@ -154,6 +207,10 @@ msgid ""
"steps. For example, to sort the student data by descending *grade* and then "
"ascending *age*, do the *age* sort first and then sort again using *grade*:"
msgstr ""
"Cette propriété fantastique vous permet de construire des tris complexes "
"dans des tris en plusieurs étapes. Par exemple, afin de sortir les données "
"des étudiants en ordre descendant par *grade* puis en ordre ascendant par "
"*age*, effectuez un tri par *age* en premier puis un second tri par *grade* :"
#: ../Doc/howto/sorting.rst:148
msgid ""
@ -161,35 +218,46 @@ msgid ""
"Python does multiple sorts efficiently because it can take advantage of any "
"ordering already present in a dataset."
msgstr ""
"L'algorithme `Timsort <https://fr.wikipedia.org/wiki/Timsort>`_ utilisé dans "
"Python effectue de multiples tris efficacement parce qu'il peut tirer "
"avantage de n'importe quel ordre de existant dans un jeu de données."
#: ../Doc/howto/sorting.rst:153
msgid "The Old Way Using Decorate-Sort-Undecorate"
msgstr ""
msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate"
#: ../Doc/howto/sorting.rst:155
msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:"
msgstr ""
"Cette technique est appelée Decorate-Sort-Undecorate et se base sur trois "
"étapes :"
#: ../Doc/howto/sorting.rst:157
msgid ""
"First, the initial list is decorated with new values that control the sort "
"order."
msgstr ""
"Premièrement, la liste de départ est décorée avec les nouvelles valeurs qui "
"contrôlent l'ordre du tri."
#: ../Doc/howto/sorting.rst:159
msgid "Second, the decorated list is sorted."
msgstr ""
msgstr "En second lieu, la liste décorée est triée."
#: ../Doc/howto/sorting.rst:161
msgid ""
"Finally, the decorations are removed, creating a list that contains only the "
"initial values in the new order."
msgstr ""
"Enfin, la décoration est supprimée, créant ainsi une liste qui contient "
"seulement la valeur initiale dans le nouvel ordre."
#: ../Doc/howto/sorting.rst:164
msgid ""
"For example, to sort the student data by *grade* using the DSU approach:"
msgstr ""
"Par exemple, pour trier les données étudiant par *grade* en utilisant "
"l'approche DSU :"
#: ../Doc/howto/sorting.rst:171
msgid ""
@ -197,18 +265,25 @@ msgid ""
"items are compared; if they are the same then the second items are compared, "
"and so on."
msgstr ""
"Cette technique marche parsce que les tuples sont comparés par ordre "
"lexicographique; les premiers objets sont comparés; si il y a des objets "
"identiques, alors l'objet suivant est comparé, et ainsi de suite."
#: ../Doc/howto/sorting.rst:175
msgid ""
"It is not strictly necessary in all cases to include the index *i* in the "
"decorated list, but including it gives two benefits:"
msgstr ""
"Il n'est pas strictement nécessaire dans tous les cas dinclure l'indice *i* "
"dans la liste décorée, mais l'inclure donne deux avantages :"
#: ../Doc/howto/sorting.rst:178
msgid ""
"The sort is stable -- if two items have the same key, their order will be "
"preserved in the sorted list."
msgstr ""
"Le tri est stable -- si deux objets on la même clef, leur ordre sera "
"préservé dans la liste triée."
#: ../Doc/howto/sorting.rst:181
msgid ""
@ -217,6 +292,10 @@ msgid ""
"example the original list could contain complex numbers which cannot be "
"sorted directly."
msgstr ""
"Les objets d'origine ne sont pas nécessairement comparables car l'ordre des "
"tuples décorés sera déterminé par au plus les deux premiers objets. Donc par "
"exemple la liste originale pourrait contenir des nombres complexes qui "
"pourraient ne pas être triés directement."
#: ../Doc/howto/sorting.rst:186
msgid ""
@ -224,16 +303,21 @@ msgid ""
"org/wiki/Schwartzian_transform>`_\\, after Randal L. Schwartz, who "
"popularized it among Perl programmers."
msgstr ""
"Un autre nom pour cette technique est `Schwartzian transform <https://en."
"wikipedia.org/wiki/Schwartzian_transform>`_\\, après que Randal L. Schwartz "
"l'ait popularisé chez les développeurs Perl."
#: ../Doc/howto/sorting.rst:190
msgid ""
"Now that Python sorting provides key-functions, this technique is not often "
"needed."
msgstr ""
"Maintenant que le tri Python fournit des fonctions-clef, cette technique "
"n'est plus souvent utilisée."
#: ../Doc/howto/sorting.rst:194
msgid "The Old Way Using the *cmp* Parameter"
msgstr ""
msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*"
#: ../Doc/howto/sorting.rst:196
msgid ""
@ -242,6 +326,11 @@ msgid ""
"arguments. Instead, all of the Py2.x versions supported a *cmp* parameter to "
"handle user specified comparison functions."
msgstr ""
"Plusieurs construction données dans ce guide se basent sur Python 2.4 ou "
"plus. Avant cela, il n'y avait pas la fonction :func:`sorted` et la méthode :"
"meth:`list.sort` ne prenait pas d'arguments nommés. À la place, toutes les "
"versions Py2.x utilisaient un paramètre *cmp* pour prendre en charge les "
"fonctions de comparaisons définies par les utilisateurs."
#: ../Doc/howto/sorting.rst:201
msgid ""
@ -249,6 +338,9 @@ msgid ""
"effort to simplify and unify the language, eliminating the conflict between "
"rich comparisons and the :meth:`__cmp__` magic method)."
msgstr ""
"En Py3.0, le paramètre *cmp* à été supprimé complètement (dans le cadre d'un "
"effort plus général pour simplifier et unifier le langage, en éliminant le "
"conflit entre les comparaisons riches et la méthode magique :meth:`__cmp__`)."
#: ../Doc/howto/sorting.rst:205
msgid ""
@ -257,10 +349,15 @@ msgid ""
"then return a negative value for less-than, return zero if they are equal, "
"or return a positive value for greater-than. For example, we can do:"
msgstr ""
"En Py2.x, le tri permettait en paramètre une fonction optionnelle qui peut "
"être appelée pour faire des comparaisons. Cette fonction devrait prendre "
"deux arguments à comparer pour renvoyer une valeur négative pour inférieur-"
"à, renvoyer zéro si ils sont égaux, ou renvoyer une valeur positive pour "
"supérieur-à. Par exemple, nous pouvons faire :"
#: ../Doc/howto/sorting.rst:215
msgid "Or you can reverse the order of comparison with:"
msgstr ""
msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :"
#: ../Doc/howto/sorting.rst:222
msgid ""
@ -268,26 +365,36 @@ msgid ""
"have the user supplying a comparison function and you need to convert that "
"to a key function. The following wrapper makes that easy to do::"
msgstr ""
"En portant du code depuis Python 2.X vers 3.x, des problèmes peuvent "
"survenir quand des utilisateurs fournissent une fonction de comparaison et "
"qu'il faut convertir cette fonction en une fonction-clef. La fonction "
"d'encapsulation suivante rend cela plus facile à faire : ::"
#: ../Doc/howto/sorting.rst:245
msgid "To convert to a key function, just wrap the old comparison function:"
msgstr ""
"Pour convertir une fonction clef, ils suffit d'encapsuler l'ancienne "
"fonction de comparaison :"
#: ../Doc/howto/sorting.rst:256
msgid ""
"In Python 3.2, the :func:`functools.cmp_to_key` function was added to the :"
"mod:`functools` module in the standard library."
msgstr ""
"En Python 3.2, la fonction :func:`functools.cmp_to_key` à été ajoutée au "
"module :mod:`functools` dans la librairie standard."
#: ../Doc/howto/sorting.rst:260
msgid "Odd and Ends"
msgstr ""
msgstr "Curiosités et conclusion"
#: ../Doc/howto/sorting.rst:262
msgid ""
"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :"
"func:`locale.strcoll` for a comparison function."
msgstr ""
"Pour du tri de texte localisé, utilisez :func:`locale.strxfrm` en tant que "
"fonction clef ou :func:`locale.strcoll` comme fonction de comparaison."
#: ../Doc/howto/sorting.rst:265
msgid ""
@ -296,6 +403,10 @@ msgid ""
"simulated without the parameter by using the builtin :func:`reversed` "
"function twice:"
msgstr ""
"Le paramètre *reverse* maintient toujours un tri stable (de telle sorte que "
"les enregistrements avec des clef égales gardent le même ordre). Notez que "
"cet effet peut être simulé sans le paramètre en utilisant la fonction "
"native :func:`reversed` deux fois :"
#: ../Doc/howto/sorting.rst:277
msgid ""
@ -303,6 +414,10 @@ msgid ""
"comparisons between two objects. So, it is easy to add a standard sort order "
"to a class by defining an :meth:`__lt__` method::"
msgstr ""
"Il est garanti que les routines de tri utilisent les méthodes :meth:`__lt__` "
"lorsqu'elles effectuent des comparaisons entre deux objets. Donc il est "
"facile d'ajouter un ordre de tri standard à une classe en définissant sa "
"méthode :meth:`__lt__` : ::"
#: ../Doc/howto/sorting.rst:285
msgid ""
@ -311,6 +426,8 @@ msgid ""
"grades are stored in a dictionary, they can be used to sort a separate list "
"of student names:"
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"
"Les fonctions clef n'ont pas besoin de dépendre directement des objets "
"triés. Une fonction clef peut aussi accéder à des ressources externes. En "
"l'occurrence, si les grades des étudiants sont stockés dans un dictionnaire, "
"ils peuvent être utilisés pour trier une liste différentes de noms "
"d'étudiants :"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Unicode HOWTO"
msgstr ""
#: ../Doc/howto/unicode.rst:0
msgid "Release"
msgstr "Version"
#: ../Doc/howto/unicode.rst:7
msgid "1.12"
msgstr ""
@ -61,16 +65,16 @@ msgstr ""
msgid ""
"For a while people just wrote programs that didn't display accents. In the "
"mid-1980s an Apple II BASIC program written by a French speaker might have "
"lines like these::"
"lines like these:"
msgstr ""
#: ../Doc/howto/unicode.rst:38
#: ../Doc/howto/unicode.rst:40
msgid ""
"Those messages should contain accents (terminée, paramètre, enregistrés) and "
"they just look wrong to someone who can read French."
msgstr ""
#: ../Doc/howto/unicode.rst:41
#: ../Doc/howto/unicode.rst:43
msgid ""
"In the 1980s, almost all personal computers were 8-bit, meaning that bytes "
"could hold values ranging from 0 to 255. ASCII codes only went up to 127, "
@ -83,7 +87,7 @@ msgid ""
"catch on."
msgstr ""
#: ../Doc/howto/unicode.rst:50
#: ../Doc/howto/unicode.rst:52
msgid ""
"255 characters aren't very many. For example, you can't fit both the "
"accented characters used in Western Europe and the Cyrillic alphabet used "
@ -91,7 +95,7 @@ msgid ""
"characters."
msgstr ""
#: ../Doc/howto/unicode.rst:54
#: ../Doc/howto/unicode.rst:56
msgid ""
"You could write files using different codes (all your Russian files in a "
"coding system called KOI8, all your French files in a different coding "
@ -100,7 +104,7 @@ msgid ""
"this problem, and the Unicode standardization effort began."
msgstr ""
#: ../Doc/howto/unicode.rst:60
#: ../Doc/howto/unicode.rst:62
msgid ""
"Unicode started out using 16-bit characters instead of 8-bit characters. 16 "
"bits means you have 2^16 = 65,536 distinct values available, making it "
@ -111,14 +115,14 @@ msgid ""
"codes, 0 through 1,114,111 ( ``0x10FFFF`` in base 16)."
msgstr ""
#: ../Doc/howto/unicode.rst:68
#: ../Doc/howto/unicode.rst:70
msgid ""
"There's a related ISO standard, ISO 10646. Unicode and ISO 10646 were "
"originally separate efforts, but the specifications were merged with the 1.1 "
"revision of Unicode."
msgstr ""
#: ../Doc/howto/unicode.rst:72
#: ../Doc/howto/unicode.rst:74
msgid ""
"(This discussion of Unicode's history is highly simplified. The precise "
"historical details aren't necessary for understanding how to use Unicode "
@ -127,11 +131,11 @@ msgid ""
"wikipedia.org/wiki/Unicode#History>`_ for more information.)"
msgstr ""
#: ../Doc/howto/unicode.rst:81
#: ../Doc/howto/unicode.rst:83
msgid "Definitions"
msgstr ""
#: ../Doc/howto/unicode.rst:83
#: ../Doc/howto/unicode.rst:85
msgid ""
"A **character** is the smallest possible component of a text. 'A', 'B', "
"'C', etc., are all different characters. So are 'È' and 'Í'. Characters "
@ -142,7 +146,7 @@ msgid ""
"different meanings."
msgstr ""
#: ../Doc/howto/unicode.rst:91
#: ../Doc/howto/unicode.rst:93
msgid ""
"The Unicode standard describes how characters are represented by **code "
"points**. A code point is an integer value, usually denoted in base 16. In "
@ -152,7 +156,7 @@ msgid ""
"points:"
msgstr ""
#: ../Doc/howto/unicode.rst:105
#: ../Doc/howto/unicode.rst:107
msgid ""
"Strictly, these definitions imply that it's meaningless to say 'this is "
"character ``U+12CA``'. ``U+12CA`` is a code point, which represents some "
@ -161,7 +165,7 @@ msgid ""
"and characters will sometimes be forgotten."
msgstr ""
#: ../Doc/howto/unicode.rst:111
#: ../Doc/howto/unicode.rst:113
msgid ""
"A character is represented on a screen or on paper by a set of graphical "
"elements that's called a **glyph**. The glyph for an uppercase A, for "
@ -171,11 +175,11 @@ msgid ""
"generally the job of a GUI toolkit or a terminal's font renderer."
msgstr ""
#: ../Doc/howto/unicode.rst:120
#: ../Doc/howto/unicode.rst:122
msgid "Encodings"
msgstr ""
#: ../Doc/howto/unicode.rst:122
#: ../Doc/howto/unicode.rst:124
msgid ""
"To summarize the previous section: a Unicode string is a sequence of code "
"points, which are numbers from 0 through ``0x10FFFF`` (1,114,111 decimal). "
@ -184,23 +188,23 @@ msgid ""
"into a sequence of bytes are called an **encoding**."
msgstr ""
#: ../Doc/howto/unicode.rst:128
#: ../Doc/howto/unicode.rst:130
msgid ""
"The first encoding you might think of is an array of 32-bit integers. In "
"this representation, the string \"Python\" would look like this:"
msgstr ""
#: ../Doc/howto/unicode.rst:137
#: ../Doc/howto/unicode.rst:139
msgid ""
"This representation is straightforward but using it presents a number of "
"problems."
msgstr ""
#: ../Doc/howto/unicode.rst:140
#: ../Doc/howto/unicode.rst:142
msgid "It's not portable; different processors order the bytes differently."
msgstr ""
#: ../Doc/howto/unicode.rst:142
#: ../Doc/howto/unicode.rst:144
msgid ""
"It's very wasteful of space. In most texts, the majority of the code points "
"are less than 127, or less than 255, so a lot of space is occupied by "
@ -211,46 +215,46 @@ msgid ""
"factor of 4 is intolerable."
msgstr ""
#: ../Doc/howto/unicode.rst:150
#: ../Doc/howto/unicode.rst:152
msgid ""
"It's not compatible with existing C functions such as ``strlen()``, so a new "
"family of wide string functions would need to be used."
msgstr ""
#: ../Doc/howto/unicode.rst:153
#: ../Doc/howto/unicode.rst:155
msgid ""
"Many Internet standards are defined in terms of textual data, and can't "
"handle content with embedded zero bytes."
msgstr ""
#: ../Doc/howto/unicode.rst:156
#: ../Doc/howto/unicode.rst:158
msgid ""
"Generally people don't use this encoding, instead choosing other encodings "
"that are more efficient and convenient. UTF-8 is probably the most commonly "
"supported encoding; it will be discussed below."
msgstr ""
#: ../Doc/howto/unicode.rst:160
#: ../Doc/howto/unicode.rst:162
msgid ""
"Encodings don't have to handle every possible Unicode character, and most "
"encodings don't. The rules for converting a Unicode string into the ASCII "
"encoding, for example, are simple; for each code point:"
msgstr ""
#: ../Doc/howto/unicode.rst:164
#: ../Doc/howto/unicode.rst:166
msgid ""
"If the code point is < 128, each byte is the same as the value of the code "
"point."
msgstr ""
#: ../Doc/howto/unicode.rst:167
#: ../Doc/howto/unicode.rst:169
msgid ""
"If the code point is 128 or greater, the Unicode string can't be represented "
"in this encoding. (Python raises a :exc:`UnicodeEncodeError` exception in "
"this case.)"
msgstr ""
#: ../Doc/howto/unicode.rst:171
#: ../Doc/howto/unicode.rst:173
msgid ""
"Latin-1, also known as ISO-8859-1, is a similar encoding. Unicode code "
"points 0--255 are identical to the Latin-1 values, so converting to this "
@ -259,7 +263,7 @@ msgid ""
"Latin-1."
msgstr ""
#: ../Doc/howto/unicode.rst:176
#: ../Doc/howto/unicode.rst:178
msgid ""
"Encodings don't have to be simple one-to-one mappings like Latin-1. "
"Consider IBM's EBCDIC, which was used on IBM mainframes. Letter values "
@ -269,7 +273,7 @@ msgid ""
"conversion, but this is largely an internal detail."
msgstr ""
#: ../Doc/howto/unicode.rst:183
#: ../Doc/howto/unicode.rst:185
msgid ""
"UTF-8 is one of the most commonly used encodings. UTF stands for \"Unicode "
"Transformation Format\", and the '8' means that 8-bit numbers are used in "
@ -277,26 +281,26 @@ msgid ""
"less frequently used than UTF-8.) UTF-8 uses the following rules:"
msgstr ""
#: ../Doc/howto/unicode.rst:188
#: ../Doc/howto/unicode.rst:190
msgid ""
"If the code point is < 128, it's represented by the corresponding byte value."
msgstr ""
#: ../Doc/howto/unicode.rst:189
#: ../Doc/howto/unicode.rst:191
msgid ""
"If the code point is >= 128, it's turned into a sequence of two, three, or "
"four bytes, where each byte of the sequence is between 128 and 255."
msgstr ""
#: ../Doc/howto/unicode.rst:192
#: ../Doc/howto/unicode.rst:194
msgid "UTF-8 has several convenient properties:"
msgstr ""
#: ../Doc/howto/unicode.rst:194
#: ../Doc/howto/unicode.rst:196
msgid "It can handle any Unicode code point."
msgstr ""
#: ../Doc/howto/unicode.rst:195
#: ../Doc/howto/unicode.rst:197
msgid ""
"A Unicode string is turned into a sequence of bytes containing no embedded "
"zero bytes. This avoids byte-ordering issues, and means UTF-8 strings can "
@ -304,29 +308,29 @@ msgid ""
"that can't handle zero bytes."
msgstr ""
#: ../Doc/howto/unicode.rst:199
#: ../Doc/howto/unicode.rst:201
msgid "A string of ASCII text is also valid UTF-8 text."
msgstr ""
#: ../Doc/howto/unicode.rst:200
#: ../Doc/howto/unicode.rst:202
msgid ""
"UTF-8 is fairly compact; the majority of commonly used characters can be "
"represented with one or two bytes."
msgstr ""
#: ../Doc/howto/unicode.rst:202
#: ../Doc/howto/unicode.rst:204
msgid ""
"If bytes are corrupted or lost, it's possible to determine the start of the "
"next UTF-8-encoded code point and resynchronize. It's also unlikely that "
"random 8-bit data will look like valid UTF-8."
msgstr ""
#: ../Doc/howto/unicode.rst:209 ../Doc/howto/unicode.rst:483
#: ../Doc/howto/unicode.rst:703
#: ../Doc/howto/unicode.rst:211 ../Doc/howto/unicode.rst:485
#: ../Doc/howto/unicode.rst:705
msgid "References"
msgstr ""
#: ../Doc/howto/unicode.rst:211
#: ../Doc/howto/unicode.rst:213
msgid ""
"The `Unicode Consortium site <http://www.unicode.org>`_ has character "
"charts, a glossary, and PDF versions of the Unicode specification. Be "
@ -335,14 +339,14 @@ msgid ""
"the site."
msgstr ""
#: ../Doc/howto/unicode.rst:216
#: ../Doc/howto/unicode.rst:218
msgid ""
"To help understand the standard, Jukka Korpela has written `an introductory "
"guide <https://www.cs.tut.fi/~jkorpela/unicode/guide.html>`_ to reading the "
"Unicode character tables."
msgstr ""
#: ../Doc/howto/unicode.rst:220
#: ../Doc/howto/unicode.rst:222
msgid ""
"Another `good introductory article <http://www.joelonsoftware.com/articles/"
"Unicode.html>`_ was written by Joel Spolsky. If this introduction didn't "
@ -350,28 +354,28 @@ msgid ""
"before continuing."
msgstr ""
#: ../Doc/howto/unicode.rst:225
#: ../Doc/howto/unicode.rst:227
msgid ""
"Wikipedia entries are often helpful; see the entries for \"`character "
"encoding <https://en.wikipedia.org/wiki/Character_encoding>`_\" and `UTF-8 "
"<https://en.wikipedia.org/wiki/UTF-8>`_, for example."
msgstr ""
#: ../Doc/howto/unicode.rst:231
#: ../Doc/howto/unicode.rst:233
msgid "Python's Unicode Support"
msgstr ""
#: ../Doc/howto/unicode.rst:233
#: ../Doc/howto/unicode.rst:235
msgid ""
"Now that you've learned the rudiments of Unicode, we can look at Python's "
"Unicode features."
msgstr ""
#: ../Doc/howto/unicode.rst:237
#: ../Doc/howto/unicode.rst:239
msgid "The String Type"
msgstr ""
#: ../Doc/howto/unicode.rst:239
#: ../Doc/howto/unicode.rst:241
msgid ""
"Since Python 3.0, the language features a :class:`str` type that contain "
"Unicode characters, meaning any string created using ``\"unicode rocks!\"``, "
@ -379,24 +383,24 @@ msgid ""
"Unicode."
msgstr ""
#: ../Doc/howto/unicode.rst:243
#: ../Doc/howto/unicode.rst:245
msgid ""
"The default encoding for Python source code is UTF-8, so you can simply "
"include a Unicode character in a string literal::"
msgstr ""
#: ../Doc/howto/unicode.rst:253
#: ../Doc/howto/unicode.rst:255
msgid ""
"You can use a different encoding from UTF-8 by putting a specially-formatted "
"comment as the first or second line of the source code::"
msgstr ""
#: ../Doc/howto/unicode.rst:258
#: ../Doc/howto/unicode.rst:260
msgid ""
"Side note: Python 3 also supports using Unicode characters in identifiers::"
msgstr ""
#: ../Doc/howto/unicode.rst:264
#: ../Doc/howto/unicode.rst:266
msgid ""
"If you can't enter a particular character in your editor or want to keep the "
"source code ASCII-only for some reason, you can also use escape sequences in "
@ -404,14 +408,14 @@ msgid ""
"delta glyph instead of a \\u escape.) ::"
msgstr ""
#: ../Doc/howto/unicode.rst:276
#: ../Doc/howto/unicode.rst:278
msgid ""
"In addition, one can create a string using the :func:`~bytes.decode` method "
"of :class:`bytes`. This method takes an *encoding* argument, such as "
"``UTF-8``, and optionally an *errors* argument."
msgstr ""
#: ../Doc/howto/unicode.rst:280
#: ../Doc/howto/unicode.rst:282
msgid ""
"The *errors* argument specifies the response when the input string can't be "
"converted according to the encoding's rules. Legal values for this argument "
@ -422,7 +426,7 @@ msgid ""
"examples show the differences::"
msgstr ""
#: ../Doc/howto/unicode.rst:300
#: ../Doc/howto/unicode.rst:302
msgid ""
"Encodings are specified as strings containing the encoding's name. Python "
"3.2 comes with roughly 100 different encodings; see the Python Library "
@ -431,7 +435,7 @@ msgid ""
"are all synonyms for the same encoding."
msgstr ""
#: ../Doc/howto/unicode.rst:306
#: ../Doc/howto/unicode.rst:308
msgid ""
"One-character Unicode strings can also be created with the :func:`chr` built-"
"in function, which takes integers and returns a Unicode string of length 1 "
@ -440,18 +444,18 @@ msgid ""
"returns the code point value::"
msgstr ""
#: ../Doc/howto/unicode.rst:318
#: ../Doc/howto/unicode.rst:320
msgid "Converting to Bytes"
msgstr ""
#: ../Doc/howto/unicode.rst:320
#: ../Doc/howto/unicode.rst:322
msgid ""
"The opposite method of :meth:`bytes.decode` is :meth:`str.encode`, which "
"returns a :class:`bytes` representation of the Unicode string, encoded in "
"the requested *encoding*."
msgstr ""
#: ../Doc/howto/unicode.rst:324
#: ../Doc/howto/unicode.rst:326
msgid ""
"The *errors* parameter is the same as the parameter of the :meth:`~bytes."
"decode` method but supports a few more possible handlers. As well as "
@ -462,11 +466,11 @@ msgid ""
"``namereplace`` (inserts a ``\\N{...}`` escape sequence)."
msgstr ""
#: ../Doc/howto/unicode.rst:332
#: ../Doc/howto/unicode.rst:334
msgid "The following example shows the different results::"
msgstr ""
#: ../Doc/howto/unicode.rst:353
#: ../Doc/howto/unicode.rst:355
msgid ""
"The low-level routines for registering and accessing the available encodings "
"are found in the :mod:`codecs` module. Implementing new encodings also "
@ -476,11 +480,11 @@ msgid ""
"module won't be covered in this HOWTO."
msgstr ""
#: ../Doc/howto/unicode.rst:362
#: ../Doc/howto/unicode.rst:364
msgid "Unicode Literals in Python Source Code"
msgstr ""
#: ../Doc/howto/unicode.rst:364
#: ../Doc/howto/unicode.rst:366
msgid ""
"In Python source code, specific Unicode code points can be written using the "
"``\\u`` escape sequence, which is followed by four hex digits giving the "
@ -488,7 +492,7 @@ msgid ""
"digits, not four::"
msgstr ""
#: ../Doc/howto/unicode.rst:376
#: ../Doc/howto/unicode.rst:378
msgid ""
"Using escape sequences for code points greater than 127 is fine in small "
"doses, but becomes an annoyance if you're using many accented characters, as "
@ -497,7 +501,7 @@ msgid ""
"function, but this is even more tedious."
msgstr ""
#: ../Doc/howto/unicode.rst:382
#: ../Doc/howto/unicode.rst:384
msgid ""
"Ideally, you'd want to be able to write literals in your language's natural "
"encoding. You could then edit Python source code with your favorite editor "
@ -505,7 +509,7 @@ msgid ""
"characters used at runtime."
msgstr ""
#: ../Doc/howto/unicode.rst:387
#: ../Doc/howto/unicode.rst:389
msgid ""
"Python supports writing source code in UTF-8 by default, but you can use "
"almost any encoding if you declare the encoding being used. This is done by "
@ -513,7 +517,7 @@ msgid ""
"file::"
msgstr ""
#: ../Doc/howto/unicode.rst:397
#: ../Doc/howto/unicode.rst:399
msgid ""
"The syntax is inspired by Emacs's notation for specifying variables local to "
"a file. Emacs supports many different variables, but Python only supports "
@ -522,17 +526,17 @@ msgid ""
"looks for ``coding: name`` or ``coding=name`` in the comment."
msgstr ""
#: ../Doc/howto/unicode.rst:403
#: ../Doc/howto/unicode.rst:405
msgid ""
"If you don't include such a comment, the default encoding used will be UTF-8 "
"as already mentioned. See also :pep:`263` for more information."
msgstr ""
#: ../Doc/howto/unicode.rst:408
#: ../Doc/howto/unicode.rst:410
msgid "Unicode Properties"
msgstr ""
#: ../Doc/howto/unicode.rst:410
#: ../Doc/howto/unicode.rst:412
msgid ""
"The Unicode specification includes a database of information about code "
"points. For each defined code point, the information includes the "
@ -542,17 +546,17 @@ msgid ""
"in bidirectional text and other display-related properties."
msgstr ""
#: ../Doc/howto/unicode.rst:417
#: ../Doc/howto/unicode.rst:419
msgid ""
"The following program displays some information about several characters, "
"and prints the numeric value of one particular character::"
msgstr ""
#: ../Doc/howto/unicode.rst:431
#: ../Doc/howto/unicode.rst:433
msgid "When run, this prints:"
msgstr ""
#: ../Doc/howto/unicode.rst:442
#: ../Doc/howto/unicode.rst:444
msgid ""
"The category codes are abbreviations describing the nature of the character. "
"These are grouped into categories such as \"Letter\", \"Number\", "
@ -565,11 +569,11 @@ msgid ""
"codes."
msgstr ""
#: ../Doc/howto/unicode.rst:453
#: ../Doc/howto/unicode.rst:455
msgid "Unicode Regular Expressions"
msgstr ""
#: ../Doc/howto/unicode.rst:455
#: ../Doc/howto/unicode.rst:457
msgid ""
"The regular expressions supported by the :mod:`re` module can be provided "
"either as bytes or strings. Some of the special character sequences such as "
@ -579,57 +583,57 @@ msgid ""
"in the ``'Nd'`` category."
msgstr ""
#: ../Doc/howto/unicode.rst:462
#: ../Doc/howto/unicode.rst:464
msgid ""
"The string in this example has the number 57 written in both Thai and Arabic "
"numerals::"
msgstr ""
#: ../Doc/howto/unicode.rst:472
#: ../Doc/howto/unicode.rst:474
msgid ""
"When executed, ``\\d+`` will match the Thai numerals and print them out. If "
"you supply the :const:`re.ASCII` flag to :func:`~re.compile`, ``\\d+`` will "
"match the substring \"57\" instead."
msgstr ""
#: ../Doc/howto/unicode.rst:476
#: ../Doc/howto/unicode.rst:478
msgid ""
"Similarly, ``\\w`` matches a wide variety of Unicode characters but only "
"``[a-zA-Z0-9_]`` in bytes or if :const:`re.ASCII` is supplied, and ``\\s`` "
"will match either Unicode whitespace characters or ``[ \\t\\n\\r\\f\\v]``."
msgstr ""
#: ../Doc/howto/unicode.rst:487
#: ../Doc/howto/unicode.rst:489
msgid "Some good alternative discussions of Python's Unicode support are:"
msgstr ""
#: ../Doc/howto/unicode.rst:489
#: ../Doc/howto/unicode.rst:491
msgid ""
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency."
"org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan."
msgstr ""
#: ../Doc/howto/unicode.rst:490
#: ../Doc/howto/unicode.rst:492
msgid ""
"`Pragmatic Unicode <http://nedbatchelder.com/text/unipain.html>`_, a PyCon "
"2012 presentation by Ned Batchelder."
msgstr ""
#: ../Doc/howto/unicode.rst:492
#: ../Doc/howto/unicode.rst:494
msgid ""
"The :class:`str` type is described in the Python library reference at :ref:"
"`textseq`."
msgstr ""
#: ../Doc/howto/unicode.rst:495
#: ../Doc/howto/unicode.rst:497
msgid "The documentation for the :mod:`unicodedata` module."
msgstr ""
#: ../Doc/howto/unicode.rst:497
#: ../Doc/howto/unicode.rst:499
msgid "The documentation for the :mod:`codecs` module."
msgstr ""
#: ../Doc/howto/unicode.rst:499
#: ../Doc/howto/unicode.rst:501
msgid ""
"Marc-André Lemburg gave `a presentation titled \"Python and Unicode\" (PDF "
"slides) <https://downloads.egenix.com/python/Unicode-EPC2002-Talk.pdf>`_ at "
@ -638,18 +642,18 @@ msgid ""
"``unicode`` and literals start with ``u``)."
msgstr ""
#: ../Doc/howto/unicode.rst:507
#: ../Doc/howto/unicode.rst:509
msgid "Reading and Writing Unicode Data"
msgstr ""
#: ../Doc/howto/unicode.rst:509
#: ../Doc/howto/unicode.rst:511
msgid ""
"Once you've written some code that works with Unicode data, the next problem "
"is input/output. How do you get Unicode strings into your program, and how "
"do you convert Unicode into a form suitable for storage or transmission?"
msgstr ""
#: ../Doc/howto/unicode.rst:513
#: ../Doc/howto/unicode.rst:515
msgid ""
"It's possible that you may not need to do anything depending on your input "
"sources and output destinations; you should check whether the libraries used "
@ -658,7 +662,7 @@ msgid ""
"valued columns and can return Unicode values from an SQL query."
msgstr ""
#: ../Doc/howto/unicode.rst:519
#: ../Doc/howto/unicode.rst:521
msgid ""
"Unicode data is usually converted to a particular encoding before it gets "
"written to disk or sent over a socket. It's possible to do all the work "
@ -667,7 +671,7 @@ msgid ""
"recommended."
msgstr ""
#: ../Doc/howto/unicode.rst:524
#: ../Doc/howto/unicode.rst:526
msgid ""
"One problem is the multi-byte nature of encodings; one Unicode character can "
"be represented by several bytes. If you want to read the file in arbitrary-"
@ -681,7 +685,7 @@ msgid ""
"version in memory.)"
msgstr ""
#: ../Doc/howto/unicode.rst:534
#: ../Doc/howto/unicode.rst:536
msgid ""
"The solution would be to use the low-level decoding interface to catch the "
"case of partial coding sequences. The work of implementing this has already "
@ -693,17 +697,17 @@ msgid ""
"meth:`str.encode` and :meth:`bytes.decode`."
msgstr ""
#: ../Doc/howto/unicode.rst:543
#: ../Doc/howto/unicode.rst:545
msgid "Reading Unicode from a file is therefore simple::"
msgstr ""
#: ../Doc/howto/unicode.rst:549
#: ../Doc/howto/unicode.rst:551
msgid ""
"It's also possible to open files in update mode, allowing both reading and "
"writing::"
msgstr ""
#: ../Doc/howto/unicode.rst:557
#: ../Doc/howto/unicode.rst:559
msgid ""
"The Unicode character ``U+FEFF`` is used as a byte-order mark (BOM), and is "
"often written as the first character of a file in order to assist with "
@ -716,7 +720,7 @@ msgid ""
"the BOM."
msgstr ""
#: ../Doc/howto/unicode.rst:566
#: ../Doc/howto/unicode.rst:568
msgid ""
"In some areas, it is also convention to use a \"BOM\" at the start of UTF-8 "
"encoded files; the name is misleading since UTF-8 is not byte-order "
@ -725,11 +729,11 @@ msgid ""
"such files."
msgstr ""
#: ../Doc/howto/unicode.rst:574
#: ../Doc/howto/unicode.rst:576
msgid "Unicode filenames"
msgstr ""
#: ../Doc/howto/unicode.rst:576
#: ../Doc/howto/unicode.rst:578
msgid ""
"Most of the operating systems in common use today support filenames that "
"contain arbitrary Unicode characters. Usually this is implemented by "
@ -741,7 +745,7 @@ msgid ""
"environment variables; if you haven't, the default encoding is UTF-8."
msgstr ""
#: ../Doc/howto/unicode.rst:585
#: ../Doc/howto/unicode.rst:587
msgid ""
"The :func:`sys.getfilesystemencoding` function returns the encoding to use "
"on your current system, in case you want to do the encoding manually, but "
@ -750,13 +754,13 @@ msgid ""
"and it will be automatically converted to the right encoding for you::"
msgstr ""
#: ../Doc/howto/unicode.rst:595
#: ../Doc/howto/unicode.rst:597
msgid ""
"Functions in the :mod:`os` module such as :func:`os.stat` will also accept "
"Unicode filenames."
msgstr ""
#: ../Doc/howto/unicode.rst:598
#: ../Doc/howto/unicode.rst:600
msgid ""
"The :func:`os.listdir` function returns filenames and raises an issue: "
"should it return the Unicode version of filenames, or should it return bytes "
@ -769,44 +773,44 @@ msgid ""
"program::"
msgstr ""
#: ../Doc/howto/unicode.rst:616
#: ../Doc/howto/unicode.rst:618
msgid "will produce the following output:"
msgstr ""
#: ../Doc/howto/unicode.rst:624
#: ../Doc/howto/unicode.rst:626
msgid ""
"The first list contains UTF-8-encoded filenames, and the second list "
"contains the Unicode versions."
msgstr ""
#: ../Doc/howto/unicode.rst:627
#: ../Doc/howto/unicode.rst:629
msgid ""
"Note that on most occasions, the Unicode APIs should be used. The bytes "
"APIs should only be used on systems where undecodable file names can be "
"present, i.e. Unix systems."
msgstr ""
#: ../Doc/howto/unicode.rst:633
#: ../Doc/howto/unicode.rst:635
msgid "Tips for Writing Unicode-aware Programs"
msgstr ""
#: ../Doc/howto/unicode.rst:635
#: ../Doc/howto/unicode.rst:637
msgid ""
"This section provides some suggestions on writing software that deals with "
"Unicode."
msgstr ""
#: ../Doc/howto/unicode.rst:638
#: ../Doc/howto/unicode.rst:640
msgid "The most important tip is:"
msgstr ""
#: ../Doc/howto/unicode.rst:640
#: ../Doc/howto/unicode.rst:642
msgid ""
"Software should only work with Unicode strings internally, decoding the "
"input data as soon as possible and encoding the output only at the end."
msgstr ""
#: ../Doc/howto/unicode.rst:643
#: ../Doc/howto/unicode.rst:645
msgid ""
"If you attempt to write processing functions that accept both Unicode and "
"byte strings, you will find your program vulnerable to bugs wherever you "
@ -815,7 +819,7 @@ msgid ""
"raised."
msgstr ""
#: ../Doc/howto/unicode.rst:648
#: ../Doc/howto/unicode.rst:650
msgid ""
"When using data coming from a web browser or some other untrusted source, a "
"common technique is to check for illegal characters in a string before using "
@ -827,28 +831,28 @@ msgid ""
"then choose a clever way to hide malicious text in the encoded bytestream."
msgstr ""
#: ../Doc/howto/unicode.rst:659
#: ../Doc/howto/unicode.rst:661
msgid "Converting Between File Encodings"
msgstr ""
#: ../Doc/howto/unicode.rst:661
#: ../Doc/howto/unicode.rst:663
msgid ""
"The :class:`~codecs.StreamRecoder` class can transparently convert between "
"encodings, taking a stream that returns data in encoding #1 and behaving "
"like a stream returning data in encoding #2."
msgstr ""
#: ../Doc/howto/unicode.rst:665
#: ../Doc/howto/unicode.rst:667
msgid ""
"For example, if you have an input file *f* that's in Latin-1, you can wrap "
"it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::"
msgstr ""
#: ../Doc/howto/unicode.rst:679
#: ../Doc/howto/unicode.rst:681
msgid "Files in an Unknown Encoding"
msgstr ""
#: ../Doc/howto/unicode.rst:681
#: ../Doc/howto/unicode.rst:683
msgid ""
"What can you do if you need to make a change to a file, but don't know the "
"file's encoding? If you know the encoding is ASCII-compatible and only want "
@ -856,7 +860,7 @@ msgid ""
"``surrogateescape`` error handler::"
msgstr ""
#: ../Doc/howto/unicode.rst:695
#: ../Doc/howto/unicode.rst:697
msgid ""
"The ``surrogateescape`` error handler will decode any non-ASCII bytes as "
"code points in the Unicode Private Use Area ranging from U+DC80 to U+DCFF. "
@ -865,14 +869,14 @@ msgid ""
"writing it back out."
msgstr ""
#: ../Doc/howto/unicode.rst:705
#: ../Doc/howto/unicode.rst:707
msgid ""
"One section of `Mastering Python 3 Input/Output <http://pyvideo.org/"
"video/289/pycon-2010--mastering-python-3-i-o>`_, a PyCon 2010 talk by David "
"Beazley, discusses text processing and binary data handling."
msgstr ""
#: ../Doc/howto/unicode.rst:709
#: ../Doc/howto/unicode.rst:711
msgid ""
"The `PDF slides for Marc-André Lemburg's presentation \"Writing Unicode-"
"aware Applications in Python\" <https://downloads.egenix.com/python/LSM2005-"
@ -881,31 +885,28 @@ msgid ""
"application. These slides cover Python 2.x only."
msgstr ""
#: ../Doc/howto/unicode.rst:715
#: ../Doc/howto/unicode.rst:717
msgid ""
"`The Guts of Unicode in Python <http://pyvideo.org/video/1768/the-guts-of-"
"unicode-in-python>`_ is a PyCon 2013 talk by Benjamin Peterson that "
"discusses the internal Unicode representation in Python 3.3."
msgstr ""
#: ../Doc/howto/unicode.rst:722
msgid "Acknowledgements"
msgstr ""
#: ../Doc/howto/unicode.rst:724
msgid "Acknowledgements"
msgstr "Remerciements"
#: ../Doc/howto/unicode.rst:726
msgid ""
"The initial draft of this document was written by Andrew Kuchling. It has "
"since been revised further by Alexander Belopolsky, Georg Brandl, Andrew "
"Kuchling, and Ezio Melotti."
msgstr ""
#: ../Doc/howto/unicode.rst:728
#: ../Doc/howto/unicode.rst:730
msgid ""
"Thanks to the following people who have noted errors or offered suggestions "
"on this article: Éric Araujo, Nicholas Bastin, Nick Coghlan, Marius "
"Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von Löwis, "
"Terry J. Reedy, Chad Whitacre."
msgstr ""
#~ msgid "Release"
#~ msgstr "Version"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "HOWTO Fetch Internet Resources Using The urllib Package"
msgstr ""
#: ../Doc/howto/urllib2.rst:0
msgid "Author"
msgstr "Auteur"
#: ../Doc/howto/urllib2.rst:7
msgid "`Michael Foord <http://www.voidspace.org.uk/python/index.shtml>`_"
msgstr ""
@ -36,10 +40,6 @@ msgstr ""
msgid "Introduction"
msgstr "Introduction"
#: ../Doc/howto/urllib2.rst:0
msgid "Related Articles"
msgstr ""
#: ../Doc/howto/urllib2.rst:22
msgid ""
"You may also find useful the following article on fetching web resources "
@ -98,11 +98,11 @@ msgstr ""
#: ../Doc/howto/urllib2.rst:59
msgid ""
"If you wish to retrieve a resource via URL and store it in a temporary "
"location, you can do so via the :func:`~urllib.request.urlretrieve` "
"function::"
"location, you can do so via the :func:`shutil.copyfileobj` and :func:"
"`tempfile.NamedTemporaryFile` functions::"
msgstr ""
#: ../Doc/howto/urllib2.rst:66
#: ../Doc/howto/urllib2.rst:74
msgid ""
"Many uses of urllib will be that simple (note that instead of an 'http:' URL "
"we could have used a URL starting with 'ftp:', 'file:', etc.). However, "
@ -110,7 +110,7 @@ msgid ""
"concentrating on HTTP."
msgstr ""
#: ../Doc/howto/urllib2.rst:71
#: ../Doc/howto/urllib2.rst:79
msgid ""
"HTTP is based on requests and responses - the client makes requests and "
"servers send responses. urllib.request mirrors this with a ``Request`` "
@ -121,13 +121,13 @@ msgid ""
"for example call ``.read()`` on the response::"
msgstr ""
#: ../Doc/howto/urllib2.rst:85
#: ../Doc/howto/urllib2.rst:93
msgid ""
"Note that urllib.request makes use of the same Request interface to handle "
"all URL schemes. For example, you can make an FTP request like so::"
msgstr ""
#: ../Doc/howto/urllib2.rst:90
#: ../Doc/howto/urllib2.rst:98
msgid ""
"In the case of HTTP, there are two extra things that Request objects allow "
"you to do: First, you can pass data to be sent to the server. Second, you "
@ -136,11 +136,11 @@ msgid ""
"\". Let's look at each of these in turn."
msgstr ""
#: ../Doc/howto/urllib2.rst:97
#: ../Doc/howto/urllib2.rst:105
msgid "Data"
msgstr ""
#: ../Doc/howto/urllib2.rst:99
#: ../Doc/howto/urllib2.rst:107
msgid ""
"Sometimes you want to send data to a URL (often the URL will refer to a CGI "
"(Common Gateway Interface) script or other web application). With HTTP, this "
@ -153,14 +153,14 @@ msgid ""
"function from the :mod:`urllib.parse` library. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:123
#: ../Doc/howto/urllib2.rst:131
msgid ""
"Note that other encodings are sometimes required (e.g. for file upload from "
"HTML forms - see `HTML Specification, Form Submission <https://www.w3.org/TR/"
"REC-html40/interact/forms.html#h-17.13>`_ for more details)."
msgstr ""
#: ../Doc/howto/urllib2.rst:128
#: ../Doc/howto/urllib2.rst:136
msgid ""
"If you do not pass the ``data`` argument, urllib uses a **GET** request. One "
"way in which GET and POST requests differ is that POST requests often have "
@ -173,27 +173,27 @@ msgid ""
"be passed in an HTTP GET request by encoding it in the URL itself."
msgstr ""
#: ../Doc/howto/urllib2.rst:138
#: ../Doc/howto/urllib2.rst:146
msgid "This is done as follows::"
msgstr ""
#: ../Doc/howto/urllib2.rst:153
#: ../Doc/howto/urllib2.rst:161
msgid ""
"Notice that the full URL is created by adding a ``?`` to the URL, followed "
"by the encoded values."
msgstr ""
#: ../Doc/howto/urllib2.rst:157
#: ../Doc/howto/urllib2.rst:165
msgid "Headers"
msgstr ""
#: ../Doc/howto/urllib2.rst:159
#: ../Doc/howto/urllib2.rst:167
msgid ""
"We'll discuss here one particular HTTP header, to illustrate how to add "
"headers to your HTTP request."
msgstr ""
#: ../Doc/howto/urllib2.rst:162
#: ../Doc/howto/urllib2.rst:170
msgid ""
"Some websites [#]_ dislike being browsed by programs, or send different "
"versions to different browsers [#]_. By default urllib identifies itself as "
@ -206,39 +206,39 @@ msgid ""
"Explorer [#]_. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:189
#: ../Doc/howto/urllib2.rst:197
msgid ""
"The response also has two useful methods. See the section on `info and "
"geturl`_ which comes after we have a look at what happens when things go "
"wrong."
msgstr ""
#: ../Doc/howto/urllib2.rst:194
#: ../Doc/howto/urllib2.rst:202
msgid "Handling Exceptions"
msgstr "Gestion des exceptions"
#: ../Doc/howto/urllib2.rst:196
#: ../Doc/howto/urllib2.rst:204
msgid ""
"*urlopen* raises :exc:`URLError` when it cannot handle a response (though as "
"usual with Python APIs, built-in exceptions such as :exc:`ValueError`, :exc:"
"`TypeError` etc. may also be raised)."
msgstr ""
#: ../Doc/howto/urllib2.rst:200
#: ../Doc/howto/urllib2.rst:208
msgid ""
":exc:`HTTPError` is the subclass of :exc:`URLError` raised in the specific "
"case of HTTP URLs."
msgstr ""
#: ../Doc/howto/urllib2.rst:203
#: ../Doc/howto/urllib2.rst:211
msgid "The exception classes are exported from the :mod:`urllib.error` module."
msgstr ""
#: ../Doc/howto/urllib2.rst:206
#: ../Doc/howto/urllib2.rst:214
msgid "URLError"
msgstr ""
#: ../Doc/howto/urllib2.rst:208
#: ../Doc/howto/urllib2.rst:216
msgid ""
"Often, URLError is raised because there is no network connection (no route "
"to the specified server), or the specified server doesn't exist. In this "
@ -246,15 +246,15 @@ msgid ""
"containing an error code and a text error message."
msgstr ""
#: ../Doc/howto/urllib2.rst:213 ../Doc/howto/urllib2.rst:460
#: ../Doc/howto/urllib2.rst:221
msgid "e.g. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:224
#: ../Doc/howto/urllib2.rst:232
msgid "HTTPError"
msgstr ""
#: ../Doc/howto/urllib2.rst:226
#: ../Doc/howto/urllib2.rst:234
msgid ""
"Every HTTP response from the server contains a numeric \"status code\". "
"Sometimes the status code indicates that the server is unable to fulfil the "
@ -266,35 +266,35 @@ msgid ""
"'401' (authentication required)."
msgstr ""
#: ../Doc/howto/urllib2.rst:234
#: ../Doc/howto/urllib2.rst:242
msgid "See section 10 of RFC 2616 for a reference on all the HTTP error codes."
msgstr ""
#: ../Doc/howto/urllib2.rst:236
#: ../Doc/howto/urllib2.rst:244
msgid ""
"The :exc:`HTTPError` instance raised will have an integer 'code' attribute, "
"which corresponds to the error sent by the server."
msgstr ""
#: ../Doc/howto/urllib2.rst:240
#: ../Doc/howto/urllib2.rst:248
msgid "Error Codes"
msgstr ""
#: ../Doc/howto/urllib2.rst:242
#: ../Doc/howto/urllib2.rst:250
msgid ""
"Because the default handlers handle redirects (codes in the 300 range), and "
"codes in the 100--299 range indicate success, you will usually only see "
"error codes in the 400--599 range."
msgstr ""
#: ../Doc/howto/urllib2.rst:246
#: ../Doc/howto/urllib2.rst:254
msgid ""
":attr:`http.server.BaseHTTPRequestHandler.responses` is a useful dictionary "
"of response codes in that shows all the response codes used by RFC 2616. The "
"dictionary is reproduced here for convenience ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:318
#: ../Doc/howto/urllib2.rst:326
msgid ""
"When an error is raised the server responds by returning an HTTP error code "
"*and* an error page. You can use the :exc:`HTTPError` instance as a response "
@ -303,42 +303,42 @@ msgid ""
"module::"
msgstr ""
#: ../Doc/howto/urllib2.rst:338
#: ../Doc/howto/urllib2.rst:346
msgid "Wrapping it Up"
msgstr ""
#: ../Doc/howto/urllib2.rst:340
#: ../Doc/howto/urllib2.rst:348
msgid ""
"So if you want to be prepared for :exc:`HTTPError` *or* :exc:`URLError` "
"there are two basic approaches. I prefer the second approach."
msgstr ""
#: ../Doc/howto/urllib2.rst:344
#: ../Doc/howto/urllib2.rst:352
msgid "Number 1"
msgstr ""
#: ../Doc/howto/urllib2.rst:366
#: ../Doc/howto/urllib2.rst:374
msgid ""
"The ``except HTTPError`` *must* come first, otherwise ``except URLError`` "
"will *also* catch an :exc:`HTTPError`."
msgstr ""
#: ../Doc/howto/urllib2.rst:370
#: ../Doc/howto/urllib2.rst:378
msgid "Number 2"
msgstr ""
#: ../Doc/howto/urllib2.rst:391
#: ../Doc/howto/urllib2.rst:399
msgid "info and geturl"
msgstr ""
#: ../Doc/howto/urllib2.rst:393
#: ../Doc/howto/urllib2.rst:401
msgid ""
"The response returned by urlopen (or the :exc:`HTTPError` instance) has two "
"useful methods :meth:`info` and :meth:`geturl` and is defined in the module :"
"mod:`urllib.response`.."
msgstr ""
#: ../Doc/howto/urllib2.rst:397
#: ../Doc/howto/urllib2.rst:405
msgid ""
"**geturl** - this returns the real URL of the page fetched. This is useful "
"because ``urlopen`` (or the opener object used) may have followed a "
@ -346,14 +346,14 @@ msgid ""
"requested."
msgstr ""
#: ../Doc/howto/urllib2.rst:401
#: ../Doc/howto/urllib2.rst:409
msgid ""
"**info** - this returns a dictionary-like object that describes the page "
"fetched, particularly the headers sent by the server. It is currently an :"
"class:`http.client.HTTPMessage` instance."
msgstr ""
#: ../Doc/howto/urllib2.rst:405
#: ../Doc/howto/urllib2.rst:413
msgid ""
"Typical headers include 'Content-length', 'Content-type', and so on. See the "
"`Quick Reference to HTTP Headers <https://www.cs.tut.fi/~jkorpela/http."
@ -361,11 +361,11 @@ msgid ""
"their meaning and use."
msgstr ""
#: ../Doc/howto/urllib2.rst:412
#: ../Doc/howto/urllib2.rst:420
msgid "Openers and Handlers"
msgstr ""
#: ../Doc/howto/urllib2.rst:414
#: ../Doc/howto/urllib2.rst:422
msgid ""
"When you fetch a URL you use an opener (an instance of the perhaps "
"confusingly-named :class:`urllib.request.OpenerDirector`). Normally we have "
@ -376,20 +376,20 @@ msgid ""
"HTTP redirections or HTTP cookies."
msgstr ""
#: ../Doc/howto/urllib2.rst:422
#: ../Doc/howto/urllib2.rst:430
msgid ""
"You will want to create openers if you want to fetch URLs with specific "
"handlers installed, for example to get an opener that handles cookies, or to "
"get an opener that does not handle redirections."
msgstr ""
#: ../Doc/howto/urllib2.rst:426
#: ../Doc/howto/urllib2.rst:434
msgid ""
"To create an opener, instantiate an ``OpenerDirector``, and then call ``."
"add_handler(some_handler_instance)`` repeatedly."
msgstr ""
#: ../Doc/howto/urllib2.rst:429
#: ../Doc/howto/urllib2.rst:437
msgid ""
"Alternatively, you can use ``build_opener``, which is a convenience function "
"for creating opener objects with a single function call. ``build_opener`` "
@ -397,31 +397,31 @@ msgid ""
"or override the default handlers."
msgstr ""
#: ../Doc/howto/urllib2.rst:434
#: ../Doc/howto/urllib2.rst:442
msgid ""
"Other sorts of handlers you might want to can handle proxies, "
"authentication, and other common but slightly specialised situations."
msgstr ""
#: ../Doc/howto/urllib2.rst:437
#: ../Doc/howto/urllib2.rst:445
msgid ""
"``install_opener`` can be used to make an ``opener`` object the (global) "
"default opener. This means that calls to ``urlopen`` will use the opener you "
"have installed."
msgstr ""
#: ../Doc/howto/urllib2.rst:441
#: ../Doc/howto/urllib2.rst:449
msgid ""
"Opener objects have an ``open`` method, which can be called directly to "
"fetch urls in the same way as the ``urlopen`` function: there's no need to "
"call ``install_opener``, except as a convenience."
msgstr ""
#: ../Doc/howto/urllib2.rst:447
#: ../Doc/howto/urllib2.rst:455
msgid "Basic Authentication"
msgstr ""
#: ../Doc/howto/urllib2.rst:449
#: ../Doc/howto/urllib2.rst:457
msgid ""
"To illustrate creating and installing a handler we will use the "
"``HTTPBasicAuthHandler``. For a more detailed discussion of this subject -- "
@ -430,7 +430,7 @@ msgid ""
"authentication.shtml>`_."
msgstr ""
#: ../Doc/howto/urllib2.rst:455
#: ../Doc/howto/urllib2.rst:463
msgid ""
"When authentication is required, the server sends a header (as well as the "
"401 error code) requesting authentication. This specifies the "
@ -438,7 +438,11 @@ msgid ""
"Authenticate: SCHEME realm=\"REALM\"``."
msgstr ""
#: ../Doc/howto/urllib2.rst:465
#: ../Doc/howto/urllib2.rst:468
msgid "e.g."
msgstr ""
#: ../Doc/howto/urllib2.rst:475
msgid ""
"The client should then retry the request with the appropriate name and "
"password for the realm included as a header in the request. This is 'basic "
@ -446,7 +450,7 @@ msgid ""
"of ``HTTPBasicAuthHandler`` and an opener to use this handler."
msgstr ""
#: ../Doc/howto/urllib2.rst:470
#: ../Doc/howto/urllib2.rst:480
msgid ""
"The ``HTTPBasicAuthHandler`` uses an object called a password manager to "
"handle the mapping of URLs and realms to passwords and usernames. If you "
@ -459,13 +463,13 @@ msgid ""
"by providing ``None`` as the realm argument to the ``add_password`` method."
msgstr ""
#: ../Doc/howto/urllib2.rst:480
#: ../Doc/howto/urllib2.rst:490
msgid ""
"The top-level URL is the first URL that requires authentication. URLs "
"\"deeper\" than the URL you pass to .add_password() will also match. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:505
#: ../Doc/howto/urllib2.rst:515
msgid ""
"In the above example we only supplied our ``HTTPBasicAuthHandler`` to "
"``build_opener``. By default openers have the handlers for normal situations "
@ -475,7 +479,7 @@ msgid ""
"``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``."
msgstr ""
#: ../Doc/howto/urllib2.rst:512
#: ../Doc/howto/urllib2.rst:522
msgid ""
"``top_level_url`` is in fact *either* a full URL (including the 'http:' "
"scheme component and the hostname and optionally the port number) e.g. ``"
@ -486,11 +490,11 @@ msgid ""
"example ``\"joe:password@example.com\"`` is not correct."
msgstr ""
#: ../Doc/howto/urllib2.rst:522
#: ../Doc/howto/urllib2.rst:532
msgid "Proxies"
msgstr ""
#: ../Doc/howto/urllib2.rst:524
#: ../Doc/howto/urllib2.rst:534
msgid ""
"**urllib** will auto-detect your proxy settings and use those. This is "
"through the ``ProxyHandler``, which is part of the normal handler chain when "
@ -500,30 +504,30 @@ msgid ""
"similar steps to setting up a `Basic Authentication`_ handler: ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:537
#: ../Doc/howto/urllib2.rst:547
msgid ""
"Currently ``urllib.request`` *does not* support fetching of ``https`` "
"locations through a proxy. However, this can be enabled by extending urllib."
"request as shown in the recipe [#]_."
msgstr ""
#: ../Doc/howto/urllib2.rst:543
#: ../Doc/howto/urllib2.rst:553
msgid ""
"``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see "
"the documentation on :func:`~urllib.request.getproxies`."
msgstr ""
#: ../Doc/howto/urllib2.rst:548
#: ../Doc/howto/urllib2.rst:558
msgid "Sockets and Layers"
msgstr ""
#: ../Doc/howto/urllib2.rst:550
#: ../Doc/howto/urllib2.rst:560
msgid ""
"The Python support for fetching resources from the web is layered. urllib "
"uses the :mod:`http.client` library, which in turn uses the socket library."
msgstr ""
#: ../Doc/howto/urllib2.rst:553
#: ../Doc/howto/urllib2.rst:563
msgid ""
"As of Python 2.3 you can specify how long a socket should wait for a "
"response before timing out. This can be useful in applications which have to "
@ -533,38 +537,38 @@ msgid ""
"sockets using ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:576
#: ../Doc/howto/urllib2.rst:586
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/howto/urllib2.rst:578
#: ../Doc/howto/urllib2.rst:588
msgid "This document was reviewed and revised by John Lee."
msgstr ""
#: ../Doc/howto/urllib2.rst:580
#: ../Doc/howto/urllib2.rst:590
msgid "Google for example."
msgstr ""
#: ../Doc/howto/urllib2.rst:581
#: ../Doc/howto/urllib2.rst:591
msgid ""
"Browser sniffing is a very bad practice for website design - building sites "
"using web standards is much more sensible. Unfortunately a lot of sites "
"still send different versions to different browsers."
msgstr ""
#: ../Doc/howto/urllib2.rst:584
#: ../Doc/howto/urllib2.rst:594
msgid ""
"The user agent for MSIE 6 is *'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT "
"5.1; SV1; .NET CLR 1.1.4322)'*"
msgstr ""
#: ../Doc/howto/urllib2.rst:586
#: ../Doc/howto/urllib2.rst:596
msgid ""
"For details of more HTTP request headers, see `Quick Reference to HTTP "
"Headers`_."
msgstr ""
#: ../Doc/howto/urllib2.rst:588
#: ../Doc/howto/urllib2.rst:598
msgid ""
"In my case I have to use a proxy to access the internet at work. If you "
"attempt to fetch *localhost* URLs through this proxy it blocks them. IE is "
@ -572,7 +576,7 @@ msgid ""
"with a localhost server, I have to prevent urllib from using the proxy."
msgstr ""
#: ../Doc/howto/urllib2.rst:593
#: ../Doc/howto/urllib2.rst:603
msgid ""
"urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe <https://"
"code.activestate.com/recipes/456195/>`_."

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2017-12-01 08:52+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -21,6 +21,10 @@ msgstr ""
msgid "Installing Python Modules"
msgstr "L'installation de modules Python"
#: ../Doc/installing/index.rst:0
msgid "Email"
msgstr "Email"
#: ../Doc/installing/index.rst:9
msgid "distutils-sig@python.org"
msgstr "distutils-sig@python.org"
@ -202,7 +206,7 @@ msgid ""
"dependencies from the Python Packaging Index::"
msgstr ""
"La commande suivante va installer la dernière version d'un module et ses "
"dépendances depuis le *Python Package Index* ::"
"dépendances depuis le *Python Package Index* ::"
#: ../Doc/installing/index.rst:92
msgid ""
@ -232,7 +236,7 @@ msgstr ""
"Il est aussi possible de préciser une version minimum exacte directement "
"depuis la ligne de commande. Utiliser des caractères de comparaison tel que "
"``>``, ``<`` ou d'autres caractères spéciaux qui sont interprétés par le "
"shell, le nom du paquet et la version doivent être mis entre guillemets::"
"shell, le nom du paquet et la version doivent être mis entre guillemets ::"
#: ../Doc/installing/index.rst:107
msgid ""
@ -371,7 +375,7 @@ msgid ""
"switch::"
msgstr ""
"Sous Windows, utilisez le lanceur Python ``py`` en combinaison avec l'option "
"``-m`` ::"
"``-m`` ::"
#: ../Doc/installing/index.rst:199
msgid "Common installation issues"
@ -407,13 +411,15 @@ msgstr ""
#: ../Doc/installing/index.rst:215
msgid "Pip not installed"
msgstr ""
msgstr "Pip n'est pas installé"
#: ../Doc/installing/index.rst:217
msgid ""
"It is possible that ``pip`` does not get installed by default. One potential "
"fix is::"
msgstr ""
"Il est possible que ``pip`` ne soit pas installé par défaut. Une solution "
"est : ::"
#: ../Doc/installing/index.rst:221
msgid ""
@ -421,6 +427,8 @@ msgid ""
"python.org/tutorials/installing-packages/#install-pip-setuptools-and-"
"wheel>`__"
msgstr ""
"Voir aussi `installing pip. <https://packaging.python.org/tutorials/"
"installing-packages/#install-pip-setuptools-and-wheel>`__"
#: ../Doc/installing/index.rst:226
msgid "Installing binary extensions"
@ -448,7 +456,7 @@ msgstr ""
"publier des *wheels*, pour, au moins Windows et Mac OS X, via le *Python "
"Package Index*, ce problème devrait diminuer au fil du temps, car les "
"utilisateurs sont plus régulièrement en mesure d'installer des extensions "
"pré-compilées plutôt que de devoir les compiler eux-mêmes."
"précompilées plutôt que de devoir les compiler eux-mêmes."
#: ../Doc/installing/index.rst:238
msgid ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: 2017-05-27 13:59+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -53,7 +53,7 @@ msgstr ""
#: ../Doc/library/2to3.rst:28
msgid "Here is a sample Python 2.x source file, :file:`example.py`::"
msgstr "Voici un exemple de fichier source Python 2.x, :file:`example.py`::"
msgstr "Voici un exemple de fichier source Python 2.x, :file:`example.py` ::"
#: ../Doc/library/2to3.rst:36
msgid "It can be converted to Python 3.x code via 2to3 on the command line:"
@ -191,7 +191,7 @@ msgstr ""
#: ../Doc/library/2to3.rst:147
msgid "Fixers"
msgstr " Correcteurs"
msgstr "Correcteurs"
#: ../Doc/library/2to3.rst:149
msgid ""
@ -212,11 +212,11 @@ msgstr ""
"Remplace les noms de méthodes obsolètes du module :mod:`unittest` par les "
"bons."
#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:351
#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:352
msgid "From"
msgstr "De"
#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:351
#: ../Doc/library/2to3.rst:164 ../Doc/library/2to3.rst:352
msgid "To"
msgstr "À"
@ -405,35 +405,36 @@ msgstr "Convertit :func:`intern` en :func:`sys.intern`."
msgid ""
"Fixes duplicate types in the second argument of :func:`isinstance`. For "
"example, ``isinstance(x, (int, int))`` is converted to ``isinstance(x, "
"(int))``."
"int)`` and ``isinstance(x, (int, float, int))`` is converted to "
"``isinstance(x, (int, float))``."
msgstr ""
#: ../Doc/library/2to3.rst:295
#: ../Doc/library/2to3.rst:296
msgid ""
"Removes imports of :func:`itertools.ifilter`, :func:`itertools.izip`, and :"
"func:`itertools.imap`. Imports of :func:`itertools.ifilterfalse` are also "
"changed to :func:`itertools.filterfalse`."
msgstr ""
#: ../Doc/library/2to3.rst:301
#: ../Doc/library/2to3.rst:302
msgid ""
"Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, and :"
"func:`itertools.imap` to their built-in equivalents. :func:`itertools."
"ifilterfalse` is changed to :func:`itertools.filterfalse`."
msgstr ""
#: ../Doc/library/2to3.rst:307
#: ../Doc/library/2to3.rst:308
msgid "Renames :class:`long` to :class:`int`."
msgstr "Renomme :class:`long` en :class:`int`."
#: ../Doc/library/2to3.rst:311
#: ../Doc/library/2to3.rst:312
msgid ""
"Wraps :func:`map` in a :class:`list` call. It also changes ``map(None, x)`` "
"to ``list(x)``. Using ``from future_builtins import map`` disables this "
"fixer."
msgstr ""
#: ../Doc/library/2to3.rst:317
#: ../Doc/library/2to3.rst:318
msgid ""
"Converts the old metaclass syntax (``__metaclass__ = Meta`` in the class "
"body) to the new (``class X(metaclass=Meta)``)."
@ -441,34 +442,34 @@ msgstr ""
"Convertit l'ancienne syntaxe de métaclasse (``__metaclass__ = Meta`` dans le "
"corps de la classe) à la nouvelle (``class X(metaclasse=Meta)``)."
#: ../Doc/library/2to3.rst:322
#: ../Doc/library/2to3.rst:323
msgid ""
"Fixes old method attribute names. For example, ``meth.im_func`` is "
"converted to ``meth.__func__``."
msgstr ""
#: ../Doc/library/2to3.rst:327
#: ../Doc/library/2to3.rst:328
msgid "Converts the old not-equal syntax, ``<>``, to ``!=``."
msgstr ""
#: ../Doc/library/2to3.rst:331
#: ../Doc/library/2to3.rst:332
msgid ""
"Converts the use of iterator's :meth:`~iterator.next` methods to the :func:"
"`next` function. It also renames :meth:`next` methods to :meth:`~iterator."
"__next__`."
msgstr ""
#: ../Doc/library/2to3.rst:337
#: ../Doc/library/2to3.rst:338
msgid "Renames :meth:`__nonzero__` to :meth:`~object.__bool__`."
msgstr "Renomme :meth:`__nonzero__` en :meth:`~object.__bool__`."
#: ../Doc/library/2to3.rst:341
#: ../Doc/library/2to3.rst:342
msgid "Converts octal literals into the new syntax."
msgstr ""
"Convertit les nombre écrits littéralement en octal dans leur nouvelle "
"Convertit les nombres écrits littéralement en octal dans leur nouvelle "
"syntaxe."
#: ../Doc/library/2to3.rst:345
#: ../Doc/library/2to3.rst:346
msgid ""
"Converts calls to various functions in the :mod:`operator` module to other, "
"but equivalent, function calls. When needed, the appropriate ``import`` "
@ -476,152 +477,152 @@ msgid ""
"are made:"
msgstr ""
#: ../Doc/library/2to3.rst:353
#: ../Doc/library/2to3.rst:354
msgid "``operator.isCallable(obj)``"
msgstr "``operator.isCallable(obj)``"
#: ../Doc/library/2to3.rst:353
#: ../Doc/library/2to3.rst:354
msgid "``hasattr(obj, '__call__')``"
msgstr "``hasattr(obj, '__call__')``"
#: ../Doc/library/2to3.rst:354
#: ../Doc/library/2to3.rst:355
msgid "``operator.sequenceIncludes(obj)``"
msgstr "``operator.sequenceIncludes(obj)``"
#: ../Doc/library/2to3.rst:354
#: ../Doc/library/2to3.rst:355
msgid "``operator.contains(obj)``"
msgstr "``operator.contains(obj)``"
#: ../Doc/library/2to3.rst:355
#: ../Doc/library/2to3.rst:356
msgid "``operator.isSequenceType(obj)``"
msgstr "``operator.isSequenceType(obj)``"
#: ../Doc/library/2to3.rst:355
#: ../Doc/library/2to3.rst:356
msgid "``isinstance(obj, collections.Sequence)``"
msgstr "``isinstance(obj, collections.Sequence)``"
#: ../Doc/library/2to3.rst:356
#: ../Doc/library/2to3.rst:357
msgid "``operator.isMappingType(obj)``"
msgstr "``operator.isMappingType(obj)``"
#: ../Doc/library/2to3.rst:356
#: ../Doc/library/2to3.rst:357
msgid "``isinstance(obj, collections.Mapping)``"
msgstr "``isinstance(obj, collections.Mapping)``"
#: ../Doc/library/2to3.rst:357
#: ../Doc/library/2to3.rst:358
msgid "``operator.isNumberType(obj)``"
msgstr "``operator.isNumberType(obj)``"
#: ../Doc/library/2to3.rst:357
#: ../Doc/library/2to3.rst:358
msgid "``isinstance(obj, numbers.Number)``"
msgstr "``isinstance(obj, numbers.Number)``"
#: ../Doc/library/2to3.rst:358
#: ../Doc/library/2to3.rst:359
msgid "``operator.repeat(obj, n)``"
msgstr "``operator.repeat(obj, n)``"
#: ../Doc/library/2to3.rst:358
#: ../Doc/library/2to3.rst:359
msgid "``operator.mul(obj, n)``"
msgstr "``operator.mul(obj, n)``"
#: ../Doc/library/2to3.rst:359
#: ../Doc/library/2to3.rst:360
msgid "``operator.irepeat(obj, n)``"
msgstr "``operator.irepeat(obj, n)``"
#: ../Doc/library/2to3.rst:359
#: ../Doc/library/2to3.rst:360
msgid "``operator.imul(obj, n)``"
msgstr "``operator.imul(obj, n)``"
#: ../Doc/library/2to3.rst:364
#: ../Doc/library/2to3.rst:365
msgid ""
"Add extra parenthesis where they are required in list comprehensions. For "
"example, ``[x for x in 1, 2]`` becomes ``[x for x in (1, 2)]``."
msgstr ""
#: ../Doc/library/2to3.rst:369
#: ../Doc/library/2to3.rst:370
msgid "Converts the ``print`` statement to the :func:`print` function."
msgstr "Convertit l'instruction ``print`` fonction :func:`print`."
#: ../Doc/library/2to3.rst:373
#: ../Doc/library/2to3.rst:374
msgid ""
"Converts ``raise E, V`` to ``raise E(V)``, and ``raise E, V, T`` to ``raise "
"E(V).with_traceback(T)``. If ``E`` is a tuple, the translation will be "
"incorrect because substituting tuples for exceptions has been removed in 3.0."
msgstr ""
#: ../Doc/library/2to3.rst:379
#: ../Doc/library/2to3.rst:380
msgid "Converts :func:`raw_input` to :func:`input`."
msgstr "Convertit :func:`raw_input` en :func:`input`."
#: ../Doc/library/2to3.rst:383
#: ../Doc/library/2to3.rst:384
msgid "Handles the move of :func:`reduce` to :func:`functools.reduce`."
msgstr ""
#: ../Doc/library/2to3.rst:387
#: ../Doc/library/2to3.rst:388
msgid "Converts :func:`reload` to :func:`imp.reload`."
msgstr "Convertit les appels à :func:`reload` en appels à :func:`imp.reload`."
#: ../Doc/library/2to3.rst:391
#: ../Doc/library/2to3.rst:392
msgid "Changes :data:`sys.maxint` to :data:`sys.maxsize`."
msgstr "Change :data:`sys.maxint` en :data:`sys.maxsize`."
#: ../Doc/library/2to3.rst:395
#: ../Doc/library/2to3.rst:396
msgid "Replaces backtick repr with the :func:`repr` function."
msgstr ""
"Remplace les accents graves utilisés comme ``repr`` par des appels à :func:"
"`repr`."
#: ../Doc/library/2to3.rst:399
#: ../Doc/library/2to3.rst:400
msgid ""
"Replaces use of the :class:`set` constructor with set literals. This fixer "
"is optional."
msgstr ""
#: ../Doc/library/2to3.rst:404
#: ../Doc/library/2to3.rst:405
msgid "Renames :exc:`StandardError` to :exc:`Exception`."
msgstr "Renomme :exc:`StandardError` en :exc:`Exception`."
#: ../Doc/library/2to3.rst:408
#: ../Doc/library/2to3.rst:409
msgid ""
"Changes the deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:"
"`sys.exc_traceback` to use :func:`sys.exc_info`."
msgstr ""
#: ../Doc/library/2to3.rst:413
#: ../Doc/library/2to3.rst:414
msgid "Fixes the API change in generator's :meth:`throw` method."
msgstr ""
#: ../Doc/library/2to3.rst:417
#: ../Doc/library/2to3.rst:418
msgid ""
"Removes implicit tuple parameter unpacking. This fixer inserts temporary "
"variables."
msgstr ""
#: ../Doc/library/2to3.rst:422
#: ../Doc/library/2to3.rst:423
msgid ""
"Fixes code broken from the removal of some members in the :mod:`types` "
"module."
msgstr ""
#: ../Doc/library/2to3.rst:427
#: ../Doc/library/2to3.rst:428
msgid "Renames :class:`unicode` to :class:`str`."
msgstr "Renomme :class:`unicode` en :class:`str`."
#: ../Doc/library/2to3.rst:431
#: ../Doc/library/2to3.rst:432
msgid ""
"Handles the rename of :mod:`urllib` and :mod:`urllib2` to the :mod:`urllib` "
"package."
msgstr ""
"Gère le renommage des paquets :mod:`urllib` et :mod:`urllib2` en :mod:"
"`urllib`"
"`urllib`."
#: ../Doc/library/2to3.rst:436
#: ../Doc/library/2to3.rst:437
msgid ""
"Removes excess whitespace from comma separated items. This fixer is "
"optional."
msgstr ""
#: ../Doc/library/2to3.rst:441
#: ../Doc/library/2to3.rst:442
msgid ""
"Renames :func:`xrange` to :func:`range` and wraps existing :func:`range` "
"calls with :class:`list`."
@ -629,25 +630,25 @@ msgstr ""
"Renomme la fonction :func:`xrange` en :func:`range` et encapsule les appels "
"à la fonction :func:`range` avec des appels à :class:`list`."
#: ../Doc/library/2to3.rst:446
#: ../Doc/library/2to3.rst:447
msgid "Changes ``for x in file.xreadlines()`` to ``for x in file``."
msgstr ""
#: ../Doc/library/2to3.rst:450
#: ../Doc/library/2to3.rst:451
msgid ""
"Wraps :func:`zip` usage in a :class:`list` call. This is disabled when "
"``from future_builtins import zip`` appears."
msgstr ""
#: ../Doc/library/2to3.rst:455
#: ../Doc/library/2to3.rst:456
msgid ":mod:`lib2to3` - 2to3's library"
msgstr ":mod:`lib2to3` - la bibliothèque de 2to3"
#: ../Doc/library/2to3.rst:464
#: ../Doc/library/2to3.rst:465
msgid "**Source code:** :source:`Lib/lib2to3/`"
msgstr ""
#: ../Doc/library/2to3.rst:470
#: ../Doc/library/2to3.rst:471
msgid ""
"The :mod:`lib2to3` API should be considered unstable and may change "
"drastically in the future."

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-11-07 22:52+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/library/__main__.rst:3
msgid ":mod:`__main__` --- Top-level script environment"
msgstr ":mod:`__main__` --- Environnement premier du script"
msgstr ":mod:`__main__` --- Point d'entrée des scripts"
#: ../Doc/library/__main__.rst:10
msgid ""
@ -27,6 +27,10 @@ msgid ""
"module's __name__ is set equal to ``'__main__'`` when read from standard "
"input, a script, or from an interactive prompt."
msgstr ""
"``'__main__'`` est le nom du *scope* dans lequel le code s'exécute en "
"premier. Le nom d'un module (son *__name__*) vaut ``'__main__'`` lorsqu'il "
"est lu de l'entrée standard, lorsque c'est un script, ou une invite "
"interactive."
#: ../Doc/library/__main__.rst:14
msgid ""
@ -35,6 +39,10 @@ msgid ""
"executing code in a module when it is run as a script or with ``python -m`` "
"but not when it is imported::"
msgstr ""
"Un module peut découvrir s'il est exécuté dans le *scope* principal en "
"vérifiant son ``__name__``, ce qui permet typiquement d'exécuter du code "
"lorsque le module est exécuté avec ``python -m`` mais pas lorsqu'il est "
"importé ::"
#: ../Doc/library/__main__.rst:23
msgid ""
@ -42,3 +50,5 @@ msgid ""
"py`` module, the contents of which will be executed when the module is run "
"with ``-m``."
msgstr ""
"Pour un paquet, le même effet peut être obtenu en utilisant un module "
"``__main__.py``, son contenu sera exécuté si le paquet est lancé via ``-m``."

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2017-09-24 21:34+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -21,6 +21,7 @@ msgstr ""
msgid ""
":mod:`_dummy_thread` --- Drop-in replacement for the :mod:`_thread` module"
msgstr ""
":mod:`_dummy_thread` --- Module de substitution pour le module :mod:`_thread`"
#: ../Doc/library/_dummy_thread.rst:7
msgid "**Source code:** :source:`Lib/_dummy_thread.py`"
@ -32,10 +33,13 @@ msgid ""
"is meant to be imported when the :mod:`_thread` module is not provided on a "
"platform."
msgstr ""
"Ce module fournit un réplicat de l'interface du module :mod:`_thread`. Son "
"but est d'être importé lorsque le module :mod:`_thread` n'est pas fournit "
"par la plateforme."
#: ../Doc/library/_dummy_thread.rst:15
msgid "Suggested usage is::"
msgstr "Utilisation suggérée : "
msgstr "Utilisation suggérée ::"
#: ../Doc/library/_dummy_thread.rst:22
msgid ""

View File

@ -7,19 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: 2017-09-22 10:10+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 2.0.4\n"
#: ../Doc/library/_thread.rst:2
msgid ":mod:`_thread` --- Low-level threading API"
msgstr ":mod:`_thread` --- API de *threading* de bas niveau"
msgstr ":mod:`_thread` --- API bas niveau de gestion de fils d'exécution"
#: ../Doc/library/_thread.rst:15
msgid ""
@ -46,7 +46,7 @@ msgstr "Elle définit les constantes et fonctions suivantes :"
#: ../Doc/library/_thread.rst:37
msgid "Raised on thread-specific errors."
msgstr "Levée lors d'erreur spécifique aux *threads*."
msgstr "Levée lors d'erreur spécifique aux fils d'exécution."
#: ../Doc/library/_thread.rst:39
msgid "This is now a synonym of the built-in :exc:`RuntimeError`."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-12 13:37+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -159,8 +159,9 @@ msgid ""
msgstr ""
#: ../Doc/library/abc.rst:163
msgid "The :mod:`abc` module also provides the following decorators:"
msgstr ""
#, fuzzy
msgid "The :mod:`abc` module also provides the following decorator:"
msgstr "Le module fournit les classes suivantes :"
#: ../Doc/library/abc.rst:167
msgid "A decorator indicating abstract methods."
@ -210,106 +211,98 @@ msgid ""
"inheritance."
msgstr ""
#: ../Doc/library/abc.rst:241
msgid ""
"A subclass of the built-in :func:`classmethod`, indicating an abstract "
"classmethod. Otherwise it is similar to :func:`abstractmethod`."
#: ../Doc/library/abc.rst:239
msgid "The :mod:`abc` module also supports the following legacy decorators:"
msgstr ""
#: ../Doc/library/abc.rst:244
msgid ""
"This special case is deprecated, as the :func:`classmethod` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""
#: ../Doc/library/abc.rst:255
msgid ""
"It is now possible to use :class:`classmethod` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""
#: ../Doc/library/abc.rst:262
#: ../Doc/library/abc.rst:248
msgid ""
"A subclass of the built-in :func:`staticmethod`, indicating an abstract "
"staticmethod. Otherwise it is similar to :func:`abstractmethod`."
"A subclass of the built-in :func:`classmethod`, indicating an abstract "
"classmethod. Otherwise it is similar to :func:`abstractmethod`."
msgstr ""
#: ../Doc/library/abc.rst:251
msgid ""
"This special case is deprecated, as the :func:`classmethod` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""
#: ../Doc/library/abc.rst:265
msgid ""
"This special case is deprecated, as the :func:`staticmethod` decorator is "
"now correctly identified as abstract when applied to an abstract method::"
msgstr ""
#: ../Doc/library/abc.rst:276
msgid ""
"It is now possible to use :class:`staticmethod` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""
#: ../Doc/library/abc.rst:283
#: ../Doc/library/abc.rst:269
msgid ""
"A subclass of the built-in :func:`property`, indicating an abstract property."
"A subclass of the built-in :func:`staticmethod`, indicating an abstract "
"staticmethod. Otherwise it is similar to :func:`abstractmethod`."
msgstr ""
#: ../Doc/library/abc.rst:286
#: ../Doc/library/abc.rst:272
msgid ""
"Using this function requires that the class's metaclass is :class:`ABCMeta` "
"or is derived from it. A class that has a metaclass derived from :class:"
"`ABCMeta` cannot be instantiated unless all of its abstract methods and "
"properties are overridden. The abstract properties can be called using any "
"of the normal 'super' call mechanisms."
"This special case is deprecated, as the :func:`staticmethod` decorator is "
"now correctly identified as abstract when applied to an abstract method::"
msgstr ""
#: ../Doc/library/abc.rst:292
msgid ""
"This special case is deprecated, as the :func:`property` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""
#: ../Doc/library/abc.rst:302
msgid ""
"The above example defines a read-only property; you can also define a read-"
"write abstract property by appropriately marking one or more of the "
"underlying methods as abstract::"
msgstr ""
#: ../Doc/library/abc.rst:316
msgid ""
"If only some components are abstract, only those components need to be "
"updated to create a concrete property in a subclass::"
msgstr ""
#: ../Doc/library/abc.rst:325
#: ../Doc/library/abc.rst:285
msgid ""
"It is now possible to use :class:`property`, :meth:`property.getter`, :meth:"
"`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""
#: ../Doc/library/abc.rst:331
#: ../Doc/library/abc.rst:290
msgid ""
"A subclass of the built-in :func:`property`, indicating an abstract property."
msgstr ""
#: ../Doc/library/abc.rst:293
msgid ""
"This special case is deprecated, as the :func:`property` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""
#: ../Doc/library/abc.rst:303
msgid ""
"The above example defines a read-only property; you can also define a read-"
"write abstract property by appropriately marking one or more of the "
"underlying methods as abstract::"
msgstr ""
#: ../Doc/library/abc.rst:317
msgid ""
"If only some components are abstract, only those components need to be "
"updated to create a concrete property in a subclass::"
msgstr ""
#: ../Doc/library/abc.rst:326
msgid "The :mod:`abc` module also provides the following functions:"
msgstr ""
#: ../Doc/library/abc.rst:335
#: ../Doc/library/abc.rst:330
msgid "Returns the current abstract base class cache token."
msgstr ""
#: ../Doc/library/abc.rst:337
#: ../Doc/library/abc.rst:332
msgid ""
"The token is an opaque object (that supports equality testing) identifying "
"the current version of the abstract base class cache for virtual subclasses. "
"The token changes with every call to :meth:`ABCMeta.register` on any ABC."
msgstr ""
#: ../Doc/library/abc.rst:345
#: ../Doc/library/abc.rst:340
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/library/abc.rst:346
#: ../Doc/library/abc.rst:341
msgid ""
"C++ programmers should note that Python's virtual base class concept is not "
"the same as C++'s."
msgstr ""
#~ msgid "This module provides the following classes:"
#~ msgstr "Le module fournit les classes suivantes :"

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2017-09-24 20:06+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -29,3 +29,8 @@ msgid ""
"interfaces, but they are available on most other systems as well. Here's an "
"overview:"
msgstr ""
"Les modules documentés dans ce chapitre fournissent des interfaces vers des "
"fonctionalités communes à la grande majorité des systèmes d'explotation, "
"telles que les fichiers et l'horloge. Bien que ces interfaces soient "
"classiquement calquées sur les interfaces Unix ou C, elles sont aussi "
"disponnibles sur la pluspart des autres sytèmes. En voici un aperçu."

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2017-09-24 20:09+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -28,3 +28,7 @@ msgid ""
"format archives. See also :ref:`archiving-operations` provided by the :mod:"
"`shutil` module."
msgstr ""
"Les modules documentés dans ce chapitre implémentent les algorithmes de "
"compression zlib, gzip, bzip2 et lzma, ainsi que la création d'archives ZIP "
"et tar. Voir aussi :ref:`archiving-operations` fourni par le module :mod:"
"`shutil`."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-21 09:15+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"PO-Revision-Date: 2018-02-15 00:40+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -29,10 +29,6 @@ msgstr ""
msgid "**Source code:** :source:`Lib/argparse.py`"
msgstr "**Code source:** :source:`Lib/argparse.py`"
#: ../Doc/library/argparse.rst:0
msgid "Tutorial"
msgstr "Tutoriel"
#: ../Doc/library/argparse.rst:18
msgid ""
"This page contains the API reference information. For a more gentle "
@ -40,8 +36,8 @@ msgid ""
"`argparse tutorial <argparse-tutorial>`."
msgstr ""
"Cette page est la référence de l'API. Pour une introduction plus en douceur "
"à l'analyse des arguments de la ligne de commande, regardez :ref:`argparse "
"tutorial`."
"à l'analyse des arguments de la ligne de commande, regardez :ref:`le "
"tutoriel argparse <argparse-tutorial>`."
#: ../Doc/library/argparse.rst:22
msgid ""
@ -62,7 +58,7 @@ msgid ""
"produces either the sum or the max::"
msgstr ""
"Le code suivant est un programme Python acceptant une liste de nombre "
"entiers et en donnant soit la somme, soit le maximum::"
"entiers et en donnant soit la somme, soit le maximum ::"
#: ../Doc/library/argparse.rst:47
msgid ""
@ -1235,7 +1231,7 @@ msgstr ""
#: ../Doc/library/argparse.rst:1502
msgid "The Namespace object"
msgstr "L'objet Namespace"
msgstr "L'objet namespace"
#: ../Doc/library/argparse.rst:1506
msgid ""
@ -1628,7 +1624,7 @@ msgstr ""
#: ../Doc/library/argparse.rst:2005
msgid "Handling positional arguments."
msgstr "Gérer les arguments positionnels"
msgstr "Gérer les arguments positionnels."
#: ../Doc/library/argparse.rst:2006
msgid "Supporting sub-commands."
@ -1707,3 +1703,6 @@ msgid ""
"``parser.add_argument('--version', action='version', version='<the "
"version>')``."
msgstr ""
#~ msgid "Tutorial"
#~ msgstr "Tutoriel"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"PO-Revision-Date: 2017-08-10 00:59+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: 2018-01-21 23:14+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
"Language: fr\n"
@ -30,6 +30,13 @@ msgid ""
"creation time by using a :dfn:`type code`, which is a single character. The "
"following type codes are defined:"
msgstr ""
"Ce module définit un type objet qui permet de représenter de façon compacte "
"un tableau (*array*) de valeurs élémentaires : caractères, entier, "
"flottants. Les tableaux sont des types séquence et se comportent de manière "
"très similaire aux listes, sauf que les types d'objets qui y sont stockés "
"sont limités. Le type est spécifié au moment de la création de lobjet en "
"utilisant :dfn:`type code`, qui est un caractère unique. Voir ci-dessous "
"pour la définition des types :"
#: ../Doc/library/array.rst:19
msgid "Type code"
@ -197,7 +204,7 @@ msgstr "double"
#: ../Doc/library/array.rst:48
msgid "Notes:"
msgstr "Notes : "
msgstr "Notes :"
#: ../Doc/library/array.rst:51
msgid ""
@ -212,10 +219,6 @@ msgid ""
"API."
msgstr ""
#: ../Doc/library/array.rst:59
msgid "Deprecated since version 3.3, will be removed in version 4.0."
msgstr ""
#: ../Doc/library/array.rst:61
msgid ""
"The ``'q'`` and ``'Q'`` type codes are available only if the platform C "
@ -274,10 +277,11 @@ msgstr ""
#: ../Doc/library/array.rst:106
msgid "The length in bytes of one array item in the internal representation."
msgstr ""
"la longueur en octets d'un élément du tableau dans la représentation interne."
#: ../Doc/library/array.rst:111
msgid "Append a new item with value *x* to the end of the array."
msgstr ""
msgstr "Ajoute un nouvel élément avec la valeur *x* à la fin du tableau."
#: ../Doc/library/array.rst:116
msgid ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: 2018-02-15 00:41+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -126,7 +126,7 @@ msgstr "ou, plus compact : ::"
#: ../Doc/library/ast.rst:97
msgid "Abstract Grammar"
msgstr "Grammaire Abstraite"
msgstr "Grammaire abstraite"
#: ../Doc/library/ast.rst:99
msgid "The abstract grammar is currently defined as follows:"
@ -148,7 +148,13 @@ msgid ""
"filename, mode, ast.PyCF_ONLY_AST)``."
msgstr ""
#: ../Doc/library/ast.rst:119
#: ../Doc/library/ast.rst:117 ../Doc/library/ast.rst:135
msgid ""
"It is possible to crash the Python interpreter with a sufficiently large/"
"complex string due to stack depth limitations in Python's AST compiler."
msgstr ""
#: ../Doc/library/ast.rst:124
msgid ""
"Safely evaluate an expression node or a string containing a Python literal "
"or container display. The string or node provided may only consist of the "
@ -156,7 +162,7 @@ msgid ""
"dicts, sets, booleans, and ``None``."
msgstr ""
#: ../Doc/library/ast.rst:124
#: ../Doc/library/ast.rst:129
msgid ""
"This can be used for safely evaluating strings containing Python values from "
"untrusted sources without the need to parse the values oneself. It is not "
@ -164,11 +170,11 @@ msgid ""
"operators or indexing."
msgstr ""
#: ../Doc/library/ast.rst:129
#: ../Doc/library/ast.rst:139
msgid "Now allows bytes and set literals."
msgstr "Accepte maintenant les *bytes* et *sets* écrits littéralement."
#: ../Doc/library/ast.rst:135
#: ../Doc/library/ast.rst:145
msgid ""
"Return the docstring of the given *node* (which must be a :class:"
"`FunctionDef`, :class:`ClassDef` or :class:`Module` node), or ``None`` if it "
@ -176,7 +182,7 @@ msgid ""
"with :func:`inspect.cleandoc`."
msgstr ""
#: ../Doc/library/ast.rst:143
#: ../Doc/library/ast.rst:153
msgid ""
"When you compile a node tree with :func:`compile`, the compiler expects :"
"attr:`lineno` and :attr:`col_offset` attributes for every node that supports "
@ -185,81 +191,81 @@ msgid ""
"the values of the parent node. It works recursively starting at *node*."
msgstr ""
#: ../Doc/library/ast.rst:152
#: ../Doc/library/ast.rst:162
msgid ""
"Increment the line number of each node in the tree starting at *node* by "
"*n*. This is useful to \"move code\" to a different location in a file."
msgstr ""
#: ../Doc/library/ast.rst:158
#: ../Doc/library/ast.rst:168
msgid ""
"Copy source location (:attr:`lineno` and :attr:`col_offset`) from *old_node* "
"to *new_node* if possible, and return *new_node*."
msgstr ""
#: ../Doc/library/ast.rst:164
#: ../Doc/library/ast.rst:174
msgid ""
"Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` "
"that is present on *node*."
msgstr ""
#: ../Doc/library/ast.rst:170
#: ../Doc/library/ast.rst:180
msgid ""
"Yield all direct child nodes of *node*, that is, all fields that are nodes "
"and all items of fields that are lists of nodes."
msgstr ""
#: ../Doc/library/ast.rst:176
#: ../Doc/library/ast.rst:186
msgid ""
"Recursively yield all descendant nodes in the tree starting at *node* "
"(including *node* itself), in no specified order. This is useful if you "
"only want to modify nodes in place and don't care about the context."
msgstr ""
#: ../Doc/library/ast.rst:183
#: ../Doc/library/ast.rst:193
msgid ""
"A node visitor base class that walks the abstract syntax tree and calls a "
"visitor function for every node found. This function may return a value "
"which is forwarded by the :meth:`visit` method."
msgstr ""
#: ../Doc/library/ast.rst:187
#: ../Doc/library/ast.rst:197
msgid ""
"This class is meant to be subclassed, with the subclass adding visitor "
"methods."
msgstr ""
#: ../Doc/library/ast.rst:192
#: ../Doc/library/ast.rst:202
msgid ""
"Visit a node. The default implementation calls the method called :samp:"
"`self.visit_{classname}` where *classname* is the name of the node class, "
"or :meth:`generic_visit` if that method doesn't exist."
msgstr ""
#: ../Doc/library/ast.rst:198
#: ../Doc/library/ast.rst:208
msgid "This visitor calls :meth:`visit` on all children of the node."
msgstr ""
#: ../Doc/library/ast.rst:200
#: ../Doc/library/ast.rst:210
msgid ""
"Note that child nodes of nodes that have a custom visitor method won't be "
"visited unless the visitor calls :meth:`generic_visit` or visits them itself."
msgstr ""
#: ../Doc/library/ast.rst:204
#: ../Doc/library/ast.rst:214
msgid ""
"Don't use the :class:`NodeVisitor` if you want to apply changes to nodes "
"during traversal. For this a special visitor exists (:class:"
"`NodeTransformer`) that allows modifications."
msgstr ""
#: ../Doc/library/ast.rst:211
#: ../Doc/library/ast.rst:221
msgid ""
"A :class:`NodeVisitor` subclass that walks the abstract syntax tree and "
"allows modification of nodes."
msgstr ""
#: ../Doc/library/ast.rst:214
#: ../Doc/library/ast.rst:224
msgid ""
"The :class:`NodeTransformer` will walk the AST and use the return value of "
"the visitor methods to replace or remove the old node. If the return value "
@ -268,31 +274,31 @@ msgid ""
"may be the original node in which case no replacement takes place."
msgstr ""
#: ../Doc/library/ast.rst:220
#: ../Doc/library/ast.rst:230
msgid ""
"Here is an example transformer that rewrites all occurrences of name lookups "
"(``foo``) to ``data['foo']``::"
msgstr ""
#: ../Doc/library/ast.rst:232
#: ../Doc/library/ast.rst:242
msgid ""
"Keep in mind that if the node you're operating on has child nodes you must "
"either transform the child nodes yourself or call the :meth:`generic_visit` "
"method for the node first."
msgstr ""
#: ../Doc/library/ast.rst:236
#: ../Doc/library/ast.rst:246
msgid ""
"For nodes that were part of a collection of statements (that applies to all "
"statement nodes), the visitor may also return a list of nodes rather than "
"just a single node."
msgstr ""
#: ../Doc/library/ast.rst:240
#: ../Doc/library/ast.rst:250
msgid "Usually you use the transformer like this::"
msgstr "Utilisation typique du *transformer* ::"
msgstr "Utilisation typique du *transformer* ::"
#: ../Doc/library/ast.rst:247
#: ../Doc/library/ast.rst:257
msgid ""
"Return a formatted dump of the tree in *node*. This is mainly useful for "
"debugging purposes. The returned string will show the names and the values "
@ -302,7 +308,7 @@ msgid ""
"*include_attributes* can be set to ``True``."
msgstr ""
#: ../Doc/library/ast.rst:256
#: ../Doc/library/ast.rst:266
msgid ""
"`Green Tree Snakes <https://greentreesnakes.readthedocs.org/>`_, an external "
"documentation resource, has good details on working with Python ASTs."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:20+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -288,9 +288,9 @@ msgstr ""
#: ../Doc/library/asyncio-dev.rst:212
msgid ""
"Python usually calls :func:`sys.displayhook` on unhandled exceptions. If :"
"Python usually calls :func:`sys.excepthook` on unhandled exceptions. If :"
"meth:`Future.set_exception` is called, but the exception is never consumed, :"
"func:`sys.displayhook` is not called. Instead, :ref:`a log is emitted "
"func:`sys.excepthook` is not called. Instead, :ref:`a log is emitted "
"<asyncio-logger>` when the future is deleted by the garbage collector, with "
"the traceback where the exception was raised."
msgstr ""
@ -301,7 +301,7 @@ msgstr ""
#: ../Doc/library/asyncio-dev.rst:231
msgid "Output::"
msgstr "Sortie::"
msgstr "Sortie ::"
#: ../Doc/library/asyncio-dev.rst:244
msgid ""
@ -363,7 +363,7 @@ msgstr ""
#: ../Doc/library/asyncio-dev.rst:365
msgid "Or without ``asyncio.ensure_future()``::"
msgstr "Ou sans ``asyncio.ensure_future()`` ::"
msgstr "Ou sans ``asyncio.ensure_future()`` ::"
#: ../Doc/library/asyncio-dev.rst:379
msgid "Pending task destroyed"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -193,9 +193,9 @@ msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:143
#: ../Doc/library/asyncio-eventloop.rst:185
#: ../Doc/library/asyncio-eventloop.rst:199
#: ../Doc/library/asyncio-eventloop.rst:516
#: ../Doc/library/asyncio-eventloop.rst:528
#: ../Doc/library/asyncio-eventloop.rst:682
#: ../Doc/library/asyncio-eventloop.rst:519
#: ../Doc/library/asyncio-eventloop.rst:531
#: ../Doc/library/asyncio-eventloop.rst:685
msgid ""
":ref:`Use functools.partial to pass keywords to the callback <asyncio-pass-"
"keywords>`."
@ -203,7 +203,7 @@ msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:148
msgid "Like :meth:`call_soon`, but thread safe."
msgstr "Comme :meth:`call_soon` mais `thread safe`."
msgstr "Comme :meth:`call_soon` mais *thread safe*."
#: ../Doc/library/asyncio-eventloop.rst:150
msgid ""
@ -623,14 +623,14 @@ msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:460
#: ../Doc/library/asyncio-eventloop.rst:481
#: ../Doc/library/asyncio-eventloop.rst:555
#: ../Doc/library/asyncio-eventloop.rst:571
#: ../Doc/library/asyncio-eventloop.rst:581
#: ../Doc/library/asyncio-eventloop.rst:609
#: ../Doc/library/asyncio-eventloop.rst:648
#: ../Doc/library/asyncio-eventloop.rst:662
#: ../Doc/library/asyncio-eventloop.rst:713
#: ../Doc/library/asyncio-eventloop.rst:832
#: ../Doc/library/asyncio-eventloop.rst:558
#: ../Doc/library/asyncio-eventloop.rst:574
#: ../Doc/library/asyncio-eventloop.rst:584
#: ../Doc/library/asyncio-eventloop.rst:612
#: ../Doc/library/asyncio-eventloop.rst:651
#: ../Doc/library/asyncio-eventloop.rst:665
#: ../Doc/library/asyncio-eventloop.rst:716
#: ../Doc/library/asyncio-eventloop.rst:835
msgid "This method is a :ref:`coroutine <coroutine>`."
msgstr "Cette méthode est une :ref:`coroutine <coroutine>`."
@ -670,79 +670,79 @@ msgid ""
"coroutine returns a ``(transport, protocol)`` pair."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:504
#: ../Doc/library/asyncio-eventloop.rst:507
msgid "Watch file descriptors"
msgstr "Surveiller des descripteurs de fichiers"
#: ../Doc/library/asyncio-eventloop.rst:506
#: ../Doc/library/asyncio-eventloop.rst:509
msgid ""
"On Windows with :class:`SelectorEventLoop`, only socket handles are "
"supported (ex: pipe file descriptors are not supported)."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:509
#: ../Doc/library/asyncio-eventloop.rst:512
msgid ""
"On Windows with :class:`ProactorEventLoop`, these methods are not supported."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:513
#: ../Doc/library/asyncio-eventloop.rst:516
msgid ""
"Start watching the file descriptor for read availability and then call the "
"*callback* with specified arguments."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:521
#: ../Doc/library/asyncio-eventloop.rst:524
msgid "Stop watching the file descriptor for read availability."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:525
#: ../Doc/library/asyncio-eventloop.rst:528
msgid ""
"Start watching the file descriptor for write availability and then call the "
"*callback* with specified arguments."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:533
#: ../Doc/library/asyncio-eventloop.rst:536
msgid "Stop watching the file descriptor for write availability."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:535
#: ../Doc/library/asyncio-eventloop.rst:538
msgid ""
"The :ref:`watch a file descriptor for read events <asyncio-watch-read-"
"event>` example uses the low-level :meth:`AbstractEventLoop.add_reader` "
"method to register the file descriptor of a socket."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:541
#: ../Doc/library/asyncio-eventloop.rst:544
msgid "Low-level socket operations"
msgstr "Opérations bas niveau sur les *socket*"
#: ../Doc/library/asyncio-eventloop.rst:545
#: ../Doc/library/asyncio-eventloop.rst:548
msgid ""
"Receive data from the socket. Modeled after blocking :meth:`socket.socket."
"recv` method."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:548
#: ../Doc/library/asyncio-eventloop.rst:551
msgid ""
"The return value is a bytes object representing the data received. The "
"maximum amount of data to be received at once is specified by *nbytes*."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:552
#: ../Doc/library/asyncio-eventloop.rst:568
#: ../Doc/library/asyncio-eventloop.rst:578
#: ../Doc/library/asyncio-eventloop.rst:555
#: ../Doc/library/asyncio-eventloop.rst:571
#: ../Doc/library/asyncio-eventloop.rst:581
msgid ""
"With :class:`SelectorEventLoop` event loop, the socket *sock* must be non-"
"blocking."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:559
#: ../Doc/library/asyncio-eventloop.rst:562
msgid ""
"Send data to the socket. Modeled after blocking :meth:`socket.socket."
"sendall` method."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:562
#: ../Doc/library/asyncio-eventloop.rst:565
msgid ""
"The socket must be connected to a remote socket. This method continues to "
"send data from *data* until either all data has been sent or an error "
@ -751,13 +751,13 @@ msgid ""
"processed by the receiving end of the connection."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:575
#: ../Doc/library/asyncio-eventloop.rst:578
msgid ""
"Connect to a remote socket at *address*. Modeled after blocking :meth:"
"`socket.socket.connect` method."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:583
#: ../Doc/library/asyncio-eventloop.rst:586
msgid ""
"``address`` no longer needs to be resolved. ``sock_connect`` will try to "
"check if the *address* is already resolved by calling :func:`socket."
@ -765,18 +765,18 @@ msgid ""
"resolve the *address*."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:592
#: ../Doc/library/asyncio-eventloop.rst:595
msgid ""
":meth:`AbstractEventLoop.create_connection` and :func:`asyncio."
"open_connection() <open_connection>`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:598
#: ../Doc/library/asyncio-eventloop.rst:601
msgid ""
"Accept a connection. Modeled after blocking :meth:`socket.socket.accept`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:601
#: ../Doc/library/asyncio-eventloop.rst:604
msgid ""
"The socket must be bound to an address and listening for connections. The "
"return value is a pair ``(conn, address)`` where *conn* is a *new* socket "
@ -784,45 +784,45 @@ msgid ""
"the address bound to the socket on the other end of the connection."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:607
#: ../Doc/library/asyncio-eventloop.rst:610
msgid "The socket *sock* must be non-blocking."
msgstr "La *socket* *sock* ne soit pas être bloquante."
#: ../Doc/library/asyncio-eventloop.rst:613
#: ../Doc/library/asyncio-eventloop.rst:616
msgid ":meth:`AbstractEventLoop.create_server` and :func:`start_server`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:617
#: ../Doc/library/asyncio-eventloop.rst:620
msgid "Resolve host name"
msgstr "Résout le nom d'hôte"
#: ../Doc/library/asyncio-eventloop.rst:621
#: ../Doc/library/asyncio-eventloop.rst:624
msgid ""
"This method is a :ref:`coroutine <coroutine>`, similar to :meth:`socket."
"getaddrinfo` function but non-blocking."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:626
#: ../Doc/library/asyncio-eventloop.rst:629
msgid ""
"This method is a :ref:`coroutine <coroutine>`, similar to :meth:`socket."
"getnameinfo` function but non-blocking."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:631
#: ../Doc/library/asyncio-eventloop.rst:634
msgid "Connect pipes"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:633
#: ../Doc/library/asyncio-eventloop.rst:636
msgid ""
"On Windows with :class:`SelectorEventLoop`, these methods are not supported. "
"Use :class:`ProactorEventLoop` to support pipes on Windows."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:638
#: ../Doc/library/asyncio-eventloop.rst:641
msgid "Register read pipe in eventloop."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:640
#: ../Doc/library/asyncio-eventloop.rst:643
msgid ""
"*protocol_factory* should instantiate object with :class:`Protocol` "
"interface. *pipe* is a :term:`file-like object <file object>`. Return pair "
@ -830,18 +830,18 @@ msgid ""
"`ReadTransport` interface."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:645
#: ../Doc/library/asyncio-eventloop.rst:659
#: ../Doc/library/asyncio-eventloop.rst:648
#: ../Doc/library/asyncio-eventloop.rst:662
msgid ""
"With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-"
"blocking mode."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:652
#: ../Doc/library/asyncio-eventloop.rst:655
msgid "Register write pipe in eventloop."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:654
#: ../Doc/library/asyncio-eventloop.rst:657
msgid ""
"*protocol_factory* should instantiate object with :class:`BaseProtocol` "
"interface. *pipe* is :term:`file-like object <file object>`. Return pair "
@ -849,70 +849,70 @@ msgid ""
"`WriteTransport` interface."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:666
#: ../Doc/library/asyncio-eventloop.rst:669
msgid ""
"The :meth:`AbstractEventLoop.subprocess_exec` and :meth:`AbstractEventLoop."
"subprocess_shell` methods."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:671
#: ../Doc/library/asyncio-eventloop.rst:674
msgid "UNIX signals"
msgstr "Signaux UNIX"
#: ../Doc/library/asyncio-eventloop.rst:673
#: ../Doc/library/asyncio-eventloop.rst:676
msgid "Availability: UNIX only."
msgstr "Disponibilité : UNIX seulement."
#: ../Doc/library/asyncio-eventloop.rst:677
#: ../Doc/library/asyncio-eventloop.rst:680
msgid "Add a handler for a signal."
msgstr "Ajouter un gestionnaire (*handler*) pour un signal."
#: ../Doc/library/asyncio-eventloop.rst:679
#: ../Doc/library/asyncio-eventloop.rst:682
msgid ""
"Raise :exc:`ValueError` if the signal number is invalid or uncatchable. "
"Raise :exc:`RuntimeError` if there is a problem setting up the handler."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:687
#: ../Doc/library/asyncio-eventloop.rst:690
msgid "Remove a handler for a signal."
msgstr "Supprimer un *handler* pour un signal."
#: ../Doc/library/asyncio-eventloop.rst:689
#: ../Doc/library/asyncio-eventloop.rst:692
msgid "Return ``True`` if a signal handler was removed, ``False`` if not."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:693
#: ../Doc/library/asyncio-eventloop.rst:696
msgid "The :mod:`signal` module."
msgstr "Le module :mod:`signal`."
#: ../Doc/library/asyncio-eventloop.rst:697
#: ../Doc/library/asyncio-eventloop.rst:700
msgid "Executor"
msgstr "Exécuteur"
#: ../Doc/library/asyncio-eventloop.rst:699
#: ../Doc/library/asyncio-eventloop.rst:702
msgid ""
"Call a function in an :class:`~concurrent.futures.Executor` (pool of threads "
"or pool of processes). By default, an event loop uses a thread pool executor "
"(:class:`~concurrent.futures.ThreadPoolExecutor`)."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:705
#: ../Doc/library/asyncio-eventloop.rst:708
msgid "Arrange for a *func* to be called in the specified executor."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:707
#: ../Doc/library/asyncio-eventloop.rst:710
msgid ""
"The *executor* argument should be an :class:`~concurrent.futures.Executor` "
"instance. The default executor is used if *executor* is ``None``."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:710
#: ../Doc/library/asyncio-eventloop.rst:713
msgid ""
":ref:`Use functools.partial to pass keywords to the *func* <asyncio-pass-"
"keywords>`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:715
#: ../Doc/library/asyncio-eventloop.rst:718
msgid ""
":meth:`BaseEventLoop.run_in_executor` no longer configures the "
"``max_workers`` of the thread pool executor it creates, instead leaving it "
@ -920,27 +920,27 @@ msgid ""
"ThreadPoolExecutor`) to set the default."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:724
#: ../Doc/library/asyncio-eventloop.rst:727
msgid "Set the default executor used by :meth:`run_in_executor`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:728
#: ../Doc/library/asyncio-eventloop.rst:731
msgid "Error Handling API"
msgstr "API de gestion d'erreur"
#: ../Doc/library/asyncio-eventloop.rst:730
#: ../Doc/library/asyncio-eventloop.rst:733
msgid "Allows customizing how exceptions are handled in the event loop."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:734
#: ../Doc/library/asyncio-eventloop.rst:737
msgid "Set *handler* as the new event loop exception handler."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:736
#: ../Doc/library/asyncio-eventloop.rst:739
msgid "If *handler* is ``None``, the default exception handler will be set."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:739
#: ../Doc/library/asyncio-eventloop.rst:742
msgid ""
"If *handler* is a callable object, it should have a matching signature to "
"``(loop, context)``, where ``loop`` will be a reference to the active event "
@ -948,225 +948,225 @@ msgid ""
"`call_exception_handler` documentation for details about context)."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:747
#: ../Doc/library/asyncio-eventloop.rst:750
msgid "Return the exception handler, or ``None`` if the default one is in use."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:754
#: ../Doc/library/asyncio-eventloop.rst:757
msgid "Default exception handler."
msgstr "Gestionnaire d'exception par défaut."
#: ../Doc/library/asyncio-eventloop.rst:756
#: ../Doc/library/asyncio-eventloop.rst:759
msgid ""
"This is called when an exception occurs and no exception handler is set, and "
"can be called by a custom exception handler that wants to defer to the "
"default behavior."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:760
#: ../Doc/library/asyncio-eventloop.rst:763
msgid ""
"*context* parameter has the same meaning as in :meth:"
"`call_exception_handler`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:765
#: ../Doc/library/asyncio-eventloop.rst:768
msgid "Call the current event loop exception handler."
msgstr ""
"Appelle le gestionnaire d'exception de la boucle d'évènements actuelle."
#: ../Doc/library/asyncio-eventloop.rst:767
#: ../Doc/library/asyncio-eventloop.rst:770
msgid ""
"*context* is a ``dict`` object containing the following keys (new keys may "
"be introduced later):"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:770
#: ../Doc/library/asyncio-eventloop.rst:773
msgid "'message': Error message;"
msgstr "``message`` : Message d'erreur ;"
#: ../Doc/library/asyncio-eventloop.rst:771
#: ../Doc/library/asyncio-eventloop.rst:774
msgid "'exception' (optional): Exception object;"
msgstr "``exception`` (optionnel): Un objet exception ;"
#: ../Doc/library/asyncio-eventloop.rst:772
#: ../Doc/library/asyncio-eventloop.rst:775
msgid "'future' (optional): :class:`asyncio.Future` instance;"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:773
#: ../Doc/library/asyncio-eventloop.rst:776
msgid "'handle' (optional): :class:`asyncio.Handle` instance;"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:774
#: ../Doc/library/asyncio-eventloop.rst:777
msgid "'protocol' (optional): :ref:`Protocol <asyncio-protocol>` instance;"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:775
#: ../Doc/library/asyncio-eventloop.rst:778
msgid "'transport' (optional): :ref:`Transport <asyncio-transport>` instance;"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:776
#: ../Doc/library/asyncio-eventloop.rst:779
msgid "'socket' (optional): :class:`socket.socket` instance."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:780
#: ../Doc/library/asyncio-eventloop.rst:783
msgid ""
"Note: this method should not be overloaded in subclassed event loops. For "
"any custom exception handling, use :meth:`set_exception_handler()` method."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:785
#: ../Doc/library/asyncio-eventloop.rst:788
msgid "Debug mode"
msgstr "Mode débug"
#: ../Doc/library/asyncio-eventloop.rst:789
#: ../Doc/library/asyncio-eventloop.rst:792
msgid "Get the debug mode (:class:`bool`) of the event loop."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:791
#: ../Doc/library/asyncio-eventloop.rst:794
msgid ""
"The default value is ``True`` if the environment variable :envvar:"
"`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:799
#: ../Doc/library/asyncio-eventloop.rst:802
msgid "Set the debug mode of the event loop."
msgstr "Active le mode débug pour la boucle d'évènements."
#: ../Doc/library/asyncio-eventloop.rst:805
#: ../Doc/library/asyncio-eventloop.rst:808
msgid "The :ref:`debug mode of asyncio <asyncio-debug-mode>`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:808
#: ../Doc/library/asyncio-eventloop.rst:811
msgid "Server"
msgstr "Serveur"
#: ../Doc/library/asyncio-eventloop.rst:812
#: ../Doc/library/asyncio-eventloop.rst:815
msgid "Server listening on sockets."
msgstr "Serveur écoutant sur des *sockets*."
#: ../Doc/library/asyncio-eventloop.rst:814
#: ../Doc/library/asyncio-eventloop.rst:817
msgid ""
"Object created by the :meth:`AbstractEventLoop.create_server` method and "
"the :func:`start_server` function. Don't instantiate the class directly."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:819
#: ../Doc/library/asyncio-eventloop.rst:822
msgid ""
"Stop serving: close listening sockets and set the :attr:`sockets` attribute "
"to ``None``."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:822
#: ../Doc/library/asyncio-eventloop.rst:825
msgid ""
"The sockets that represent existing incoming client connections are left "
"open."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:825
#: ../Doc/library/asyncio-eventloop.rst:828
msgid ""
"The server is closed asynchronously, use the :meth:`wait_closed` coroutine "
"to wait until the server is closed."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:830
#: ../Doc/library/asyncio-eventloop.rst:833
msgid "Wait until the :meth:`close` method completes."
msgstr "Attends que la méthode :meth:`close` se termine."
#: ../Doc/library/asyncio-eventloop.rst:836
#: ../Doc/library/asyncio-eventloop.rst:839
msgid ""
"List of :class:`socket.socket` objects the server is listening to, or "
"``None`` if the server is closed."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:841
#: ../Doc/library/asyncio-eventloop.rst:844
msgid "Handle"
msgstr "Handle"
#: ../Doc/library/asyncio-eventloop.rst:845
#: ../Doc/library/asyncio-eventloop.rst:848
msgid ""
"A callback wrapper object returned by :func:`AbstractEventLoop.call_soon`, :"
"func:`AbstractEventLoop.call_soon_threadsafe`, :func:`AbstractEventLoop."
"call_later`, and :func:`AbstractEventLoop.call_at`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:851
#: ../Doc/library/asyncio-eventloop.rst:854
msgid ""
"Cancel the call. If the callback is already canceled or executed, this "
"method has no effect."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:856
#: ../Doc/library/asyncio-eventloop.rst:859
msgid "Event loop examples"
msgstr "Exemples de boucles d'évènements"
#: ../Doc/library/asyncio-eventloop.rst:861
#: ../Doc/library/asyncio-eventloop.rst:864
msgid "Hello World with call_soon()"
msgstr "\"Hello World\" avec ``call_soon()``"
#: ../Doc/library/asyncio-eventloop.rst:863
#: ../Doc/library/asyncio-eventloop.rst:866
msgid ""
"Example using the :meth:`AbstractEventLoop.call_soon` method to schedule a "
"callback. The callback displays ``\"Hello World\"`` and then stops the event "
"loop::"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:884
#: ../Doc/library/asyncio-eventloop.rst:887
msgid ""
"The :ref:`Hello World coroutine <asyncio-hello-world-coroutine>` example "
"uses a :ref:`coroutine <coroutine>`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:891
#: ../Doc/library/asyncio-eventloop.rst:894
msgid "Display the current date with call_later()"
msgstr "Afficher la date actuelle avec ``call_later()``"
#: ../Doc/library/asyncio-eventloop.rst:893
#: ../Doc/library/asyncio-eventloop.rst:896
msgid ""
"Example of callback displaying the current date every second. The callback "
"uses the :meth:`AbstractEventLoop.call_later` method to reschedule itself "
"during 5 seconds, and then stops the event loop::"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:919
#: ../Doc/library/asyncio-eventloop.rst:922
msgid ""
"The :ref:`coroutine displaying the current date <asyncio-date-coroutine>` "
"example uses a :ref:`coroutine <coroutine>`."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:927
#: ../Doc/library/asyncio-eventloop.rst:930
msgid "Watch a file descriptor for read events"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:929
#: ../Doc/library/asyncio-eventloop.rst:932
msgid ""
"Wait until a file descriptor received some data using the :meth:"
"`AbstractEventLoop.add_reader` method and then close the event loop::"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:966
#: ../Doc/library/asyncio-eventloop.rst:969
msgid ""
"The :ref:`register an open socket to wait for data using a protocol <asyncio-"
"register-socket>` example uses a low-level protocol created by the :meth:"
"`AbstractEventLoop.create_connection` method."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:970
#: ../Doc/library/asyncio-eventloop.rst:973
msgid ""
"The :ref:`register an open socket to wait for data using streams <asyncio-"
"register-socket-streams>` example uses high-level streams created by the :"
"func:`open_connection` function in a coroutine."
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:976
#: ../Doc/library/asyncio-eventloop.rst:979
msgid "Set signal handlers for SIGINT and SIGTERM"
msgstr "Définit les gestionnaires de signaux pour *SIGINT* et *SIGTERM*"
#: ../Doc/library/asyncio-eventloop.rst:978
#: ../Doc/library/asyncio-eventloop.rst:981
msgid ""
"Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using "
"the :meth:`AbstractEventLoop.add_signal_handler` method::"
msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:1002
#: ../Doc/library/asyncio-eventloop.rst:1005
msgid "This example only works on UNIX."
msgstr "Cet exemple fonctionne seulement sur UNIX."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -228,71 +228,89 @@ msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:150
msgid ""
"For most users of :mod:`asyncio`, policies never have to be dealt with "
"explicitly, since the default global policy is sufficient."
"explicitly, since the default global policy is sufficient (see below)."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:153
msgid ""
"The default policy defines context as the current thread, and manages an "
"event loop per thread that interacts with :mod:`asyncio`. The module-level "
"functions :func:`get_event_loop` and :func:`set_event_loop` provide "
"convenient access to event loops managed by the default policy."
"The module-level functions :func:`get_event_loop` and :func:`set_event_loop` "
"provide convenient access to event loops managed by the default policy."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:160
#: ../Doc/library/asyncio-eventloops.rst:159
msgid "Event loop policy interface"
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:162
#: ../Doc/library/asyncio-eventloops.rst:161
msgid "An event loop policy must implement the following interface:"
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:166
#: ../Doc/library/asyncio-eventloops.rst:165
msgid "Event loop policy."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:170
#: ../Doc/library/asyncio-eventloops.rst:169
msgid "Get the event loop for the current context."
msgstr "Récupére la boucle d'évènements pour le contexte actuel."
#: ../Doc/library/asyncio-eventloops.rst:172
#: ../Doc/library/asyncio-eventloops.rst:171
msgid ""
"Returns an event loop object implementing the :class:`AbstractEventLoop` "
"interface."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:175
#: ../Doc/library/asyncio-eventloops.rst:174
msgid ""
"Raises an exception in case no event loop has been set for the current "
"context and the current policy does not specify to create one. It must never "
"return ``None``."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:181
#: ../Doc/library/asyncio-eventloops.rst:180
msgid "Set the event loop for the current context to *loop*."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:185
#: ../Doc/library/asyncio-eventloops.rst:184
msgid ""
"Create and return a new event loop object according to this policy's rules."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:188
#: ../Doc/library/asyncio-eventloops.rst:187
msgid ""
"If there's need to set this loop as the event loop for the current context, :"
"meth:`set_event_loop` must be called explicitly."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:193
#: ../Doc/library/asyncio-eventloops.rst:191
msgid ""
"The default policy defines context as the current thread, and manages an "
"event loop per thread that interacts with :mod:`asyncio`. If the current "
"thread doesn't already have an event loop associated with it, the default "
"policy's :meth:`~AbstractEventLoopPolicy.get_event_loop` method creates one "
"when called from the main thread, but raises :exc:`RuntimeError` otherwise."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:199
msgid "Access to the global loop policy"
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:197
#: ../Doc/library/asyncio-eventloops.rst:203
msgid "Get the current event loop policy."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:201
#: ../Doc/library/asyncio-eventloops.rst:207
msgid ""
"Set the current event loop policy. If *policy* is ``None``, the default "
"policy is restored."
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:212
msgid "Customizing the event loop policy"
msgstr ""
#: ../Doc/library/asyncio-eventloops.rst:214
msgid ""
"To implement a new event loop policy, it is recommended you subclass the "
"concrete default event loop policy :class:`DefaultEventLoopPolicy` and "
"override the methods for which you want to change behavior, for example::"
msgstr ""

View File

@ -398,7 +398,7 @@ msgstr ""
#: ../Doc/library/asyncio-stream.rst:416
msgid "or with HTTPS::"
msgstr "ou avec HTTPS ::"
msgstr "ou avec HTTPS ::"
#: ../Doc/library/asyncio-stream.rst:423
msgid "Register an open socket to wait for data using streams"

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2017-11-28 13:56+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -320,6 +320,8 @@ msgid ""
"The data read is buffered in memory, so do not use this method if the data "
"size is large or unlimited."
msgstr ""
"Les données lues sont mises en cache en mémoire, donc n'utilisez pas cette "
"méthode si la taille des données est importante voire illimitée."
#: ../Doc/library/asyncio-subprocess.rst:241
msgid ""
@ -401,7 +403,7 @@ msgstr ""
#: ../Doc/library/asyncio-subprocess.rst:308
msgid "Subprocess and threads"
msgstr "Processus fils et threads"
msgstr "Processus fils et fils d'exécution"
#: ../Doc/library/asyncio-subprocess.rst:310
msgid ""
@ -411,7 +413,8 @@ msgstr ""
#: ../Doc/library/asyncio-subprocess.rst:313
msgid "An event loop must run in the main thread"
msgstr "Une boucle d'évènements doit être exécutée sur le thread principal"
msgstr ""
"Une boucle d'évènements doit être exécutée sur le fil d'exécution principal"
#: ../Doc/library/asyncio-subprocess.rst:314
msgid ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -256,7 +256,7 @@ msgstr ""
#: ../Doc/library/asyncio-task.rst:218
msgid ""
"Callbacks registered with :meth:`add_done_callback` are always called via "
"the event loop's :meth:`~AbstractEventLoop.call_soon_threadsafe`."
"the event loop's :meth:`~AbstractEventLoop.call_soon`."
msgstr ""
#: ../Doc/library/asyncio-task.rst:221
@ -553,7 +553,7 @@ msgstr "Exemple d'exécution de trois tâches (A, B, C) en parallèle : ::"
#: ../Doc/library/asyncio-task.rst:482
msgid "Output::"
msgstr "Sortie::"
msgstr "Sortie ::"
#: ../Doc/library/asyncio-task.rst:494
msgid ""
@ -761,7 +761,7 @@ msgstr ""
#: ../Doc/library/asyncio-task.rst:680
msgid "Constant"
msgstr ""
msgstr "Constante"
#: ../Doc/library/asyncio-task.rst:680
msgid "Description"

View File

@ -107,7 +107,7 @@ msgstr ""
#: ../Doc/library/atexit.rst:101
msgid "Usage as a :term:`decorator`::"
msgstr "Utilisation en temps que :term:`decorator` ::"
msgstr "Utilisation en temps que :term:`decorator` ::"
#: ../Doc/library/atexit.rst:109
msgid "This only works with functions that can be called without arguments."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: 2017-08-10 00:59+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -272,20 +272,11 @@ msgid ""
"necessary."
msgstr ""
#: ../Doc/library/base64.rst:222
msgid ""
"Both Base85 and Ascii85 have an expansion factor of 5 to 4 (5 Base85 or "
"Ascii85 characters can encode 4 binary bytes), while the better-known Base64 "
"has an expansion factor of 6 to 4. They are therefore more efficient when "
"space expensive. They differ by details such as the character map used for "
"encoding."
msgstr ""
#: ../Doc/library/base64.rst:229
#: ../Doc/library/base64.rst:221
msgid "The legacy interface:"
msgstr "L'interface historique :"
#: ../Doc/library/base64.rst:233
#: ../Doc/library/base64.rst:225
msgid ""
"Decode the contents of the binary *input* file and write the resulting "
"binary data to the *output* file. *input* and *output* must be :term:`file "
@ -293,17 +284,17 @@ msgid ""
"returns an empty bytes object."
msgstr ""
#: ../Doc/library/base64.rst:241
#: ../Doc/library/base64.rst:233
msgid ""
"Decode the :term:`bytes-like object` *s*, which must contain one or more "
"lines of base64 encoded data, and return the decoded :class:`bytes`."
msgstr ""
#: ../Doc/library/base64.rst:248
#: ../Doc/library/base64.rst:240
msgid "Deprecated alias of :func:`decodebytes`."
msgstr ""
#: ../Doc/library/base64.rst:255
#: ../Doc/library/base64.rst:247
msgid ""
"Encode the contents of the binary *input* file and write the resulting "
"base64 encoded data to the *output* file. *input* and *output* must be :term:"
@ -313,7 +304,7 @@ msgid ""
"the output always ends with a newline, as per :rfc:`2045` (MIME)."
msgstr ""
#: ../Doc/library/base64.rst:265
#: ../Doc/library/base64.rst:257
msgid ""
"Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary "
"data, and return :class:`bytes` containing the base64-encoded data, with "
@ -321,33 +312,33 @@ msgid ""
"that there is a trailing newline, as per :rfc:`2045` (MIME)."
msgstr ""
#: ../Doc/library/base64.rst:274
#: ../Doc/library/base64.rst:266
msgid "Deprecated alias of :func:`encodebytes`."
msgstr ""
#: ../Doc/library/base64.rst:279
#: ../Doc/library/base64.rst:271
msgid "An example usage of the module:"
msgstr "Un exemple d'utilisation du module :"
#: ../Doc/library/base64.rst:293
#: ../Doc/library/base64.rst:285
msgid "Module :mod:`binascii`"
msgstr "Module :mod:`binascii`"
#: ../Doc/library/base64.rst:293
#: ../Doc/library/base64.rst:285
msgid ""
"Support module containing ASCII-to-binary and binary-to-ASCII conversions."
msgstr ""
"Module secondaire contenant les conversions ASCII-à-binaire et binaire-à-"
"ASCII."
#: ../Doc/library/base64.rst:296
#: ../Doc/library/base64.rst:288
msgid ""
":rfc:`1521` - MIME (Multipurpose Internet Mail Extensions) Part One: "
"Mechanisms for Specifying and Describing the Format of Internet Message "
"Bodies"
msgstr ""
#: ../Doc/library/base64.rst:296
#: ../Doc/library/base64.rst:288
msgid ""
"Section 5.2, \"Base64 Content-Transfer-Encoding,\" provides the definition "
"of the base64 encoding."

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2017-11-07 23:13+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/library/binary.rst:5
msgid "Binary Data Services"
msgstr ""
msgstr "Services autour des Données Binaires"
#: ../Doc/library/binary.rst:7
msgid ""
@ -28,6 +28,10 @@ msgid ""
"specifically in relation to file formats and network protocols, are "
"described in the relevant sections."
msgstr ""
"Les modules décrits dans ce chapitre fournissent des services élémentaires "
"pour manipuler des données binaires. Les autres manipulations sur les "
"données binaires, particulièrement celles en relation avec les formats de "
"fichier et les protocoles réseaux sont décrits dans leurs propres chapitres."
#: ../Doc/library/binary.rst:12
msgid ""
@ -35,9 +39,14 @@ msgid ""
"ASCII-compatible binary formats (for example, :mod:`re`) or all binary data "
"(for example, :mod:`difflib`)."
msgstr ""
"Certaines bibliothèques décrites dans :ref:`textservices` fonctionnent aussi "
"avec soit des formats binaires compatibles ASCII (comme le module :mod:`re`) "
"soit toutes les données binaires (comme le module :mod:`difflib`)."
#: ../Doc/library/binary.rst:16
msgid ""
"In addition, see the documentation for Python's built-in binary data types "
"in :ref:`binaryseq`."
msgstr ""
"En complément, consultez la documentation des types natifs binaires dans :"
"ref:`binaryseq`."

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