Merge branch '3.7' of https://github.com/python/python-docs-fr into unittest

This commit is contained in:
Pierre Bousquié 2018-11-20 21:47:16 +01:00
commit b5093689a3
14 changed files with 1246 additions and 164 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
*.mo
.tx/**/*.po
venv/
.idea/

View File

@ -18,7 +18,7 @@ SPHINX_CONF := $(CPYTHON_CLONE)/Doc/conf.py
LANGUAGE := fr
VENV := ~/.venvs/python-docs-i18n/
PYTHON := $(shell which python3)
MODE := autobuild-dev-html
MODE := html
BRANCH = 3.7
COMMIT =
JOBS = auto
@ -31,7 +31,7 @@ ifneq "$(shell cd $(CPYTHON_CLONE) 2>/dev/null && git describe --contains --all
endif
mkdir -p $(CPYTHON_CLONE)/locales/$(LANGUAGE)/
ln -nfs $(shell $(PYTHON) -c 'import os; print(os.path.realpath("."))') $(CPYTHON_CLONE)/locales/$(LANGUAGE)/LC_MESSAGES
$(MAKE) -C $(CPYTHON_CLONE)/Doc/ VENVDIR=$(VENV) PYTHON=$(PYTHON) SPHINXOPTS='-qaEW -j$(JOBS) -D locale_dirs=../locales -D language=$(LANGUAGE) -D gettext_compact=0 -D latex_engine=xelatex -D latex_elements.inputenc= -D latex_elements.fontenc=' $(MODE)
$(MAKE) -C $(CPYTHON_CLONE)/Doc/ VENVDIR=$(VENV) PYTHON=$(PYTHON) SPHINXOPTS='-qW -j$(JOBS) -D locale_dirs=../locales -D language=$(LANGUAGE) -D gettext_compact=0 -D latex_engine=xelatex -D latex_elements.inputenc= -D latex_elements.fontenc=' $(MODE)
$(SPHINX_CONF):
@ -57,7 +57,7 @@ progress:
.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
python3 scripts/todo.py
.PHONY: merge

View File

@ -4,7 +4,7 @@ French Translation of the Python Documentation
.. image:: https://travis-ci.org/python/python-docs-fr.svg?branch=3.7
:target: https://travis-ci.org/python/python-docs-fr
**Translated: 33%**
**Translated: 34%**
Documentation Contribution Agreement
------------------------------------
@ -236,6 +236,7 @@ e.g. e.g. (pour *exempli gratia*)
garbage collector ramasse-miettes
identifier identifiant
immutable immuable
installer installateur
interpreter interpréteur
library bibliothèque
list comprehension liste en compréhension (liste en intension est

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
"PO-Revision-Date: 2018-10-04 16:28+0200\n"
"PO-Revision-Date: 2018-11-16 09:10+0100\n"
"Last-Translator: \n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -909,7 +909,7 @@ msgid ""
msgstr ""
"Ces fonctions peuvent être appelées lorsqu'un répertoire ou un fichier est "
"crée par le script de post installation au moment de l'installation. Cela va "
"enregistrer le *chemin* avec le des-installeur, de sorte qu'il soit retiré "
"enregistrer le *chemin* avec le des-installateur, de sorte qu'il soit retiré "
"lors de la des-installation de la distribution. pour être sûr, les "
"répertoires sont uniquement retirés s'ils sont vides."

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-15 21:52+0200\n"
"PO-Revision-Date: 2018-10-04 17:54+0200\n"
"PO-Revision-Date: 2018-11-13 09:44+0100\n"
"Last-Translator: \n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -1096,7 +1096,7 @@ msgid ""
"Note that :func:`getattr` works on any object, including classes, class "
"instances, modules, and so on."
msgstr ""
"Notez que :func:`getattr` marche sur n'importe quel objet, ceci inclue les "
"Notez que :func:`getattr` marche sur n'importe quel objet, ceci inclut les "
"classes, les instances de classes, les modules et ainsi de suite."
#: ../Doc/faq/programming.rst:911

View File

@ -6,8 +6,8 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-10 11:27+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-11-18 23:00+0100\n"
"Last-Translator: BAILLY Geoffroy <dev@zest-labs.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -16,7 +16,7 @@ msgstr ""
#: ../Doc/howto/ipaddress.rst:9
msgid "An introduction to the ipaddress module"
msgstr ""
msgstr "Introduction au module ``ipaddress``"
#: ../Doc/howto/ipaddress.rst:0
msgid "author"
@ -24,15 +24,15 @@ msgstr "auteur"
#: ../Doc/howto/ipaddress.rst:11
msgid "Peter Moody"
msgstr ""
msgstr "Peter Moody"
#: ../Doc/howto/ipaddress.rst:12
msgid "Nick Coghlan"
msgstr ""
msgstr "Nick Coghlan"
#: ../Doc/howto/ipaddress.rst:None
msgid "Overview"
msgstr ""
msgstr "Aperçu"
#: ../Doc/howto/ipaddress.rst:16
msgid ""
@ -42,10 +42,15 @@ msgid ""
"an overview of how :mod:`ipaddress` represents IP network addressing "
"concepts."
msgstr ""
"Ce document vise à fournir une introduction rapide au module :mod:"
"`ipaddress`. Il est destiné aux utilisateurs qui ne sont pas familiers avec "
"la terminologie des réseaux IP, mais il peut aussi être utile aux ingénieurs "
"réseaux qui cherchent un aperçu de la représentation des concepts "
"d'adressage IP avec le module :mod:`ipaddress`."
#: ../Doc/howto/ipaddress.rst:24
msgid "Creating Address/Network/Interface objects"
msgstr ""
msgstr "Créer un objet Adresse/Réseau/Interface"
#: ../Doc/howto/ipaddress.rst:26
msgid ""
@ -53,10 +58,14 @@ msgid ""
"addresses, the first thing you'll want to do is create some objects. You "
"can use :mod:`ipaddress` to create objects from strings and integers."
msgstr ""
"Vu que :mod:`ipaddress` est un module pour inspecter et manipuler des "
"adresses IP, la première chose que vous voudrez faire est de créer quelques "
"objets. Vous pouvez utiliser :mod:`ipaddress` pour créer des objets à partir "
"de chaînes de caractères et d'entiers."
#: ../Doc/howto/ipaddress.rst:32
msgid "A Note on IP Versions"
msgstr ""
msgstr "Note sur les versions d'IP"
#: ../Doc/howto/ipaddress.rst:34
msgid ""
@ -67,6 +76,13 @@ msgid ""
"addresses to handle the needs of the whole world, especially given the "
"increasing number of devices with direct connections to the internet."
msgstr ""
"Pour les lecteurs qui ne sont pas particulièrement familiers avec "
"l'adressage IP il est important de savoir que le protocole IP est "
"actuellement en évolution de la version 4 du protocole vers la version 6. "
"Cette transition est largement due au fait que la version 4 du protocole ne "
"fournit pas assez d'adresses pour gérer les besoins du monde entier, "
"particulièrement à cause de la croissance des périphériques directement "
"connectés à Internet."
#: ../Doc/howto/ipaddress.rst:41
msgid ""
@ -75,10 +91,14 @@ msgid ""
"least be aware that these two versions exist, and it will sometimes be "
"necessary to force the use of one version or the other."
msgstr ""
"Expliquer les détails des différences entre les deux versions du protocole "
"est au-delà du périmètre de cette introduction, mais les lecteurs doivent au "
"moins être avertis de l'existence de ces deux versions et qu'il sera "
"nécessaire de forcer l'utilisation d'une version ou de l'autre."
#: ../Doc/howto/ipaddress.rst:48
msgid "IP Host Addresses"
msgstr ""
msgstr "Adresses IP des hôtes"
#: ../Doc/howto/ipaddress.rst:50
msgid ""
@ -88,12 +108,21 @@ msgid ""
"determines whether to create an IPv4 or IPv6 address based on the passed in "
"value:"
msgstr ""
"Les adresses, souvent dénommées \"adresses hôtes\" sont les unités les plus "
"basiques quand on travaille avec l'adressage IP. Le moyen le plus simple de "
"créer des adresses est d'utiliser la fonction de fabrication :func:"
"`ipaddress.ip_address` qui va automatiquement déterminer quoi créer entre "
"une adresse IPv4 ou une adresse IPv6 en fonction de la valeur qui est "
"transmise :"
#: ../Doc/howto/ipaddress.rst:61
msgid ""
"Addresses can also be created directly from integers. Values that will fit "
"within 32 bits are assumed to be IPv4 addresses::"
msgstr ""
"Les adresses peuvent être créées directement depuis des entiers. Les valeurs "
"qui correspondent à des entiers 32 bits sont assimilées à des adresses "
"IPv4 ::"
#: ../Doc/howto/ipaddress.rst:69
msgid ""
@ -101,10 +130,13 @@ msgid ""
"invoked directly. This is particularly useful to force creation of IPv6 "
"addresses for small integers::"
msgstr ""
"Pour forcer l'utilisation d'IPv4 ou d'IPv6, la classe appropriée peut être "
"invoquée directement. C'est particulièrement utile pour forcer la création "
"d'adresse IPv6 pour de petits entiers ::"
#: ../Doc/howto/ipaddress.rst:82
msgid "Defining Networks"
msgstr ""
msgstr "Définir des réseaux"
#: ../Doc/howto/ipaddress.rst:84
msgid ""
@ -117,12 +149,23 @@ msgid ""
"whether or not an address is part of the network and the network address "
"defines the expected value of those bits."
msgstr ""
"Les adresses hôtes sont souvent regroupées dans des réseaux IP, donc :mod:"
"`ipaddress` fournit un moyen de créer, d'inspecter et de manipuler les "
"définitions des réseaux. Les objets correspondants aux réseaux IP sont "
"construits à partir de chaînes de caractères qui définissent le périmètre "
"des adresses hôtes qui font partie de ce réseau. La forme la plus simple de "
"cette information est un couple \"adresse réseau/préfixe réseau\" , où le "
"préfixe définit le nombre de bits de tête qui sont comparés pour déterminer "
"si l'adresse fait ou ne fait pas partie de ce réseau et l'adresse réseau "
"définit la valeur attendue pour ces bits."
#: ../Doc/howto/ipaddress.rst:93
msgid ""
"As for addresses, a factory function is provided that determines the correct "
"IP version automatically::"
msgstr ""
"Tout comme pour les adresses, une fonction de fabrication est disponible et "
"détermine automatiquement la version correcte d'IP ::"
#: ../Doc/howto/ipaddress.rst:101
msgid ""
@ -132,6 +175,12 @@ msgid ""
"commonly used to describe network interfaces of a computer on a given "
"network and are described further in the next section."
msgstr ""
"Il est interdit pour des objets réseaux d'avoir des bits affectés à leurs "
"hôtes mis à 1. Ainsi la chaine de caractère ``192.0.2.1/24`` ne peut définir "
"un réseau. Ces objets réseaux sont aussi appelés objets d'interfaces car la "
"notation ``adresse ip / réseau`` est couramment utilisée pour décrire les "
"interfaces réseau d'un ordinateur sur un réseau donné (nous les détaillons "
"plus loin dans cette section)."
#: ../Doc/howto/ipaddress.rst:107
msgid ""
@ -140,6 +189,10 @@ msgid ""
"bits instead be coerced to zero, the flag ``strict=False`` can be passed to "
"the constructor::"
msgstr ""
"Par défaut, tenter de créer un objet réseau avec des bits d'hôtes mis à 1 "
"lève une :exc:`ValueError`. Pour demander que les bits supplémentaires "
"soient plutôt forcés à zéro, l'attribut ``strict=False`` peut être passé au "
"constructeur ::"
#: ../Doc/howto/ipaddress.rst:119
msgid ""
@ -148,16 +201,24 @@ msgid ""
"network is considered to contain only the single address identified by the "
"integer, so the network prefix includes the entire network address::"
msgstr ""
"Alors que la forme textuelle offre davantage de flexibilité les réseaux "
"peuvent aussi être définis avec des entiers, tout comme les adresses hôtes. "
"Dans ce cas le réseau est considéré comme contenant uniquement l'adresse "
"identifiée par l'entier, donc le préfixe réseau inclut l'adresse du réseau "
"complet ::"
#: ../Doc/howto/ipaddress.rst:129
msgid ""
"As with addresses, creation of a particular kind of network can be forced by "
"calling the class constructor directly instead of using the factory function."
msgstr ""
"Comme avec les adresses, la création d'un type de réseau particulier peut "
"être forcé en appelant directement le constructeur de la classe plutôt que "
"d'utiliser la fonction de fabrication."
#: ../Doc/howto/ipaddress.rst:135
msgid "Host Interfaces"
msgstr ""
msgstr "Interfaces des hôtes"
#: ../Doc/howto/ipaddress.rst:137
msgid ""
@ -171,16 +232,29 @@ msgid ""
"defining network objects, except that the address portion isn't constrained "
"to being a network address."
msgstr ""
"Comme mentionné ci-dessus, si vous avez besoin de décrire une adresse sur un "
"réseau particulier, ni l'adresse ni les classes réseaux ne sont suffisantes. "
"Les notations comme ``192.0.2.1/24`` sont généralement utilisées par les "
"ingénieurs réseaux et les personnes qui écrivent des outils pour les pare-"
"feu et les routeurs comme raccourci pour \" l'hôte ``192.0.2.1`` sur le "
"réseau ``192.0.2.0/24``\", par conséquent, :mod:`ipaddress` fournit un "
"ensemble de classes hybrides qui associent une adresse à un réseau "
"particulier. L'interface pour la création est identique à celle pour la "
"définition des objets réseaux, excepté que la partie adresse n'est pas "
"contrainte d'être une adresse réseau."
#: ../Doc/howto/ipaddress.rst:152
msgid ""
"Integer inputs are accepted (as with networks), and use of a particular IP "
"version can be forced by calling the relevant constructor directly."
msgstr ""
"Les entiers sont acceptés en entrée (comme avec les réseaux), et "
"l'utilisation d'une version d'IP peut être forcée en appelant directement le "
"constructeur adapté."
#: ../Doc/howto/ipaddress.rst:157
msgid "Inspecting Address/Network/Interface Objects"
msgstr ""
msgstr "Inspecter les objets Address/Network/Interface"
#: ../Doc/howto/ipaddress.rst:159
msgid ""
@ -188,32 +262,38 @@ msgid ""
"Interface) object, so you probably want to get information about it. :mod:"
"`ipaddress` tries to make doing this easy and intuitive."
msgstr ""
"Vous vous êtes donné la peine de créer un objet (adresse|réseau|"
"interface)IPv(4|6), donc vous voudrez probablement des informations sur "
"celui-ci. :mod:`ipaddress` essaie de rendre ceci facile et intuitif."
#: ../Doc/howto/ipaddress.rst:163
msgid "Extracting the IP version::"
msgstr ""
msgstr "Extraire la version du protocole IP"
#: ../Doc/howto/ipaddress.rst:172
msgid "Obtaining the network from an interface::"
msgstr ""
msgstr "Obtenir le réseau à partir de l'interface ::"
#: ../Doc/howto/ipaddress.rst:181
msgid "Finding out how many individual addresses are in a network::"
msgstr ""
msgstr "Trouver combien d'adresses individuelles sont dans un réseau ::"
#: ../Doc/howto/ipaddress.rst:190
msgid "Iterating through the \"usable\" addresses on a network::"
msgstr ""
msgstr "Itération sur chacune des adresses \"utilisables\" d'un réseau ::"
#: ../Doc/howto/ipaddress.rst:205
msgid ""
"Obtaining the netmask (i.e. set bits corresponding to the network prefix) or "
"the hostmask (any bits that are not part of the netmask):"
msgstr ""
"Obtenir le masque réseau (définit les bits correspondant au préfixe du "
"réseau) ou le masque de l'hôte (tous les bits qui ne sont pas dans le masque "
"du réseau) :"
#: ../Doc/howto/ipaddress.rst:220
msgid "Exploding or compressing the address::"
msgstr ""
msgstr "Éclater ou compresser l'adresse ::"
#: ../Doc/howto/ipaddress.rst:231
msgid ""
@ -222,26 +302,37 @@ msgid ""
"easily ensure the most concise or most verbose form is used for IPv6 "
"addresses while still correctly handling IPv4 addresses."
msgstr ""
"Alors que IPv4 ne gère pas l'éclatement ou la compression, les objets "
"associés fournissent toujours les propriétés adaptées pour que du code, le "
"plus neutre possible vis-à-vis de la version, puisse facilement s'assurer "
"que la forme la plus concise ou la plus verbeuse utilisée pour des adresses "
"IPv6 va aussi fonctionner pour gérer des adresses IPv4."
#: ../Doc/howto/ipaddress.rst:238
msgid "Networks as lists of Addresses"
msgstr ""
msgstr "Réseaux en tant que listes d'adresses"
#: ../Doc/howto/ipaddress.rst:240
msgid ""
"It's sometimes useful to treat networks as lists. This means it is possible "
"to index them like this::"
msgstr ""
"Il est parfois utile de traiter les réseaux en tant que listes. Cela "
"signifie qu'il est possible de les indexer comme ça ::"
#: ../Doc/howto/ipaddress.rst:253
msgid ""
"It also means that network objects lend themselves to using the list "
"membership test syntax like this::"
msgstr ""
"Cela signifie aussi que les objets réseaux se prêtent bien à l'utilisation "
"de la syntaxe suivante pour le test d'appartenance à la liste ::"
#: ../Doc/howto/ipaddress.rst:259
msgid "Containment testing is done efficiently based on the network prefix::"
msgstr ""
"En se basant sur le préfixe réseau on peut efficacement tester "
"l'appartenance ::"
#: ../Doc/howto/ipaddress.rst:269
msgid "Comparisons"
@ -252,16 +343,20 @@ msgid ""
":mod:`ipaddress` provides some simple, hopefully intuitive ways to compare "
"objects, where it makes sense::"
msgstr ""
":mod:`ipaddress` fournit des moyens simples, et heureusement intuitifs de "
"comparer les objets, quand cela fait sens ::"
#: ../Doc/howto/ipaddress.rst:277
msgid ""
"A :exc:`TypeError` exception is raised if you try to compare objects of "
"different versions or different types."
msgstr ""
"Une exception :exc:`TypeError` est levée si vous tentez de comparer des "
"objets de différentes versions ou de types différents."
#: ../Doc/howto/ipaddress.rst:282
msgid "Using IP Addresses with other modules"
msgstr ""
msgstr "Utiliser des adresse IP avec d'autre modules"
#: ../Doc/howto/ipaddress.rst:284
msgid ""
@ -269,10 +364,14 @@ msgid ""
"accept objects from this module directly. Instead, they must be coerced to "
"an integer or string that the other module will accept::"
msgstr ""
"Les autres modules qui utilisent des adresses IP (comme :mod:`socket`) "
"n'acceptent généralement pas les objets de ce module directement. Au lieu de "
"cela, ils doivent être convertis en entiers ou en chaînes de caractères que "
"l'autre module va accepter ::"
#: ../Doc/howto/ipaddress.rst:296
msgid "Getting more detail when instance creation fails"
msgstr ""
msgstr "Obtenir plus de détails lors de l'échec de la création de l'instance"
#: ../Doc/howto/ipaddress.rst:298
msgid ""
@ -283,6 +382,13 @@ msgid ""
"because it's necessary to know whether the value is *supposed* to be IPv4 or "
"IPv6 in order to provide more detail on why it has been rejected."
msgstr ""
"Lors de la création des objets Adresse/Réseau/Interface en utilisant les "
"fonctions de fabrication agnostiques à la version, n'importe quelle erreur "
"va être signalée en tant que :exc:`ValueError` avec un message d'erreur "
"générique qui dit simplement que la valeur entrée n'a pas été reconnue en "
"tant qu'objet de ce type. Le manque de spécificité de l'erreur est dû à la "
"nécessité de de connaitre ce que la valeur est *supposée* être entre une "
"IPv4 ou IPv6 dans le but de fournir plus de détails sur la cause du rejet."
#: ../Doc/howto/ipaddress.rst:305
msgid ""
@ -292,12 +398,19 @@ msgid ""
"`ipaddress.NetmaskValueError` to indicate exactly which part of the "
"definition failed to parse correctly."
msgstr ""
"Pour gérer les cas d'usage où il est utile d'avoir accès à ces détails, les "
"constructeurs individuels des classes lèvent actuellement les sous-classes "
"de :exc:`ValueError`, :exc:`ipaddress.AddressValueError` et :exc:`ipaddress."
"NetmaskValueError` pour indiquer précisément quelle partie de la définition "
"n'a pas pu être correctement traitée."
#: ../Doc/howto/ipaddress.rst:311
msgid ""
"The error messages are significantly more detailed when using the class "
"constructors directly. For example::"
msgstr ""
"Les messages d'erreur sont particulièrement plus détaillés lors de "
"l'utilisation directe du constructeur. Par exemple ::"
#: ../Doc/howto/ipaddress.rst:332
msgid ""
@ -305,3 +418,7 @@ msgid ""
"their parent class, so if you're not concerned with the particular type of "
"error, you can still write code like the following::"
msgstr ""
"Cependant, les exceptions spécifiques des deux modules ont :exc:"
"`ValueError`, tout comme leur classe parent, donc si vous n'êtes pas "
"concerné par le type particulier de l'erreur vous pouvez écrire votre code "
"comme il suit ::"

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
"PO-Revision-Date: 2018-08-01 23:52+0200\n"
"PO-Revision-Date: 2018-11-16 09:10+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -134,7 +134,7 @@ msgstr ""
"distribution du module que vous souhaitez installer qui est destiné "
"spécifiquement à votre plateforme et elle va s'installer comme n'importe "
"quel autre logiciel sur votre plateforme. Par exemple, le développeur du "
"module pourrait faire un installeur exécutable disponible pour les "
"module pourrait faire un installateur exécutable disponible pour les "
"utilisateurs Windows, un paquetage RPM pour les utilisateurs de systèmes "
"Linux basés sur RPM (Red Hat, SuSE, Mandrake et bien d'autres), un paquet "
"Debian pour les utilisateurs de Linux basé sur le système Debian et ainsi de "

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
"PO-Revision-Date: 2018-08-01 00:26+0200\n"
"PO-Revision-Date: 2018-11-13 09:45+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@ -386,7 +386,7 @@ msgid ""
"package manager and other components of the system if a component is "
"unexpectedly upgraded using ``pip``."
msgstr ""
"Sur les systèmes Linux, une installation de Python sera généralement inclue "
"Sur les systèmes Linux, une installation de Python sera généralement incluse "
"dans le cadre de la distribution. Installer dans cette installation de "
"Python nécessite un accès *root* sur le système, et peut interférer avec le "
"fonctionnement du gestionnaire de paquets du système et d'autres composants "

View File

@ -6,21 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-11-12 23:15+0100\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Tenma <tenma@nuolezio.org>\n"
"X-Generator: Poedit 2.0.9\n"
#: ../Doc/library/http.cookies.rst:2
msgid ":mod:`http.cookies` --- HTTP state management"
msgstr ""
msgstr ":mod:`http.cookies` --- gestion d'état pour HTTP"
#: ../Doc/library/http.cookies.rst:10
msgid "**Source code:** :source:`Lib/http/cookies.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/http/cookies.py`"
#: ../Doc/library/http.cookies.rst:14
msgid ""
@ -29,6 +30,10 @@ msgid ""
"string-only cookies, and provides an abstraction for having any serializable "
"data-type as cookie value."
msgstr ""
"Le module :mod:`http.cookies` définit des classes abstrayant le concept de "
"témoin web (cookie), un mécanisme de gestion d'état pour HTTP. Il fournit "
"une abstraction gérant des données textuelles et tout type de données "
"sérialisable comme valeur de témoin."
#: ../Doc/library/http.cookies.rst:19
msgid ""
@ -39,6 +44,13 @@ msgid ""
"comes to Cookie handling. As a result, the parsing rules used are a bit "
"less strict."
msgstr ""
"Auparavant, le module appliquait strictement les règles d'analyse décrites "
"dans les spécifications :rfc:`2109` et :rfc:`2068`. Entre temps, il a été "
"découvert que Internet Explorer 3.0 ne suit pas les règles liées aux "
"caractères précisées dans ces spécifications. De plus, plusieurs navigateurs "
"et serveurs dans leur versions récentes ont assoupli les règles d'analyse "
"quant à la gestion des témoins. En conséquence, les règles d'analyse "
"utilisées sont un peu moins strictes que les spécifications initiales."
#: ../Doc/library/http.cookies.rst:25
msgid ""
@ -46,10 +58,13 @@ msgid ""
"``!#$%&'*+-.^_`|~:`` denote the set of valid characters allowed by this "
"module in Cookie name (as :attr:`~Morsel.key`)."
msgstr ""
"Les jeux de caractères :data:`string.ascii_letters`, :data:`string.digits` "
"et ``!#$%&'*+-.^_`|~:`` définissent l'ensemble des caractères autorisés par "
"ce module pour le nom du témoin (comme :attr:`~Morsel.key`)."
#: ../Doc/library/http.cookies.rst:29
msgid "Allowed ':' as a valid Cookie name character."
msgstr ""
msgstr "Ajouté « : » comme caractère autorisé pour les noms de témoin."
#: ../Doc/library/http.cookies.rst:35
msgid ""
@ -57,12 +72,17 @@ msgid ""
"cookie data comes from a browser you should always prepare for invalid data "
"and catch :exc:`CookieError` on parsing."
msgstr ""
"Quand un témoin invalide est rencontré, l'exception :exc:`CookieError` est "
"levée. Si les données du témoin proviennent d'un navigateur il faut "
"impérativement gérer les données invalides en attrapant :exc:`CookieError`."
#: ../Doc/library/http.cookies.rst:42
msgid ""
"Exception failing because of :rfc:`2109` invalidity: incorrect attributes, "
"incorrect :mailheader:`Set-Cookie` header, etc."
msgstr ""
"Exception levée pour cause d'incompatibilité avec la :rfc:`2109`. Exemples : "
"attributs incorrects, en-tête ``Set-Cookie`` incorrect, etc."
#: ../Doc/library/http.cookies.rst:48
msgid ""
@ -71,10 +91,15 @@ msgid ""
"value, the value is first converted to a :class:`Morsel` containing the key "
"and the value."
msgstr ""
"Cette classe définit un dictionnaire dont les clés sont des chaines de "
"caractères et dont les valeurs sont des instances de :class:`Morsel`. Notez "
"qu'à l'assignation d'une valeur à une clé, la valeur est transformée en :"
"class:`Morsel` contenant la clé et la valeur."
#: ../Doc/library/http.cookies.rst:52
msgid "If *input* is given, it is passed to the :meth:`load` method."
msgstr ""
"Si l'argument *input* est donné, il est passé à la méthode :meth:`load`."
#: ../Doc/library/http.cookies.rst:57
msgid ""
@ -82,28 +107,33 @@ msgid ""
"`value_decode` and :meth:`value_encode` to be the identity and :func:`str` "
"respectively."
msgstr ""
"Cette classe dérive de :class:`BaseCookie`. Elle surcharge les méthodes :"
"meth:`value_decode` et :meth:`value_encode` de manière à correspondre "
"respectivement à l'identité et à :func:`str`."
#: ../Doc/library/http.cookies.rst:65
msgid "Module :mod:`http.cookiejar`"
msgstr ""
msgstr "Module :mod:`http.cookiejar`"
#: ../Doc/library/http.cookies.rst:64
msgid ""
"HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` and :mod:"
"`http.cookies` modules do not depend on each other."
msgstr ""
"Gestion de témoins HTTP pour *clients* web. Les modules :mod:`http."
"cookiejar` et :mod:`http.cookies` ne dépendent pas l'un de l'autre."
#: ../Doc/library/http.cookies.rst:67
msgid ":rfc:`2109` - HTTP State Management Mechanism"
msgstr ""
msgstr ":rfc:`2109` - HTTP State Management Mechanism"
#: ../Doc/library/http.cookies.rst:68
msgid "This is the state management specification implemented by this module."
msgstr ""
msgstr "Spécification de gestion d'états implantée par ce module."
#: ../Doc/library/http.cookies.rst:74
msgid "Cookie Objects"
msgstr ""
msgstr "Objets *Cookie*"
#: ../Doc/library/http.cookies.rst:79
msgid ""
@ -111,6 +141,9 @@ msgid ""
"type. This method does nothing in :class:`BaseCookie` --- it exists so it "
"can be overridden."
msgstr ""
"Renvoie la valeur décodée à partir de la représentation textuelle. La valeur "
"de retour est d'un type quelconque. Cette méthode n'a aucun effet pour :"
"class:`BaseCookie` ; elle n'existe que dans le but d'être surchargée."
#: ../Doc/library/http.cookies.rst:86
msgid ""
@ -118,12 +151,19 @@ msgid ""
"string. This method does nothing in :class:`BaseCookie` --- it exists so it "
"can be overridden."
msgstr ""
"Renvoie une valeur codée. *val* est de type quelconque, mais la valeur de "
"retour doit être une chaine de caractères. Cette méthode n'a aucun effet "
"pour :class:`BaseCookie` ; elle n'existe que dans le but d'être surchargée."
#: ../Doc/library/http.cookies.rst:90
msgid ""
"In general, it should be the case that :meth:`value_encode` and :meth:"
"`value_decode` are inverses on the range of *value_decode*."
msgstr ""
"Généralement, les méthodes :meth:`value_encode` et :meth:`value_decode` "
"doivent être inverses l'une de l'autre, c'est-à-dire qu'en envoyant la "
"sortie de l'un dans l'entrée de l'autre la valeur finale doit être égale à "
"la valeur initiale."
#: ../Doc/library/http.cookies.rst:96
msgid ""
@ -132,17 +172,24 @@ msgid ""
"is used to join the headers together, and is by default the combination "
"``'\\r\\n'`` (CRLF)."
msgstr ""
"Renvoie une représentation textuelle compatible avec les en-têtes HTTP. "
"*attrs et *header* sont envoyés à la méthode :meth:`output` de chaque "
"classe :class:`Morsel`. *sep* est le séparateur à utiliser pour joindre les "
"valeurs d'en-têtes. Sa valeur par défaut est ``'\\r\\n'`` (CRLF)."
#: ../Doc/library/http.cookies.rst:104
msgid ""
"Return an embeddable JavaScript snippet, which, if run on a browser which "
"supports JavaScript, will act the same as if the HTTP headers was sent."
msgstr ""
"Renvoie un extrait de code JavaScript qui, lorsque exécuté par un navigateur "
"qui supporte le JavaScript, va fonctionner de la même manière que si les en-"
"têtes HTTP avaient été envoyés."
#: ../Doc/library/http.cookies.rst:107 ../Doc/library/http.cookies.rst:195
#: ../Doc/library/http.cookies.rst:203
msgid "The meaning for *attrs* is the same as in :meth:`output`."
msgstr ""
msgstr "*attrs* a la même signification que dans la méthode :meth:`output`."
#: ../Doc/library/http.cookies.rst:112
msgid ""
@ -150,20 +197,28 @@ msgid ""
"found there as :class:`Morsel`\\ s. If it is a dictionary, it is equivalent "
"to::"
msgstr ""
"Si *rawdata* est une chaine de caractères, l'analyser comme étant un "
"``HTTP_COOKIE`` et ajouter les valeurs trouvées en tant que :class:`Morsel`"
"\\ s. S'il s'agit d'un dictionnaire, cela est équivalent à ::"
#: ../Doc/library/http.cookies.rst:122
msgid "Morsel Objects"
msgstr ""
msgstr "Objets *Morsel*"
#: ../Doc/library/http.cookies.rst:127
msgid "Abstract a key/value pair, which has some :rfc:`2109` attributes."
msgstr ""
"Abstraction de paire clé / valeur, accompagnée d'attributs provenant de la "
"spécification :rfc:`2109`."
#: ../Doc/library/http.cookies.rst:129
msgid ""
"Morsels are dictionary-like objects, whose set of keys is constant --- the "
"valid :rfc:`2109` attributes, which are"
msgstr ""
"Les objets *Morsel* sont des objets compatibles dictionnaire, dont "
"l'ensemble des clés est fixe et égal aux attributs :rfc:`2109` valides, qui "
"sont"
#: ../Doc/library/http.cookies.rst:132
msgid "``expires``"
@ -203,42 +258,51 @@ msgid ""
"in HTTP requests, and is not accessible through JavaScript. This is intended "
"to mitigate some forms of cross-site scripting."
msgstr ""
"L'attribut :attr:`httponly` spécifie que le témoin transféré dans les "
"requêtes HTTP n'est pas accessible par le biais de JavaScript. Il s'agit "
"d'une contremesure à certaines attaques de scripts inter-sites (*XSS*)."
#: ../Doc/library/http.cookies.rst:145
msgid "The keys are case-insensitive and their default value is ``''``."
msgstr ""
"Les clés ne sont pas sensibles à la casse, leur valeur par défaut est ``''``."
#: ../Doc/library/http.cookies.rst:147
msgid ""
":meth:`~Morsel.__eq__` now takes :attr:`~Morsel.key` and :attr:`~Morsel."
"value` into account."
msgstr ""
"Dorénavant, :meth:`~Morsel.__eq__` prend en compte :attr:`~Morsel.key` et :"
"attr:`~Morsel.value`."
#: ../Doc/library/http.cookies.rst:151
msgid ""
"Attributes :attr:`~Morsel.key`, :attr:`~Morsel.value` and :attr:`~Morsel."
"coded_value` are read-only. Use :meth:`~Morsel.set` for setting them."
msgstr ""
"Les attributs :attr:`~Morsel.key`, :attr:`~Morsel.value` et :attr:`~Morsel."
"coded_value` sont en lecture seule. Utilisez :meth:`~Morsel.set` pour les "
"assigner."
#: ../Doc/library/http.cookies.rst:159
msgid "The value of the cookie."
msgstr ""
msgstr "La valeur du témoin."
#: ../Doc/library/http.cookies.rst:164
msgid "The encoded value of the cookie --- this is what should be sent."
msgstr ""
msgstr "La valeur codée du témoin. C'est celle qui doit être transférée."
#: ../Doc/library/http.cookies.rst:169
msgid "The name of the cookie."
msgstr ""
msgstr "Le nom du témoin."
#: ../Doc/library/http.cookies.rst:174
msgid "Set the *key*, *value* and *coded_value* attributes."
msgstr ""
msgstr "Assigne les attributs *key*, *value* et *coded_value*."
#: ../Doc/library/http.cookies.rst:179
msgid "Whether *K* is a member of the set of keys of a :class:`Morsel`."
msgstr ""
msgstr "Renvoie si *K* est membre des clés d'un :class:`Morsel`."
#: ../Doc/library/http.cookies.rst:184
msgid ""
@ -247,18 +311,27 @@ msgid ""
"given, in which case it should be a list of attributes to use. *header* is "
"by default ``\"Set-Cookie:\"``."
msgstr ""
"Renvoie une représentation textuelle du *Morsel* compatible avec les en-"
"têtes HTTP. Par défaut, tous les attributs sont inclus, à moins que *attrs* "
"ne soit renseigné. Dans ce cas la valeur doit être une liste d'attributs à "
"utiliser. Par défaut, *header* a la valeur ``\"Set-Cookie:\"``."
#: ../Doc/library/http.cookies.rst:192
msgid ""
"Return an embeddable JavaScript snippet, which, if run on a browser which "
"supports JavaScript, will act the same as if the HTTP header was sent."
msgstr ""
"Renvoie un extrait de code JavaScript qui, lorsque exécuté par un navigateur "
"qui supporte le JavaScript, va fonctionner de la même manière que si les en-"
"têtes HTTP avaient été envoyés."
#: ../Doc/library/http.cookies.rst:200
msgid ""
"Return a string representing the Morsel, without any surrounding HTTP or "
"JavaScript."
msgstr ""
"Renvoie une chaine de caractères représentant le *Morsel*, nettoyé de son "
"contexte HTTP ou JavaScript."
#: ../Doc/library/http.cookies.rst:208
msgid ""
@ -266,24 +339,29 @@ msgid ""
"*values*. Raise an error if any of the keys in the *values* dict is not a "
"valid :rfc:`2109` attribute."
msgstr ""
"Met à jour les valeurs du dictionnaire du *Morsel* avec les valeurs "
"provenant du dictionnaire *values*. Lève une erreur si une des clés n'est "
"pas un attribut :rfc:`2109` valide."
#: ../Doc/library/http.cookies.rst:212
msgid "an error is raised for invalid keys."
msgstr ""
msgstr "une erreur est levée pour les clés invalides."
#: ../Doc/library/http.cookies.rst:218
msgid "Return a shallow copy of the Morsel object."
msgstr ""
msgstr "Renvoie une copie superficielle de l'objet *Morsel*."
#: ../Doc/library/http.cookies.rst:220
msgid "return a Morsel object instead of a dict."
msgstr ""
msgstr "renvoie un objet *Morsel* au lieu d'un ``dict``."
#: ../Doc/library/http.cookies.rst:226
msgid ""
"Raise an error if key is not a valid :rfc:`2109` attribute, otherwise behave "
"the same as :meth:`dict.setdefault`."
msgstr ""
"Lève une erreur si la clé n'est pas un attribut :rfc:`2109` valide, sinon "
"fonctionne de la même manière que :meth:`dict.setdefault`."
#: ../Doc/library/http.cookies.rst:233
msgid "Example"
@ -293,3 +371,4 @@ msgstr "Exemple"
msgid ""
"The following example demonstrates how to use the :mod:`http.cookies` module."
msgstr ""
"L'exemple suivant montre comment utiliser le module :mod:`http.cookies`."

View File

@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-12 18:59+0200\n"
"PO-Revision-Date: 2018-09-29 19:30+0200\n"
"PO-Revision-Date: 2018-11-13 09:45+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -985,7 +985,7 @@ msgid ""
"matched."
msgstr ""
"Valide n'importe quel chiffre décimal Unicode (soit tout caractère Unicode "
"de catégorie [Nd]). Cela inclue ``[0-9]``, mais aussi bien d'autres "
"de catégorie [Nd]). Cela inclut ``[0-9]``, mais aussi bien d'autres "
"caractères de chiffres. Si l'option :const:`ASCII` est utilisée, seuls les "
"caractères de la classe ``[0-9]`` correspondront."

View File

@ -6,21 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-15 21:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2018-11-14 12:19+0100\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"X-Generator: Poedit 2.0.6\n"
#: ../Doc/library/venv.rst:2
msgid ":mod:`venv` --- Creation of virtual environments"
msgstr ""
msgstr ":mod:`venv` --- Création d'environnements virtuels"
#: ../Doc/library/venv.rst:12
msgid "**Source code:** :source:`Lib/venv/`"
msgstr ""
msgstr "**Code source :** :source:`Lib/venv/`"
#: ../Doc/library/venv.rst:18
msgid ""
@ -31,10 +32,18 @@ msgid ""
"environment) and can have its own independent set of installed Python "
"packages in its site directories."
msgstr ""
"Le module :mod:`venv` permet de créer des \"environnements virtuels\" légers "
"avec leurs propres dossiers ``site``, optionnellement isolés des dossiers "
"``site`` système. Chaque environnement virtuel a son propre binaire Python "
"(qui correspond à la version du binaire qui a été utilisée pour créer cet "
"environnement) et peut avoir sa propre liste de paquets Python installés "
"dans ses propres dossiers ``site``."
#: ../Doc/library/venv.rst:25
msgid "See :pep:`405` for more information about Python virtual environments."
msgstr ""
"Voir la :pep:`405` pour plus d'informations à propos des environnements "
"virtuels Python."
#: ../Doc/library/venv.rst:29
msgid ""
@ -51,6 +60,8 @@ msgid ""
"``python3 -m venv`` to help prevent any potential confusion as to which "
"Python interpreter a virtual environment will be based on."
msgstr ""
"Le script ``pyenv`` est obsolète depuis Python 3.6 et a été remplacé par "
"``python3 -m venv``."
#: ../Doc/library/venv.rst:39
msgid "Creating virtual environments"
@ -62,6 +73,8 @@ msgid ""
"Creation of :ref:`virtual environments <venv-def>` is done by executing the "
"command ``venv``::"
msgstr ""
"La création d':ref:`environnements virtuels <venv-def>` est faite en "
"exécutant la commande ``venv`` ::"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:6
@ -75,6 +88,15 @@ msgid ""
"packages`` subdirectory (on Windows, this is ``Lib\\site-packages``). If an "
"existing directory is specified, it will be re-used."
msgstr ""
"Lancer cette commande crée le dossier du **venv** (en créant tous les "
"dossiers parents qui n'existent pas déjà) et crée un fichier ``pyenv.cfg`` à "
"lintérieur de ce dossier avec une clé ``home`` qui pointe sur l'installation "
"Python depuis laquelle cette commande a été lancée. Il crée aussi un sous-"
"dossier ``bin`` (ou ``Scripts`` sur Windows) contenant une copie du binaire "
"``python`` (ou binaires, dans le cas de Windows). Il crée aussi un sous-"
"dossier (initialement vide) ``lib/pythonX.Y/site-packages`` (Sur Windows, "
"c'est ``Lib\\site-packages``). Si un dossier existant est spécifié, il sera "
"réutilisé."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:15
@ -92,13 +114,13 @@ msgstr ""
msgid ""
"The use of ``venv`` is now recommended for creating virtual environments."
msgstr ""
"L'utilisation de ``venv`` est maintenant recommandée pour créer vos "
"L'utilisation de ``venv`` est maintenant recommandée pour créer vos "
"environnements virtuels."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:25
msgid "On Windows, invoke the ``venv`` command as follows::"
msgstr ""
msgstr "Sur Windows, appelez la commande ``venv`` comme suit ::"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:29
@ -106,11 +128,14 @@ msgid ""
"Alternatively, if you configured the ``PATH`` and ``PATHEXT`` variables for "
"your :ref:`Python installation <using-on-windows>`::"
msgstr ""
"Alternativement, si vous avez configuré les variables ``PATH`` et "
"``PATHEXT`` pour votre :ref:`installation Python <using-on-windows>` ::"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:34
msgid "The command, if run with ``-h``, will show the available options::"
msgstr ""
"La commande, si lancée avec ``-h``, montrera les options disponibles ::"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:64
@ -118,6 +143,7 @@ msgid ""
"Installs pip by default, added the ``--without-pip`` and ``--copies`` "
"options"
msgstr ""
"Installe pip par défaut, ajout des options ``--without-pip`` et ``--copies``"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:68
@ -125,6 +151,9 @@ msgid ""
"In earlier versions, if the target directory already existed, an error was "
"raised, unless the ``--clear`` or ``--upgrade`` option was provided."
msgstr ""
"Dans les versions précédentes, si le dossier de destination existait déjà, "
"une erreur était levée, sauf si l'option ``--clear`` ou ``--upgrade`` était "
"incluse."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:72
@ -133,6 +162,9 @@ msgid ""
"packages`` key, set to ``true`` if ``venv`` is run with the ``--system-site-"
"packages`` option, ``false`` otherwise."
msgstr ""
"Le fichier crée ``pyenv.cfg`` inclus aussi la clé ``include-system-site-"
"packages``, dont la valeur est ``true`` si ``venv`` est lancé avec l'option "
"``--system-site-packages``, sinon sa valeur est ``false``."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:76
@ -140,6 +172,8 @@ msgid ""
"Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be "
"invoked to bootstrap ``pip`` into the virtual environment."
msgstr ""
"Sauf si l'option ``--without-pip`` est incluse, :mod:`ensurepip` sera "
"invoqué pour amorcer ``pip`` dans l'environnement virtuel."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:79
@ -148,6 +182,9 @@ msgid ""
"environment will be created, according to the given options, at each "
"provided path."
msgstr ""
"Plusieurs chemins peuvent être donnés à ``venv``, et dans ce cas un "
"environnement virtuel sera créé, en fonction des options incluses, à chaque "
"chemin donné."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:83
@ -156,6 +193,9 @@ msgid ""
"script in the virtual environment's binary directory. The invocation of the "
"script is platform-specific:"
msgstr ""
"Une fois qu'un environnement virtuel est créé, il peut être \"activé\" en "
"utilisant un script dans le dossier binaire de l'environnement virtuel. "
"L'invocation de ce script est spécifique à chaque plateforme :"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:88
@ -165,7 +205,7 @@ msgstr "Plateforme"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:88
msgid "Shell"
msgstr ""
msgstr "Invite de commande"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:88
@ -185,7 +225,7 @@ msgstr "bash/zsh"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:90
msgid "$ source <venv>/bin/activate"
msgstr "$ source <venv>/bin/activate"
msgstr "``$ source <venv>/bin/activate``"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:92
@ -195,7 +235,7 @@ msgstr "fish"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:92
msgid "$ . <venv>/bin/activate.fish"
msgstr "$ . <venv>/bin/activate.fish"
msgstr "``$ . <venv>/bin/activate.fish``"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:94
@ -205,7 +245,7 @@ msgstr "csh/tcsh"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:94
msgid "$ source <venv>/bin/activate.csh"
msgstr "$ source <venv>/bin/activate.csh"
msgstr "``$ source <venv>/bin/activate.csh``"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:96
@ -220,7 +260,7 @@ msgstr "cmd.exe"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:96
msgid "C:\\\\> <venv>\\\\Scripts\\\\activate.bat"
msgstr ""
msgstr "``C:\\\\{venv}\\\\Scripts\\\\activate.bat``"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:98
@ -230,7 +270,7 @@ msgstr "PowerShell"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:98
msgid "PS C:\\\\> <venv>\\\\Scripts\\\\Activate.ps1"
msgstr ""
msgstr "``PS C:\\\\> <venv>\\\\Scripts\\\\Activate.ps1``"
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:101
@ -242,6 +282,13 @@ msgid ""
"scripts installed in a virtual environment should be runnable without "
"activating it, and run with the virtual environment's Python automatically."
msgstr ""
"Vous ne devez pas spécialement activer un environnement ; l'activation "
"ajoute juste le chemin du dossier de binaires de votre environnement virtuel "
"à votre PATH, pour que \"python\" invoque linterpréteur Python de "
"l'environnement virtuel et que vous puissiez lancer des scripts installés "
"sans avoir à utiliser leur chemin complet. Cependant, tous les scripts "
"installés dans un environnement virtuel devraient être exécutables sans "
"l'activer, et se lancer avec l'environnement virtuel Python automatiquement."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:108
@ -252,11 +299,17 @@ msgid ""
"there are separate scripts called ``deactivate.bat`` and ``Deactivate.ps1`` "
"which are installed when the virtual environment is created."
msgstr ""
"Vous pouvez désactiver un environnement virtuel en écrivant \"**deactivate**"
"\" dans votre shell. Le mécanisme est spécifique à chaque plateforme : Par "
"exemple, le script d'activation pour Bash défini une fonction "
"\"**deactivate**\", alors que sur Windows il y a des scripts séparés appelés "
"``deactivate.bat`` et ``Deactivate.ps1`` qui sont installés quand "
"l'environnement virtuel est créé."
#: ../Doc/using/venv-create.inc <included from
#: /home/mdk/clones/cpython/Doc/library/venv.rst>:114
msgid "``fish`` and ``csh`` activation scripts."
msgstr ""
msgstr "Les scripts d'activation pour ``fish`` et ``csh``."
#: ../Doc/library/venv.rst:46
msgid ""
@ -266,12 +319,20 @@ msgid ""
"installed in a \"system\" Python, i.e., one which is installed as part of "
"your operating system."
msgstr ""
"Un environnement virtuel est un environnement Python tel que l'interpréteur "
"Python, les bibliothèques et les scripts installés sont isolés de ceux "
"installés dans d'autres environnements virtuels, et (par défaut) de toutes "
"autres bibliothèques installées dans un Python \"système\", par exemple "
"celui qui est installé avec votre système d'exploitation."
#: ../Doc/library/venv.rst:52
msgid ""
"A virtual environment is a directory tree which contains Python executable "
"files and other files which indicate that it is a virtual environment."
msgstr ""
"Un environnement virtuel est une arborescence de dossiers qui contiens les "
"fichiers exécutables Python et autres fichiers qui indiquent que c'est un "
"environnement virtuel."
#: ../Doc/library/venv.rst:55
msgid ""
@ -280,6 +341,11 @@ msgid ""
"environment is active, they install Python packages into the virtual "
"environment without needing to be told to do so explicitly."
msgstr ""
"Les outils d'installations communs comme ``Setuptools`` et ``pip`` "
"fonctionnent comme prévu avec des environnements virtuels. En d'autres "
"termes, quand un environnement virtuel est actif, ils installent les paquets "
"Python dans l'environnement virtuel sans avoir besoin de leur préciser "
"explicitement."
#: ../Doc/library/venv.rst:60
msgid ""
@ -293,6 +359,16 @@ msgid ""
"is the same as :attr:`sys.base_exec_prefix` (they all point to a non-virtual "
"environment Python installation)."
msgstr ""
"Quand un environnement virtuel est actif (Par exemple quand linterpréteur "
"Python de l'environnement virtuel est lancé), les attributs :attr:`sys."
"prefix` et :attr:`sys.exec_prefix` pointent vers le dossier racine de "
"l'environnement virtuel, alors que :attr:`sys.base_prefix` et :attr:`sys."
"base_exec_prefix` pointent vers l'installation de Python qui n'est pas celle "
"de l'environnement virtuel et qui a été utilisée pour créer l'environnement "
"virtuel. Si un environnement virtuel n'est pas actif, alors :attr:`sys."
"prefix` est égal à :attr:`sys.base_prefix` et :attr:`sys.exec_prefix` est "
"égal à :attr:`sys.base_exec_prefix` (ils pointent tous sur une installation "
"Python qui n'est pas un environnement virtuel)."
#: ../Doc/library/venv.rst:71
msgid ""
@ -301,6 +377,10 @@ msgid ""
"prevent projects being inadvertently installed outside of the virtual "
"environment."
msgstr ""
"Quand un environnement virtuel est actif, toute option qui change le chemin "
"d'installation sera ignoré de tous les fichiers de configuration "
"**distutils** pour éviter que des projets soient accidentellement installés "
"en dehors de l'environnement virtuel."
#: ../Doc/library/venv.rst:76
msgid ""
@ -319,10 +399,25 @@ msgid ""
"window should run the script with the correct interpreter without there "
"needing to be any reference to its virtual environment in ``PATH``."
msgstr ""
"Quand vous travaillez dans une invite de commande **shell**, les "
"utilisateurs peuvent activer un environnement virtuel en lançant un script "
"``activate`` situé dans le dossier des exécutables de l'environnement "
"virtuel (le nom de fichier précis dépends du shell utilisé), ce qui ajoute "
"le dossier des exécutables de l'environnement virtuel dans la variable "
"d'environnement ``PATH``. Il ne devrait jamais y avoir besoin dans d'autre "
"circonstances d'activer un environnement virtuel. Des scripts installés dans "
"un environnement virtuel ont un **shebang** qui pointe vers linterpréteur "
"Python de l'environnement virtuel. Cela veux dire que le script sera lancé "
"avec cet interpréteur peut importe la valeur de ``PATH``. Sur Windows, le "
"**shebang** est interprété si vous avez le Lanceur Python pour Windows "
"installé (Cela a été ajouté à Python 3.3 -- Voir :pep:`397` pour plus de "
"détails). De ce fait, double cliquer un script installé dans une fenêtre de "
"l'Explorateur Windows devrai lancer le script avec le bon interpréteur sans "
"avoir besoin de référencer son environnement virtuel dans ``PATH``."
#: ../Doc/library/venv.rst:95
msgid "API"
msgstr ""
msgstr "API"
#: ../Doc/library/venv.rst:99
msgid ""
@ -331,12 +426,18 @@ msgid ""
"customize environment creation according to their needs, the :class:"
"`EnvBuilder` class."
msgstr ""
"La méthode haut niveau décrite au dessus utilise une API simple qui permet à "
"des créateurs d'environnements virtuels externes de personnaliser la "
"création d'environnements virtuels basés sur leurs besoins, la classe :class:"
"`EnvBuilder`."
#: ../Doc/library/venv.rst:107
msgid ""
"The :class:`EnvBuilder` class accepts the following keyword arguments on "
"instantiation:"
msgstr ""
"La classe :class:`EnvBuilder` accepte les arguments suivants lors de "
"l'instanciation :"
#: ../Doc/library/venv.rst:110
msgid ""
@ -344,12 +445,17 @@ msgid ""
"Python site-packages should be available to the environment (defaults to "
"``False``)."
msgstr ""
"``system_site_packages`` -- Une valeur booléenne qui indique que les site-"
"packages du système Python devraient être disponibles dans l'environnement "
"virtuel (par défaut à ``False``)."
#: ../Doc/library/venv.rst:113
msgid ""
"``clear`` -- a Boolean value which, if true, will delete the contents of any "
"existing target directory, before creating the environment."
msgstr ""
"``clear`` -- Une valeur booléenne qui, si vraie, supprimera le contenu de "
"n'importe quel dossier existant cible, avant de créer l'environnement."
#: ../Doc/library/venv.rst:116
msgid ""
@ -357,6 +463,9 @@ msgid ""
"Python binary (and any necessary DLLs or other binaries, e.g. ``pythonw."
"exe``), rather than copying."
msgstr ""
"``symlinks`` -- Une valeur booléenne qui indique si il faut créer un lien "
"symbolique de la bibliothèque (et tous les DLLs ou autres binaires "
"nécessaires, par exemple ``pythonw.exe``), plutôt que de la copier."
#: ../Doc/library/venv.rst:120
msgid ""
@ -364,6 +473,9 @@ msgid ""
"environment with the running Python - for use when that Python has been "
"upgraded in-place (defaults to ``False``)."
msgstr ""
"``upgrade`` -- Une valeur booléenne qui, si vraie, mettra à jour un "
"environnement existant avec le Python lancé -- utilisé quand Python à été "
"mis a jour sur place (par défaut à ``False``)."
#: ../Doc/library/venv.rst:124
msgid ""
@ -371,6 +483,9 @@ msgid ""
"the virtual environment. This uses :mod:`ensurepip` with the ``--default-"
"pip`` option."
msgstr ""
"``with_pip`` -- Une valeur booléenne qui, si vraie, assure que pip est "
"installé dans l'environnement virtuel. Cela utilise :mod:`ensurepip` avec "
"l'option ``--default-pip``."
#: ../Doc/library/venv.rst:128
msgid ""
@ -378,24 +493,30 @@ msgid ""
"(defaults to ``None`` which means directory name of the environment would be "
"used)."
msgstr ""
"``prompt`` -- Une chaine utilisée après que l'environnement virtuel est "
"activé (par défaut à ``None`` ce qui veux dire qu'il utilisera le nom du "
"dossier de l'environnement)."
#: ../Doc/library/venv.rst:132 ../Doc/library/venv.rst:240
msgid "Added the ``with_pip`` parameter"
msgstr ""
msgstr "Ajout du paramètre ``with_pip``"
#: ../Doc/library/venv.rst:135
msgid "Added the ``prompt`` parameter"
msgstr ""
msgstr "Ajout du paramètre ``prompt``"
#: ../Doc/library/venv.rst:139
msgid ""
"Creators of third-party virtual environment tools will be free to use the "
"provided ``EnvBuilder`` class as a base class."
msgstr ""
"Les créateurs des outils de création d'environnement virtuel externes seront "
"libres d'utiliser la classe ``EnvBuilder`` en tant que classe de base."
#: ../Doc/library/venv.rst:142
msgid "The returned env-builder is an object which has a method, ``create``:"
msgstr ""
"Le **env-builder** retourné est un objet qui a une méthode, ``create`` :"
#: ../Doc/library/venv.rst:146
msgid ""
@ -404,12 +525,18 @@ msgid ""
"environment. The ``create`` method will either create the environment in "
"the specified directory, or raise an appropriate exception."
msgstr ""
"Cette méthode prends en argument obligatoire le chemin (absolu ou relatif "
"par rapport au dossier courant) du dossier cible qui doit contenir "
"l'environnement virtuel. La méthode ``create`` doit soit créer un "
"environnement dans le dossier spécifié, soit lever une exception."
#: ../Doc/library/venv.rst:152
msgid ""
"The ``create`` method of the ``EnvBuilder`` class illustrates the hooks "
"available for subclass customization::"
msgstr ""
"La méthode ``create`` de la classe ``EnvBuilder`` illustre les points "
"d'entrées disponibles pour la personnalisation de sous-classes ::"
#: ../Doc/library/venv.rst:167
msgid ""
@ -417,6 +544,9 @@ msgid ""
"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :"
"meth:`post_setup` can be overridden."
msgstr ""
"Chacune des méthodes :meth:`ensure_directories`, :meth:"
"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` et :meth:"
"`post_setup` peuvent être écrasés."
#: ../Doc/library/venv.rst:173
msgid ""
@ -426,10 +556,15 @@ msgid ""
"long as either ``clear`` or ``upgrade`` were specified to allow operating on "
"an existing environment directory."
msgstr ""
"Crée un dossier d'environnement et tous les dossiers nécessaires, et "
"retourne un objet contexte. C'est juste un conteneur pour des attributs "
"(comme des chemins), qui sera utilisé par d'autres méthodes. Ces dossiers "
"peuvent déjà exister. tant que ``clear`` ou ``upgrade`` ont été spécifiés "
"pour permettre de telles opérations dans un dossier d'environnement existant."
#: ../Doc/library/venv.rst:181
msgid "Creates the ``pyvenv.cfg`` configuration file in the environment."
msgstr ""
msgstr "Crée le fichier de configuration ``pyenv.cfg`` dans l'environnement."
#: ../Doc/library/venv.rst:185
msgid ""
@ -438,12 +573,19 @@ msgid ""
"used, symlinks to ``python`` and ``python3`` will be created pointing to "
"that executable, unless files with those names already exist."
msgstr ""
"Crée une copie de lexécutable Python (et, sous Windows, les DLLs) dans "
"l'environnement. Sur un système POSIX, si un exécutable ``python3.x`` a été "
"utilisé, des liens symboliques vers ``python`` et ``python3`` seront crées "
"pointant vers cet exécutable, sauf si des fichiers avec ces noms existent "
"déjà."
#: ../Doc/library/venv.rst:193
msgid ""
"Installs activation scripts appropriate to the platform into the virtual "
"environment."
msgstr ""
"Installe des scripts d'activation appropriés pour la plateforme dans "
"l'environnement virtuel."
#: ../Doc/library/venv.rst:198
msgid ""
@ -451,6 +593,9 @@ msgid ""
"to pre-install packages in the virtual environment or perform other post-"
"creation steps."
msgstr ""
"Une méthode qui n'est la que pour se faire surcharger dans des "
"implémentation externes pour pré installer des paquets dans l'environnement "
"virtuel ou pour exécuter des étapes post-création."
#: ../Doc/library/venv.rst:202
msgid ""
@ -458,6 +603,10 @@ msgid ""
"called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to "
"assist in installing custom scripts into the virtual environment."
msgstr ""
"De plus, :class:`EnvBuilder` propose cette méthode utilitaire qui peut être "
"appelée de :meth:`setup_scripts` ou :meth:`post_setup` dans des sous classes "
"pour assister dans l'installation de scripts customs dans l'environnement "
"virtuel."
#: ../Doc/library/venv.rst:208
msgid ""
@ -467,56 +616,75 @@ msgid ""
"corresponding to :data:`os.name` are copied after some text replacement of "
"placeholders:"
msgstr ""
"*path* corresponds au chemin vers le dossier qui contiens les sous dossiers "
"\"**common**\", \"**posix**\", \"**nt**\", chacun contenant des scripts "
"destinés pour le dossier \"**bin**\" dans l'environnement. Le contenu du "
"dossier \"**common**\" et le dossier correspondant à :data:`os.name` sont "
"copiés après quelque remplacement de texte temporaires :"
#: ../Doc/library/venv.rst:214
msgid ""
"``__VENV_DIR__`` is replaced with the absolute path of the environment "
"directory."
msgstr ""
"``__VENV_DIR__`` est remplacé avec le chemin absolu du dossier de "
"l'environnement."
#: ../Doc/library/venv.rst:217
msgid ""
"``__VENV_NAME__`` is replaced with the environment name (final path segment "
"of environment directory)."
msgstr ""
"``__VENV_NAME__`` est remplacé avec le nom de l'environnement (le dernier "
"segment du chemin vers le dossier de l'environnement)."
#: ../Doc/library/venv.rst:220
msgid ""
"``__VENV_PROMPT__`` is replaced with the prompt (the environment name "
"surrounded by parentheses and with a following space)"
msgstr ""
"``__VENV_PROMPT__`` est remplacé par le prompt (nom de l'environnement "
"entouré de parenthèses et avec un espace le suivant)."
#: ../Doc/library/venv.rst:223
msgid ""
"``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either "
"``bin`` or ``Scripts``)."
msgstr ""
"``__VENV_BIN_NAME__`` est remplacé par le nom du dossier **bin** (soit "
"``bin`` soit ``Scripts``)."
#: ../Doc/library/venv.rst:226
msgid ""
"``__VENV_PYTHON__`` is replaced with the absolute path of the environment's "
"executable."
msgstr ""
"``__VENV_PYTHON__`` est remplacé avec le chemin absolu de lexécutable de "
"l'environnement."
#: ../Doc/library/venv.rst:229
msgid ""
"The directories are allowed to exist (for when an existing environment is "
"being upgraded)."
msgstr ""
"Les dossiers peuvent exister (pour quand un environnement existant est mis à "
"jour)."
#: ../Doc/library/venv.rst:232
msgid "There is also a module-level convenience function:"
msgstr ""
msgstr "Il y a aussi une fonction pratique au niveau du module :"
#: ../Doc/library/venv.rst:237
msgid ""
"Create an :class:`EnvBuilder` with the given keyword arguments, and call "
"its :meth:`~EnvBuilder.create` method with the *env_dir* argument."
msgstr ""
"Crée une :class:`EnvBuilder` avec les arguments donnés, et appelle sa "
"méthode :meth:`~EnvBuilder.create` avec l'argument *env_dir*."
#: ../Doc/library/venv.rst:244
msgid "An example of extending ``EnvBuilder``"
msgstr ""
msgstr "Un exemple d'extension de ``EnvBuilder``"
#: ../Doc/library/venv.rst:246
msgid ""
@ -524,9 +692,14 @@ msgid ""
"a subclass which installs setuptools and pip into a created virtual "
"environment::"
msgstr ""
"Le script qui suis montre comment étendre :class:`EnvBuilder` en "
"implémentant une sous-classe qui installe **setuptools** et **pip** dans un "
"environnement créé ::"
#: ../Doc/library/venv.rst:465
msgid ""
"This script is also available for download `online <https://gist.github.com/"
"vsajip/4673395>`_."
msgstr ""
"Ce script est aussi disponible au téléchargement `en ligne <https://gist."
"github.com/vsajip/4673395>`_."

File diff suppressed because it is too large Load Diff

61
scripts/todo.py Normal file
View File

@ -0,0 +1,61 @@
#!/bin/python3
import statistics
from pathlib import Path
try:
import polib
import requests
except ImportError:
print("You need to install polib and requests to be able to run make todo.")
exit(1)
def main():
issues = requests.get(
"https://api.github.com/repos/python/python-docs-fr/issues"
).json()
reservations = {
issue["title"].split()[-1]: issue["user"]["login"] for issue in issues
}
po_files = [file for file in Path(".").glob("**/*.po") if ".git/" not in str(file)]
po_files_per_directory = {
path.parent.name: set(path.parent.glob("*.po")) for path in po_files
}
for directory, po_files in sorted(po_files_per_directory.items()):
buffer = []
folder_stats = []
for po_file in sorted(po_files):
stats = polib.pofile(po_file)
po_file_stat = stats.percent_translated()
if po_file_stat == 100:
folder_stats.append(po_file_stat)
continue
buffer.append(
f"- {po_file.name:<30} "
+ f"{len(stats.translated_entries()):3d} / {len(stats):3d} "
+ f"({po_file_stat:5.1f}% translated)"
+ (
f", {len(stats.fuzzy_entries())} fuzzy"
if stats.fuzzy_entries()
else ""
)
+ (
f", réservé par {reservations[str(po_file)]}"
if str(po_file) in reservations
else ""
)
)
folder_stats.append(po_file_stat)
print(f"\n\n# {directory} ({statistics.mean(folder_stats):.2f}% done)\n")
print("\n".join(buffer))
if __name__ == "__main__":
# TODO: Add PR handling
# TODO: Add total from all folders
main()