forked from AFPy/python-docs-fr
Uniformisation et simplification des chemins.
This commit is contained in:
parent 4eff78750d
commit a5123415bb
489 changed files with 48205 additions and 49049 deletions
| | @ -15,19 +15,19 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.2.1\n" | ||||
| ||||
#: ../Doc/howto/argparse.rst:3 | ||||
#: howto/argparse.rst:3 | ||||
msgid "Argparse Tutorial" | ||||
msgstr "Tutoriel *argparse*" | ||||
| ||||
#: ../Doc/howto/argparse.rst:0 | ||||
#: howto/argparse.rst:0 | ||||
msgid "author" | ||||
msgstr "auteur" | ||||
| ||||
#: ../Doc/howto/argparse.rst:5 | ||||
#: howto/argparse.rst:5 | ||||
msgid "Tshepang Lekhonkhobe" | ||||
msgstr "Tshepang Lekhonkhobe" | ||||
| ||||
#: ../Doc/howto/argparse.rst:9 | ||||
#: howto/argparse.rst:9 | ||||
msgid "" | ||||
"This tutorial is intended to be a gentle introduction to :mod:`argparse`, " | ||||
"the recommended command-line parsing module in the Python standard library." | ||||
| | @ -36,7 +36,7 @@ msgstr "" | |||
"`argparse`, le module d'analyse de ligne de commande recommandé dans la " | ||||
"bibliothèque standard de Python." | ||||
| ||||
#: ../Doc/howto/argparse.rst:14 | ||||
#: howto/argparse.rst:14 | ||||
msgid "" | ||||
"There are two other modules that fulfill the same task, namely :mod:`getopt` " | ||||
"(an equivalent for :c:func:`getopt` from the C language) and the deprecated :" | ||||
| | @ -48,11 +48,11 @@ msgstr "" | |||
"obsolète. Il faut noter que :mod:`argparse` est basé sur :mod:`optparse` et " | ||||
"donc s'utilise de manière très similaire." | ||||
| ||||
#: ../Doc/howto/argparse.rst:22 | ||||
#: howto/argparse.rst:22 | ||||
msgid "Concepts" | ||||
msgstr "Concepts" | ||||
| ||||
#: ../Doc/howto/argparse.rst:24 | ||||
#: howto/argparse.rst:24 | ||||
msgid "" | ||||
"Let's show the sort of functionality that we are going to explore in this " | ||||
"introductory tutorial by making use of the :command:`ls` command:" | ||||
| | @ -60,11 +60,11 @@ msgstr "" | |||
"Commençons par l'utilisation de la commande :command:`ls` pour voir le type " | ||||
"de fonctionnalité que nous allons étudier dans ce tutoriel d'introduction :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:46 | ||||
#: howto/argparse.rst:46 | ||||
msgid "A few concepts we can learn from the four commands:" | ||||
msgstr "Quelques concepts que l'on peut apprendre avec les quatre commandes :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:48 | ||||
#: howto/argparse.rst:48 | ||||
msgid "" | ||||
"The :command:`ls` command is useful when run without any options at all. It " | ||||
"defaults to displaying the contents of the current directory." | ||||
| | @ -72,7 +72,7 @@ msgstr "" | |||
"La commande :command:`ls` est utile quand elle est exécutée sans aucun " | ||||
"paramètre. Elle affiche par défaut le contenu du dossier courant." | ||||
| ||||
#: ../Doc/howto/argparse.rst:51 | ||||
#: howto/argparse.rst:51 | ||||
msgid "" | ||||
"If we want beyond what it provides by default, we tell it a bit more. In " | ||||
"this case, we want it to display a different directory, ``pypy``. What we " | ||||
| | @ -92,7 +92,7 @@ msgstr "" | |||
"est ``cp SRC DEST``. Le premier argument est *ce que vous voulez copier* et " | ||||
"le second est *où vous voulez le copier*." | ||||
| ||||
#: ../Doc/howto/argparse.rst:60 | ||||
#: howto/argparse.rst:60 | ||||
msgid "" | ||||
"Now, say we want to change behaviour of the program. In our example, we " | ||||
"display more info for each file instead of just showing the file names. The " | ||||
| | @ -102,7 +102,7 @@ msgstr "" | |||
"agit. Dans notre exemple, on affiche plus d'information pour chaque ficher " | ||||
"que simplement leur nom. Dans ce cas, ``-l`` est un argument facultatif." | ||||
| ||||
#: ../Doc/howto/argparse.rst:64 | ||||
#: howto/argparse.rst:64 | ||||
msgid "" | ||||
"That's a snippet of the help text. It's very useful in that you can come " | ||||
"across a program you have never used before, and can figure out how it works " | ||||
| | @ -112,25 +112,23 @@ msgstr "" | |||
"sur un programme que l'on à jamais utilisé auparavant car on peut comprendre " | ||||
"son fonctionnement simplement en lisant l'aide associée." | ||||
| ||||
#: ../Doc/howto/argparse.rst:70 | ||||
#: howto/argparse.rst:70 | ||||
msgid "The basics" | ||||
msgstr "Les bases" | ||||
| ||||
#: ../Doc/howto/argparse.rst:72 | ||||
#: howto/argparse.rst:72 | ||||
msgid "Let us start with a very simple example which does (almost) nothing::" | ||||
msgstr "Commençons par un exemple très simple qui ne fait (quasiment) rien ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:78 ../Doc/howto/argparse.rst:186 | ||||
#: ../Doc/howto/argparse.rst:207 | ||||
#: howto/argparse.rst:186 howto/argparse.rst:207 | ||||
msgid "Following is a result of running the code:" | ||||
msgstr "Ce qui suit est le résultat de l'exécution du code :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:95 ../Doc/howto/argparse.rst:252 | ||||
#: ../Doc/howto/argparse.rst:296 | ||||
#: howto/argparse.rst:252 howto/argparse.rst:296 | ||||
msgid "Here is what is happening:" | ||||
msgstr "Voilà ce qu'il se passe :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:97 | ||||
#: howto/argparse.rst:97 | ||||
msgid "" | ||||
"Running the script without any options results in nothing displayed to " | ||||
"stdout. Not so useful." | ||||
| | @ -138,7 +136,7 @@ msgstr "" | |||
"Exécuter le script sans aucun paramètre a pour effet de ne rien afficher sur " | ||||
"la sortie d'erreur. Ce n'est pas très utile." | ||||
| ||||
#: ../Doc/howto/argparse.rst:100 | ||||
#: howto/argparse.rst:100 | ||||
msgid "" | ||||
"The second one starts to display the usefulness of the :mod:`argparse` " | ||||
"module. We have done almost nothing, but already we get a nice help message." | ||||
| | @ -146,7 +144,7 @@ msgstr "" | |||
"Le deuxième commence à montrer l'intérêt du module :mod:`argparse`. On n'a " | ||||
"quasiment rien fait mais on a déjà un beau message d'aide." | ||||
| ||||
#: ../Doc/howto/argparse.rst:103 | ||||
#: howto/argparse.rst:103 | ||||
msgid "" | ||||
"The ``--help`` option, which can also be shortened to ``-h``, is the only " | ||||
"option we get for free (i.e. no need to specify it). Specifying anything " | ||||
| | @ -158,23 +156,23 @@ msgstr "" | |||
"que ce soit d'autre entraîne une erreur. Mais même dans ce cas, on reçoit " | ||||
"aussi un message utile, toujours gratuitement." | ||||
| ||||
#: ../Doc/howto/argparse.rst:110 | ||||
#: howto/argparse.rst:110 | ||||
msgid "Introducing Positional arguments" | ||||
msgstr "Introduction aux arguments positionnels" | ||||
| ||||
#: ../Doc/howto/argparse.rst:112 | ||||
#: howto/argparse.rst:112 | ||||
msgid "An example::" | ||||
msgstr "Un exemple ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:120 | ||||
#: howto/argparse.rst:120 | ||||
msgid "And running the code:" | ||||
msgstr "On exécute le code :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:138 | ||||
#: howto/argparse.rst:138 | ||||
msgid "Here is what's happening:" | ||||
msgstr "Voilà ce qu'il se passe :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:140 | ||||
#: howto/argparse.rst:140 | ||||
msgid "" | ||||
"We've added the :meth:`add_argument` method, which is what we use to specify " | ||||
"which command-line options the program is willing to accept. In this case, " | ||||
| | @ -184,12 +182,12 @@ msgstr "" | |||
"quels paramètre de lignes de commandes le programme peut accepter. Dans le " | ||||
"cas présent, je l'ai appelé ``echo`` pour que cela corresponde à sa fonction." | ||||
| ||||
#: ../Doc/howto/argparse.rst:144 | ||||
#: howto/argparse.rst:144 | ||||
msgid "Calling our program now requires us to specify an option." | ||||
msgstr "" | ||||
"Utiliser le programme nécessite maintenant que l'on précise un paramètre." | ||||
| ||||
#: ../Doc/howto/argparse.rst:146 | ||||
#: howto/argparse.rst:146 | ||||
msgid "" | ||||
"The :meth:`parse_args` method actually returns some data from the options " | ||||
"specified, in this case, ``echo``." | ||||
| | @ -197,7 +195,7 @@ msgstr "" | |||
"La méthode :meth:`parse_args` renvoie en réalité certaines données des " | ||||
"paramètres précisés, dans le cas présent : ``echo``." | ||||
| ||||
#: ../Doc/howto/argparse.rst:149 | ||||
#: howto/argparse.rst:149 | ||||
msgid "" | ||||
"The variable is some form of 'magic' that :mod:`argparse` performs for free " | ||||
"(i.e. no need to specify which variable that value is stored in). You will " | ||||
| | @ -209,7 +207,7 @@ msgstr "" | |||
"est stockée). Vous aurez aussi remarqué que le nom est le même que " | ||||
"l'argument en chaîne de caractères donné à la méthode : ``echo``." | ||||
| ||||
#: ../Doc/howto/argparse.rst:154 | ||||
#: howto/argparse.rst:154 | ||||
msgid "" | ||||
"Note however that, although the help display looks nice and all, it " | ||||
"currently is not as helpful as it can be. For example we see that we got " | ||||
| | @ -223,16 +221,16 @@ msgstr "" | |||
"autrement qu'en le devinant ou en lisant le code source. Donc, rendons-le un " | ||||
"peu plus utile ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:165 | ||||
#: howto/argparse.rst:165 | ||||
msgid "And we get:" | ||||
msgstr "Et on obtient :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:178 | ||||
#: howto/argparse.rst:178 | ||||
msgid "Now, how about doing something even more useful::" | ||||
msgstr "" | ||||
"À présent, que diriez-vous de faire quelque chose d'encore plus utile ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:196 | ||||
#: howto/argparse.rst:196 | ||||
msgid "" | ||||
"That didn't go so well. That's because :mod:`argparse` treats the options we " | ||||
"give it as strings, unless we tell it otherwise. So, let's tell :mod:" | ||||
| | @ -243,7 +241,7 @@ msgstr "" | |||
"ne lui indique de faire autrement. Donc, disons à :mod:`argparse` de traiter " | ||||
"cette entrée comme un entier ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:217 | ||||
#: howto/argparse.rst:217 | ||||
msgid "" | ||||
"That went well. The program now even helpfully quits on bad illegal input " | ||||
"before proceeding." | ||||
| | @ -251,11 +249,11 @@ msgstr "" | |||
"Cela a bien fonctionné. Maintenant le programme va même s'arrêter si " | ||||
"l'entrée n'est pas légale avant de procéder à l'exécution." | ||||
| ||||
#: ../Doc/howto/argparse.rst:222 | ||||
#: howto/argparse.rst:222 | ||||
msgid "Introducing Optional arguments" | ||||
msgstr "Introduction aux arguments optionnels" | ||||
| ||||
#: ../Doc/howto/argparse.rst:224 | ||||
#: howto/argparse.rst:224 | ||||
msgid "" | ||||
"So far we have been playing with positional arguments. Let us have a look on " | ||||
"how to add optional ones::" | ||||
| | @ -263,12 +261,11 @@ msgstr "" | |||
"Jusqu'à maintenant, on a joué avec les arguments positionnels. Regardons " | ||||
"comment ajouter des paramètres optionnels ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:234 ../Doc/howto/argparse.rst:280 | ||||
#: ../Doc/howto/argparse.rst:396 ../Doc/howto/argparse.rst:430 | ||||
#: howto/argparse.rst:280 howto/argparse.rst:430 | ||||
msgid "And the output:" | ||||
msgstr "Et le résultat :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:254 | ||||
#: howto/argparse.rst:254 | ||||
msgid "" | ||||
"The program is written so as to display something when ``--verbosity`` is " | ||||
"specified and display nothing when not." | ||||
| | @ -276,7 +273,7 @@ msgstr "" | |||
"Le programme est écrit de sorte qu'il n'affiche rien sauf si l'option ``--" | ||||
"verbosity`` est précisée." | ||||
| ||||
#: ../Doc/howto/argparse.rst:257 | ||||
#: howto/argparse.rst:257 | ||||
msgid "" | ||||
"To show that the option is actually optional, there is no error when running " | ||||
"the program without it. Note that by default, if an optional argument isn't " | ||||
| | @ -290,11 +287,11 @@ msgstr "" | |||
"verbosity`, prend la valeur ``None`` c'est pourquoi elle échoue le test de " | ||||
"vérité de l'assertion :keyword:`if`." | ||||
| ||||
#: ../Doc/howto/argparse.rst:263 | ||||
#: howto/argparse.rst:263 | ||||
msgid "The help message is a bit different." | ||||
msgstr "Le message d'aide est quelque peu différent." | ||||
| ||||
#: ../Doc/howto/argparse.rst:265 | ||||
#: howto/argparse.rst:265 | ||||
msgid "" | ||||
"When using the ``--verbosity`` option, one must also specify some value, any " | ||||
"value." | ||||
| | @ -302,7 +299,7 @@ msgstr "" | |||
"Quand on utilise l'option ``--verbosity`` on doit aussi préciser une valeur, " | ||||
"n'importe laquelle." | ||||
| ||||
#: ../Doc/howto/argparse.rst:268 | ||||
#: howto/argparse.rst:268 | ||||
msgid "" | ||||
"The above example accepts arbitrary integer values for ``--verbosity``, but " | ||||
"for our simple program, only two values are actually useful, ``True`` or " | ||||
| | @ -313,7 +310,7 @@ msgstr "" | |||
"réellement utiles : ``True`` et ``False``. Modifions le code en accord avec " | ||||
"cela ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:298 | ||||
#: howto/argparse.rst:298 | ||||
msgid "" | ||||
"The option is now more of a flag than something that requires a value. We " | ||||
"even changed the name of the option to match that idea. Note that we now " | ||||
| | @ -328,7 +325,7 @@ msgstr "" | |||
"l'option est précisée la valeur ``True`` est assignée à :data:`args." | ||||
"verbose`. Ne rien préciser implique la valeur ``False``." | ||||
| ||||
#: ../Doc/howto/argparse.rst:305 | ||||
#: howto/argparse.rst:305 | ||||
msgid "" | ||||
"It complains when you specify a value, in true spirit of what flags actually " | ||||
"are." | ||||
| | @ -336,15 +333,15 @@ msgstr "" | |||
"Dans l'esprit de ce que sont vraiment les options, pas des paramètres, il se " | ||||
"plaint quand vous tentez de préciser une valeur." | ||||
| ||||
#: ../Doc/howto/argparse.rst:308 | ||||
#: howto/argparse.rst:308 | ||||
msgid "Notice the different help text." | ||||
msgstr "Notez que l'aide est différente." | ||||
| ||||
#: ../Doc/howto/argparse.rst:312 | ||||
#: howto/argparse.rst:312 | ||||
msgid "Short options" | ||||
msgstr "Les paramètres raccourcis" | ||||
| ||||
#: ../Doc/howto/argparse.rst:314 | ||||
#: howto/argparse.rst:314 | ||||
msgid "" | ||||
"If you are familiar with command line usage, you will notice that I haven't " | ||||
"yet touched on the topic of short versions of the options. It's quite " | ||||
| | @ -354,35 +351,35 @@ msgstr "" | |||
"dû remarquer que je n'ai pour l'instant rien dit au sujet des versions " | ||||
"raccourcies des paramètres. C'est très simple ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:326 | ||||
#: howto/argparse.rst:326 | ||||
msgid "And here goes:" | ||||
msgstr "Et voilà :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:339 | ||||
#: howto/argparse.rst:339 | ||||
msgid "Note that the new ability is also reflected in the help text." | ||||
msgstr "Notez que la nouvelle option est aussi indiquée dans l'aide." | ||||
| ||||
#: ../Doc/howto/argparse.rst:343 | ||||
#: howto/argparse.rst:343 | ||||
msgid "Combining Positional and Optional arguments" | ||||
msgstr "Combinaison d'arguments positionnels et optionnels" | ||||
| ||||
#: ../Doc/howto/argparse.rst:345 | ||||
#: howto/argparse.rst:345 | ||||
msgid "Our program keeps growing in complexity::" | ||||
msgstr "Notre programme continue de croître en complexité ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:360 | ||||
#: howto/argparse.rst:360 | ||||
msgid "And now the output:" | ||||
msgstr "Et voilà le résultat :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:374 | ||||
#: howto/argparse.rst:374 | ||||
msgid "We've brought back a positional argument, hence the complaint." | ||||
msgstr "Nous avons ajouté un argument nommé, d'où le message d'erreur." | ||||
| ||||
#: ../Doc/howto/argparse.rst:376 | ||||
#: howto/argparse.rst:376 | ||||
msgid "Note that the order does not matter." | ||||
msgstr "Notez que l'ordre importe peu." | ||||
| ||||
#: ../Doc/howto/argparse.rst:378 | ||||
#: 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::" | ||||
| | @ -390,7 +387,7 @@ 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 | ||||
#: howto/argparse.rst:412 | ||||
msgid "" | ||||
"These all look good except the last one, which exposes a bug in our program. " | ||||
"Let's fix it by restricting the values the ``--verbosity`` option can " | ||||
| | @ -400,7 +397,7 @@ msgstr "" | |||
"bogue. Corrigeons cela en restreignant les valeurs que ``--verbosity`` " | ||||
"accepte ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:448 | ||||
#: howto/argparse.rst:448 | ||||
msgid "" | ||||
"Note that the change also reflects both in the error message as well as the " | ||||
"help string." | ||||
| | @ -408,7 +405,7 @@ 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 | ||||
#: howto/argparse.rst:451 | ||||
msgid "" | ||||
"Now, let's use a different approach of playing with verbosity, which is " | ||||
"pretty common. It also matches the way the CPython executable handles its " | ||||
| | @ -419,7 +416,7 @@ msgstr "" | |||
"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 | ||||
#: howto/argparse.rst:470 | ||||
msgid "" | ||||
"We have introduced another action, \"count\", to count the number of " | ||||
"occurrences of a specific optional arguments:" | ||||
| | @ -427,7 +424,7 @@ msgstr "" | |||
"Nous avons introduit une autre action, ``\"count\"``, pour compter le nombre " | ||||
"d’occurrences d'une argument optionnel en particulier :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:498 | ||||
#: 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." | ||||
| | @ -436,11 +433,11 @@ msgstr "" | |||
"\"store_true\"``) de la version précédente de notre script. Cela devrait " | ||||
"expliquer le message d'erreur." | ||||
| ||||
#: ../Doc/howto/argparse.rst:501 | ||||
#: howto/argparse.rst:501 | ||||
msgid "It also behaves similar to \"store_true\" action." | ||||
msgstr "Cela se comporte de la même manière que l'action ``\"store_true\"``." | ||||
| ||||
#: ../Doc/howto/argparse.rst:503 | ||||
#: 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." | ||||
| | @ -448,7 +445,7 @@ 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 | ||||
#: howto/argparse.rst:506 | ||||
msgid "" | ||||
"And if you don't specify the ``-v`` flag, that flag is considered to have " | ||||
"``None`` value." | ||||
| | @ -456,7 +453,7 @@ msgstr "" | |||
"Et si vous ne spécifiez pas l'option ``-v``, cette option prendra la valeur " | ||||
"``None``." | ||||
| ||||
#: ../Doc/howto/argparse.rst:509 | ||||
#: howto/argparse.rst:509 | ||||
msgid "" | ||||
"As should be expected, specifying the long form of the flag, we should get " | ||||
"the same output." | ||||
| | @ -464,7 +461,7 @@ 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 | ||||
#: howto/argparse.rst:512 | ||||
msgid "" | ||||
"Sadly, our help output isn't very informative on the new ability our script " | ||||
"has acquired, but that can always be fixed by improving the documentation " | ||||
| | @ -474,19 +471,19 @@ msgstr "" | |||
"nouvelles possibilités de notre programme, mais cela peut toujours être " | ||||
"corrigé en améliorant sa documentation (en utilisant l'argument ``help``)." | ||||
| ||||
#: ../Doc/howto/argparse.rst:516 | ||||
#: howto/argparse.rst:516 | ||||
msgid "That last output exposes a bug in our program." | ||||
msgstr "La dernière sortie du programme montre que celui-ci contient un bogue." | ||||
| ||||
#: ../Doc/howto/argparse.rst:519 | ||||
#: howto/argparse.rst:519 | ||||
msgid "Let's fix::" | ||||
msgstr "Corrigeons ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:538 | ||||
#: howto/argparse.rst:538 | ||||
msgid "And this is what it gives:" | ||||
msgstr "Et c'est ce que ça donne :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:553 | ||||
#: 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." | ||||
| | @ -495,15 +492,15 @@ msgstr "" | |||
"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 | ||||
#: howto/argparse.rst:556 | ||||
msgid "Third output not so good." | ||||
msgstr "La troisième sortie de programme n'est pas si bien que ça." | ||||
| ||||
#: ../Doc/howto/argparse.rst:558 | ||||
#: howto/argparse.rst:558 | ||||
msgid "Let's fix that bug::" | ||||
msgstr "Corrigeons ce bogue ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:575 | ||||
#: howto/argparse.rst:575 | ||||
msgid "" | ||||
"We've just introduced yet another keyword, ``default``. We've set it to " | ||||
"``0`` in order to make it comparable to the other int values. Remember that " | ||||
| | @ -517,11 +514,11 @@ msgstr "" | |||
"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 | ||||
#: howto/argparse.rst:582 | ||||
msgid "And:" | ||||
msgstr "Et :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:589 | ||||
#: howto/argparse.rst:589 | ||||
msgid "" | ||||
"You can go quite far just with what we've learned so far, and we have only " | ||||
"scratched the surface. The :mod:`argparse` module is very powerful, and " | ||||
| | @ -532,11 +529,11 @@ msgstr "" | |||
"est très puissant, et nous allons l'explorer un peu plus avant la fin de ce " | ||||
"tutoriel." | ||||
| ||||
#: ../Doc/howto/argparse.rst:596 | ||||
#: howto/argparse.rst:596 | ||||
msgid "Getting a little more advanced" | ||||
msgstr "Aller un peu plus loin" | ||||
| ||||
#: ../Doc/howto/argparse.rst:598 | ||||
#: howto/argparse.rst:598 | ||||
msgid "" | ||||
"What if we wanted to expand our tiny program to perform other powers, not " | ||||
"just squares::" | ||||
| | @ -544,11 +541,11 @@ msgstr "" | |||
"Qu'en est-il si nous souhaitons étendre notre mini programme 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 | ||||
#: howto/argparse.rst:653 | ||||
msgid "Output:" | ||||
msgstr "Sortie :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:636 | ||||
#: howto/argparse.rst:636 | ||||
msgid "" | ||||
"Notice that so far we've been using verbosity level to *change* the text " | ||||
"that gets displayed. The following example instead uses verbosity level to " | ||||
| | @ -558,11 +555,11 @@ msgstr "" | |||
"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 | ||||
#: howto/argparse.rst:667 | ||||
msgid "Conflicting options" | ||||
msgstr "Paramètres en conflit" | ||||
| ||||
#: ../Doc/howto/argparse.rst:669 | ||||
#: howto/argparse.rst:669 | ||||
msgid "" | ||||
"So far, we have been working with two methods of an :class:`argparse." | ||||
"ArgumentParser` instance. Let's introduce a third one, :meth:" | ||||
| | @ -579,7 +576,7 @@ msgstr "" | |||
"introduire l'option ``--quiet``, qui va avoir l'effet opposé de l'option ``--" | ||||
"verbose`` ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:695 | ||||
#: 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:" | ||||
| | @ -588,7 +585,7 @@ msgstr "" | |||
"fonctionnalités pour faire cette démonstration. Peu importe, voici la sortie " | ||||
"du programme :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:713 | ||||
#: howto/argparse.rst:713 | ||||
msgid "" | ||||
"That should be easy to follow. I've added that last output so you can see " | ||||
"the sort of flexibility you get, i.e. mixing long form options with short " | ||||
| | @ -598,7 +595,7 @@ msgstr "" | |||
"que vous puissiez voir le genre de flexibilité que vous pouvez avoir, par " | ||||
"exemple pour faire un mélange entre des paramètres courts et longs." | ||||
| ||||
#: ../Doc/howto/argparse.rst:717 | ||||
#: 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::" | ||||
| | @ -607,7 +604,7 @@ msgstr "" | |||
"le but principal de votre programme, juste dans le cas ou ils ne le " | ||||
"sauraient pas ::" | ||||
| ||||
#: ../Doc/howto/argparse.rst:738 | ||||
#: howto/argparse.rst:738 | ||||
msgid "" | ||||
"Note that slight difference in the usage text. Note the ``[-v | -q]``, which " | ||||
"tells us that we can either use ``-v`` or ``-q``, but not both at the same " | ||||
| | @ -617,11 +614,11 @@ msgstr "" | |||
"nous disent que nous pouvons utiliser au choix ``-v`` ou ``-q``, mais pas " | ||||
"les deux ensemble :" | ||||
| ||||
#: ../Doc/howto/argparse.rst:760 | ||||
#: howto/argparse.rst:760 | ||||
msgid "Conclusion" | ||||
msgstr "Conclusion" | ||||
| ||||
#: ../Doc/howto/argparse.rst:762 | ||||
#: howto/argparse.rst:762 | ||||
msgid "" | ||||
"The :mod:`argparse` module offers a lot more than shown here. Its docs are " | ||||
"quite detailed and thorough, and full of examples. Having gone through this " | ||||
| | | |||
838 howto/clinic.po
838
howto/clinic.po File diff suppressed because it is too large Load diff
| | @ -14,30 +14,30 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.2.3\n" | ||||
| ||||
#: ../Doc/howto/cporting.rst:7 | ||||
#: howto/cporting.rst:7 | ||||
msgid "Porting Extension Modules to Python 3" | ||||
msgstr "Portage des modules d'extension vers Python 3" | ||||
| ||||
#: ../Doc/howto/cporting.rst:9 | ||||
#: howto/cporting.rst:9 | ||||
msgid "" | ||||
"We recommend the following resources for porting extension modules to Python " | ||||
"3:" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/cporting.rst:11 | ||||
#: howto/cporting.rst:11 | ||||
msgid "" | ||||
"The `Migrating C extensions`_ chapter from *Supporting Python 3: An in-depth " | ||||
"guide*, a book on moving from Python 2 to Python 3 in general, guides the " | ||||
"reader through porting an extension module." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/cporting.rst:15 | ||||
#: howto/cporting.rst:15 | ||||
msgid "" | ||||
"The `Porting guide`_ from the *py3c* project provides opinionated " | ||||
"suggestions with supporting code." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/cporting.rst:17 | ||||
#: howto/cporting.rst:17 | ||||
msgid "" | ||||
"The `Cython`_ and `CFFI`_ libraries offer abstractions over Python's C API. " | ||||
"Extensions generally need to be re-written to use one of them, but the " | ||||
| | | |||
210 howto/curses.po
210
howto/curses.po | | @ -14,41 +14,41 @@ msgstr "" | |||
"Content-Type: text/plain; charset=UTF-8\n" | ||||
"Content-Transfer-Encoding: 8bit\n" | ||||
| ||||
#: ../Doc/howto/curses.rst:5 | ||||
#: howto/curses.rst:5 | ||||
msgid "Curses Programming with Python" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:0 | ||||
#: howto/curses.rst:0 | ||||
msgid "Author" | ||||
msgstr "Auteur" | ||||
| ||||
#: ../Doc/howto/curses.rst:7 | ||||
#: howto/curses.rst:7 | ||||
msgid "A.M. Kuchling, Eric S. Raymond" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:0 | ||||
#: howto/curses.rst:0 | ||||
msgid "Release" | ||||
msgstr "Version" | ||||
| ||||
#: ../Doc/howto/curses.rst:8 | ||||
#: howto/curses.rst:8 | ||||
msgid "2.04" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:None | ||||
#: howto/curses.rst:None | ||||
msgid "Abstract" | ||||
msgstr "Résumé" | ||||
| ||||
#: ../Doc/howto/curses.rst:13 | ||||
#: howto/curses.rst:13 | ||||
msgid "" | ||||
"This document describes how to use the :mod:`curses` extension module to " | ||||
"control text-mode displays." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:18 | ||||
#: howto/curses.rst:18 | ||||
msgid "What is curses?" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:20 | ||||
#: howto/curses.rst:20 | ||||
msgid "" | ||||
"The curses library supplies a terminal-independent screen-painting and " | ||||
"keyboard-handling facility for text-based terminals; such terminals include " | ||||
| | @ -59,7 +59,7 @@ msgid "" | |||
"own minor quirks." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:28 | ||||
#: howto/curses.rst:28 | ||||
msgid "" | ||||
"In a world of graphical displays, one might ask \"why bother\"? It's true " | ||||
"that character-cell display terminals are an obsolete technology, but there " | ||||
| | @ -69,7 +69,7 @@ msgid "" | |||
"configurators that may have to run before any graphical support is available." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:36 | ||||
#: howto/curses.rst:36 | ||||
msgid "" | ||||
"The curses library provides fairly basic functionality, providing the " | ||||
"programmer with an abstraction of a display containing multiple non-" | ||||
| | @ -82,7 +82,7 @@ msgid "" | |||
"project/urwid/>`_." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:46 | ||||
#: howto/curses.rst:46 | ||||
msgid "" | ||||
"The curses library was originally written for BSD Unix; the later System V " | ||||
"versions of Unix from AT&T added many enhancements and new functions. BSD " | ||||
| | @ -95,7 +95,7 @@ msgid "" | |||
"everything, though." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:56 | ||||
#: howto/curses.rst:56 | ||||
msgid "" | ||||
"The Windows version of Python doesn't include the :mod:`curses` module. A " | ||||
"ported version called `UniCurses <https://pypi.org/project/UniCurses>`_ is " | ||||
| | @ -105,11 +105,11 @@ msgid "" | |||
"for mouse and keyboard input." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:66 | ||||
#: howto/curses.rst:66 | ||||
msgid "The Python curses module" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:68 | ||||
#: howto/curses.rst:68 | ||||
msgid "" | ||||
"The Python module is a fairly simple wrapper over the C functions provided " | ||||
"by curses; if you're already familiar with curses programming in C, it's " | ||||
| | @ -120,7 +120,7 @@ msgid "" | |||
"this covered in more detail later." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:76 | ||||
#: howto/curses.rst:76 | ||||
msgid "" | ||||
"This HOWTO is an introduction to writing text-mode programs with curses and " | ||||
"Python. It doesn't attempt to be a complete guide to the curses API; for " | ||||
| | @ -128,11 +128,11 @@ msgid "" | |||
"pages for ncurses. It will, however, give you the basic ideas." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:83 | ||||
#: howto/curses.rst:83 | ||||
msgid "Starting and ending a curses application" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:85 | ||||
#: howto/curses.rst:85 | ||||
msgid "" | ||||
"Before doing anything, curses must be initialized. This is done by calling " | ||||
"the :func:`~curses.initscr` function, which will determine the terminal " | ||||
| | @ -142,21 +142,21 @@ msgid "" | |||
"after the name of the corresponding C variable. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:96 | ||||
#: howto/curses.rst:96 | ||||
msgid "" | ||||
"Usually curses applications turn off automatic echoing of keys to the " | ||||
"screen, in order to be able to read keys and only display them under certain " | ||||
"circumstances. This requires calling the :func:`~curses.noecho` function. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:103 | ||||
#: howto/curses.rst:103 | ||||
msgid "" | ||||
"Applications will also commonly need to react to keys instantly, without " | ||||
"requiring the Enter key to be pressed; this is called cbreak mode, as " | ||||
"opposed to the usual buffered input mode. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:109 | ||||
#: howto/curses.rst:109 | ||||
msgid "" | ||||
"Terminals usually return special keys, such as the cursor keys or navigation " | ||||
"keys such as Page Up and Home, as a multibyte escape sequence. While you " | ||||
| | @ -166,20 +166,20 @@ msgid "" | |||
"keypad mode. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:118 | ||||
#: howto/curses.rst:118 | ||||
msgid "" | ||||
"Terminating a curses application is much easier than starting one. You'll " | ||||
"need to call::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:125 | ||||
#: howto/curses.rst:125 | ||||
msgid "" | ||||
"to reverse the curses-friendly terminal settings. Then call the :func:" | ||||
"`~curses.endwin` function to restore the terminal to its original operating " | ||||
"mode. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:131 | ||||
#: howto/curses.rst:131 | ||||
msgid "" | ||||
"A common problem when debugging a curses application is to get your terminal " | ||||
"messed up when the application dies without restoring the terminal to its " | ||||
| | @ -188,13 +188,13 @@ msgid "" | |||
"you type them, for example, which makes using the shell difficult." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:137 | ||||
#: howto/curses.rst:137 | ||||
msgid "" | ||||
"In Python you can avoid these complications and make debugging much easier " | ||||
"by importing the :func:`curses.wrapper` function and using it like this::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:156 | ||||
#: howto/curses.rst:156 | ||||
msgid "" | ||||
"The :func:`~curses.wrapper` function takes a callable object and does the " | ||||
"initializations described above, also initializing colors if color support " | ||||
| | @ -207,18 +207,18 @@ msgid "" | |||
"and traceback." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:168 | ||||
#: howto/curses.rst:168 | ||||
msgid "Windows and Pads" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:170 | ||||
#: howto/curses.rst:170 | ||||
msgid "" | ||||
"Windows are the basic abstraction in curses. A window object represents a " | ||||
"rectangular area of the screen, and supports methods to display text, erase " | ||||
"it, allow the user to input strings, and so forth." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:174 | ||||
#: howto/curses.rst:174 | ||||
msgid "" | ||||
"The ``stdscr`` object returned by the :func:`~curses.initscr` function is a " | ||||
"window object that covers the entire screen. Many programs may need only " | ||||
| | @ -228,7 +228,7 @@ msgid "" | |||
"window object. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:185 | ||||
#: howto/curses.rst:185 | ||||
msgid "" | ||||
"Note that the coordinate system used in curses is unusual. Coordinates are " | ||||
"always passed in the order *y,x*, and the top-left corner of a window is " | ||||
| | @ -238,7 +238,7 @@ msgid "" | |||
"curses since it was first written, and it's too late to change things now." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:193 | ||||
#: howto/curses.rst:193 | ||||
msgid "" | ||||
"Your application can determine the size of the screen by using the :data:" | ||||
"`curses.LINES` and :data:`curses.COLS` variables to obtain the *y* and *x* " | ||||
| | @ -246,14 +246,14 @@ msgid "" | |||
"- 1, curses.COLS - 1)``." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:198 | ||||
#: howto/curses.rst:198 | ||||
msgid "" | ||||
"When you call a method to display or erase text, the effect doesn't " | ||||
"immediately show up on the display. Instead you must call the :meth:" | ||||
"`~curses.window.refresh` method of window objects to update the screen." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:203 | ||||
#: howto/curses.rst:203 | ||||
msgid "" | ||||
"This is because curses was originally written with slow 300-baud terminal " | ||||
"connections in mind; with these terminals, minimizing the time required to " | ||||
| | @ -264,7 +264,7 @@ msgid "" | |||
"because they're never visible." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:212 | ||||
#: howto/curses.rst:212 | ||||
msgid "" | ||||
"In practice, explicitly telling curses to redraw a window doesn't really " | ||||
"complicate programming with curses much. Most programs go into a flurry of " | ||||
| | @ -274,7 +274,7 @@ msgid "" | |||
"refresh()`` or the :meth:`refresh` method of some other relevant window." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:220 | ||||
#: howto/curses.rst:220 | ||||
msgid "" | ||||
"A pad is a special case of a window; it can be larger than the actual " | ||||
"display screen, and only a portion of the pad displayed at a time. Creating " | ||||
| | @ -283,7 +283,7 @@ msgid "" | |||
"will be displayed. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:241 | ||||
#: howto/curses.rst:241 | ||||
msgid "" | ||||
"The :meth:`refresh` call displays a section of the pad in the rectangle " | ||||
"extending from coordinate (5,5) to coordinate (20,75) on the screen; the " | ||||
| | @ -292,36 +292,36 @@ msgid "" | |||
"the same methods." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:247 | ||||
#: howto/curses.rst:247 | ||||
msgid "" | ||||
"If you have multiple windows and pads on screen there is a more efficient " | ||||
"way to update the screen and prevent annoying screen flicker as each part of " | ||||
"the screen gets updated. :meth:`refresh` actually does two things:" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:252 | ||||
#: howto/curses.rst:252 | ||||
msgid "" | ||||
"Calls the :meth:`~curses.window.noutrefresh` method of each window to update " | ||||
"an underlying data structure representing the desired state of the screen." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:255 | ||||
#: howto/curses.rst:255 | ||||
msgid "" | ||||
"Calls the function :func:`~curses.doupdate` function to change the physical " | ||||
"screen to match the desired state recorded in the data structure." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:258 | ||||
#: howto/curses.rst:258 | ||||
msgid "" | ||||
"Instead you can call :meth:`noutrefresh` on a number of windows to update " | ||||
"the data structure, and then call :func:`doupdate` to update the screen." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:264 | ||||
#: howto/curses.rst:264 | ||||
msgid "Displaying Text" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:266 | ||||
#: howto/curses.rst:266 | ||||
msgid "" | ||||
"From a C programmer's point of view, curses may sometimes look like a twisty " | ||||
"maze of functions, all subtly different. For example, :c:func:`addstr` " | ||||
| | @ -332,7 +332,7 @@ msgid "" | |||
"func:`mvwaddstr` allows specifying both a window and a coordinate." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:275 | ||||
#: howto/curses.rst:275 | ||||
msgid "" | ||||
"Fortunately the Python interface hides all these details. ``stdscr`` is a " | ||||
"window object like any other, and methods such as :meth:`~curses.window." | ||||
| | @ -340,58 +340,58 @@ msgid "" | |||
"forms." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:281 | ||||
#: howto/curses.rst:281 | ||||
msgid "Form" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:281 ../Doc/howto/curses.rst:350 | ||||
#: howto/curses.rst:350 | ||||
msgid "Description" | ||||
msgstr "Description" | ||||
| ||||
#: ../Doc/howto/curses.rst:283 | ||||
#: howto/curses.rst:283 | ||||
msgid "*str* or *ch*" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:283 | ||||
#: howto/curses.rst:283 | ||||
msgid "Display the string *str* or character *ch* at the current position" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:286 | ||||
#: howto/curses.rst:286 | ||||
msgid "*str* or *ch*, *attr*" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:286 | ||||
#: howto/curses.rst:286 | ||||
msgid "" | ||||
"Display the string *str* or character *ch*, using attribute *attr* at the " | ||||
"current position" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:290 | ||||
#: howto/curses.rst:290 | ||||
msgid "*y*, *x*, *str* or *ch*" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:290 | ||||
#: howto/curses.rst:290 | ||||
msgid "Move to position *y,x* within the window, and display *str* or *ch*" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:293 | ||||
#: howto/curses.rst:293 | ||||
msgid "*y*, *x*, *str* or *ch*, *attr*" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:293 | ||||
#: howto/curses.rst:293 | ||||
msgid "" | ||||
"Move to position *y,x* within the window, and display *str* or *ch*, using " | ||||
"attribute *attr*" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:297 | ||||
#: howto/curses.rst:297 | ||||
msgid "" | ||||
"Attributes allow displaying text in highlighted forms such as boldface, " | ||||
"underline, reverse code, or in color. They'll be explained in more detail " | ||||
"in the next subsection." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:302 | ||||
#: howto/curses.rst:302 | ||||
msgid "" | ||||
"The :meth:`~curses.window.addstr` method takes a Python string or bytestring " | ||||
"as the value to be displayed. The contents of bytestrings are sent to the " | ||||
| | @ -400,13 +400,13 @@ msgid "" | |||
"encoding as returned by :func:`locale.getpreferredencoding`." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:309 | ||||
#: howto/curses.rst:309 | ||||
msgid "" | ||||
"The :meth:`~curses.window.addch` methods take a character, which can be " | ||||
"either a string of length 1, a bytestring of length 1, or an integer." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:312 | ||||
#: howto/curses.rst:312 | ||||
msgid "" | ||||
"Constants are provided for extension characters; these constants are " | ||||
"integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/- " | ||||
| | @ -414,7 +414,7 @@ msgid "" | |||
"for drawing borders). You can also use the appropriate Unicode character." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:318 | ||||
#: howto/curses.rst:318 | ||||
msgid "" | ||||
"Windows remember where the cursor was left after the last operation, so if " | ||||
"you leave out the *y,x* coordinates, the string or character will be " | ||||
| | @ -425,7 +425,7 @@ msgid "" | |||
"cursor blinking at some apparently random location." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:326 | ||||
#: howto/curses.rst:326 | ||||
msgid "" | ||||
"If your application doesn't need a blinking cursor at all, you can call " | ||||
"``curs_set(False)`` to make it invisible. For compatibility with older " | ||||
| | @ -435,11 +435,11 @@ msgid "" | |||
"leaving it in odd locations." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:335 | ||||
#: howto/curses.rst:335 | ||||
msgid "Attributes and Color" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:337 | ||||
#: howto/curses.rst:337 | ||||
msgid "" | ||||
"Characters can be displayed in different ways. Status lines in a text-based " | ||||
"application are commonly shown in reverse video, or a text viewer may need " | ||||
| | @ -447,7 +447,7 @@ msgid "" | |||
"an attribute for each cell on the screen." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:342 | ||||
#: howto/curses.rst:342 | ||||
msgid "" | ||||
"An attribute is an integer, each bit representing a different attribute. " | ||||
"You can try to display text with multiple attribute bits set, but curses " | ||||
| | @ -457,72 +457,72 @@ msgid "" | |||
"attributes, listed here." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:350 | ||||
#: howto/curses.rst:350 | ||||
msgid "Attribute" | ||||
msgstr "Attribut" | ||||
| ||||
#: ../Doc/howto/curses.rst:352 | ||||
#: howto/curses.rst:352 | ||||
msgid ":const:`A_BLINK`" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:352 | ||||
#: howto/curses.rst:352 | ||||
msgid "Blinking text" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:354 | ||||
#: howto/curses.rst:354 | ||||
msgid ":const:`A_BOLD`" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:354 | ||||
#: howto/curses.rst:354 | ||||
msgid "Extra bright or bold text" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:356 | ||||
#: howto/curses.rst:356 | ||||
msgid ":const:`A_DIM`" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:356 | ||||
#: howto/curses.rst:356 | ||||
msgid "Half bright text" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:358 | ||||
#: howto/curses.rst:358 | ||||
msgid ":const:`A_REVERSE`" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:358 | ||||
#: howto/curses.rst:358 | ||||
msgid "Reverse-video text" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:360 | ||||
#: howto/curses.rst:360 | ||||
msgid ":const:`A_STANDOUT`" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:360 | ||||
#: howto/curses.rst:360 | ||||
msgid "The best highlighting mode available" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:362 | ||||
#: howto/curses.rst:362 | ||||
msgid ":const:`A_UNDERLINE`" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:362 | ||||
#: howto/curses.rst:362 | ||||
msgid "Underlined text" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:365 | ||||
#: howto/curses.rst:365 | ||||
msgid "" | ||||
"So, to display a reverse-video status line on the top line of the screen, " | ||||
"you could code::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:372 | ||||
#: howto/curses.rst:372 | ||||
msgid "" | ||||
"The curses library also supports color on those terminals that provide it. " | ||||
"The most common such terminal is probably the Linux console, followed by " | ||||
"color xterms." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:376 | ||||
#: howto/curses.rst:376 | ||||
msgid "" | ||||
"To use color, you must call the :func:`~curses.start_color` function soon " | ||||
"after calling :func:`~curses.initscr`, to initialize the default color set " | ||||
| | @ -534,7 +534,7 @@ msgid "" | |||
"for the sake of these functions.)" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:386 | ||||
#: howto/curses.rst:386 | ||||
msgid "" | ||||
"The curses library maintains a finite number of color pairs, containing a " | ||||
"foreground (or text) color and a background color. You can get the " | ||||
| | @ -544,11 +544,11 @@ msgid "" | |||
"work on all terminals." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:393 | ||||
#: howto/curses.rst:393 | ||||
msgid "An example, which displays a line of text using color pair 1::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:398 | ||||
#: howto/curses.rst:398 | ||||
msgid "" | ||||
"As I said before, a color pair consists of a foreground and background " | ||||
"color. The ``init_pair(n, f, b)`` function changes the definition of color " | ||||
| | @ -556,7 +556,7 @@ msgid "" | |||
"hard-wired to white on black, and cannot be changed." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:403 | ||||
#: howto/curses.rst:403 | ||||
msgid "" | ||||
"Colors are numbered, and :func:`start_color` initializes 8 basic colors when " | ||||
"it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, 4:" | ||||
| | @ -565,20 +565,20 @@ msgid "" | |||
"const:`curses.COLOR_RED`, and so forth." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:409 | ||||
#: howto/curses.rst:409 | ||||
msgid "" | ||||
"Let's put all this together. To change color 1 to red text on a white " | ||||
"background, you would call::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:414 | ||||
#: howto/curses.rst:414 | ||||
msgid "" | ||||
"When you change a color pair, any text already displayed using that color " | ||||
"pair will change to the new colors. You can also display new text in this " | ||||
"color with::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:420 | ||||
#: howto/curses.rst:420 | ||||
msgid "" | ||||
"Very fancy terminals can change the definitions of the actual colors to a " | ||||
"given RGB value. This lets you change color 1, which is usually red, to " | ||||
| | @ -590,11 +590,11 @@ msgid "" | |||
"your system's man pages for more information." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:431 | ||||
#: howto/curses.rst:431 | ||||
msgid "User Input" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:433 | ||||
#: howto/curses.rst:433 | ||||
msgid "" | ||||
"The C curses library offers only very simple input mechanisms. Python's :mod:" | ||||
"`curses` module adds a basic text-input widget. (Other libraries such as " | ||||
| | @ -602,11 +602,11 @@ msgid "" | |||
"of widgets.)" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:438 | ||||
#: howto/curses.rst:438 | ||||
msgid "There are two methods for getting input from a window:" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:440 | ||||
#: howto/curses.rst:440 | ||||
msgid "" | ||||
":meth:`~curses.window.getch` refreshes the screen and then waits for the " | ||||
"user to hit a key, displaying the key if :func:`~curses.echo` has been " | ||||
| | @ -614,7 +614,7 @@ msgid "" | |||
"should be moved before pausing." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:445 | ||||
#: howto/curses.rst:445 | ||||
msgid "" | ||||
":meth:`~curses.window.getkey` does the same thing but converts the integer " | ||||
"to a string. Individual characters are returned as 1-character strings, and " | ||||
| | @ -622,7 +622,7 @@ msgid "" | |||
"name such as ``KEY_UP`` or ``^G``." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:450 | ||||
#: howto/curses.rst:450 | ||||
msgid "" | ||||
"It's possible to not wait for the user using the :meth:`~curses.window." | ||||
"nodelay` window method. After ``nodelay(True)``, :meth:`getch` and :meth:" | ||||
| | @ -634,7 +634,7 @@ msgid "" | |||
"tenths of a second), curses raises an exception." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:460 | ||||
#: howto/curses.rst:460 | ||||
msgid "" | ||||
"The :meth:`getch` method returns an integer; if it's between 0 and 255, it " | ||||
"represents the ASCII code of the key pressed. Values greater than 255 are " | ||||
| | @ -644,7 +644,7 @@ msgid "" | |||
"program may look something like this::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:476 | ||||
#: howto/curses.rst:476 | ||||
msgid "" | ||||
"The :mod:`curses.ascii` module supplies ASCII class membership functions " | ||||
"that take either integer or 1-character string arguments; these may be " | ||||
| | @ -654,7 +654,7 @@ msgid "" | |||
"returns the control character corresponding to its argument." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:483 | ||||
#: howto/curses.rst:483 | ||||
msgid "" | ||||
"There's also a method to retrieve an entire string, :meth:`~curses.window." | ||||
"getstr`. It isn't used very often, because its functionality is quite " | ||||
| | @ -663,7 +663,7 @@ msgid "" | |||
"number of characters. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:494 | ||||
#: howto/curses.rst:494 | ||||
msgid "" | ||||
"The :mod:`curses.textpad` module supplies a text box that supports an Emacs-" | ||||
"like set of keybindings. Various methods of the :class:`~curses.textpad." | ||||
| | @ -671,16 +671,16 @@ msgid "" | |||
"results either with or without trailing spaces. Here's an example::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:518 | ||||
#: howto/curses.rst:518 | ||||
msgid "" | ||||
"See the library documentation on :mod:`curses.textpad` for more details." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:522 | ||||
#: howto/curses.rst:522 | ||||
msgid "For More Information" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:524 | ||||
#: howto/curses.rst:524 | ||||
msgid "" | ||||
"This HOWTO doesn't cover some advanced topics, such as reading the contents " | ||||
"of the screen or capturing mouse events from an xterm instance, but the " | ||||
| | @ -688,7 +688,7 @@ msgid "" | |||
"complete. You should browse it next." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:529 | ||||
#: howto/curses.rst:529 | ||||
msgid "" | ||||
"If you're in doubt about the detailed behavior of the curses functions, " | ||||
"consult the manual pages for your curses implementation, whether it's " | ||||
| | @ -697,7 +697,7 @@ msgid "" | |||
"const:`ACS_\\*` characters available to you." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:536 | ||||
#: howto/curses.rst:536 | ||||
msgid "" | ||||
"Because the curses API is so large, some functions aren't supported in the " | ||||
"Python interface. Often this isn't because they're difficult to implement, " | ||||
| | @ -707,29 +707,29 @@ msgid "" | |||
"org/>`_ to learn more about submitting patches to Python." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:544 | ||||
#: howto/curses.rst:544 | ||||
msgid "" | ||||
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-" | ||||
"intro.html>`_: a lengthy tutorial for C programmers." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:546 | ||||
#: howto/curses.rst:546 | ||||
msgid "`The ncurses man page <https://linux.die.net/man/3/ncurses>`_" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:547 | ||||
#: howto/curses.rst:547 | ||||
msgid "" | ||||
"`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:548 | ||||
#: howto/curses.rst:548 | ||||
msgid "" | ||||
"`\"Use curses... don't swear\" <https://www.youtube.com/watch?" | ||||
"v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using " | ||||
"curses or Urwid." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/curses.rst:550 | ||||
#: howto/curses.rst:550 | ||||
msgid "" | ||||
"`\"Console Applications with Urwid\" <http://www.pyvideo.org/video/1568/" | ||||
"console-applications-with-urwid>`_: video of a PyCon CA 2012 talk " | ||||
| | | |||
| | @ -15,35 +15,35 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.3\n" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:3 | ||||
#: howto/descriptor.rst:3 | ||||
msgid "Descriptor HowTo Guide" | ||||
msgstr "Guide pour l'utilisation des descripteurs" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:0 | ||||
#: howto/descriptor.rst:0 | ||||
msgid "Author" | ||||
msgstr "Auteur" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:5 | ||||
#: howto/descriptor.rst:5 | ||||
msgid "Raymond Hettinger" | ||||
msgstr "Raymond Hettinger" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:0 | ||||
#: howto/descriptor.rst:0 | ||||
msgid "Contact" | ||||
msgstr "Contact" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:6 | ||||
#: howto/descriptor.rst:6 | ||||
msgid "<python at rcn dot com>" | ||||
msgstr "<python at rcn dot com>" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:8 | ||||
#: howto/descriptor.rst:8 | ||||
msgid "Contents" | ||||
msgstr "Sommaire" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:11 | ||||
#: howto/descriptor.rst:11 | ||||
msgid "Abstract" | ||||
msgstr "Résumé" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:13 | ||||
#: howto/descriptor.rst:13 | ||||
msgid "" | ||||
"Defines descriptors, summarizes the protocol, and shows how descriptors are " | ||||
"called. Examines a custom descriptor and several built-in Python " | ||||
| | @ -57,7 +57,7 @@ msgstr "" | |||
"méthodes statiques et les méthodes de classe. Montre comment chacun " | ||||
"fonctionne en donnant un équivalent Python pur et un exemple d'application." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:18 | ||||
#: howto/descriptor.rst:18 | ||||
msgid "" | ||||
"Learning about descriptors not only provides access to a larger toolset, it " | ||||
"creates a deeper understanding of how Python works and an appreciation for " | ||||
| | @ -67,11 +67,11 @@ msgstr "" | |||
"ensemble d'outils plus vaste, mais aussi de mieux comprendre le " | ||||
"fonctionnement de Python et d'apprécier l'élégance de sa conception." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:24 | ||||
#: howto/descriptor.rst:24 | ||||
msgid "Definition and Introduction" | ||||
msgstr "Définition et introduction" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:26 | ||||
#: howto/descriptor.rst:26 | ||||
msgid "" | ||||
"In general, a descriptor is an object attribute with \"binding behavior\", " | ||||
"one whose attribute access has been overridden by methods in the descriptor " | ||||
| | @ -85,7 +85,7 @@ msgstr "" | |||
"meth:`__set__`, et :meth:`__delete__`. Si l'une de ces méthodes est définie " | ||||
"pour un objet, il s'agit d'un descripteur." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:32 | ||||
#: howto/descriptor.rst:32 | ||||
msgid "" | ||||
"The default behavior for attribute access is to get, set, or delete the " | ||||
"attribute from an object's dictionary. For instance, ``a.x`` has a lookup " | ||||
| | @ -106,7 +106,7 @@ msgstr "" | |||
"Descriptor. Lorsque cela se produit dans la chaîne de précédence dépend de " | ||||
"quelles méthodes descripteur ont été définies." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:41 | ||||
#: howto/descriptor.rst:41 | ||||
msgid "" | ||||
"Descriptors are a powerful, general purpose protocol. They are the " | ||||
"mechanism behind properties, methods, static methods, class methods, and :" | ||||
| | @ -123,23 +123,23 @@ msgstr "" | |||
"un ensemble flexible de nouveaux outils pour les programmes Python " | ||||
"quotidiens." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:49 | ||||
#: howto/descriptor.rst:49 | ||||
msgid "Descriptor Protocol" | ||||
msgstr "Protocole descripteur" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:51 | ||||
#: howto/descriptor.rst:51 | ||||
msgid "``descr.__get__(self, obj, type=None) -> value``" | ||||
msgstr "``descr.__get__(self, obj, type=None) -> value``" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:53 | ||||
#: howto/descriptor.rst:53 | ||||
msgid "``descr.__set__(self, obj, value) -> None``" | ||||
msgstr "``descr.__set__(self, obj, value) -> None``" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:55 | ||||
#: howto/descriptor.rst:55 | ||||
msgid "``descr.__delete__(self, obj) -> None``" | ||||
msgstr "``descr.__delete__(self, obj) -> None``" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:57 | ||||
#: howto/descriptor.rst:57 | ||||
msgid "" | ||||
"That is all there is to it. Define any of these methods and an object is " | ||||
"considered a descriptor and can override default behavior upon being looked " | ||||
| | @ -149,7 +149,7 @@ msgstr "" | |||
"méthodes et un objet est considéré comme un descripteur et peut remplacer le " | ||||
"comportement par défaut lorsqu'il est recherché comme un attribut." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:61 | ||||
#: howto/descriptor.rst:61 | ||||
msgid "" | ||||
"If an object defines :meth:`__set__` or :meth:`__delete__`, it is considered " | ||||
"a data descriptor. Descriptors that only define :meth:`__get__` are called " | ||||
| | @ -161,7 +161,7 @@ msgstr "" | |||
"meth:`__get__` sont appelés descripteurs *non-data* (ils sont généralement " | ||||
"utilisés pour des méthodes mais d'autres utilisations sont possibles)." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:66 | ||||
#: howto/descriptor.rst:66 | ||||
msgid "" | ||||
"Data and non-data descriptors differ in how overrides are calculated with " | ||||
"respect to entries in an instance's dictionary. If an instance's dictionary " | ||||
| | @ -177,7 +177,7 @@ msgstr "" | |||
"entrée portant le même nom qu'un descripteur *non-data*, l'entrée du " | ||||
"dictionnaire a la priorité." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:72 | ||||
#: howto/descriptor.rst:72 | ||||
msgid "" | ||||
"To make a read-only data descriptor, define both :meth:`__get__` and :meth:" | ||||
"`__set__` with the :meth:`__set__` raising an :exc:`AttributeError` when " | ||||
| | @ -190,11 +190,11 @@ msgstr "" | |||
"`__set__set__` avec une exception élevant le caractère générique est " | ||||
"suffisant pour en faire un descripteur de données." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:79 | ||||
#: howto/descriptor.rst:79 | ||||
msgid "Invoking Descriptors" | ||||
msgstr "Invocation des descripteurs" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:81 | ||||
#: howto/descriptor.rst:81 | ||||
msgid "" | ||||
"A descriptor can be called directly by its method name. For example, ``d." | ||||
"__get__(obj)``." | ||||
| | @ -202,7 +202,7 @@ msgstr "" | |||
"Un descripteur peut être appelé directement par son nom de méthode. Par " | ||||
"exemple, ``d.__get__(obj)``." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:84 | ||||
#: howto/descriptor.rst:84 | ||||
msgid "" | ||||
"Alternatively, it is more common for a descriptor to be invoked " | ||||
"automatically upon attribute access. For example, ``obj.d`` looks up ``d`` " | ||||
| | @ -216,14 +216,14 @@ msgstr "" | |||
"méthode :meth:`__get__`, alors ``d.__get__(obj)`` est invoqué selon les " | ||||
"règles de priorité énumérées ci-dessous." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:89 | ||||
#: howto/descriptor.rst:89 | ||||
msgid "" | ||||
"The details of invocation depend on whether ``obj`` is an object or a class." | ||||
msgstr "" | ||||
"Les détails de l'invocation dépendent du fait que ``obj`` est un objet ou " | ||||
"une classe." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:91 | ||||
#: howto/descriptor.rst:91 | ||||
msgid "" | ||||
"For objects, the machinery is in :meth:`object.__getattribute__` which " | ||||
"transforms ``b.x`` into ``type(b).__dict__['x'].__get__(b, type(b))``. The " | ||||
| | @ -242,7 +242,7 @@ msgstr "" | |||
"L'implémentation complète en C peut être trouvée dans :c:func:" | ||||
"`PyObject_GenericGetAttr()` dans :source:`Objects/object.c`." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:99 | ||||
#: howto/descriptor.rst:99 | ||||
msgid "" | ||||
"For classes, the machinery is in :meth:`type.__getattribute__` which " | ||||
"transforms ``B.x`` into ``B.__dict__['x'].__get__(None, B)``. In pure " | ||||
| | @ -252,21 +252,21 @@ msgstr "" | |||
"transforme ``B.x`` en ``B.__dict__['x'].__get__(None, B)``. En Python pur, " | ||||
"cela ressemble à ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:110 | ||||
#: howto/descriptor.rst:110 | ||||
msgid "The important points to remember are:" | ||||
msgstr "Les points importants à retenir sont :" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:112 | ||||
#: howto/descriptor.rst:112 | ||||
msgid "descriptors are invoked by the :meth:`__getattribute__` method" | ||||
msgstr "les descripteurs sont appelés par la méthode :meth:`__getattribute__`" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:113 | ||||
#: howto/descriptor.rst:113 | ||||
msgid "overriding :meth:`__getattribute__` prevents automatic descriptor calls" | ||||
msgstr "" | ||||
"redéfinir :meth:`__getattribute____` empêche les appels automatiques de " | ||||
"descripteurs" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:114 | ||||
#: howto/descriptor.rst:114 | ||||
msgid "" | ||||
":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " | ||||
"different calls to :meth:`__get__`." | ||||
| | @ -274,19 +274,19 @@ msgstr "" | |||
":meth:`objet.__getattribute__` et :meth:`type.__getattribute__` font " | ||||
"différents appels à :meth:`__get__`." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:116 | ||||
#: howto/descriptor.rst:116 | ||||
msgid "data descriptors always override instance dictionaries." | ||||
msgstr "" | ||||
"les descripteurs de données remplacent toujours les dictionnaires " | ||||
"d'instances." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:117 | ||||
#: howto/descriptor.rst:117 | ||||
msgid "non-data descriptors may be overridden by instance dictionaries." | ||||
msgstr "" | ||||
"les descripteurs *non-data* peuvent être remplacés par des dictionnaires " | ||||
"d'instance." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:119 | ||||
#: howto/descriptor.rst:119 | ||||
msgid "" | ||||
"The object returned by ``super()`` also has a custom :meth:" | ||||
"`__getattribute__` method for invoking descriptors. The attribute lookup " | ||||
| | @ -304,7 +304,7 @@ msgstr "" | |||
"inchangé. S'il n'est pas dans le dictionnaire, la recherche de ``m`` revient " | ||||
"à une recherche utilisant :meth:`object.__getattribute__`." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:126 | ||||
#: howto/descriptor.rst:126 | ||||
msgid "" | ||||
"The implementation details are in :c:func:`super_getattro()` in :source:" | ||||
"`Objects/typeobject.c`. and a pure Python equivalent can be found in " | ||||
| | @ -314,7 +314,7 @@ msgstr "" | |||
"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé " | ||||
"dans `Guido's Tutorial`_." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:132 | ||||
#: howto/descriptor.rst:132 | ||||
msgid "" | ||||
"The details above show that the mechanism for descriptors is embedded in " | ||||
"the :meth:`__getattribute__()` methods for :class:`object`, :class:`type`, " | ||||
| | @ -330,11 +330,11 @@ msgstr "" | |||
"fournissant des fonctionnalités similaires. De même, les classes peuvent " | ||||
"désactiver l'appel de descripteurs en remplaçant :meth:`__getattribute__()`." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:141 | ||||
#: howto/descriptor.rst:141 | ||||
msgid "Descriptor Example" | ||||
msgstr "Exemple de descripteur" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:143 | ||||
#: howto/descriptor.rst:143 | ||||
msgid "" | ||||
"The following code creates a class whose objects are data descriptors which " | ||||
"print a message for each get or set. Overriding :meth:`__getattribute__` is " | ||||
| | @ -347,7 +347,7 @@ msgstr "" | |||
"le faire pour chaque attribut. Cependant, ce descripteur n'est utile que " | ||||
"pour le suivi de quelques attributs choisis ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:181 | ||||
#: howto/descriptor.rst:181 | ||||
msgid "" | ||||
"The protocol is simple and offers exciting possibilities. Several use cases " | ||||
"are so common that they have been packaged into individual function calls. " | ||||
| | @ -360,11 +360,11 @@ msgstr "" | |||
"statiques et les méthodes de classe sont toutes basées sur le protocole du " | ||||
"descripteur." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:188 | ||||
#: howto/descriptor.rst:188 | ||||
msgid "Properties" | ||||
msgstr "Propriétés" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:190 | ||||
#: howto/descriptor.rst:190 | ||||
msgid "" | ||||
"Calling :func:`property` is a succinct way of building a data descriptor " | ||||
"that triggers function calls upon access to an attribute. Its signature is::" | ||||
| | @ -373,14 +373,14 @@ msgstr "" | |||
"descripteur de données qui déclenche des appels de fonction lors de l'accès " | ||||
"à un attribut. Sa signature est ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:195 | ||||
#: howto/descriptor.rst:195 | ||||
msgid "" | ||||
"The documentation shows a typical use to define a managed attribute ``x``::" | ||||
msgstr "" | ||||
"La documentation montre une utilisation typique pour définir un attribut " | ||||
"géré ``x`` ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:203 | ||||
#: howto/descriptor.rst:203 | ||||
msgid "" | ||||
"To see how :func:`property` is implemented in terms of the descriptor " | ||||
"protocol, here is a pure Python equivalent::" | ||||
| | @ -388,7 +388,7 @@ msgstr "" | |||
"Pour voir comment :func:`property` est implémenté dans le protocole du " | ||||
"descripteur, voici un un équivalent Python pur ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:243 | ||||
#: howto/descriptor.rst:243 | ||||
msgid "" | ||||
"The :func:`property` builtin helps whenever a user interface has granted " | ||||
"attribute access and then subsequent changes require the intervention of a " | ||||
| | @ -398,7 +398,7 @@ msgstr "" | |||
"utilisateur a accordé l'accès à un attribut et que des modifications " | ||||
"ultérieures nécessitent l'intervention d'une méthode." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:247 | ||||
#: howto/descriptor.rst:247 | ||||
msgid "" | ||||
"For instance, a spreadsheet class may grant access to a cell value through " | ||||
"``Cell('b10').value``. Subsequent improvements to the program require the " | ||||
| | @ -414,11 +414,11 @@ msgstr "" | |||
"directement à l'attribut. La solution consiste à envelopper l'accès à " | ||||
"l'attribut de valeur dans un descripteur de données de propriété ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:263 | ||||
#: howto/descriptor.rst:263 | ||||
msgid "Functions and Methods" | ||||
msgstr "Fonctions et méthodes" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:265 | ||||
#: howto/descriptor.rst:265 | ||||
msgid "" | ||||
"Python's object oriented features are built upon a function based " | ||||
"environment. Using non-data descriptors, the two are merged seamlessly." | ||||
| | @ -427,7 +427,7 @@ msgstr "" | |||
"environnement basé sur des fonctions. À l'aide de descripteurs *non-data*, " | ||||
"les deux sont fusionnés de façon transparente." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:268 | ||||
#: howto/descriptor.rst:268 | ||||
msgid "" | ||||
"Class dictionaries store methods as functions. In a class definition, " | ||||
"methods are written using :keyword:`def` or :keyword:`lambda`, the usual " | ||||
| | @ -444,7 +444,7 @@ msgstr "" | |||
"convention Python, la référence de l'instance est appelée *self* mais peut " | ||||
"être appelée *this* ou tout autre nom de variable." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:275 | ||||
#: howto/descriptor.rst:275 | ||||
msgid "" | ||||
"To support method calls, functions include the :meth:`__get__` method for " | ||||
"binding methods during attribute access. This means that all functions are " | ||||
| | @ -457,18 +457,18 @@ msgstr "" | |||
"*non-data* qui renvoient des méthodes liées lorsqu'elles sont appelées " | ||||
"depuis un objet. En Python pur, il fonctionne comme ceci ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:288 | ||||
#: howto/descriptor.rst:288 | ||||
msgid "" | ||||
"Running the interpreter shows how the function descriptor works in practice::" | ||||
msgstr "" | ||||
"L'exécution de l'interpréteur montre comment le descripteur de fonction se " | ||||
"comporte dans la pratique ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:326 | ||||
#: howto/descriptor.rst:326 | ||||
msgid "Static Methods and Class Methods" | ||||
msgstr "Méthodes statiques et méthodes de classe" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:328 | ||||
#: howto/descriptor.rst:328 | ||||
msgid "" | ||||
"Non-data descriptors provide a simple mechanism for variations on the usual " | ||||
"patterns of binding functions into methods." | ||||
| | @ -476,7 +476,7 @@ msgstr "" | |||
"Les descripteurs *non-data* fournissent un mécanisme simple pour les " | ||||
"variations des patrons habituels des fonctions de liaison dans les méthodes." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:331 | ||||
#: 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 " | ||||
| | @ -488,53 +488,53 @@ msgstr "" | |||
"descripteur *non-data* transforme un appel ``obj.f(*args)``en ``f(obj, " | ||||
"*args)``. Appeler ``klass.f(*args)`` devient ``f(*args)``." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:336 | ||||
#: howto/descriptor.rst:336 | ||||
msgid "This chart summarizes the binding and its two most useful variants:" | ||||
msgstr "" | ||||
"Ce tableau résume le lien (*binding*) et ses deux variantes les plus " | ||||
"utiles ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:339 | ||||
#: howto/descriptor.rst:339 | ||||
msgid "Transformation" | ||||
msgstr "Transformation" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:339 | ||||
#: howto/descriptor.rst:339 | ||||
msgid "Called from an Object" | ||||
msgstr "Appelé depuis un Objet" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:339 | ||||
#: howto/descriptor.rst:339 | ||||
msgid "Called from a Class" | ||||
msgstr "Appelé depuis un Classe" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:342 | ||||
#: howto/descriptor.rst:342 | ||||
msgid "function" | ||||
msgstr "fonction" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:342 | ||||
#: howto/descriptor.rst:342 | ||||
msgid "f(obj, \\*args)" | ||||
msgstr "f(obj, \\*args)" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:342 ../Doc/howto/descriptor.rst:344 | ||||
#: howto/descriptor.rst:344 | ||||
msgid "f(\\*args)" | ||||
msgstr "f(\\*args)" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:344 | ||||
#: howto/descriptor.rst:344 | ||||
msgid "staticmethod" | ||||
msgstr "méthode statique" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:346 | ||||
#: howto/descriptor.rst:346 | ||||
msgid "classmethod" | ||||
msgstr "méthode de classe" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:346 | ||||
#: howto/descriptor.rst:346 | ||||
msgid "f(type(obj), \\*args)" | ||||
msgstr "f(type(obj), \\*args)" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:346 | ||||
#: howto/descriptor.rst:346 | ||||
msgid "f(klass, \\*args)" | ||||
msgstr "f(klass, \\*args)" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:349 | ||||
#: 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." | ||||
| | @ -548,7 +548,7 @@ msgstr "" | |||
"__getattribute__(C, \"f\")``. Par conséquent, la fonction devient accessible " | ||||
"de manière identique à partir d'un objet ou d'une classe." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:355 | ||||
#: howto/descriptor.rst:355 | ||||
msgid "" | ||||
"Good candidates for static methods are methods that do not reference the " | ||||
"``self`` variable." | ||||
| | @ -556,7 +556,7 @@ msgstr "" | |||
"Les bonnes candidates pour être méthode statique sont des méthodes qui ne " | ||||
"font pas référence à la variable ``self``." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:358 | ||||
#: 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 " | ||||
| | @ -578,7 +578,7 @@ msgstr "" | |||
"appelée à partir d'un objet ou de la classe : ``s.erf(1.5) --> .9332``` ou " | ||||
"``Sample.erf(1.5) --> .9332``." | ||||
| ||||
#: ../Doc/howto/descriptor.rst:367 | ||||
#: howto/descriptor.rst:367 | ||||
msgid "" | ||||
"Since staticmethods return the underlying function with no changes, the " | ||||
"example calls are unexciting::" | ||||
| | @ -586,7 +586,7 @@ msgstr "" | |||
"Depuis que les méthodes statiques renvoient la fonction sous-jacente sans " | ||||
"changement, les exemples d’appels ne sont pas excitants ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:380 | ||||
#: howto/descriptor.rst:380 | ||||
msgid "" | ||||
"Using the non-data descriptor protocol, a pure Python version of :func:" | ||||
"`staticmethod` would look like this::" | ||||
| | @ -594,7 +594,7 @@ msgstr "" | |||
"En utilisant le protocole de descripteur *non-data*, une version Python pure " | ||||
"de :func:`staticmethod` ressemblerait à ceci ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:392 | ||||
#: 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 " | ||||
| | @ -604,7 +604,7 @@ msgstr "" | |||
"référence de classe dans la liste d'arguments avant d'appeler la fonction. " | ||||
"Ce format est le même que l'appelant soit un objet ou une classe ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:407 | ||||
#: 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 " | ||||
| | @ -619,13 +619,13 @@ msgstr "" | |||
"nouveau dictionnaire à partir d'une liste de clés. L'équivalent Python pur " | ||||
"est ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:423 | ||||
#: howto/descriptor.rst:423 | ||||
msgid "Now a new dictionary of unique keys can be constructed like this::" | ||||
msgstr "" | ||||
"Maintenant un nouveau dictionnaire de clés uniques peut être construit comme " | ||||
"ceci ::" | ||||
| ||||
#: ../Doc/howto/descriptor.rst:428 | ||||
#: howto/descriptor.rst:428 | ||||
msgid "" | ||||
"Using the non-data descriptor protocol, a pure Python version of :func:" | ||||
"`classmethod` would look like this::" | ||||
| | | |||
File diff suppressed because it is too large Load diff
| | @ -14,11 +14,11 @@ msgstr "" | |||
"Content-Type: text/plain; charset=UTF-8\n" | ||||
"Content-Transfer-Encoding: 8bit\n" | ||||
| ||||
#: ../Doc/howto/index.rst:3 | ||||
#: howto/index.rst:3 | ||||
msgid "Python HOWTOs" | ||||
msgstr "Les HOWTOs de Python" | ||||
| ||||
#: ../Doc/howto/index.rst:5 | ||||
#: howto/index.rst:5 | ||||
msgid "" | ||||
"Python HOWTOs are documents that cover a single, specific topic, and attempt " | ||||
"to cover it fairly completely. Modelled on the Linux Documentation Project's " | ||||
| | @ -31,6 +31,6 @@ msgstr "" | |||
"promouvoir les documentations plus détaillées que la Python Library " | ||||
"Reference." | ||||
| ||||
#: ../Doc/howto/index.rst:11 | ||||
#: howto/index.rst:11 | ||||
msgid "Currently, the HOWTOs are:" | ||||
msgstr "Actuellement, les HOWTOs sont :" | ||||
| | | |||
| | @ -15,23 +15,23 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.2.4\n" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:7 | ||||
#: howto/instrumentation.rst:7 | ||||
msgid "Instrumenting CPython with DTrace and SystemTap" | ||||
msgstr "Instrumenter CPython avec DTrace et SystemTap" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:0 | ||||
#: howto/instrumentation.rst:0 | ||||
msgid "author" | ||||
msgstr "auteur" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:9 | ||||
#: howto/instrumentation.rst:9 | ||||
msgid "David Malcolm" | ||||
msgstr "David Malcolm" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:10 | ||||
#: howto/instrumentation.rst:10 | ||||
msgid "Łukasz Langa" | ||||
msgstr "Łukasz Langa" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:12 | ||||
#: howto/instrumentation.rst:12 | ||||
msgid "" | ||||
"DTrace and SystemTap are monitoring tools, each providing a way to inspect " | ||||
"what the processes on a computer system are doing. They both use domain-" | ||||
| | @ -42,19 +42,19 @@ msgstr "" | |||
"Ils utilisent tous les deux des langages dédiés permettant à un utilisateur " | ||||
"d'écrire des scripts qui permettent de ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:16 | ||||
#: howto/instrumentation.rst:16 | ||||
msgid "filter which processes are to be observed" | ||||
msgstr "Filtrer les processus à observer." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:17 | ||||
#: howto/instrumentation.rst:17 | ||||
msgid "gather data from the processes of interest" | ||||
msgstr "Recueillir des données sur le processus choisi." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:18 | ||||
#: howto/instrumentation.rst:18 | ||||
msgid "generate reports on the data" | ||||
msgstr "Générer des rapports sur les données." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:20 | ||||
#: howto/instrumentation.rst:20 | ||||
msgid "" | ||||
"As of Python 3.6, CPython can be built with embedded \"markers\", also known " | ||||
"as \"probes\", that can be observed by a DTrace or SystemTap script, making " | ||||
| | @ -64,7 +64,7 @@ msgstr "" | |||
"intégrés, aussi appelés « sondes », qui peuvent être observés par un script " | ||||
"*DTrace* ou *SystemTap*, ce qui facilite le suivi des processus CPython." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:27 | ||||
#: howto/instrumentation.rst:27 | ||||
msgid "" | ||||
"DTrace markers are implementation details of the CPython interpreter. No " | ||||
"guarantees are made about probe compatibility between versions of CPython. " | ||||
| | @ -77,11 +77,11 @@ msgstr "" | |||
"fonctionner ou fonctionner incorrectement sans avertissement lors du " | ||||
"changement de version de CPython." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:34 | ||||
#: howto/instrumentation.rst:34 | ||||
msgid "Enabling the static markers" | ||||
msgstr "Activer les marqueurs statiques" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:36 | ||||
#: howto/instrumentation.rst:36 | ||||
msgid "" | ||||
"macOS comes with built-in support for DTrace. On Linux, in order to build " | ||||
"CPython with the embedded markers for SystemTap, the SystemTap development " | ||||
| | @ -91,19 +91,19 @@ msgstr "" | |||
"construire CPython avec les marqueurs embarqués pour *SystemTap*, les outils " | ||||
"de développement *SystemTap* doivent être installés." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:40 | ||||
#: howto/instrumentation.rst:40 | ||||
msgid "On a Linux machine, this can be done via::" | ||||
msgstr "Sur une machine Linux, cela se fait via ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:44 | ||||
#: howto/instrumentation.rst:44 | ||||
msgid "or::" | ||||
msgstr "ou ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:49 | ||||
#: howto/instrumentation.rst:49 | ||||
msgid "CPython must then be configured ``--with-dtrace``:" | ||||
msgstr "CPython doit être configuré avec l'option ``--with-dtrace`` ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:55 | ||||
#: howto/instrumentation.rst:55 | ||||
msgid "" | ||||
"On macOS, you can list available DTrace probes by running a Python process " | ||||
"in the background and listing all probes made available by the Python " | ||||
| | @ -113,7 +113,7 @@ msgstr "" | |||
"un processus Python en arrière-plan et en listant toutes les sondes mises à " | ||||
"disposition par le fournisseur Python ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:72 | ||||
#: howto/instrumentation.rst:72 | ||||
msgid "" | ||||
"On Linux, you can verify if the SystemTap static markers are present in the " | ||||
"built binary by seeing if it contains a \".note.stapsdt\" section." | ||||
| | @ -122,7 +122,7 @@ msgstr "" | |||
"présents dans le binaire compilé, il suffit de regarder s'il contient une " | ||||
"section ``.note.stapsdt``." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:80 | ||||
#: howto/instrumentation.rst:80 | ||||
msgid "" | ||||
"If you've built Python as a shared library (with --enable-shared), you need " | ||||
"to look instead within the shared library. For example::" | ||||
| | @ -131,13 +131,13 @@ msgstr "" | |||
"enable-shared``), vous devez plutôt regarder dans la bibliothèque partagée. " | ||||
"Par exemple ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:86 | ||||
#: howto/instrumentation.rst:86 | ||||
msgid "Sufficiently modern readelf can print the metadata::" | ||||
msgstr "" | ||||
"Une version suffisamment moderne de *readelf* peut afficher les " | ||||
"métadonnées ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:123 | ||||
#: howto/instrumentation.rst:123 | ||||
msgid "" | ||||
"The above metadata contains information for SystemTap describing how it can " | ||||
"patch strategically-placed machine code instructions to enable the tracing " | ||||
| | @ -148,11 +148,11 @@ msgstr "" | |||
"stratégiquement placées pour activer les crochets de traçage utilisés par un " | ||||
"script *SystemTap*." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:129 | ||||
#: howto/instrumentation.rst:129 | ||||
msgid "Static DTrace probes" | ||||
msgstr "Sondes DTrace statiques" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:131 | ||||
#: howto/instrumentation.rst:131 | ||||
msgid "" | ||||
"The following example DTrace script can be used to show the call/return " | ||||
"hierarchy of a Python script, only tracing within the invocation of a " | ||||
| | @ -164,19 +164,19 @@ msgstr "" | |||
"En d'autres termes, les appels de fonctions lors de la phase d'import ne " | ||||
"seront pas répertoriées ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:170 ../Doc/howto/instrumentation.rst:228 | ||||
#: howto/instrumentation.rst:228 | ||||
msgid "It can be invoked like this::" | ||||
msgstr "Il peut être utilisé de cette manière ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:174 ../Doc/howto/instrumentation.rst:234 | ||||
#: howto/instrumentation.rst:234 | ||||
msgid "The output looks like this:" | ||||
msgstr "La sortie ressemble à ceci ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:199 | ||||
#: howto/instrumentation.rst:199 | ||||
msgid "Static SystemTap markers" | ||||
msgstr "Marqueurs statiques *SystemTap*" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:201 | ||||
#: howto/instrumentation.rst:201 | ||||
msgid "" | ||||
"The low-level way to use the SystemTap integration is to use the static " | ||||
"markers directly. This requires you to explicitly state the binary file " | ||||
| | @ -186,7 +186,7 @@ msgstr "" | |||
"directement les marqueurs statiques. Pour cela vous devez pointer " | ||||
"explicitement le fichier binaire qui les contient." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:205 | ||||
#: howto/instrumentation.rst:205 | ||||
msgid "" | ||||
"For example, this SystemTap script can be used to show the call/return " | ||||
"hierarchy of a Python script:" | ||||
| | @ -194,29 +194,29 @@ msgstr "" | |||
"Par exemple, ce script *SystemTap* peut être utilisé pour afficher la " | ||||
"hiérarchie d'appel/retour d'un script Python ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:245 | ||||
#: howto/instrumentation.rst:245 | ||||
msgid "where the columns are:" | ||||
msgstr "où les colonnes sont ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:247 | ||||
#: howto/instrumentation.rst:247 | ||||
msgid "time in microseconds since start of script" | ||||
msgstr "temps en microsecondes depuis le début du script" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:249 | ||||
#: howto/instrumentation.rst:249 | ||||
msgid "name of executable" | ||||
msgstr "nom de l'exécutable" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:251 | ||||
#: howto/instrumentation.rst:251 | ||||
msgid "PID of process" | ||||
msgstr "PID du processus" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:253 | ||||
#: howto/instrumentation.rst:253 | ||||
msgid "" | ||||
"and the remainder indicates the call/return hierarchy as the script executes." | ||||
msgstr "" | ||||
"et le reste indique la hiérarchie d'appel/retour lorsque le script s'exécute." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:255 | ||||
#: howto/instrumentation.rst:255 | ||||
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 " | ||||
| | @ -226,20 +226,20 @@ msgstr "" | |||
"contenus dans la bibliothèque partagée *libpython*, et le chemin du module " | ||||
"de la sonde doit le refléter. Par exemple, la ligne de l'exemple ci-dessus :" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:263 | ||||
#: howto/instrumentation.rst:263 | ||||
msgid "should instead read:" | ||||
msgstr "doit plutôt se lire comme ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:269 | ||||
#: howto/instrumentation.rst:269 | ||||
msgid "(assuming a debug build of CPython 3.6)" | ||||
msgstr "" | ||||
"(en supposant une version compilée avec le débogage activé de CPython 3.6)" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:273 | ||||
#: howto/instrumentation.rst:273 | ||||
msgid "Available static markers" | ||||
msgstr "Marqueurs statiques disponibles" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:279 | ||||
#: 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." | ||||
| | @ -247,7 +247,7 @@ msgstr "" | |||
"Ce marqueur indique que l'exécution d'une fonction Python a commencé. Il " | ||||
"n'est déclenché que pour les fonctions en Python pur (code intermédiaire)." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:282 | ||||
#: 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 ``" | ||||
| | @ -257,7 +257,7 @@ msgstr "" | |||
"au script de traçage sous forme d'arguments positionnels, auxquels il faut " | ||||
"accéder en utilisant ``$arg1``, ``$arg2``, ``$arg3`` :" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:286 | ||||
#: howto/instrumentation.rst:286 | ||||
msgid "" | ||||
"``$arg1`` : ``(const char *)`` filename, accessible using " | ||||
"``user_string($arg1)``" | ||||
| | @ -265,7 +265,7 @@ msgstr "" | |||
"``$arg1`` : ``(const char *)`` nom de fichier, accessible via " | ||||
"``user_string($arg1)``" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:288 | ||||
#: howto/instrumentation.rst:288 | ||||
msgid "" | ||||
"``$arg2`` : ``(const char *)`` function name, accessible using " | ||||
"``user_string($arg2)``" | ||||
| | @ -273,11 +273,11 @@ msgstr "" | |||
"``$arg2`` : ``(const char *)`` nom de la fonction, accessible via " | ||||
"``user_string($arg2)``" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:291 | ||||
#: howto/instrumentation.rst:291 | ||||
msgid "``$arg3`` : ``int`` line number" | ||||
msgstr "``$arg3`` : numéro de ligne ``int``" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:295 | ||||
#: 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 " | ||||
| | @ -288,11 +288,11 @@ msgstr "" | |||
"via une exception). Il n'est déclenché que pour les fonctions en Python pur " | ||||
"(code intermédiaire)." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:299 | ||||
#: howto/instrumentation.rst:299 | ||||
msgid "The arguments are the same as for :c:func:`function__entry`" | ||||
msgstr "Les arguments sont les mêmes que pour :c:func:`function__entry`" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:303 | ||||
#: 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 " | ||||
| | @ -302,11 +302,11 @@ msgstr "" | |||
"C'est l'équivalent du traçage ligne par ligne avec un profileur Python. Il " | ||||
"n'est pas déclenché dans les fonctions C." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:307 | ||||
#: howto/instrumentation.rst:307 | ||||
msgid "The arguments are the same as for :c:func:`function__entry`." | ||||
msgstr "Les arguments sont les mêmes que pour :c:func:`function__entry`." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:311 | ||||
#: 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()`." | ||||
| | @ -315,7 +315,7 @@ msgstr "" | |||
"ramasse-miettes. ``arg0`` est la génération à scanner, comme :func:`gc." | ||||
"collect()`." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:316 | ||||
#: howto/instrumentation.rst:316 | ||||
msgid "" | ||||
"Fires when the Python interpreter finishes a garbage collection cycle. " | ||||
"``arg0`` is the number of collected objects." | ||||
| | @ -323,7 +323,7 @@ msgstr "" | |||
"Fonction appelée lorsque l'interpréteur Python termine un cycle de collecte " | ||||
"du ramasse-miettes. ``Arg0`` est le nombre d'objets collectés." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:321 | ||||
#: howto/instrumentation.rst:321 | ||||
msgid "" | ||||
"Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` " | ||||
"is the module name." | ||||
| | @ -331,7 +331,7 @@ msgstr "" | |||
"Fonction appelée avant que :mod:`importlib` essaye de trouver et de charger " | ||||
"le module. ``arg0`` est le nom du module." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:328 | ||||
#: howto/instrumentation.rst:328 | ||||
msgid "" | ||||
"Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is " | ||||
"the module name, ``arg1`` indicates if module was successfully loaded." | ||||
| | @ -340,7 +340,7 @@ msgstr "" | |||
"`importlib` soit appelée. ``arg0`` est le nom du module, ``arg1`` indique si " | ||||
"le module a été chargé avec succès." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:337 | ||||
#: howto/instrumentation.rst:337 | ||||
msgid "" | ||||
"Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is " | ||||
"the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a " | ||||
| | @ -351,11 +351,11 @@ msgstr "" | |||
"chaîne de caractère C. ``arg1`` est un pointeur sur un tuple d'objet de " | ||||
"type :c:type:`PyObject`." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:345 | ||||
#: howto/instrumentation.rst:345 | ||||
msgid "SystemTap Tapsets" | ||||
msgstr "*Tapsets* de *SystemTap*" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:347 | ||||
#: howto/instrumentation.rst:347 | ||||
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 " | ||||
| | @ -365,13 +365,13 @@ msgstr "" | |||
"un *« tapset »*. L'équivalent pour *SystemTap* d'une bibliothèque, qui " | ||||
"permet de masquer les détails de niveau inférieur des marqueurs statiques." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:351 | ||||
#: howto/instrumentation.rst:351 | ||||
msgid "Here is a tapset file, based on a non-shared build of CPython:" | ||||
msgstr "" | ||||
"Voici un fichier *tapset*, basé sur une version non partagée compilée de " | ||||
"CPython ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:374 | ||||
#: howto/instrumentation.rst:374 | ||||
msgid "" | ||||
"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/" | ||||
"systemtap/tapset``), then these additional probepoints become available:" | ||||
| | @ -380,7 +380,7 @@ msgstr "" | |||
"exemple ``/usr/share/systemtap/tapset``), alors ces sondes supplémentaires " | ||||
"deviennent disponibles ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:380 | ||||
#: howto/instrumentation.rst:380 | ||||
msgid "" | ||||
"This probe point indicates that execution of a Python function has begun. It " | ||||
"is only triggered for pure-Python (bytecode) functions." | ||||
| | @ -388,7 +388,7 @@ msgstr "" | |||
"Cette sonde indique que l'exécution d'une fonction Python a commencé. Elle " | ||||
"n'est déclenchée que pour les fonctions en Python pur (code intermédiaire)." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:385 | ||||
#: howto/instrumentation.rst:385 | ||||
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 " | ||||
| | @ -400,11 +400,11 @@ msgstr "" | |||
"soit via une exception). Elle est uniquement déclenchée pour les fonctions " | ||||
"en Python pur (code intermédiaire)." | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:392 | ||||
#: howto/instrumentation.rst:392 | ||||
msgid "Examples" | ||||
msgstr "Exemples" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:393 | ||||
#: howto/instrumentation.rst:393 | ||||
msgid "" | ||||
"This SystemTap script uses the tapset above to more cleanly implement the " | ||||
"example given above of tracing the Python function-call hierarchy, without " | ||||
| | @ -415,7 +415,7 @@ msgstr "" | |||
"fonctions Python, sans avoir besoin de nommer directement les marqueurs " | ||||
"statiques ::" | ||||
| ||||
#: ../Doc/howto/instrumentation.rst:412 | ||||
#: howto/instrumentation.rst:412 | ||||
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 " | ||||
| | | |||
| | @ -15,27 +15,27 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.0.2\n" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:9 | ||||
#: howto/ipaddress.rst:9 | ||||
msgid "An introduction to the ipaddress module" | ||||
msgstr "Introduction au module ``ipaddress``" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:0 | ||||
#: howto/ipaddress.rst:0 | ||||
msgid "author" | ||||
msgstr "auteur" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:11 | ||||
#: howto/ipaddress.rst:11 | ||||
msgid "Peter Moody" | ||||
msgstr "Peter Moody" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:12 | ||||
#: howto/ipaddress.rst:12 | ||||
msgid "Nick Coghlan" | ||||
msgstr "Nick Coghlan" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:None | ||||
#: howto/ipaddress.rst:None | ||||
msgid "Overview" | ||||
msgstr "Aperçu" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:16 | ||||
#: howto/ipaddress.rst:16 | ||||
msgid "" | ||||
"This document aims to provide a gentle introduction to the :mod:`ipaddress` " | ||||
"module. It is aimed primarily at users that aren't already familiar with IP " | ||||
| | @ -49,11 +49,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:24 | ||||
msgid "Creating Address/Network/Interface objects" | ||||
msgstr "Créer un objet Adresse/Réseau/Interface" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:26 | ||||
#: howto/ipaddress.rst:26 | ||||
msgid "" | ||||
"Since :mod:`ipaddress` is a module for inspecting and manipulating IP " | ||||
"addresses, the first thing you'll want to do is create some objects. You " | ||||
| | @ -64,11 +64,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:32 | ||||
msgid "A Note on IP Versions" | ||||
msgstr "Note sur les versions d'IP" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:34 | ||||
#: howto/ipaddress.rst:34 | ||||
msgid "" | ||||
"For readers that aren't particularly familiar with IP addressing, it's " | ||||
"important to know that the Internet Protocol is currently in the process of " | ||||
| | @ -85,7 +85,7 @@ msgstr "" | |||
"particulièrement à cause de la croissance des périphériques directement " | ||||
"connectés à Internet." | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:41 | ||||
#: howto/ipaddress.rst:41 | ||||
msgid "" | ||||
"Explaining the details of the differences between the two versions of the " | ||||
"protocol is beyond the scope of this introduction, but readers need to at " | ||||
| | @ -97,11 +97,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:48 | ||||
msgid "IP Host Addresses" | ||||
msgstr "Adresses IP des hôtes" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:50 | ||||
#: howto/ipaddress.rst:50 | ||||
msgid "" | ||||
"Addresses, often referred to as \"host addresses\" are the most basic unit " | ||||
"when working with IP addressing. The simplest way to create addresses is to " | ||||
| | @ -116,7 +116,7 @@ msgstr "" | |||
"une adresse IPv4 ou une adresse IPv6 en fonction de la valeur qui est " | ||||
"transmise :" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:61 | ||||
#: 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::" | ||||
| | @ -125,7 +125,7 @@ msgstr "" | |||
"qui correspondent à des entiers 32 bits sont assimilées à des adresses " | ||||
"IPv4 ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:69 | ||||
#: howto/ipaddress.rst:69 | ||||
msgid "" | ||||
"To force the use of IPv4 or IPv6 addresses, the relevant classes can be " | ||||
"invoked directly. This is particularly useful to force creation of IPv6 " | ||||
| | @ -135,11 +135,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:82 | ||||
msgid "Defining Networks" | ||||
msgstr "Définir des réseaux" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:84 | ||||
#: howto/ipaddress.rst:84 | ||||
msgid "" | ||||
"Host addresses are usually grouped together into IP networks, so :mod:" | ||||
"`ipaddress` provides a way to create, inspect and manipulate network " | ||||
| | @ -160,7 +160,7 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:93 | ||||
msgid "" | ||||
"As for addresses, a factory function is provided that determines the correct " | ||||
"IP version automatically::" | ||||
| | @ -168,7 +168,7 @@ 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 | ||||
#: howto/ipaddress.rst:101 | ||||
msgid "" | ||||
"Network objects cannot have any host bits set. The practical effect of this " | ||||
"is that ``192.0.2.1/24`` does not describe a network. Such definitions are " | ||||
| | @ -183,7 +183,7 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:107 | ||||
msgid "" | ||||
"By default, attempting to create a network object with host bits set will " | ||||
"result in :exc:`ValueError` being raised. To request that the additional " | ||||
| | @ -195,7 +195,7 @@ msgstr "" | |||
"soient plutôt forcés à zéro, l'attribut ``strict=False`` peut être passé au " | ||||
"constructeur ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:119 | ||||
#: howto/ipaddress.rst:119 | ||||
msgid "" | ||||
"While the string form offers significantly more flexibility, networks can " | ||||
"also be defined with integers, just like host addresses. In this case, the " | ||||
| | @ -208,7 +208,7 @@ msgstr "" | |||
"identifiée par l'entier, donc le préfixe réseau inclut l'adresse du réseau " | ||||
"complet ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:129 | ||||
#: 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." | ||||
| | @ -217,11 +217,11 @@ msgstr "" | |||
"être forcée en appelant directement le constructeur de la classe plutôt que " | ||||
"d'utiliser la fonction de fabrication." | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:135 | ||||
#: howto/ipaddress.rst:135 | ||||
msgid "Host Interfaces" | ||||
msgstr "Interfaces des hôtes" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:137 | ||||
#: howto/ipaddress.rst:137 | ||||
msgid "" | ||||
"As mentioned just above, if you need to describe an address on a particular " | ||||
"network, neither the address nor the network classes are sufficient. " | ||||
| | @ -244,7 +244,7 @@ msgstr "" | |||
"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 | ||||
#: 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." | ||||
| | @ -253,11 +253,11 @@ msgstr "" | |||
"l'utilisation d'une version d'IP peut être forcée en appelant directement le " | ||||
"constructeur adapté." | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:157 | ||||
#: howto/ipaddress.rst:157 | ||||
msgid "Inspecting Address/Network/Interface Objects" | ||||
msgstr "Inspecter les objets Address/Network/Interface" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:159 | ||||
#: howto/ipaddress.rst:159 | ||||
msgid "" | ||||
"You've gone to the trouble of creating an IPv(4|6)(Address|Network|" | ||||
"Interface) object, so you probably want to get information about it. :mod:" | ||||
| | @ -267,23 +267,23 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:163 | ||||
msgid "Extracting the IP version::" | ||||
msgstr "Extraire la version du protocole IP ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:172 | ||||
#: howto/ipaddress.rst:172 | ||||
msgid "Obtaining the network from an interface::" | ||||
msgstr "Obtenir le réseau à partir de l'interface ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:181 | ||||
#: howto/ipaddress.rst:181 | ||||
msgid "Finding out how many individual addresses are in a network::" | ||||
msgstr "Trouver combien d'adresses individuelles sont dans un réseau ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:190 | ||||
#: howto/ipaddress.rst:190 | ||||
msgid "Iterating through the \"usable\" addresses on a network::" | ||||
msgstr "Itération sur chacune des adresses \"utilisables\" d'un réseau ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:205 | ||||
#: 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):" | ||||
| | @ -292,11 +292,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:220 | ||||
msgid "Exploding or compressing the address::" | ||||
msgstr "Éclater ou compresser l'adresse ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:231 | ||||
#: howto/ipaddress.rst:231 | ||||
msgid "" | ||||
"While IPv4 doesn't support explosion or compression, the associated objects " | ||||
"still provide the relevant properties so that version neutral code can " | ||||
| | @ -309,11 +309,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:238 | ||||
msgid "Networks as lists of Addresses" | ||||
msgstr "Réseaux en tant que listes d'adresses" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:240 | ||||
#: howto/ipaddress.rst:240 | ||||
msgid "" | ||||
"It's sometimes useful to treat networks as lists. This means it is possible " | ||||
"to index them like this::" | ||||
| | @ -321,7 +321,7 @@ 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 | ||||
#: howto/ipaddress.rst:253 | ||||
msgid "" | ||||
"It also means that network objects lend themselves to using the list " | ||||
"membership test syntax like this::" | ||||
| | @ -329,17 +329,17 @@ 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 | ||||
#: 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 | ||||
#: howto/ipaddress.rst:269 | ||||
msgid "Comparisons" | ||||
msgstr "Comparaisons" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:271 | ||||
#: howto/ipaddress.rst:271 | ||||
msgid "" | ||||
":mod:`ipaddress` provides some simple, hopefully intuitive ways to compare " | ||||
"objects, where it makes sense::" | ||||
| | @ -347,7 +347,7 @@ msgstr "" | |||
":mod:`ipaddress` fournit des moyens simples et intuitifs (du moins nous " | ||||
"l'espérons) pour comparer les objets, quand cela fait sens ::" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:277 | ||||
#: howto/ipaddress.rst:277 | ||||
msgid "" | ||||
"A :exc:`TypeError` exception is raised if you try to compare objects of " | ||||
"different versions or different types." | ||||
| | @ -355,11 +355,11 @@ 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 | ||||
#: howto/ipaddress.rst:282 | ||||
msgid "Using IP Addresses with other modules" | ||||
msgstr "Utiliser des adresse IP avec d'autre modules" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:284 | ||||
#: howto/ipaddress.rst:284 | ||||
msgid "" | ||||
"Other modules that use IP addresses (such as :mod:`socket`) usually won't " | ||||
"accept objects from this module directly. Instead, they must be coerced to " | ||||
| | @ -370,11 +370,11 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:296 | ||||
msgid "Getting more detail when instance creation fails" | ||||
msgstr "Obtenir plus de détails lors de l'échec de la création de l'instance" | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:298 | ||||
#: howto/ipaddress.rst:298 | ||||
msgid "" | ||||
"When creating address/network/interface objects using the version-agnostic " | ||||
"factory functions, any errors will be reported as :exc:`ValueError` with a " | ||||
| | @ -391,7 +391,7 @@ msgstr "" | |||
"rejet, il faudrait reconnaitre si la valeur est *supposée* être une adresse " | ||||
"IPv4 ou IPv6." | ||||
| ||||
#: ../Doc/howto/ipaddress.rst:305 | ||||
#: howto/ipaddress.rst:305 | ||||
msgid "" | ||||
"To support use cases where it is useful to have access to this additional " | ||||
"detail, the individual class constructors actually raise the :exc:" | ||||
| | @ -405,7 +405,7 @@ msgstr "" | |||
"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 | ||||
#: howto/ipaddress.rst:311 | ||||
msgid "" | ||||
"The error messages are significantly more detailed when using the class " | ||||
"constructors directly. For example::" | ||||
| | @ -413,7 +413,7 @@ 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 | ||||
#: howto/ipaddress.rst:332 | ||||
msgid "" | ||||
"However, both of the module specific exceptions have :exc:`ValueError` as " | ||||
"their parent class, so if you're not concerned with the particular type of " | ||||
| | | |||
File diff suppressed because it is too large Load diff
436 howto/logging.po
436
howto/logging.po File diff suppressed because it is too large Load diff
| | @ -15,23 +15,23 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.0.6\n" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:5 | ||||
#: howto/pyporting.rst:5 | ||||
msgid "Porting Python 2 Code to Python 3" | ||||
msgstr "Portage de code Python 2 vers Python 3" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:0 | ||||
#: howto/pyporting.rst:0 | ||||
msgid "author" | ||||
msgstr "auteur" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:7 | ||||
#: howto/pyporting.rst:7 | ||||
msgid "Brett Cannon" | ||||
msgstr "Brett Cannon" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:None | ||||
#: howto/pyporting.rst:None | ||||
msgid "Abstract" | ||||
msgstr "Résumé" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:11 | ||||
#: howto/pyporting.rst:11 | ||||
msgid "" | ||||
"With Python 3 being the future of Python while Python 2 is still in active " | ||||
"use, it is good to have your project available for both major releases of " | ||||
| | @ -43,7 +43,7 @@ msgstr "" | |||
"disponible pour les deux versions majeures de Python. Ce guide est destiné à " | ||||
"vous aider à comprendre comment gérer simultanément Python 2 & 3." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:16 | ||||
#: howto/pyporting.rst:16 | ||||
msgid "" | ||||
"If you are looking to port an extension module instead of pure Python code, " | ||||
"please see :ref:`cporting-howto`." | ||||
| | @ -51,7 +51,7 @@ msgstr "" | |||
"Si vous cherchez à porter un module d'extension plutôt que du pur Python, " | ||||
"veuillez consulter :ref:`cporting-howto`." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:19 | ||||
#: howto/pyporting.rst:19 | ||||
msgid "" | ||||
"If you would like to read one core Python developer's take on why Python 3 " | ||||
"came into existence, you can read Nick Coghlan's `Python 3 Q & A`_ or Brett " | ||||
| | @ -61,7 +61,7 @@ msgstr "" | |||
"qui a motivé la création de Python 3, vous pouvez lire le `Python 3 Q & A`_ " | ||||
"de Nick Coghlan ou bien `Why Python 3 exists`_ de Brett Cannon." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:23 | ||||
#: howto/pyporting.rst:23 | ||||
msgid "" | ||||
"For help with porting, you can email the python-porting_ mailing list with " | ||||
"questions." | ||||
| | @ -69,11 +69,11 @@ msgstr "" | |||
"Vous pouvez solliciter par courriel l'aide de la liste de diffusion python-" | ||||
"porting_ pour vos questions liées au portage." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:27 | ||||
#: howto/pyporting.rst:27 | ||||
msgid "The Short Explanation" | ||||
msgstr "La version courte" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:29 | ||||
#: howto/pyporting.rst:29 | ||||
msgid "" | ||||
"To make your project be single-source Python 2/3 compatible, the basic steps " | ||||
"are:" | ||||
| | @ -81,11 +81,11 @@ msgstr "" | |||
"Afin de rendre votre projet compatible Python 2/3 avec le même code source, " | ||||
"les étapes de base sont :" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:32 | ||||
#: howto/pyporting.rst:32 | ||||
msgid "Only worry about supporting Python 2.7" | ||||
msgstr "Ne se préoccuper que du support de Python 2.7" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:33 | ||||
#: howto/pyporting.rst:33 | ||||
msgid "" | ||||
"Make sure you have good test coverage (coverage.py_ can help; ``pip install " | ||||
"coverage``)" | ||||
| | @ -93,11 +93,11 @@ msgstr "" | |||
"S'assurer d'une bonne couverture des tests (coverage.py_ peut aider ; ``pip " | ||||
"install coverage``)" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:35 ../Doc/howto/pyporting.rst:116 | ||||
#: howto/pyporting.rst:116 | ||||
msgid "Learn the differences between Python 2 & 3" | ||||
msgstr "Apprendre les différences entre Python 2 et 3" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:36 | ||||
#: howto/pyporting.rst:36 | ||||
msgid "" | ||||
"Use Futurize_ (or Modernize_) to update your code (e.g. ``pip install " | ||||
"future``)" | ||||
| | @ -105,7 +105,7 @@ msgstr "" | |||
"Utiliser Futurize_ (ou Modernize_) pour mettre à jour votre code (par " | ||||
"exemple ``pip install future``)" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:37 | ||||
#: howto/pyporting.rst:37 | ||||
msgid "" | ||||
"Use Pylint_ to help make sure you don't regress on your Python 3 support " | ||||
"(``pip install pylint``)" | ||||
| | @ -113,7 +113,7 @@ msgstr "" | |||
"Utilisez Pylint_ pour vous assurer que vous ne régressez pas sur votre prise " | ||||
"en charge de Python 3 (``pip install pylint``)" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:39 | ||||
#: howto/pyporting.rst:39 | ||||
msgid "" | ||||
"Use caniusepython3_ to find out which of your dependencies are blocking your " | ||||
"use of Python 3 (``pip install caniusepython3``)" | ||||
| | @ -122,7 +122,7 @@ msgstr "" | |||
"dépendances que vous utilisez, celles qui bloquent votre utilisation de " | ||||
"Python 3 (``pip install caniusepython3``)" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:41 | ||||
#: howto/pyporting.rst:41 | ||||
msgid "" | ||||
"Once your dependencies are no longer blocking you, use continuous " | ||||
"integration to make sure you stay compatible with Python 2 & 3 (tox_ can " | ||||
| | @ -133,7 +133,7 @@ msgstr "" | |||
"Python 2 & 3 (tox_ peut aider à tester la comptabilité de sources avec " | ||||
"plusieurs versions de Python; ``pip install tox``)" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:44 | ||||
#: howto/pyporting.rst:44 | ||||
msgid "" | ||||
"Consider using optional static type checking to make sure your type usage " | ||||
"works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both " | ||||
| | @ -143,11 +143,11 @@ msgstr "" | |||
"que votre façon d'utiliser les types est compatible avec Python 2 et 3 (par " | ||||
"exemple en utilisant mypy_ pour vérifier votre typage sous Python 2 et 3)." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:50 | ||||
#: howto/pyporting.rst:50 | ||||
msgid "Details" | ||||
msgstr "Détails" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:52 | ||||
#: howto/pyporting.rst:52 | ||||
msgid "" | ||||
"A key point about supporting Python 2 & 3 simultaneously is that you can " | ||||
"start **today**! Even if your dependencies are not supporting Python 3 yet " | ||||
| | @ -162,7 +162,7 @@ msgstr "" | |||
"la compatibilité Python 3 donnent un code plus propre utilisant une syntaxe " | ||||
"plus récente, même dans du code Python 2." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:58 | ||||
#: howto/pyporting.rst:58 | ||||
msgid "" | ||||
"Another key point is that modernizing your Python 2 code to also support " | ||||
"Python 3 is largely automated for you. While you might have to make some API " | ||||
| | @ -177,7 +177,7 @@ msgstr "" | |||
"3, le travail de bas niveau est en grande partie fait pour vous et vous " | ||||
"pouvez ainsi bénéficiez de ces modifications automatiques immédiatement." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:64 | ||||
#: howto/pyporting.rst:64 | ||||
msgid "" | ||||
"Keep those key points in mind while you read on about the details of porting " | ||||
"your code to support Python 2 & 3 simultaneously." | ||||
| | @ -186,11 +186,11 @@ msgstr "" | |||
"concernant le portage de votre code vers une compatibilité simultanée Python " | ||||
"2 et 3." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:69 | ||||
#: howto/pyporting.rst:69 | ||||
msgid "Drop support for Python 2.6 and older" | ||||
msgstr "Abandon de la compatibilité Python 2.6 et antérieures" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:71 | ||||
#: howto/pyporting.rst:71 | ||||
msgid "" | ||||
"While you can make Python 2.5 work with Python 3, it is **much** easier if " | ||||
"you only have to work with Python 2.7. If dropping Python 2.5 is not an " | ||||
| | @ -205,7 +205,7 @@ msgstr "" | |||
"Néanmoins, soyez conscient que la quasi-totalité des projets listés dans ce " | ||||
"guide pratique ne seront pas applicables à votre situation." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:77 | ||||
#: howto/pyporting.rst:77 | ||||
msgid "" | ||||
"If you are able to skip Python 2.5 and older, then the required changes to " | ||||
"your code should continue to look and feel like idiomatic Python code. At " | ||||
| | @ -220,7 +220,7 @@ msgstr "" | |||
"fonction plutôt qu'utiliser une fonction native, mais le reste du temps le " | ||||
"code transformé devrait vous rester familier." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:83 | ||||
#: howto/pyporting.rst:83 | ||||
msgid "" | ||||
"But you should aim for only supporting Python 2.7. Python 2.6 is no longer " | ||||
"freely supported and thus is not receiving bugfixes. This means **you** will " | ||||
| | @ -240,14 +240,14 @@ msgstr "" | |||
"compatibilité qu'avec les versions de Python que vous avez l'obligation de " | ||||
"gérer." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:92 | ||||
#: howto/pyporting.rst:92 | ||||
msgid "" | ||||
"Make sure you specify the proper version support in your ``setup.py`` file" | ||||
msgstr "" | ||||
"Assurez vous de spécifier la bonne version supportée dans le fichier ``setup." | ||||
"py``" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:94 | ||||
#: howto/pyporting.rst:94 | ||||
msgid "" | ||||
"In your ``setup.py`` file you should have the proper `trove classifier`_ " | ||||
"specifying what versions of Python you support. As your project does not " | ||||
| | @ -263,11 +263,11 @@ msgstr "" | |||
"devriez indiquer chaque version majeure/mineure de Python que vous gérez, " | ||||
"par exemple ``Programming Language :: Python :: 2.7``." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:103 | ||||
#: howto/pyporting.rst:103 | ||||
msgid "Have good test coverage" | ||||
msgstr "Obtenir une bonne couverture de code" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:105 | ||||
#: howto/pyporting.rst:105 | ||||
msgid "" | ||||
"Once you have your code supporting the oldest version of Python 2 you want " | ||||
"it to, you will want to make sure your test suite has good coverage. A good " | ||||
| | @ -289,7 +289,7 @@ msgstr "" | |||
"disposez pas encore d'un outil pour mesurer la couverture de code, coverage." | ||||
"py_ est recommandé." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:118 | ||||
#: howto/pyporting.rst:118 | ||||
msgid "" | ||||
"Once you have your code well-tested you are ready to begin porting your code " | ||||
"to Python 3! But to fully understand how your code is going to change and " | ||||
| | @ -309,11 +309,11 @@ msgstr "" | |||
"anglais). Il y a également une « anti-sèche » (`cheat sheet`_, ressource en " | ||||
"anglais) très pratique du projet Python-Future." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:128 | ||||
#: howto/pyporting.rst:128 | ||||
msgid "Update your code" | ||||
msgstr "Mettre à jour votre code" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:130 | ||||
#: howto/pyporting.rst:130 | ||||
msgid "" | ||||
"Once you feel like you know what is different in Python 3 compared to Python " | ||||
"2, it's time to update your code! You have a choice between two tools in " | ||||
| | @ -342,7 +342,7 @@ msgstr "" | |||
"pratiques introduites par Python 3 avec lesquelles vous n'êtes pas encore " | ||||
"habitué." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:142 | ||||
#: howto/pyporting.rst:142 | ||||
msgid "" | ||||
"Regardless of which tool you choose, they will update your code to run under " | ||||
"Python 3 while staying compatible with the version of Python 2 you started " | ||||
| | @ -364,7 +364,7 @@ msgstr "" | |||
"application avec l'assurance que chaque test qui échoue correspond à un " | ||||
"échec de traduction." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:150 | ||||
#: howto/pyporting.rst:150 | ||||
msgid "" | ||||
"Unfortunately the tools can't automate everything to make your code work " | ||||
"under Python 3 and so there are a handful of things you will need to update " | ||||
| | @ -390,11 +390,11 @@ msgstr "" | |||
"points à surveiller qui peuvent réellement être considérés comme des " | ||||
"problèmes difficiles à déboguer si vous n'y prêtez pas attention." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:162 | ||||
#: howto/pyporting.rst:162 | ||||
msgid "Division" | ||||
msgstr "Division" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:164 | ||||
#: howto/pyporting.rst:164 | ||||
msgid "" | ||||
"In Python 3, ``5 / 2 == 2.5`` and not ``2``; all division between ``int`` " | ||||
"values result in a ``float``. This change has actually been planned since " | ||||
| | @ -413,11 +413,11 @@ msgstr "" | |||
"recommandation, vous devrez manuellement modifier votre code et effectuer " | ||||
"deux changements :" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:172 | ||||
#: howto/pyporting.rst:172 | ||||
msgid "Add ``from __future__ import division`` to your files" | ||||
msgstr "Ajouter ``from __future__ import division`` à vos fichiers" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:173 | ||||
#: howto/pyporting.rst:173 | ||||
msgid "" | ||||
"Update any division operator as necessary to either use ``//`` to use floor " | ||||
"division or continue using ``/`` and expect a float" | ||||
| | @ -426,7 +426,7 @@ msgstr "" | |||
"entière, le cas échant, ou utiliser ``/`` et vous attendre à un résultat " | ||||
"flottant" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:176 | ||||
#: howto/pyporting.rst:176 | ||||
msgid "" | ||||
"The reason that ``/`` isn't simply translated to ``//`` automatically is " | ||||
"that if an object defines a ``__truediv__`` method but not ``__floordiv__`` " | ||||
| | @ -440,11 +440,11 @@ msgstr "" | |||
"pour définir une opération quelconque mais pour laquelle ``//`` n'a pas du " | ||||
"tout la même signification, voire n'est pas utilisé du tout)." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:183 | ||||
#: howto/pyporting.rst:183 | ||||
msgid "Text versus binary data" | ||||
msgstr "Texte et données binaires" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:185 | ||||
#: howto/pyporting.rst:185 | ||||
msgid "" | ||||
"In Python 2 you could use the ``str`` type for both text and binary data. " | ||||
"Unfortunately this confluence of two different concepts could lead to " | ||||
| | @ -466,7 +466,7 @@ msgstr "" | |||
"préoccupaient pas de la gestion de ``unicode`` lorsqu'elles affirmaient être " | ||||
"compatibles avec des données au format texte." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:194 | ||||
#: howto/pyporting.rst:194 | ||||
msgid "" | ||||
"To make the distinction between text and binary data clearer and more " | ||||
"pronounced, Python 3 did what most languages created in the age of the " | ||||
| | @ -487,7 +487,7 @@ msgstr "" | |||
"préoccuper du type des données manipulées, ce qui explique que ce processus " | ||||
"ne peut pas être entièrement automatisé." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:203 | ||||
#: howto/pyporting.rst:203 | ||||
msgid "" | ||||
"To start, you will need to decide which APIs take text and which take binary " | ||||
"(it is **highly** recommended you don't design APIs that can take both due " | ||||
| | @ -526,39 +526,39 @@ msgstr "" | |||
"Notez que depuis Python 3.5, la méthode ``__mod__`` a été ajoutée au type " | ||||
"*bytes*." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:220 | ||||
#: howto/pyporting.rst:220 | ||||
msgid "**Text data**" | ||||
msgstr "**Format texte**" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:220 | ||||
#: howto/pyporting.rst:220 | ||||
msgid "**Binary data**" | ||||
msgstr "**Format binaire**" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:222 | ||||
#: howto/pyporting.rst:222 | ||||
msgid "\\" | ||||
msgstr "\\" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:222 | ||||
#: howto/pyporting.rst:222 | ||||
msgid "decode" | ||||
msgstr "decode" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:224 | ||||
#: howto/pyporting.rst:224 | ||||
msgid "encode" | ||||
msgstr "encode" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:226 | ||||
#: howto/pyporting.rst:226 | ||||
msgid "format" | ||||
msgstr "format" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:228 | ||||
#: howto/pyporting.rst:228 | ||||
msgid "isdecimal" | ||||
msgstr "isdecimal" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:230 | ||||
#: howto/pyporting.rst:230 | ||||
msgid "isnumeric" | ||||
msgstr "isnumeric" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:233 | ||||
#: howto/pyporting.rst:233 | ||||
msgid "" | ||||
"Making the distinction easier to handle can be accomplished by encoding and " | ||||
"decoding between binary data and text at the edge of your code. This means " | ||||
| | @ -576,7 +576,7 @@ msgstr "" | |||
"de votre code et permet de ne pas se préoccuper du type des données sur " | ||||
"lesquelles vous travaillez." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:240 | ||||
#: howto/pyporting.rst:240 | ||||
msgid "" | ||||
"The next issue is making sure you know whether the string literals in your " | ||||
"code represent text or binary data. You should add a ``b`` prefix to any " | ||||
| | @ -594,7 +594,7 @@ msgstr "" | |||
"Unicode, mais cette pratique s'est avérée moins efficace que l'ajout " | ||||
"explicite des préfixe ``b`` et ``u``)." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:247 | ||||
#: howto/pyporting.rst:247 | ||||
msgid "" | ||||
"As part of this dichotomy you also need to be careful about opening files. " | ||||
"Unless you have been working on Windows, there is a chance you have not " | ||||
| | @ -628,7 +628,7 @@ msgstr "" | |||
"utiliser :func:`codecs.open` qui n'est nécessaire que pour préserver une " | ||||
"compatibilité avec Python 2.5." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:261 | ||||
#: howto/pyporting.rst:261 | ||||
msgid "" | ||||
"The constructors of both ``str`` and ``bytes`` have different semantics for " | ||||
"the same arguments between Python 2 & 3. Passing an integer to ``bytes`` in " | ||||
| | @ -651,7 +651,7 @@ msgstr "" | |||
"``str(b'3') == b'3'``. Mais en Python 3, vous récupérez la représentation en " | ||||
"chaîne de caractères de l'objet *bytes* : ``str(b'3') == \"b'3'\"``." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:271 | ||||
#: howto/pyporting.rst:271 | ||||
msgid "" | ||||
"Finally, the indexing of binary data requires careful handling (slicing does " | ||||
"**not** require any special handling). In Python 2, ``b'123'[1] == b'2'`` " | ||||
| | @ -672,17 +672,17 @@ msgstr "" | |||
"dispose d'une fonction appelée ``six.indexbytes()`` qui renvoie un entier " | ||||
"comme en Python 3 : ``six.indexbytes(b'123', 1)``." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:280 | ||||
#: howto/pyporting.rst:280 | ||||
msgid "To summarize:" | ||||
msgstr "Pour résumer :" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:282 | ||||
#: howto/pyporting.rst:282 | ||||
msgid "Decide which of your APIs take text and which take binary data" | ||||
msgstr "" | ||||
"Décidez lesquelles de vos API travaillent sur du texte et lesquelles " | ||||
"travaillent sur des données binaires" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:283 | ||||
#: howto/pyporting.rst:283 | ||||
msgid "" | ||||
"Make sure that your code that works with text also works with ``unicode`` " | ||||
"and code for binary data works with ``bytes`` in Python 2 (see the table " | ||||
| | @ -693,7 +693,7 @@ msgstr "" | |||
"avec le type ``bytes`` en Python 2 (voir le tableau ci-dessus pour la liste " | ||||
"des méthodes utilisables par chaque type)" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:286 | ||||
#: howto/pyporting.rst:286 | ||||
msgid "" | ||||
"Mark all binary literals with a ``b`` prefix, textual literals with a ``u`` " | ||||
"prefix" | ||||
| | @ -701,7 +701,7 @@ msgstr "" | |||
"Préfixez tous vos littéraux binaires par ``b`` et toutes vos chaînes de " | ||||
"caractères littérales par ``u``" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:288 | ||||
#: howto/pyporting.rst:288 | ||||
msgid "" | ||||
"Decode binary data to text as soon as possible, encode text as binary data " | ||||
"as late as possible" | ||||
| | @ -709,7 +709,7 @@ msgstr "" | |||
"Décodez les données binaires en texte dès que possible, encodez votre texte " | ||||
"au format binaire le plus tard possible" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:290 | ||||
#: howto/pyporting.rst:290 | ||||
msgid "" | ||||
"Open files using :func:`io.open` and make sure to specify the ``b`` mode " | ||||
"when appropriate" | ||||
| | @ -717,16 +717,16 @@ msgstr "" | |||
"Ouvrez les fichiers avec la fonction :func:`io.open` et assurez-vous de " | ||||
"spécifier le mode ``b`` le cas échéant" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:292 | ||||
#: howto/pyporting.rst:292 | ||||
msgid "Be careful when indexing into binary data" | ||||
msgstr "Utilisez avec prudence l'indiçage sur des données binaires" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:296 | ||||
#: howto/pyporting.rst:296 | ||||
msgid "Use feature detection instead of version detection" | ||||
msgstr "" | ||||
"Utilisez la détection de fonctionnalités plutôt que la détection de version" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:298 | ||||
#: howto/pyporting.rst:298 | ||||
msgid "" | ||||
"Inevitably you will have code that has to choose what to do based on what " | ||||
"version of Python is running. The best way to do this is with feature " | ||||
| | @ -743,7 +743,7 @@ msgstr "" | |||
"version est Python 2 et non Python 3. Afin de clarifier cette pratique, " | ||||
"voici un exemple." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:305 | ||||
#: howto/pyporting.rst:305 | ||||
msgid "" | ||||
"Let's pretend that you need access to a feature of :mod:`importlib` that is " | ||||
"available in Python's standard library since Python 3.3 and available for " | ||||
| | @ -756,7 +756,7 @@ msgstr "" | |||
"*PyPI*. Vous pourriez être tenté d'écrire un code qui accède, par exemple, " | ||||
"au module :mod:`importlib.abc` avec l'approche suivante ::" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:317 | ||||
#: howto/pyporting.rst:317 | ||||
msgid "" | ||||
"The problem with this code is what happens when Python 4 comes out? It would " | ||||
"be better to treat Python 2 as the exceptional case instead of Python 3 and " | ||||
| | @ -768,7 +768,7 @@ msgstr "" | |||
"Python 3 et de supposer que les versions futures de Python 2 seront plus " | ||||
"compatibles avec Python 3 qu'avec Python 2 ::" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:329 | ||||
#: howto/pyporting.rst:329 | ||||
msgid "" | ||||
"The best solution, though, is to do no version detection at all and instead " | ||||
"rely on feature detection. That avoids any potential issues of getting the " | ||||
| | @ -779,11 +779,11 @@ msgstr "" | |||
"Cela évite les problèmes potentiels liés aux erreurs de détection de version " | ||||
"et facilite la compatibilité future ::" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:340 | ||||
#: howto/pyporting.rst:340 | ||||
msgid "Prevent compatibility regressions" | ||||
msgstr "Prévenir les régressions de compatibilité" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:342 | ||||
#: howto/pyporting.rst:342 | ||||
msgid "" | ||||
"Once you have fully translated your code to be compatible with Python 3, you " | ||||
"will want to make sure your code doesn't regress and stop working under " | ||||
| | @ -795,7 +795,7 @@ msgstr "" | |||
"Python 3. Ceci est particulièrement important si une de vos dépendances vous " | ||||
"empêche de réellement exécuter le code sous Python 3 pour le moment." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:347 | ||||
#: howto/pyporting.rst:347 | ||||
msgid "" | ||||
"To help with staying compatible, any new modules you create should have at " | ||||
"least the following block of code at the top of it::" | ||||
| | @ -804,7 +804,7 @@ msgstr "" | |||
"les nouveaux modules que vous créez aient au moins le bloc de code suivant " | ||||
"en en-tête ::" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:354 | ||||
#: howto/pyporting.rst:354 | ||||
msgid "" | ||||
"You can also run Python 2 with the ``-3`` flag to be warned about various " | ||||
"compatibility issues your code triggers during execution. If you turn " | ||||
| | @ -817,7 +817,7 @@ msgstr "" | |||
"``-Werror``, vous pouvez être certain que ne passez pas accidentellement à " | ||||
"côté d'un avertissement." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:359 | ||||
#: howto/pyporting.rst:359 | ||||
msgid "" | ||||
"You can also use the Pylint_ project and its ``--py3k`` flag to lint your " | ||||
"code to receive warnings when your code begins to deviate from Python 3 " | ||||
| | @ -834,11 +834,11 @@ msgstr "" | |||
"de votre part le support de Python 2.7 et Python 3.4 ou ultérieur étant " | ||||
"donné qu'il s'agit de la version minimale gérée par Pylint." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:368 | ||||
#: howto/pyporting.rst:368 | ||||
msgid "Check which dependencies block your transition" | ||||
msgstr "Vérifier quelles dépendances empêchent la migration" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:370 | ||||
#: howto/pyporting.rst:370 | ||||
msgid "" | ||||
"**After** you have made your code compatible with Python 3 you should begin " | ||||
"to care about whether your dependencies have also been ported. The " | ||||
| | @ -854,7 +854,7 @@ msgstr "" | |||
"Il existe un outil en ligne de commande ainsi qu'une interface web : https://" | ||||
"caniusepython3.com." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:377 | ||||
#: howto/pyporting.rst:377 | ||||
msgid "" | ||||
"The project also provides code which you can integrate into your test suite " | ||||
"so that you will have a failing test when you no longer have dependencies " | ||||
| | @ -868,13 +868,13 @@ msgstr "" | |||
"vérifier manuellement vos dépendances et d'être notifié rapidement quand " | ||||
"vous pouvez exécuter votre application avec Python 3." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:384 | ||||
#: howto/pyporting.rst:384 | ||||
msgid "Update your ``setup.py`` file to denote Python 3 compatibility" | ||||
msgstr "" | ||||
"Mettre à jour votre fichier ``setup.py`` pour spécifier la compatibilité " | ||||
"avec Python 3" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:386 | ||||
#: howto/pyporting.rst:386 | ||||
msgid "" | ||||
"Once your code works under Python 3, you should update the classifiers in " | ||||
"your ``setup.py`` to contain ``Programming Language :: Python :: 3`` and to " | ||||
| | @ -889,11 +889,11 @@ msgstr "" | |||
"vous devrez aussi ajouter une mention pour chaque version majeure/mineure de " | ||||
"Python que vous supportez désormais." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:394 | ||||
#: howto/pyporting.rst:394 | ||||
msgid "Use continuous integration to stay compatible" | ||||
msgstr "Utiliser l'intégration continue pour maintenir la compatibilité" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:396 | ||||
#: howto/pyporting.rst:396 | ||||
msgid "" | ||||
"Once you are able to fully run under Python 3 you will want to make sure " | ||||
"your code always works under both Python 2 & 3. Probably the best tool for " | ||||
| | @ -908,7 +908,7 @@ msgstr "" | |||
"système d'intégration continue afin de ne jamais accidentellement casser " | ||||
"votre gestion de Python 2 ou 3." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:402 | ||||
#: howto/pyporting.rst:402 | ||||
msgid "" | ||||
"You may also want to use the ``-bb`` flag with the Python 3 interpreter to " | ||||
"trigger an exception when you are comparing bytes to strings or bytes to an " | ||||
| | @ -929,7 +929,7 @@ msgstr "" | |||
"exception lorsque ce genre de comparaison apparaît, facilitant ainsi son " | ||||
"identification et sa localisation." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:410 | ||||
#: howto/pyporting.rst:410 | ||||
msgid "" | ||||
"And that's mostly it! At this point your code base is compatible with both " | ||||
"Python 2 and 3 simultaneously. Your testing will also be set up so that you " | ||||
| | @ -942,11 +942,11 @@ msgstr "" | |||
"Python 2 ou 3 indépendamment de la version que vous utilisez pendant le " | ||||
"développement." | ||||
| ||||
#: ../Doc/howto/pyporting.rst:417 | ||||
#: howto/pyporting.rst:417 | ||||
msgid "Consider using optional static type checking" | ||||
msgstr "Envisager l'utilisation d'un vérificateur de type statique optionnel" | ||||
| ||||
#: ../Doc/howto/pyporting.rst:419 | ||||
#: howto/pyporting.rst:419 | ||||
msgid "" | ||||
"Another way to help port your code is to use a static type checker like " | ||||
"mypy_ or pytype_ on your code. These tools can be used to analyze your code " | ||||
| | | |||
574 howto/regex.po
574
howto/regex.po File diff suppressed because it is too large Load diff
114 howto/sockets.po
114
howto/sockets.po | | @ -15,23 +15,23 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.3\n" | ||||
| ||||
#: ../Doc/howto/sockets.rst:5 | ||||
#: howto/sockets.rst:5 | ||||
msgid "Socket Programming HOWTO" | ||||
msgstr "Guide pratique : programmation avec les *sockets*" | ||||
| ||||
#: ../Doc/howto/sockets.rst:0 | ||||
#: howto/sockets.rst:0 | ||||
msgid "Author" | ||||
msgstr "Auteur" | ||||
| ||||
#: ../Doc/howto/sockets.rst:7 | ||||
#: howto/sockets.rst:7 | ||||
msgid "Gordon McMillan" | ||||
msgstr "Gordon McMillan" | ||||
| ||||
#: ../Doc/howto/sockets.rst:None | ||||
#: howto/sockets.rst:None | ||||
msgid "Abstract" | ||||
msgstr "Résumé" | ||||
| ||||
#: ../Doc/howto/sockets.rst:12 | ||||
#: howto/sockets.rst:12 | ||||
msgid "" | ||||
"Sockets are used nearly everywhere, but are one of the most severely " | ||||
"misunderstood technologies around. This is a 10,000 foot overview of " | ||||
| | @ -47,11 +47,11 @@ msgstr "" | |||
"il y en a beaucoup), mais j'espère qu'il vous donnera suffisamment " | ||||
"d'informations pour commencer à les utiliser correctement." | ||||
| ||||
#: ../Doc/howto/sockets.rst:20 | ||||
#: howto/sockets.rst:20 | ||||
msgid "Sockets" | ||||
msgstr "Connecteurs (*sockets*)" | ||||
| ||||
#: ../Doc/howto/sockets.rst:22 | ||||
#: howto/sockets.rst:22 | ||||
msgid "" | ||||
"I'm only going to talk about INET (i.e. IPv4) sockets, but they account for " | ||||
"at least 99% of the sockets in use. And I'll only talk about STREAM (i.e. " | ||||
| | @ -74,7 +74,7 @@ msgstr "" | |||
"devez savoir comment ils fonctionnent avant de vous intéresser aux " | ||||
"connecteurs non bloquants." | ||||
| ||||
#: ../Doc/howto/sockets.rst:31 | ||||
#: howto/sockets.rst:31 | ||||
msgid "" | ||||
"Part of the trouble with understanding these things is that \"socket\" can " | ||||
"mean a number of subtly different things, depending on context. So first, " | ||||
| | @ -93,11 +93,11 @@ msgstr "" | |||
"le serveur web avec lequel elle parle utilise à la fois des connecteurs " | ||||
"« serveur » et des connecteurs « client »." | ||||
| ||||
#: ../Doc/howto/sockets.rst:40 | ||||
#: howto/sockets.rst:40 | ||||
msgid "History" | ||||
msgstr "Historique" | ||||
| ||||
#: ../Doc/howto/sockets.rst:42 | ||||
#: howto/sockets.rst:42 | ||||
msgid "" | ||||
"Of the various forms of :abbr:`IPC (Inter Process Communication)`, sockets " | ||||
"are by far the most popular. On any given platform, there are likely to be " | ||||
| | @ -110,7 +110,7 @@ msgstr "" | |||
"mais pour la communication entre plates-formes, les connecteurs sont à peu " | ||||
"près la seule solution valable." | ||||
| ||||
#: ../Doc/howto/sockets.rst:47 | ||||
#: howto/sockets.rst:47 | ||||
msgid "" | ||||
"They were invented in Berkeley as part of the BSD flavor of Unix. They " | ||||
"spread like wildfire with the Internet. With good reason --- the combination " | ||||
| | @ -123,11 +123,11 @@ msgstr "" | |||
"avec n’importe quelle machine dans le monde entier incroyablement facile (du " | ||||
"moins par rapport à d'autres systèmes)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:54 | ||||
#: howto/sockets.rst:54 | ||||
msgid "Creating a Socket" | ||||
msgstr "Création d'un connecteur" | ||||
| ||||
#: ../Doc/howto/sockets.rst:56 | ||||
#: howto/sockets.rst:56 | ||||
msgid "" | ||||
"Roughly speaking, when you clicked on the link that brought you to this " | ||||
"page, your browser did something like the following::" | ||||
| | @ -135,7 +135,7 @@ msgstr "" | |||
"Grosso modo, lorsque vous avez cliqué sur le lien qui vous a amené à cette " | ||||
"page, votre navigateur a fait quelque chose comme ceci ::" | ||||
| ||||
#: ../Doc/howto/sockets.rst:64 | ||||
#: howto/sockets.rst:64 | ||||
msgid "" | ||||
"When the ``connect`` completes, the socket ``s`` can be used to send in a " | ||||
"request for the text of the page. The same socket will read the reply, and " | ||||
| | @ -148,7 +148,7 @@ msgstr "" | |||
"rebut. Les connecteurs clients ne sont normalement utilisés que pour un seul " | ||||
"échange (ou un petit ensemble d'échanges séquentiels)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:70 | ||||
#: howto/sockets.rst:70 | ||||
msgid "" | ||||
"What happens in the web server is a bit more complex. First, the web server " | ||||
"creates a \"server socket\"::" | ||||
| | @ -156,7 +156,7 @@ msgstr "" | |||
"Ce qui se passe dans le serveur web est un peu plus complexe. Tout d'abord, " | ||||
"le serveur web crée un « connecteur serveur » ::" | ||||
| ||||
#: ../Doc/howto/sockets.rst:80 | ||||
#: howto/sockets.rst:80 | ||||
msgid "" | ||||
"A couple things to notice: we used ``socket.gethostname()`` so that the " | ||||
"socket would be visible to the outside world. If we had used ``s." | ||||
| | @ -173,7 +173,7 @@ msgstr "" | |||
"connecteur est accessible par n'importe quelle adresse que la machine " | ||||
"possède." | ||||
| ||||
#: ../Doc/howto/sockets.rst:87 | ||||
#: howto/sockets.rst:87 | ||||
msgid "" | ||||
"A second thing to note: low number ports are usually reserved for \"well " | ||||
"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " | ||||
| | @ -183,7 +183,7 @@ msgstr "" | |||
"généralement réservés aux services « bien connus » (HTTP, SNMP, etc.). Si " | ||||
"vous expérimentez, utilisez un nombre suffisamment élevé (4 chiffres)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:91 | ||||
#: howto/sockets.rst:91 | ||||
msgid "" | ||||
"Finally, the argument to ``listen`` tells the socket library that we want it " | ||||
"to queue up as many as 5 connect requests (the normal max) before refusing " | ||||
| | @ -195,7 +195,7 @@ msgstr "" | |||
"connexion (le maximum normal) avant de refuser les connexions externes. Si " | ||||
"le reste du code est écrit correctement, cela devrait suffire." | ||||
| ||||
#: ../Doc/howto/sockets.rst:95 | ||||
#: howto/sockets.rst:95 | ||||
msgid "" | ||||
"Now that we have a \"server\" socket, listening on port 80, we can enter the " | ||||
"mainloop of the web server::" | ||||
| | @ -203,7 +203,7 @@ msgstr "" | |||
"Maintenant que nous avons un connecteur « serveur », en écoute sur le port " | ||||
"80, nous pouvons entrer dans la boucle principale du serveur web ::" | ||||
| ||||
#: ../Doc/howto/sockets.rst:106 | ||||
#: howto/sockets.rst:106 | ||||
msgid "" | ||||
"There's actually 3 general ways in which this loop could work - dispatching " | ||||
"a thread to handle ``clientsocket``, create a new process to handle " | ||||
| | @ -233,11 +233,11 @@ msgstr "" | |||
"connexions. Les deux « clients » sont libres de discuter — ils utilisent un " | ||||
"port alloué dynamiquement qui sera recyclé à la fin de la conversation." | ||||
| ||||
#: ../Doc/howto/sockets.rst:121 | ||||
#: howto/sockets.rst:121 | ||||
msgid "IPC" | ||||
msgstr "*IPC* (Communication Entre Processus)" | ||||
| ||||
#: ../Doc/howto/sockets.rst:123 | ||||
#: howto/sockets.rst:123 | ||||
msgid "" | ||||
"If you need fast IPC between two processes on one machine, you should look " | ||||
"into pipes or shared memory. If you do decide to use AF_INET sockets, bind " | ||||
| | @ -252,7 +252,7 @@ msgstr "" | |||
"des plates-formes, cela contourne quelques couches réseau et est un peu plus " | ||||
"rapide." | ||||
| ||||
#: ../Doc/howto/sockets.rst:129 | ||||
#: howto/sockets.rst:129 | ||||
msgid "" | ||||
"The :mod:`multiprocessing` integrates cross-platform IPC into a higher-level " | ||||
"API." | ||||
| | @ -260,11 +260,11 @@ msgstr "" | |||
"Le :mod:`multiprocessing` intègre de l’IPC multiplateforme dans une API de " | ||||
"plus haut niveau." | ||||
| ||||
#: ../Doc/howto/sockets.rst:134 | ||||
#: howto/sockets.rst:134 | ||||
msgid "Using a Socket" | ||||
msgstr "Utilisation d'un connecteur" | ||||
| ||||
#: ../Doc/howto/sockets.rst:136 | ||||
#: howto/sockets.rst:136 | ||||
msgid "" | ||||
"The first thing to note, is that the web browser's \"client\" socket and the " | ||||
"web server's \"client\" socket are identical beasts. That is, this is a " | ||||
| | @ -283,7 +283,7 @@ msgstr "" | |||
"signe. Mais c'est une décision de conception — ce n'est pas une règle des " | ||||
"connecteurs." | ||||
| ||||
#: ../Doc/howto/sockets.rst:143 | ||||
#: howto/sockets.rst:143 | ||||
msgid "" | ||||
"Now there are two sets of verbs to use for communication. You can use " | ||||
"``send`` and ``recv``, or you can transform your client socket into a file-" | ||||
| | @ -305,7 +305,7 @@ msgstr "" | |||
"pouvez attendre la réponse pour toujours, parce que la requête peut encore " | ||||
"être dans votre mémoire tampon de sortie." | ||||
| ||||
#: ../Doc/howto/sockets.rst:152 | ||||
#: howto/sockets.rst:152 | ||||
msgid "" | ||||
"Now we come to the major stumbling block of sockets - ``send`` and ``recv`` " | ||||
"operate on the network buffers. They do not necessarily handle all the bytes " | ||||
| | @ -324,7 +324,7 @@ msgstr "" | |||
"alors combien d'octets ils ont traité. Il est de *votre* responsabilité de " | ||||
"les rappeler jusqu'à ce que votre message ait été complètement traité." | ||||
| ||||
#: ../Doc/howto/sockets.rst:160 | ||||
#: howto/sockets.rst:160 | ||||
msgid "" | ||||
"When a ``recv`` returns 0 bytes, it means the other side has closed (or is " | ||||
"in the process of closing) the connection. You will not receive any more " | ||||
| | @ -336,7 +336,7 @@ msgstr "" | |||
"sur cette connexion. Jamais. Vous pouvez peut-être envoyer des données avec " | ||||
"succès. J’en parlerai plus tard." | ||||
| ||||
#: ../Doc/howto/sockets.rst:165 | ||||
#: howto/sockets.rst:165 | ||||
msgid "" | ||||
"A protocol like HTTP uses a socket for only one transfer. The client sends a " | ||||
"request, then reads a reply. That's it. The socket is discarded. This means " | ||||
| | @ -347,7 +347,7 @@ msgstr "" | |||
"est mis au rebut. Cela signifie qu'un client peut détecter la fin de la " | ||||
"réponse en recevant 0 octet." | ||||
| ||||
#: ../Doc/howto/sockets.rst:169 | ||||
#: howto/sockets.rst:169 | ||||
msgid "" | ||||
"But if you plan to reuse your socket for further transfers, you need to " | ||||
"realize that *there is no* :abbr:`EOT (End of Transfer)` *on a socket.* I " | ||||
| | @ -373,7 +373,7 @@ msgstr "" | |||
"mieux), *ou terminer en coupant la connexion*. Le choix est entièrement de " | ||||
"votre côté (mais certaines façons sont meilleurs que d'autres)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:180 | ||||
#: howto/sockets.rst:180 | ||||
msgid "" | ||||
"Assuming you don't want to end the connection, the simplest solution is a " | ||||
"fixed length message::" | ||||
| | @ -381,7 +381,7 @@ msgstr "" | |||
"En supposant que vous ne vouliez pas terminer la connexion, la solution la " | ||||
"plus simple est un message de longueur fixe ::" | ||||
| ||||
#: ../Doc/howto/sockets.rst:217 | ||||
#: howto/sockets.rst:217 | ||||
msgid "" | ||||
"The sending code here is usable for almost any messaging scheme - in Python " | ||||
"you send strings, and you can use ``len()`` to determine its length (even if " | ||||
| | @ -396,7 +396,7 @@ msgstr "" | |||
"devient plus complexe. (Et en C, ce n'est pas bien pire, sauf que vous ne " | ||||
"pouvez pas utiliser ``strlen`` si le message contient des ``\\0``\\ s)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:223 | ||||
#: howto/sockets.rst:223 | ||||
msgid "" | ||||
"The easiest enhancement is to make the first character of the message an " | ||||
"indicator of message type, and have the type determine the length. Now you " | ||||
| | @ -416,7 +416,7 @@ msgstr "" | |||
"tampon du réseau), et vous analyserez ce que vous avez reçu pour trouver un " | ||||
"délimiteur." | ||||
| ||||
#: ../Doc/howto/sockets.rst:231 | ||||
#: howto/sockets.rst:231 | ||||
msgid "" | ||||
"One complication to be aware of: if your conversational protocol allows " | ||||
"multiple messages to be sent back to back (without some kind of reply), and " | ||||
| | @ -431,7 +431,7 @@ msgstr "" | |||
"message suivant. Vous devrez alors le mettre de côté et le conserver, " | ||||
"jusqu'à ce que vous en ayez besoin." | ||||
| ||||
#: ../Doc/howto/sockets.rst:237 | ||||
#: howto/sockets.rst:237 | ||||
msgid "" | ||||
"Prefixing the message with its length (say, as 5 numeric characters) gets " | ||||
"more complex, because (believe it or not), you may not get all 5 characters " | ||||
| | @ -453,7 +453,7 @@ msgstr "" | |||
"toujours à tout évacuer en un seul passage. Et bien que vous ayez lu cet " | ||||
"avertissement, vous finirez par vous faire avoir par cette subtilité !" | ||||
| ||||
#: ../Doc/howto/sockets.rst:246 | ||||
#: howto/sockets.rst:246 | ||||
msgid "" | ||||
"In the interests of space, building your character, (and preserving my " | ||||
"competitive position), these enhancements are left as an exercise for the " | ||||
| | @ -464,11 +464,11 @@ msgstr "" | |||
"ces améliorations ne seront pas abordées et sont laissées en exercice au " | ||||
"lecteur. Passons maintenant au nettoyage." | ||||
| ||||
#: ../Doc/howto/sockets.rst:252 | ||||
#: howto/sockets.rst:252 | ||||
msgid "Binary Data" | ||||
msgstr "Données binaires" | ||||
| ||||
#: ../Doc/howto/sockets.rst:254 | ||||
#: howto/sockets.rst:254 | ||||
msgid "" | ||||
"It is perfectly possible to send binary data over a socket. The major " | ||||
"problem is that not all machines use the same formats for binary data. For " | ||||
| | @ -493,7 +493,7 @@ msgstr "" | |||
"utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière " | ||||
"appropriée." | ||||
| ||||
#: ../Doc/howto/sockets.rst:264 | ||||
#: howto/sockets.rst:264 | ||||
msgid "" | ||||
"In these days of 32 bit machines, the ascii representation of binary data is " | ||||
"frequently smaller than the binary representation. That's because a " | ||||
| | @ -509,11 +509,11 @@ msgstr "" | |||
"très bien avec les messages de longueur fixe. Ah, les décisions, les " | ||||
"décisions…" | ||||
| ||||
#: ../Doc/howto/sockets.rst:272 | ||||
#: howto/sockets.rst:272 | ||||
msgid "Disconnecting" | ||||
msgstr "Déconnexion" | ||||
| ||||
#: ../Doc/howto/sockets.rst:274 | ||||
#: howto/sockets.rst:274 | ||||
msgid "" | ||||
"Strictly speaking, you're supposed to use ``shutdown`` on a socket before " | ||||
"you ``close`` it. The ``shutdown`` is an advisory to the socket at the " | ||||
| | @ -534,7 +534,7 @@ msgstr "" | |||
"un ``close`` est équivalent à ``shutdown() ; close()``. Ainsi, dans la " | ||||
"plupart des situations, un ``shutdown`` explicite n’est pas nécessaire." | ||||
| ||||
#: ../Doc/howto/sockets.rst:282 | ||||
#: howto/sockets.rst:282 | ||||
msgid "" | ||||
"One way to use ``shutdown`` effectively is in an HTTP-like exchange. The " | ||||
"client sends a request and then does a ``shutdown(1)``. This tells the " | ||||
| | @ -551,7 +551,7 @@ msgstr "" | |||
"serveur envoie une réponse. Si le ``send`` se termine avec succès, alors, en " | ||||
"effet, le client était encore en train de recevoir." | ||||
| ||||
#: ../Doc/howto/sockets.rst:289 | ||||
#: howto/sockets.rst:289 | ||||
msgid "" | ||||
"Python takes the automatic shutdown a step further, and says that when a " | ||||
"socket is garbage collected, it will automatically do a ``close`` if it's " | ||||
| | @ -568,11 +568,11 @@ msgstr "" | |||
"suspendu indéfiniment, pensant que vous êtes juste lent. Fermez vos " | ||||
"connecteurs quand vous avez terminé *s’il vous plait*." | ||||
| ||||
#: ../Doc/howto/sockets.rst:297 | ||||
#: howto/sockets.rst:297 | ||||
msgid "When Sockets Die" | ||||
msgstr "Quand les connecteurs meurent" | ||||
| ||||
#: ../Doc/howto/sockets.rst:299 | ||||
#: howto/sockets.rst:299 | ||||
msgid "" | ||||
"Probably the worst thing about using blocking sockets is what happens when " | ||||
"the other side comes down hard (without doing a ``close``). Your socket is " | ||||
| | @ -600,11 +600,11 @@ msgstr "" | |||
"ressources. En d'autres termes, si vous parvenez à tuer le fil, tout votre " | ||||
"processus risque d'être foutu." | ||||
| ||||
#: ../Doc/howto/sockets.rst:313 | ||||
#: howto/sockets.rst:313 | ||||
msgid "Non-blocking Sockets" | ||||
msgstr "Connecteurs non bloquants" | ||||
| ||||
#: ../Doc/howto/sockets.rst:315 | ||||
#: howto/sockets.rst:315 | ||||
msgid "" | ||||
"If you've understood the preceding, you already know most of what you need " | ||||
"to know about the mechanics of using sockets. You'll still use the same " | ||||
| | @ -616,7 +616,7 @@ msgstr "" | |||
"toujours les mêmes appels, de la même façon. Il n’y que ça. Si vous le " | ||||
"faites bien, c’est presque dans la poche." | ||||
| ||||
#: ../Doc/howto/sockets.rst:320 | ||||
#: howto/sockets.rst:320 | ||||
msgid "" | ||||
"In Python, you use ``socket.setblocking(0)`` to make it non-blocking. In C, " | ||||
"it's more complex, (for one thing, you'll need to choose between the BSD " | ||||
| | @ -633,7 +633,7 @@ msgstr "" | |||
"avoir créé le connecteur mais avant de l’utiliser (en fait, si vous êtes " | ||||
"fou, vous pouvez alterner)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:327 | ||||
#: howto/sockets.rst:327 | ||||
msgid "" | ||||
"The major mechanical difference is that ``send``, ``recv``, ``connect`` and " | ||||
"``accept`` can return without having done anything. You have (of course) a " | ||||
| | @ -650,11 +650,11 @@ msgstr "" | |||
"vampiriser le processeur. Alors, évitons les solutions vouées à l’échec dès " | ||||
"le départ et faisons les choses correctement." | ||||
| ||||
#: ../Doc/howto/sockets.rst:334 | ||||
#: howto/sockets.rst:334 | ||||
msgid "Use ``select``." | ||||
msgstr "Utilisation de ``select``." | ||||
| ||||
#: ../Doc/howto/sockets.rst:336 | ||||
#: howto/sockets.rst:336 | ||||
msgid "" | ||||
"In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, " | ||||
"but it's close enough to the C version that if you understand ``select`` in " | ||||
| | @ -664,7 +664,7 @@ msgstr "" | |||
"mais c'est assez proche de la version C ; aussi, si vous comprenez " | ||||
"``select`` en Python, vous aurez peu de problèmes en C ::" | ||||
| ||||
#: ../Doc/howto/sockets.rst:347 | ||||
#: howto/sockets.rst:347 | ||||
msgid "" | ||||
"You pass ``select`` three lists: the first contains all sockets that you " | ||||
"might want to try reading; the second all the sockets you might want to try " | ||||
| | @ -684,7 +684,7 @@ msgstr "" | |||
"d'attente (disons une minute), à moins que vous n'ayez une bonne raison de " | ||||
"ne pas le faire." | ||||
| ||||
#: ../Doc/howto/sockets.rst:355 | ||||
#: howto/sockets.rst:355 | ||||
msgid "" | ||||
"In return, you will get three lists. They contain the sockets that are " | ||||
"actually readable, writable and in error. Each of these lists is a subset " | ||||
| | @ -695,7 +695,7 @@ msgstr "" | |||
"est un sous-ensemble (éventuellement vide) de la liste correspondante que " | ||||
"vous avez transmise." | ||||
| ||||
#: ../Doc/howto/sockets.rst:359 | ||||
#: howto/sockets.rst:359 | ||||
msgid "" | ||||
"If a socket is in the output readable list, you can be as-close-to-certain-" | ||||
"as-we-ever-get-in-this-business that a ``recv`` on that socket will return " | ||||
| | @ -713,7 +713,7 @@ msgstr "" | |||
"des connecteurs inscriptibles — cela signifie simplement que l'espace tampon " | ||||
"réseau sortant est disponible)." | ||||
| ||||
#: ../Doc/howto/sockets.rst:366 | ||||
#: howto/sockets.rst:366 | ||||
msgid "" | ||||
"If you have a \"server\" socket, put it in the potential_readers list. If it " | ||||
"comes out in the readable list, your ``accept`` will (almost certainly) " | ||||
| | @ -730,7 +730,7 @@ msgstr "" | |||
"dans la liste renvoyée des connecteurs sur lesquels vous pouvez écrire, vous " | ||||
"avez une bonne chance qu'il se soit connecté." | ||||
| ||||
#: ../Doc/howto/sockets.rst:372 | ||||
#: howto/sockets.rst:372 | ||||
msgid "" | ||||
"Actually, ``select`` can be handy even with blocking sockets. It's one way " | ||||
"of determining whether you will block - the socket returns as readable when " | ||||
| | @ -744,7 +744,7 @@ msgstr "" | |||
"Cependant, cela n'aide pas encore à déterminer si l'autre extrémité a " | ||||
"terminé, ou si elle est simplement occupée par autre chose." | ||||
| ||||
#: ../Doc/howto/sockets.rst:377 | ||||
#: howto/sockets.rst:377 | ||||
msgid "" | ||||
"**Portability alert**: On Unix, ``select`` works both with the sockets and " | ||||
"files. Don't try this on Windows. On Windows, ``select`` works with sockets " | ||||
| | | |||
108 howto/sorting.po
108
howto/sorting.po | | @ -15,27 +15,27 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.2.1\n" | ||||
| ||||
#: ../Doc/howto/sorting.rst:4 | ||||
#: howto/sorting.rst:4 | ||||
msgid "Sorting HOW TO" | ||||
msgstr "Guide pour le tri" | ||||
| ||||
#: ../Doc/howto/sorting.rst:0 | ||||
#: howto/sorting.rst:0 | ||||
msgid "Author" | ||||
msgstr "Auteur" | ||||
| ||||
#: ../Doc/howto/sorting.rst:6 | ||||
#: howto/sorting.rst:6 | ||||
msgid "Andrew Dalke and Raymond Hettinger" | ||||
msgstr "Andrew Dalke et Raymond Hettinger" | ||||
| ||||
#: ../Doc/howto/sorting.rst:0 | ||||
#: howto/sorting.rst:0 | ||||
msgid "Release" | ||||
msgstr "Version" | ||||
| ||||
#: ../Doc/howto/sorting.rst:7 | ||||
#: howto/sorting.rst:7 | ||||
msgid "0.1" | ||||
msgstr "0.1" | ||||
| ||||
#: ../Doc/howto/sorting.rst:10 | ||||
#: howto/sorting.rst:10 | ||||
msgid "" | ||||
"Python lists have a built-in :meth:`list.sort` method that modifies the list " | ||||
"in-place. There is also a :func:`sorted` built-in function that builds a " | ||||
| | @ -45,7 +45,7 @@ msgstr "" | |||
"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 | ||||
#: howto/sorting.rst:14 | ||||
msgid "" | ||||
"In this document, we explore the various techniques for sorting data using " | ||||
"Python." | ||||
| | @ -53,11 +53,11 @@ msgstr "" | |||
"Dans ce document, nous explorons différentes techniques pour trier les " | ||||
"données en Python." | ||||
| ||||
#: ../Doc/howto/sorting.rst:18 | ||||
#: howto/sorting.rst:18 | ||||
msgid "Sorting Basics" | ||||
msgstr "Les bases du tri" | ||||
| ||||
#: ../Doc/howto/sorting.rst:20 | ||||
#: howto/sorting.rst:20 | ||||
msgid "" | ||||
"A simple ascending sort is very easy: just call the :func:`sorted` function. " | ||||
"It returns a new sorted list::" | ||||
| | @ -65,7 +65,7 @@ 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 | ||||
#: howto/sorting.rst:26 | ||||
msgid "" | ||||
"You can also use the :meth:`list.sort` method. It modifies the list in-place " | ||||
"(and returns ``None`` to avoid confusion). Usually it's less convenient " | ||||
| | @ -78,7 +78,7 @@ msgstr "" | |||
"`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 | ||||
#: 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." | ||||
| | @ -87,11 +87,11 @@ msgstr "" | |||
"définie pour les listes. Au contraire, la fonction :func:`sorted` accepte " | ||||
"n'importe quel itérable." | ||||
| ||||
#: ../Doc/howto/sorting.rst:43 | ||||
#: howto/sorting.rst:43 | ||||
msgid "Key Functions" | ||||
msgstr "Fonctions clef" | ||||
| ||||
#: ../Doc/howto/sorting.rst:45 | ||||
#: 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." | ||||
| | @ -100,11 +100,11 @@ msgstr "" | |||
"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 | ||||
#: howto/sorting.rst:48 | ||||
msgid "For example, here's a case-insensitive string comparison:" | ||||
msgstr "Par exemple, voici une comparaison de texte insensible à la casse:" | ||||
| ||||
#: ../Doc/howto/sorting.rst:53 | ||||
#: howto/sorting.rst:53 | ||||
msgid "" | ||||
"The value of the *key* parameter should be a function that takes a single " | ||||
"argument and returns a key to use for sorting purposes. This technique is " | ||||
| | @ -115,7 +115,7 @@ msgstr "" | |||
"est rapide car la fonction clef est appelée exactement une seule fois pour " | ||||
"chaque enregistrement en entrée." | ||||
| ||||
#: ../Doc/howto/sorting.rst:57 | ||||
#: howto/sorting.rst:57 | ||||
msgid "" | ||||
"A common pattern is to sort complex objects using some of the object's " | ||||
"indices as keys. For example:" | ||||
| | @ -123,18 +123,18 @@ 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 | ||||
#: 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 | ||||
#: howto/sorting.rst:87 | ||||
msgid "Operator Module Functions" | ||||
msgstr "Fonctions du module *operator*" | ||||
| ||||
#: ../Doc/howto/sorting.rst:89 | ||||
#: howto/sorting.rst:89 | ||||
msgid "" | ||||
"The key-function patterns shown above are very common, so Python provides " | ||||
"convenience functions to make accessor functions easier and faster. The :mod:" | ||||
| | @ -147,13 +147,13 @@ msgstr "" | |||
"func:`~operator.itemgetter`, :func:`~operator.attrgetter`, et :func:" | ||||
"`~operator.methodcaller`." | ||||
| ||||
#: ../Doc/howto/sorting.rst:94 | ||||
#: 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 | ||||
#: howto/sorting.rst:104 | ||||
msgid "" | ||||
"The operator module functions allow multiple levels of sorting. For example, " | ||||
"to sort by *grade* then by *age*:" | ||||
| | @ -161,11 +161,11 @@ 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 | ||||
#: howto/sorting.rst:114 | ||||
msgid "Ascending and Descending" | ||||
msgstr "Ascendant et descendant" | ||||
| ||||
#: ../Doc/howto/sorting.rst:116 | ||||
#: howto/sorting.rst:116 | ||||
msgid "" | ||||
"Both :meth:`list.sort` and :func:`sorted` accept a *reverse* parameter with " | ||||
"a boolean value. This is used to flag descending sorts. For example, to get " | ||||
| | @ -176,11 +176,11 @@ msgstr "" | |||
"des tris. Par exemple, pour avoir les données des étudiants dans l'ordre " | ||||
"inverse par *age* :" | ||||
| ||||
#: ../Doc/howto/sorting.rst:127 | ||||
#: howto/sorting.rst:127 | ||||
msgid "Sort Stability and Complex Sorts" | ||||
msgstr "Stabilité des tris et tris complexes" | ||||
| ||||
#: ../Doc/howto/sorting.rst:129 | ||||
#: howto/sorting.rst:129 | ||||
msgid "" | ||||
"Sorts are guaranteed to be `stable <https://en.wikipedia.org/wiki/" | ||||
"Sorting_algorithm#Stability>`_\\. That means that when multiple records have " | ||||
| | @ -190,7 +190,7 @@ msgstr "" | |||
"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 | ||||
#: 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)``." | ||||
| | @ -199,7 +199,7 @@ msgstr "" | |||
"et que par conséquent il est garanti que ``('blue', 1)`` précède ``('blue', " | ||||
"2)``." | ||||
| ||||
#: ../Doc/howto/sorting.rst:140 | ||||
#: howto/sorting.rst:140 | ||||
msgid "" | ||||
"This wonderful property lets you build complex sorts in a series of sorting " | ||||
"steps. For example, to sort the student data by descending *grade* and then " | ||||
| | @ -210,7 +210,7 @@ msgstr "" | |||
"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 | ||||
#: howto/sorting.rst:148 | ||||
msgid "" | ||||
"This can be abstracted out into a wrapper function that can take a list and " | ||||
"tuples of field and order to sort them on multiple passes." | ||||
| | @ -218,7 +218,7 @@ msgstr "" | |||
"Ceci peut être encapsulé dans une fonction qui prend une liste et des n-" | ||||
"uplets (attribut, ordre) pour les trier en plusieurs passes." | ||||
| ||||
#: ../Doc/howto/sorting.rst:159 | ||||
#: howto/sorting.rst:159 | ||||
msgid "" | ||||
"The `Timsort <https://en.wikipedia.org/wiki/Timsort>`_ algorithm used in " | ||||
"Python does multiple sorts efficiently because it can take advantage of any " | ||||
| | @ -228,17 +228,17 @@ msgstr "" | |||
"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:164 | ||||
#: howto/sorting.rst:164 | ||||
msgid "The Old Way Using Decorate-Sort-Undecorate" | ||||
msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate" | ||||
| ||||
#: ../Doc/howto/sorting.rst:166 | ||||
#: howto/sorting.rst:166 | ||||
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:168 | ||||
#: howto/sorting.rst:168 | ||||
msgid "" | ||||
"First, the initial list is decorated with new values that control the sort " | ||||
"order." | ||||
| | @ -246,11 +246,11 @@ 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:170 | ||||
#: howto/sorting.rst:170 | ||||
msgid "Second, the decorated list is sorted." | ||||
msgstr "En second lieu, la liste décorée est triée." | ||||
| ||||
#: ../Doc/howto/sorting.rst:172 | ||||
#: howto/sorting.rst:172 | ||||
msgid "" | ||||
"Finally, the decorations are removed, creating a list that contains only the " | ||||
"initial values in the new order." | ||||
| | @ -258,14 +258,14 @@ 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:175 | ||||
#: howto/sorting.rst:175 | ||||
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:182 | ||||
#: howto/sorting.rst:182 | ||||
msgid "" | ||||
"This idiom works because tuples are compared lexicographically; the first " | ||||
"items are compared; if they are the same then the second items are compared, " | ||||
| | @ -275,7 +275,7 @@ msgstr "" | |||
"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:186 | ||||
#: howto/sorting.rst:186 | ||||
msgid "" | ||||
"It is not strictly necessary in all cases to include the index *i* in the " | ||||
"decorated list, but including it gives two benefits:" | ||||
| | @ -283,7 +283,7 @@ msgstr "" | |||
"Il n'est pas strictement nécessaire dans tous les cas d’inclure l'indice *i* " | ||||
"dans la liste décorée, mais l'inclure donne deux avantages :" | ||||
| ||||
#: ../Doc/howto/sorting.rst:189 | ||||
#: howto/sorting.rst:189 | ||||
msgid "" | ||||
"The sort is stable -- if two items have the same key, their order will be " | ||||
"preserved in the sorted list." | ||||
| | @ -291,7 +291,7 @@ 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:192 | ||||
#: howto/sorting.rst:192 | ||||
msgid "" | ||||
"The original items do not have to be comparable because the ordering of the " | ||||
"decorated tuples will be determined by at most the first two items. So for " | ||||
| | @ -303,7 +303,7 @@ msgstr "" | |||
"exemple la liste originale pourrait contenir des nombres complexes qui " | ||||
"pourraient ne pas être triés directement." | ||||
| ||||
#: ../Doc/howto/sorting.rst:197 | ||||
#: howto/sorting.rst:197 | ||||
msgid "" | ||||
"Another name for this idiom is `Schwartzian transform <https://en.wikipedia." | ||||
"org/wiki/Schwartzian_transform>`_\\, after Randal L. Schwartz, who " | ||||
| | @ -313,7 +313,7 @@ msgstr "" | |||
"wikipedia.org/wiki/Schwartzian_transform>`_\\, après que Randal L. Schwartz " | ||||
"l'ait popularisé chez les développeurs Perl." | ||||
| ||||
#: ../Doc/howto/sorting.rst:201 | ||||
#: howto/sorting.rst:201 | ||||
msgid "" | ||||
"Now that Python sorting provides key-functions, this technique is not often " | ||||
"needed." | ||||
| | @ -321,11 +321,11 @@ msgstr "" | |||
"Maintenant que le tri Python fournit des fonctions-clef, cette technique " | ||||
"n'est plus souvent utilisée." | ||||
| ||||
#: ../Doc/howto/sorting.rst:205 | ||||
#: howto/sorting.rst:205 | ||||
msgid "The Old Way Using the *cmp* Parameter" | ||||
msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*" | ||||
| ||||
#: ../Doc/howto/sorting.rst:207 | ||||
#: howto/sorting.rst:207 | ||||
msgid "" | ||||
"Many constructs given in this HOWTO assume Python 2.4 or later. Before that, " | ||||
"there was no :func:`sorted` builtin and :meth:`list.sort` took no keyword " | ||||
| | @ -338,7 +338,7 @@ msgstr "" | |||
"versions Python 2.x utilisaient un paramètre *cmp* pour prendre en charge " | ||||
"les fonctions de comparaisons définies par les utilisateurs." | ||||
| ||||
#: ../Doc/howto/sorting.rst:212 | ||||
#: howto/sorting.rst:212 | ||||
msgid "" | ||||
"In Py3.0, the *cmp* parameter was removed entirely (as part of a larger " | ||||
"effort to simplify and unify the language, eliminating the conflict between " | ||||
| | @ -348,7 +348,7 @@ msgstr "" | |||
"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:216 | ||||
#: howto/sorting.rst:216 | ||||
msgid "" | ||||
"In Py2.x, sort allowed an optional function which can be called for doing " | ||||
"the comparisons. That function should take two arguments to be compared and " | ||||
| | @ -361,11 +361,11 @@ msgstr "" | |||
"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:226 | ||||
#: howto/sorting.rst:226 | ||||
msgid "Or you can reverse the order of comparison with:" | ||||
msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :" | ||||
| ||||
#: ../Doc/howto/sorting.rst:233 | ||||
#: howto/sorting.rst:233 | ||||
msgid "" | ||||
"When porting code from Python 2.x to 3.x, the situation can arise when you " | ||||
"have the user supplying a comparison function and you need to convert that " | ||||
| | @ -376,13 +376,13 @@ msgstr "" | |||
"qu'il faut convertir cette fonction en une fonction-clef. La fonction " | ||||
"d'encapsulation suivante rend cela plus facile à faire ::" | ||||
| ||||
#: ../Doc/howto/sorting.rst:256 | ||||
#: howto/sorting.rst:256 | ||||
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:267 | ||||
#: howto/sorting.rst:267 | ||||
msgid "" | ||||
"In Python 3.2, the :func:`functools.cmp_to_key` function was added to the :" | ||||
"mod:`functools` module in the standard library." | ||||
| | @ -390,11 +390,11 @@ 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:271 | ||||
#: howto/sorting.rst:271 | ||||
msgid "Odd and Ends" | ||||
msgstr "Curiosités et conclusion" | ||||
| ||||
#: ../Doc/howto/sorting.rst:273 | ||||
#: howto/sorting.rst:273 | ||||
msgid "" | ||||
"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :" | ||||
"func:`locale.strcoll` for a comparison function." | ||||
| | @ -402,7 +402,7 @@ 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:276 | ||||
#: howto/sorting.rst:276 | ||||
msgid "" | ||||
"The *reverse* parameter still maintains sort stability (so that records with " | ||||
"equal keys retain the original order). Interestingly, that effect can be " | ||||
| | @ -414,7 +414,7 @@ msgstr "" | |||
"cet effet peut être simulé sans le paramètre en utilisant la fonction " | ||||
"native :func:`reversed` deux fois :" | ||||
| ||||
#: ../Doc/howto/sorting.rst:288 | ||||
#: howto/sorting.rst:288 | ||||
msgid "" | ||||
"The sort routines are guaranteed to use :meth:`__lt__` when making " | ||||
"comparisons between two objects. So, it is easy to add a standard sort order " | ||||
| | @ -425,7 +425,7 @@ msgstr "" | |||
"facile d'ajouter un ordre de tri standard à une classe en définissant sa " | ||||
"méthode :meth:`__lt__` ::" | ||||
| ||||
#: ../Doc/howto/sorting.rst:296 | ||||
#: howto/sorting.rst:296 | ||||
msgid "" | ||||
"Key functions need not depend directly on the objects being sorted. A key " | ||||
"function can also access external resources. For instance, if the student " | ||||
| | | |||
243 howto/unicode.po
243
howto/unicode.po | | @ -15,19 +15,19 @@ msgstr "" | |||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 2.2.4\n" | ||||
| ||||
#: ../Doc/howto/unicode.rst:5 | ||||
#: howto/unicode.rst:5 | ||||
msgid "Unicode HOWTO" | ||||
msgstr "Guide Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:0 | ||||
#: howto/unicode.rst:0 | ||||
msgid "Release" | ||||
msgstr "Version" | ||||
| ||||
#: ../Doc/howto/unicode.rst:7 | ||||
#: howto/unicode.rst:7 | ||||
msgid "1.12" | ||||
msgstr "1.12" | ||||
| ||||
#: ../Doc/howto/unicode.rst:9 | ||||
#: howto/unicode.rst:9 | ||||
msgid "" | ||||
"This HOWTO discusses Python's support for the Unicode specification for " | ||||
"representing textual data, and explains various problems that people " | ||||
| | @ -37,15 +37,15 @@ msgstr "" | |||
"données textuelles et explique les différents problèmes généralement " | ||||
"rencontrés par les utilisateurs qui travaillent avec Unicode." | ||||
| ||||
#: ../Doc/howto/unicode.rst:15 | ||||
#: howto/unicode.rst:15 | ||||
msgid "Introduction to Unicode" | ||||
msgstr "Introduction à Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:18 | ||||
#: howto/unicode.rst:18 | ||||
msgid "Definitions" | ||||
msgstr "Définitions" | ||||
| ||||
#: ../Doc/howto/unicode.rst:20 | ||||
#: howto/unicode.rst:20 | ||||
msgid "" | ||||
"Today's programs need to be able to handle a wide variety of characters. " | ||||
"Applications are often internationalized to display messages and output in a " | ||||
| | @ -67,7 +67,7 @@ msgstr "" | |||
"caractères, ce qui permet aux programmes Python de travailler avec tous ces " | ||||
"différents caractères possibles." | ||||
| ||||
#: ../Doc/howto/unicode.rst:30 | ||||
#: howto/unicode.rst:30 | ||||
msgid "" | ||||
"Unicode (https://www.unicode.org/) is a specification that aims to list " | ||||
"every character used by human languages and give each character its own " | ||||
| | @ -80,7 +80,7 @@ msgstr "" | |||
"continuellement révisées et mises à jour pour ajouter de nouvelles langues " | ||||
"et de nouveaux symboles." | ||||
| ||||
#: ../Doc/howto/unicode.rst:35 | ||||
#: howto/unicode.rst:35 | ||||
msgid "" | ||||
"A **character** is the smallest possible component of a text. 'A', 'B', " | ||||
"'C', etc., are all different characters. So are 'È' and 'Í'. Characters " | ||||
| | @ -97,7 +97,7 @@ msgstr "" | |||
"« I ». Ils se ressemblent généralement, mais ce sont deux caractères " | ||||
"différents qui ont des significations différentes." | ||||
| ||||
#: ../Doc/howto/unicode.rst:42 | ||||
#: howto/unicode.rst:42 | ||||
msgid "" | ||||
"The Unicode standard describes how characters are represented by **code " | ||||
"points**. A code point value is an integer in the range 0 to 0x10FFFF " | ||||
| | @ -112,7 +112,7 @@ msgstr "" | |||
"document, un point de code est écrit en utilisant la notation ``U+265E`` " | ||||
"pour désigner le caractère avec la valeur ``0x265e`` (9 822 en décimal)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:49 | ||||
#: howto/unicode.rst:49 | ||||
msgid "" | ||||
"The Unicode standard contains a lot of tables listing characters and their " | ||||
"corresponding code points:" | ||||
| | @ -120,7 +120,7 @@ msgstr "" | |||
"La standard Unicode contient de nombreux tableaux contenant la liste des " | ||||
"caractères et des points de code correspondants :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:70 | ||||
#: howto/unicode.rst:70 | ||||
msgid "" | ||||
"Strictly, these definitions imply that it's meaningless to say 'this is " | ||||
"character ``U+265E``'. ``U+265E`` is a code point, which represents some " | ||||
| | @ -134,7 +134,7 @@ msgstr "" | |||
"caractère « BLACK CHESS KNIGHT », « ♞ ». Dans des contextes informels, cette " | ||||
"distinction entre les points de code et les caractères sera parfois oubliée." | ||||
| ||||
#: ../Doc/howto/unicode.rst:77 | ||||
#: howto/unicode.rst:77 | ||||
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 " | ||||
| | @ -151,11 +151,11 @@ msgstr "" | |||
"est généralement le travail d’une boîte à outils GUI ou du moteur de rendu " | ||||
"des polices d’un terminal." | ||||
| ||||
#: ../Doc/howto/unicode.rst:86 | ||||
#: howto/unicode.rst:86 | ||||
msgid "Encodings" | ||||
msgstr "Encodages" | ||||
| ||||
#: ../Doc/howto/unicode.rst:88 | ||||
#: howto/unicode.rst:88 | ||||
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). " | ||||
| | @ -172,7 +172,7 @@ msgstr "" | |||
"chaîne Unicode en une séquence d'octets sont appelées un **encodage de " | ||||
"caractères** ou simplement un **encodage**." | ||||
| ||||
#: ../Doc/howto/unicode.rst:96 | ||||
#: howto/unicode.rst:96 | ||||
msgid "" | ||||
"The first encoding you might think of is using 32-bit integers as the code " | ||||
"unit, and then using the CPU's representation of 32-bit integers. In this " | ||||
| | @ -183,7 +183,7 @@ msgstr "" | |||
"entiers 32 bits par le CPU. Dans cette représentation, la chaîne « Python » " | ||||
"ressemblerait à ceci :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:106 | ||||
#: howto/unicode.rst:106 | ||||
msgid "" | ||||
"This representation is straightforward but using it presents a number of " | ||||
"problems." | ||||
| | @ -191,13 +191,13 @@ msgstr "" | |||
"Cette représentation est simple mais son utilisation pose un certain nombre " | ||||
"de problèmes." | ||||
| ||||
#: ../Doc/howto/unicode.rst:109 | ||||
#: howto/unicode.rst:109 | ||||
msgid "It's not portable; different processors order the bytes differently." | ||||
msgstr "" | ||||
"Elle n’est pas portable ; des processeurs différents ordonnent les octets " | ||||
"différemment." | ||||
| ||||
#: ../Doc/howto/unicode.rst:111 | ||||
#: howto/unicode.rst:111 | ||||
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 " | ||||
| | @ -217,7 +217,7 @@ msgstr "" | |||
"utilisation du disque et de la bande passante réseau par un facteur de 4 est " | ||||
"intolérable." | ||||
| ||||
#: ../Doc/howto/unicode.rst:119 | ||||
#: howto/unicode.rst:119 | ||||
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." | ||||
| | @ -226,7 +226,7 @@ msgstr "" | |||
"``strlen()``, il faudrait donc utiliser une nouvelle famille de fonctions, " | ||||
"celle des chaînes larges (*wide strings*)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:122 | ||||
#: howto/unicode.rst:122 | ||||
msgid "" | ||||
"Therefore this encoding isn't used very much, and people instead choose " | ||||
"other encodings that are more efficient and convenient, such as UTF-8." | ||||
| | @ -234,7 +234,7 @@ msgstr "" | |||
"Par conséquent, cet encodage n'est pas très utilisé et d'autres encodages, " | ||||
"plus efficaces et pratiques comme UTF-8, sont plutôt choisis." | ||||
| ||||
#: ../Doc/howto/unicode.rst:125 | ||||
#: howto/unicode.rst:125 | ||||
msgid "" | ||||
"UTF-8 is one of the most commonly used encodings, and Python often defaults " | ||||
"to using it. UTF stands for \"Unicode Transformation Format\", and the '8' " | ||||
| | @ -249,14 +249,14 @@ msgstr "" | |||
"codages UTF-16 et UTF-32, mais ils sont moins souvent utilisés que UTF-8). " | ||||
"UTF-8 utilise les règles suivantes :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:131 | ||||
#: howto/unicode.rst:131 | ||||
msgid "" | ||||
"If the code point is < 128, it's represented by the corresponding byte value." | ||||
msgstr "" | ||||
"Si le point de code est < 128, il est représenté par la valeur de l'octet " | ||||
"correspondant." | ||||
| ||||
#: ../Doc/howto/unicode.rst:132 | ||||
#: howto/unicode.rst:132 | ||||
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." | ||||
| | @ -265,15 +265,15 @@ msgstr "" | |||
"trois ou quatre octets, où chaque octet de la séquence est compris entre 128 " | ||||
"et 255." | ||||
| ||||
#: ../Doc/howto/unicode.rst:135 | ||||
#: howto/unicode.rst:135 | ||||
msgid "UTF-8 has several convenient properties:" | ||||
msgstr "UTF-8 a plusieurs propriétés intéressantes :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:137 | ||||
#: howto/unicode.rst:137 | ||||
msgid "It can handle any Unicode code point." | ||||
msgstr "Il peut gérer n'importe quel point de code Unicode." | ||||
| ||||
#: ../Doc/howto/unicode.rst:138 | ||||
#: howto/unicode.rst:138 | ||||
msgid "" | ||||
"A Unicode string is turned into a sequence of bytes that contains embedded " | ||||
"zero bytes only where they represent the null character (U+0000). This means " | ||||
| | @ -287,11 +287,11 @@ msgstr "" | |||
"C telles que ``strcpy()`` et envoyées par des protocoles pour qui les octets " | ||||
"zéro signifient forcément la fin de chaîne." | ||||
| ||||
#: ../Doc/howto/unicode.rst:143 | ||||
#: howto/unicode.rst:143 | ||||
msgid "A string of ASCII text is also valid UTF-8 text." | ||||
msgstr "Une chaîne de texte ASCII est également un texte UTF-8 valide." | ||||
| ||||
#: ../Doc/howto/unicode.rst:144 | ||||
#: howto/unicode.rst:144 | ||||
msgid "" | ||||
"UTF-8 is fairly compact; the majority of commonly used characters can be " | ||||
"represented with one or two bytes." | ||||
| | @ -299,7 +299,7 @@ msgstr "" | |||
"UTF-8 est assez compact. La majorité des caractères couramment utilisés " | ||||
"peuvent être représentés avec un ou deux octets." | ||||
| ||||
#: ../Doc/howto/unicode.rst:146 | ||||
#: howto/unicode.rst:146 | ||||
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 " | ||||
| | @ -310,7 +310,7 @@ msgstr "" | |||
"est également improbable que des données 8-bits aléatoires ressemblent à du " | ||||
"UTF-8 valide." | ||||
| ||||
#: ../Doc/howto/unicode.rst:149 | ||||
#: howto/unicode.rst:149 | ||||
msgid "" | ||||
"UTF-8 is a byte oriented encoding. The encoding specifies that each " | ||||
"character is represented by a specific sequence of one or more bytes. This " | ||||
| | @ -325,12 +325,11 @@ msgstr "" | |||
"processeurs (*words*), comme UTF-16 et UTF-32, où la séquence des octets " | ||||
"varie en fonction du matériel sur lequel la chaîne a été encodée." | ||||
| ||||
#: ../Doc/howto/unicode.rst:157 ../Doc/howto/unicode.rst:513 | ||||
#: ../Doc/howto/unicode.rst:734 | ||||
#: howto/unicode.rst:513 howto/unicode.rst:734 | ||||
msgid "References" | ||||
msgstr "Références" | ||||
| ||||
#: ../Doc/howto/unicode.rst:159 | ||||
#: howto/unicode.rst:159 | ||||
msgid "" | ||||
"The `Unicode Consortium site <http://www.unicode.org>`_ has character " | ||||
"charts, a glossary, and PDF versions of the Unicode specification. Be " | ||||
| | @ -344,7 +343,7 @@ msgstr "" | |||
"`chronologie <http://www.unicode.org/history/>`_ de l’origine et du " | ||||
"développement de l’Unicode est également disponible sur le site." | ||||
| ||||
#: ../Doc/howto/unicode.rst:164 | ||||
#: howto/unicode.rst:164 | ||||
msgid "" | ||||
"On the Computerphile Youtube channel, Tom Scott briefly `discusses the " | ||||
"history of Unicode and UTF-8 <https://www.youtube.com/watch?v=MijmeoH9LT4>`_ " | ||||
| | @ -354,7 +353,7 @@ msgstr "" | |||
"`l’histoire d’Unicode et d’UTF-8 <https://www.youtube.com/watch?" | ||||
"v=MijmeoH9LT4>`_ (9 minutes et 36 secondes)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:168 | ||||
#: howto/unicode.rst:168 | ||||
msgid "" | ||||
"To help understand the standard, Jukka Korpela has written `an introductory " | ||||
"guide <http://jkorpela.fi/unicode/guide.html>`_ to reading the Unicode " | ||||
| | @ -364,7 +363,7 @@ msgstr "" | |||
"d’introduction <http://jkorpela.fi/unicode/guide.html>`_ à la lecture des " | ||||
"tables de caractères Unicode (ressource en anglais)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:172 | ||||
#: howto/unicode.rst:172 | ||||
msgid "" | ||||
"Another `good introductory article <https://www.joelonsoftware." | ||||
"com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-" | ||||
| | @ -379,7 +378,7 @@ msgstr "" | |||
"clarifié les choses, vous devriez essayer de lire cet article-là avant de " | ||||
"continuer." | ||||
| ||||
#: ../Doc/howto/unicode.rst:177 | ||||
#: howto/unicode.rst:177 | ||||
msgid "" | ||||
"Wikipedia entries are often helpful; see the entries for \"`character " | ||||
"encoding <https://en.wikipedia.org/wiki/Character_encoding>`_\" and `UTF-8 " | ||||
| | @ -389,11 +388,11 @@ msgstr "" | |||
"caractères <https://fr.wikipedia.org/wiki/Codage_des_caract%C3%A8res>`_ » et " | ||||
"`UTF-8 <https://fr.wikipedia.org/wiki/UTF-8>`_, par exemple." | ||||
| ||||
#: ../Doc/howto/unicode.rst:183 | ||||
#: howto/unicode.rst:183 | ||||
msgid "Python's Unicode Support" | ||||
msgstr "Prise en charge Unicode de Python" | ||||
| ||||
#: ../Doc/howto/unicode.rst:185 | ||||
#: howto/unicode.rst:185 | ||||
msgid "" | ||||
"Now that you've learned the rudiments of Unicode, we can look at Python's " | ||||
"Unicode features." | ||||
| | @ -401,11 +400,11 @@ msgstr "" | |||
"Maintenant que vous avez appris les rudiments de l'Unicode, nous pouvons " | ||||
"regarder les fonctionnalités Unicode de Python." | ||||
| ||||
#: ../Doc/howto/unicode.rst:189 | ||||
#: howto/unicode.rst:189 | ||||
msgid "The String Type" | ||||
msgstr "Le type *String*" | ||||
| ||||
#: ../Doc/howto/unicode.rst:191 | ||||
#: howto/unicode.rst:191 | ||||
msgid "" | ||||
"Since Python 3.0, the language's :class:`str` type contains Unicode " | ||||
"characters, meaning any string created using ``\"unicode rocks!\"``, " | ||||
| | @ -417,7 +416,7 @@ msgstr "" | |||
"déchire !\"``, ``'unicode déchire !'`` ou la syntaxe à triples guillemets " | ||||
"est enregistrée comme Unicode." | ||||
| ||||
#: ../Doc/howto/unicode.rst:195 | ||||
#: howto/unicode.rst:195 | ||||
msgid "" | ||||
"The default encoding for Python source code is UTF-8, so you can simply " | ||||
"include a Unicode character in a string literal::" | ||||
| | @ -425,13 +424,13 @@ msgstr "" | |||
"L'encodage par défaut pour le code source Python est UTF-8, il est donc " | ||||
"facile d'inclure des caractères Unicode dans une chaîne littérale ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:205 | ||||
#: howto/unicode.rst:205 | ||||
msgid "" | ||||
"Side note: Python 3 also supports using Unicode characters in identifiers::" | ||||
msgstr "" | ||||
"Note : Python 3 sait gérer les caractères Unicode dans les identifiants ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:211 | ||||
#: howto/unicode.rst:211 | ||||
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 " | ||||
| | @ -445,7 +444,7 @@ msgstr "" | |||
"voyiez le glyphe réel du *delta majuscule* au lieu d'une séquence " | ||||
"d'échappement ``\\u...``) ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:223 | ||||
#: howto/unicode.rst:223 | ||||
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 " | ||||
| | @ -456,7 +455,7 @@ msgstr "" | |||
"argument *encoding*, ``UTF-8`` par exemple, et optionnellement un argument " | ||||
"*errors*." | ||||
| ||||
#: ../Doc/howto/unicode.rst:227 | ||||
#: howto/unicode.rst:227 | ||||
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 " | ||||
| | @ -475,7 +474,7 @@ msgstr "" | |||
"avec antislash » : insère une séquence d’échappement ``\\xNN``). Les " | ||||
"exemples suivants illustrent les différences ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:247 | ||||
#: howto/unicode.rst:247 | ||||
msgid "" | ||||
"Encodings are specified as strings containing the encoding's name. Python " | ||||
"comes with roughly 100 different encodings; see the Python Library Reference " | ||||
| | @ -490,7 +489,7 @@ msgstr "" | |||
"encodages ont plusieurs noms ; par exemple, ``'latin-1'``, ``'iso_8859_1'`` " | ||||
"et ``'8859'`` sont tous synonymes du même encodage." | ||||
| ||||
#: ../Doc/howto/unicode.rst:253 | ||||
#: howto/unicode.rst:253 | ||||
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 " | ||||
| | @ -504,11 +503,11 @@ msgstr "" | |||
"L'opération inverse est la fonction native :func:`ord` qui prend une chaîne " | ||||
"Unicode d'un caractère et renvoie la valeur du point de code ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:265 | ||||
#: howto/unicode.rst:265 | ||||
msgid "Converting to Bytes" | ||||
msgstr "Conversion en octets" | ||||
| ||||
#: ../Doc/howto/unicode.rst:267 | ||||
#: howto/unicode.rst:267 | ||||
msgid "" | ||||
"The opposite method of :meth:`bytes.decode` is :meth:`str.encode`, which " | ||||
"returns a :class:`bytes` representation of the Unicode string, encoded in " | ||||
| | @ -518,7 +517,7 @@ msgstr "" | |||
"renvoie une représentation :class:`bytes` de la chaîne Unicode, codée dans " | ||||
"l’encodage *encoding* demandé." | ||||
| ||||
#: ../Doc/howto/unicode.rst:271 | ||||
#: howto/unicode.rst:271 | ||||
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 " | ||||
| | @ -536,11 +535,11 @@ msgstr "" | |||
"(insère une séquence ``\\uNNNN``) et ``namereplace`` (insère une séquence ``" | ||||
"\\N{...}``)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:279 | ||||
#: howto/unicode.rst:279 | ||||
msgid "The following example shows the different results::" | ||||
msgstr "L'exemple suivant montre les différents résultats ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:300 | ||||
#: howto/unicode.rst:300 | ||||
msgid "" | ||||
"The low-level routines for registering and accessing the available encodings " | ||||
"are found in the :mod:`codecs` module. Implementing new encodings also " | ||||
| | @ -557,11 +556,11 @@ msgstr "" | |||
"l'écriture de nouveaux encodages est une tâche très spécialisée, donc le " | ||||
"module ne sera pas couvert dans ce guide." | ||||
| ||||
#: ../Doc/howto/unicode.rst:309 | ||||
#: howto/unicode.rst:309 | ||||
msgid "Unicode Literals in Python Source Code" | ||||
msgstr "Littéraux Unicode dans le code source Python" | ||||
| ||||
#: ../Doc/howto/unicode.rst:311 | ||||
#: howto/unicode.rst:311 | ||||
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 " | ||||
| | @ -573,7 +572,7 @@ msgstr "" | |||
"chiffres hexadécimaux donnant le point de code. La séquence d'échappement ``" | ||||
"\\U`` est similaire, mais attend huit chiffres hexadécimaux, pas quatre ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:323 | ||||
#: howto/unicode.rst:323 | ||||
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 " | ||||
| | @ -588,7 +587,7 @@ msgstr "" | |||
"accentuées. Vous pouvez également assembler des chaînes de caractères à " | ||||
"l'aide de la fonction native :func:`chr`, mais c'est encore plus fastidieux." | ||||
| ||||
#: ../Doc/howto/unicode.rst:329 | ||||
#: howto/unicode.rst:329 | ||||
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 " | ||||
| | @ -600,7 +599,7 @@ msgstr "" | |||
"avec votre éditeur favori qui affiche les caractères accentués " | ||||
"naturellement, et a les bons caractères utilisés au moment de l'exécution." | ||||
| ||||
#: ../Doc/howto/unicode.rst:334 | ||||
#: howto/unicode.rst:334 | ||||
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 " | ||||
| | @ -612,7 +611,7 @@ msgstr "" | |||
"utilisé. Cela se fait en incluant un commentaire spécial sur la première ou " | ||||
"la deuxième ligne du fichier source ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:344 | ||||
#: howto/unicode.rst:344 | ||||
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 " | ||||
| | @ -627,7 +626,7 @@ msgstr "" | |||
"mais sont une convention. Python cherche ``coding: name`` ou ``coding=name`` " | ||||
"dans le commentaire." | ||||
| ||||
#: ../Doc/howto/unicode.rst:350 | ||||
#: howto/unicode.rst:350 | ||||
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." | ||||
| | @ -635,11 +634,11 @@ msgstr "" | |||
"Si vous n'incluez pas un tel commentaire, l'encodage par défaut est UTF-8 " | ||||
"comme déjà mentionné. Voir aussi la :pep:`263` pour plus d'informations." | ||||
| ||||
#: ../Doc/howto/unicode.rst:355 | ||||
#: howto/unicode.rst:355 | ||||
msgid "Unicode Properties" | ||||
msgstr "Propriétés Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:357 | ||||
#: howto/unicode.rst:357 | ||||
msgid "" | ||||
"The Unicode specification includes a database of information about code " | ||||
"points. For each defined code point, the information includes the " | ||||
| | @ -656,7 +655,7 @@ msgstr "" | |||
"existe également des propriétés liées à l'affichage, telles que " | ||||
"l'utilisation du point de code dans un texte bidirectionnel." | ||||
| ||||
#: ../Doc/howto/unicode.rst:365 | ||||
#: howto/unicode.rst:365 | ||||
msgid "" | ||||
"The following program displays some information about several characters, " | ||||
"and prints the numeric value of one particular character::" | ||||
| | @ -664,11 +663,11 @@ msgstr "" | |||
"Le programme suivant affiche des informations sur plusieurs caractères et " | ||||
"affiche la valeur numérique d'un caractère particulier ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:379 | ||||
#: howto/unicode.rst:379 | ||||
msgid "When run, this prints:" | ||||
msgstr "Si vous l'exécutez, cela affiche :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:390 | ||||
#: howto/unicode.rst:390 | ||||
msgid "" | ||||
"The category codes are abbreviations describing the nature of the character. " | ||||
"These are grouped into categories such as \"Letter\", \"Number\", " | ||||
| | @ -691,11 +690,11 @@ msgstr "" | |||
"unicode.org/reports/tr44/#General_Category_Values>`_ (ressource en anglais) " | ||||
"pour une liste de codes de catégories." | ||||
| ||||
#: ../Doc/howto/unicode.rst:401 | ||||
#: howto/unicode.rst:401 | ||||
msgid "Comparing Strings" | ||||
msgstr "Comparaison de chaînes de caractères" | ||||
| ||||
#: ../Doc/howto/unicode.rst:403 | ||||
#: howto/unicode.rst:403 | ||||
msgid "" | ||||
"Unicode adds some complication to comparing strings, because the same set of " | ||||
"characters can be represented by different sequences of code points. For " | ||||
| | @ -713,7 +712,7 @@ msgstr "" | |||
"lorsqu'elles sont affichées, mais l'une est une chaîne de caractères de " | ||||
"longueur 1 et l'autre de longueur 2." | ||||
| ||||
#: ../Doc/howto/unicode.rst:411 | ||||
#: howto/unicode.rst:411 | ||||
msgid "" | ||||
"One tool for a case-insensitive comparison is the :meth:`~str.casefold` " | ||||
"string method that converts a string to a case-insensitive form following an " | ||||
| | @ -728,7 +727,7 @@ msgstr "" | |||
"« *ß* » (point de code ``U+00DF``), qui devient la paire de lettres " | ||||
"minuscules « *ss* »." | ||||
| ||||
#: ../Doc/howto/unicode.rst:424 | ||||
#: howto/unicode.rst:424 | ||||
msgid "" | ||||
"A second tool is the :mod:`unicodedata` module's :func:`~unicodedata." | ||||
"normalize` function that converts strings to one of several normal forms, " | ||||
| | @ -745,11 +744,11 @@ msgstr "" | |||
"faussement les inégalités si deux chaînes utilisent différents caractères de " | ||||
"combinaison :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:447 | ||||
#: howto/unicode.rst:447 | ||||
msgid "When run, this outputs:" | ||||
msgstr "Si vous l'exécutez, cela affiche :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:456 | ||||
#: howto/unicode.rst:456 | ||||
msgid "" | ||||
"The first argument to the :func:`~unicodedata.normalize` function is a " | ||||
"string giving the desired normalization form, which can be one of 'NFC', " | ||||
| | @ -759,13 +758,13 @@ msgstr "" | |||
"chaîne de caractères donnant la forme de normalisation désirée, qui peut " | ||||
"être une de celles-ci : ``'NFC'``, ``'NFKC'``, ``'NFD'`` et ``'NFKD'``." | ||||
| ||||
#: ../Doc/howto/unicode.rst:460 | ||||
#: howto/unicode.rst:460 | ||||
msgid "The Unicode Standard also specifies how to do caseless comparisons::" | ||||
msgstr "" | ||||
"La norme Unicode spécifie également comment faire des comparaisons " | ||||
"insensibles à la casse ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:476 | ||||
#: howto/unicode.rst:476 | ||||
msgid "" | ||||
"This will print ``True``. (Why is :func:`NFD` invoked twice? Because there " | ||||
"are a few characters that make :meth:`casefold` return a non-normalized " | ||||
| | @ -777,11 +776,11 @@ msgstr "" | |||
"une chaîne non normalisée, donc le résultat doit être normalisé à nouveau. " | ||||
"Voir la section 3.13 du standard Unicode pour une discussion et un exemple)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:483 | ||||
#: howto/unicode.rst:483 | ||||
msgid "Unicode Regular Expressions" | ||||
msgstr "Expressions régulières Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:485 | ||||
#: howto/unicode.rst:485 | ||||
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 " | ||||
| | @ -797,7 +796,7 @@ msgstr "" | |||
"exemple, ``\\d`` correspond aux caractères ``[0-9]`` en octets mais dans les " | ||||
"chaînes de caractères correspond à tout caractère de la catégorie ``'Nd'``." | ||||
| ||||
#: ../Doc/howto/unicode.rst:492 | ||||
#: howto/unicode.rst:492 | ||||
msgid "" | ||||
"The string in this example has the number 57 written in both Thai and Arabic " | ||||
"numerals::" | ||||
| | @ -805,7 +804,7 @@ msgstr "" | |||
"Dans cet exemple, la chaîne contient le nombre 57 écrit en chiffres arabes " | ||||
"et thaïlandais ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:502 | ||||
#: howto/unicode.rst:502 | ||||
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 " | ||||
| | @ -815,7 +814,7 @@ msgstr "" | |||
"affiche. Si vous fournissez le drapeau :const:`re.ASCII` à :func:`~re." | ||||
"compile`, ``\\d+`` correspond cette fois à la chaîne \"57\"." | ||||
| ||||
#: ../Doc/howto/unicode.rst:506 | ||||
#: howto/unicode.rst:506 | ||||
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`` " | ||||
| | @ -826,13 +825,13 @@ msgstr "" | |||
"``\\s`` correspond soit aux caractères blancs Unicode soit aux caractères " | ||||
"``[ \\t\\n\\r\\f\\v]``." | ||||
| ||||
#: ../Doc/howto/unicode.rst:517 | ||||
#: howto/unicode.rst:517 | ||||
msgid "Some good alternative discussions of Python's Unicode support are:" | ||||
msgstr "" | ||||
"Quelques bonnes discussions alternatives sur la gestion d'Unicode par Python " | ||||
"sont :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:519 | ||||
#: howto/unicode.rst:519 | ||||
msgid "" | ||||
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency." | ||||
"org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan." | ||||
| | @ -840,7 +839,7 @@ msgstr "" | |||
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency." | ||||
"org/en/latest/python3/text_file_processing.html>`_, par Nick Coghlan." | ||||
| ||||
#: ../Doc/howto/unicode.rst:520 | ||||
#: howto/unicode.rst:520 | ||||
msgid "" | ||||
"`Pragmatic Unicode <https://nedbatchelder.com/text/unipain.html>`_, a PyCon " | ||||
"2012 presentation by Ned Batchelder." | ||||
| | @ -848,7 +847,7 @@ msgstr "" | |||
"`Pragmatic Unicode <https://nedbatchelder.com/text/unipain.html>`_, une " | ||||
"présentation *PyCon* 2012 par Ned Batchelder." | ||||
| ||||
#: ../Doc/howto/unicode.rst:522 | ||||
#: howto/unicode.rst:522 | ||||
msgid "" | ||||
"The :class:`str` type is described in the Python library reference at :ref:" | ||||
"`textseq`." | ||||
| | @ -856,15 +855,15 @@ msgstr "" | |||
"Le type :class:`str` est décrit dans la référence de la bibliothèque Python " | ||||
"à :ref:`textseq`." | ||||
| ||||
#: ../Doc/howto/unicode.rst:525 | ||||
#: howto/unicode.rst:525 | ||||
msgid "The documentation for the :mod:`unicodedata` module." | ||||
msgstr "La documentation du module :mod:`unicodedata`." | ||||
| ||||
#: ../Doc/howto/unicode.rst:527 | ||||
#: howto/unicode.rst:527 | ||||
msgid "The documentation for the :mod:`codecs` module." | ||||
msgstr "La documentation du module :mod:`codecs`." | ||||
| ||||
#: ../Doc/howto/unicode.rst:529 | ||||
#: howto/unicode.rst:529 | ||||
msgid "" | ||||
"Marc-André Lemburg gave `a presentation titled \"Python and Unicode\" (PDF " | ||||
"slides) <https://downloads.egenix.com/python/Unicode-EPC2002-Talk.pdf>`_ at " | ||||
| | @ -879,11 +878,11 @@ msgstr "" | |||
"de chaîne Unicode est appelé ``unicode`` et les littéraux commencent par " | ||||
"``u``)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:537 | ||||
#: howto/unicode.rst:537 | ||||
msgid "Reading and Writing Unicode Data" | ||||
msgstr "Lecture et écriture de données Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:539 | ||||
#: howto/unicode.rst:539 | ||||
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 " | ||||
| | @ -894,7 +893,7 @@ msgstr "" | |||
"des chaînes Unicode dans votre programme et comment convertir les chaînes " | ||||
"Unicode dans une forme appropriée pour le stockage ou la transmission ?" | ||||
| ||||
#: ../Doc/howto/unicode.rst:543 | ||||
#: howto/unicode.rst:543 | ||||
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 " | ||||
| | @ -910,7 +909,7 @@ msgstr "" | |||
"également en charge les colonnes encodées en Unicode et peuvent renvoyer des " | ||||
"valeurs Unicode à partir d'une requête SQL." | ||||
| ||||
#: ../Doc/howto/unicode.rst:549 | ||||
#: howto/unicode.rst:549 | ||||
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 " | ||||
| | @ -924,7 +923,7 @@ msgstr "" | |||
"élément 8-bits, puis convertir les octets avec ``bytes.decode(encoding)``. " | ||||
"Cependant, l'approche manuelle n'est pas recommandée." | ||||
| ||||
#: ../Doc/howto/unicode.rst:554 | ||||
#: howto/unicode.rst:554 | ||||
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-" | ||||
| | @ -949,7 +948,7 @@ msgstr "" | |||
"pendant un moment, vous aurez besoin d'avoir à la fois la chaîne encodée et " | ||||
"sa version Unicode en mémoire)." | ||||
| ||||
#: ../Doc/howto/unicode.rst:564 | ||||
#: howto/unicode.rst:564 | ||||
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 " | ||||
| | @ -970,11 +969,11 @@ msgstr "" | |||
"`open` qui sont interprétés comme ceux de :meth:`str.encode` et :meth:`bytes." | ||||
"decode`." | ||||
| ||||
#: ../Doc/howto/unicode.rst:573 | ||||
#: howto/unicode.rst:573 | ||||
msgid "Reading Unicode from a file is therefore simple::" | ||||
msgstr "Lire de l'Unicode à partir d'un fichier est donc simple ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:579 | ||||
#: howto/unicode.rst:579 | ||||
msgid "" | ||||
"It's also possible to open files in update mode, allowing both reading and " | ||||
"writing::" | ||||
| | @ -982,7 +981,7 @@ msgstr "" | |||
"Il est également possible d'ouvrir des fichiers en mode « mise à jour », " | ||||
"permettant à la fois la lecture et l'écriture ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:587 | ||||
#: howto/unicode.rst:587 | ||||
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 " | ||||
| | @ -1006,7 +1005,7 @@ msgstr "" | |||
"``utf-16-be`` pour les encodages petit-boutiste et gros-boutiste, qui " | ||||
"spécifient un ordre d'octets donné et ne sautent pas la *BOM*." | ||||
| ||||
#: ../Doc/howto/unicode.rst:596 | ||||
#: howto/unicode.rst:596 | ||||
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 " | ||||
| | @ -1020,11 +1019,11 @@ msgstr "" | |||
"fichier est encodé en UTF-8. Pour lire ces fichiers, utilisez le codec " | ||||
"``utf-8-sig`` pour sauter automatiquement la marque si elle est présente." | ||||
| ||||
#: ../Doc/howto/unicode.rst:603 | ||||
#: howto/unicode.rst:603 | ||||
msgid "Unicode filenames" | ||||
msgstr "Noms de fichiers Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:605 | ||||
#: howto/unicode.rst:605 | ||||
msgid "" | ||||
"Most of the operating systems in common use today support filenames that " | ||||
"contain arbitrary Unicode characters. Usually this is implemented by " | ||||
| | @ -1045,7 +1044,7 @@ msgstr "" | |||
"fichiers que si vous avez défini les variables d'environnement ``LANG`` ou " | ||||
"``LC_CTYPE`` ; sinon, l'encodage par défaut est UTF-8." | ||||
| ||||
#: ../Doc/howto/unicode.rst:615 | ||||
#: howto/unicode.rst:615 | ||||
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 " | ||||
| | @ -1060,7 +1059,7 @@ msgstr "" | |||
"généralement simplement fournir la chaîne Unicode comme nom de fichier et " | ||||
"elle est automatiquement convertie à l'encodage qui convient ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:625 | ||||
#: howto/unicode.rst:625 | ||||
msgid "" | ||||
"Functions in the :mod:`os` module such as :func:`os.stat` will also accept " | ||||
"Unicode filenames." | ||||
| | @ -1068,7 +1067,7 @@ msgstr "" | |||
"Les fonctions du module :mod:`os` telles que :func:`os.stat` acceptent " | ||||
"également les noms de fichiers Unicode." | ||||
| ||||
#: ../Doc/howto/unicode.rst:628 | ||||
#: howto/unicode.rst:628 | ||||
msgid "" | ||||
"The :func:`os.listdir` function returns filenames, which raises an issue: " | ||||
"should it return the Unicode version of filenames, or should it return bytes " | ||||
| | @ -1092,11 +1091,11 @@ msgstr "" | |||
"l'encodage par défaut du système de fichiers est UTF-8, exécuter le " | ||||
"programme suivant ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:646 | ||||
#: howto/unicode.rst:646 | ||||
msgid "will produce the following output:" | ||||
msgstr "produit la sortie suivante :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:654 | ||||
#: howto/unicode.rst:654 | ||||
msgid "" | ||||
"The first list contains UTF-8-encoded filenames, and the second list " | ||||
"contains the Unicode versions." | ||||
| | @ -1104,7 +1103,7 @@ msgstr "" | |||
"La première liste contient les noms de fichiers encodés en UTF-8 et la " | ||||
"seconde contient les versions Unicode." | ||||
| ||||
#: ../Doc/howto/unicode.rst:657 | ||||
#: howto/unicode.rst:657 | ||||
msgid "" | ||||
"Note that on most occasions, you should can just stick with using Unicode " | ||||
"with these APIs. The bytes APIs should only be used on systems where " | ||||
| | @ -1117,11 +1116,11 @@ msgstr "" | |||
"peuvent être présents. Cela ne concerne pratiquement que des systèmes Unix " | ||||
"maintenant." | ||||
| ||||
#: ../Doc/howto/unicode.rst:664 | ||||
#: howto/unicode.rst:664 | ||||
msgid "Tips for Writing Unicode-aware Programs" | ||||
msgstr "Conseils pour écrire des programmes compatibles Unicode" | ||||
| ||||
#: ../Doc/howto/unicode.rst:666 | ||||
#: howto/unicode.rst:666 | ||||
msgid "" | ||||
"This section provides some suggestions on writing software that deals with " | ||||
"Unicode." | ||||
| | @ -1129,11 +1128,11 @@ msgstr "" | |||
"Cette section fournit quelques suggestions sur l'écriture de logiciels qui " | ||||
"traitent de l'Unicode." | ||||
| ||||
#: ../Doc/howto/unicode.rst:669 | ||||
#: howto/unicode.rst:669 | ||||
msgid "The most important tip is:" | ||||
msgstr "Le conseil le plus important est :" | ||||
| ||||
#: ../Doc/howto/unicode.rst:671 | ||||
#: howto/unicode.rst:671 | ||||
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." | ||||
| | @ -1142,7 +1141,7 @@ msgstr "" | |||
"décodant les données d'entrée dès que possible et encodant la sortie " | ||||
"uniquement à la fin." | ||||
| ||||
#: ../Doc/howto/unicode.rst:674 | ||||
#: howto/unicode.rst:674 | ||||
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 " | ||||
| | @ -1157,7 +1156,7 @@ msgstr "" | |||
"automatique : si vous faites par exemple ``str + octets``, une :exc:" | ||||
"`TypeError` est levée." | ||||
| ||||
#: ../Doc/howto/unicode.rst:679 | ||||
#: howto/unicode.rst:679 | ||||
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 " | ||||
| | @ -1180,11 +1179,11 @@ msgstr "" | |||
"choisir un moyen intelligent de cacher du texte malveillant dans le flux de " | ||||
"données encodé." | ||||
| ||||
#: ../Doc/howto/unicode.rst:690 | ||||
#: howto/unicode.rst:690 | ||||
msgid "Converting Between File Encodings" | ||||
msgstr "Conversion entre les encodages de fichiers" | ||||
| ||||
#: ../Doc/howto/unicode.rst:692 | ||||
#: howto/unicode.rst:692 | ||||
msgid "" | ||||
"The :class:`~codecs.StreamRecoder` class can transparently convert between " | ||||
"encodings, taking a stream that returns data in encoding #1 and behaving " | ||||
| | @ -1195,7 +1194,7 @@ msgstr "" | |||
"dans l'encodage #1, elle se comporte comme un flux qui renvoie des données " | ||||
"dans l'encodage #2." | ||||
| ||||
#: ../Doc/howto/unicode.rst:696 | ||||
#: howto/unicode.rst:696 | ||||
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::" | ||||
| | @ -1204,11 +1203,11 @@ msgstr "" | |||
"pouvez l'encapsuler dans un :class:`~codecs.StreamRecoder` pour qu'il " | ||||
"renvoie des octets encodés en UTF-8 ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:710 | ||||
#: howto/unicode.rst:710 | ||||
msgid "Files in an Unknown Encoding" | ||||
msgstr "Fichiers dans un encodage inconnu" | ||||
| ||||
#: ../Doc/howto/unicode.rst:712 | ||||
#: howto/unicode.rst:712 | ||||
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 " | ||||
| | @ -1220,7 +1219,7 @@ msgstr "" | |||
"voulez seulement examiner ou modifier les parties ASCII, vous pouvez ouvrir " | ||||
"le fichier avec le gestionnaire d'erreurs ``surrogateescape`` ::" | ||||
| ||||
#: ../Doc/howto/unicode.rst:726 | ||||
#: howto/unicode.rst:726 | ||||
msgid "" | ||||
"The ``surrogateescape`` error handler will decode any non-ASCII bytes as " | ||||
"code points in a special range running from U+DC80 to U+DCFF. These code " | ||||
| | @ -1233,7 +1232,7 @@ msgstr "" | |||
"gestionnaire d'erreurs ``surrogateescape`` est utilisé pour encoder les " | ||||
"données et les réécrire." | ||||
| ||||
#: ../Doc/howto/unicode.rst:736 | ||||
#: howto/unicode.rst:736 | ||||
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 " | ||||
| | @ -1244,7 +1243,7 @@ msgstr "" | |||
"donnée lors de *PyCon* 2010 de David Beazley, parle du traitement de texte " | ||||
"et du traitement des données binaires." | ||||
| ||||
#: ../Doc/howto/unicode.rst:740 | ||||
#: howto/unicode.rst:740 | ||||
msgid "" | ||||
"The `PDF slides for Marc-André Lemburg's presentation \"Writing Unicode-" | ||||
"aware Applications in Python\" <https://downloads.egenix.com/python/LSM2005-" | ||||
| | @ -1259,7 +1258,7 @@ msgstr "" | |||
"l'internationalisation et de la localisation d'une application. Ces " | ||||
"diapositives ne couvrent que Python 2.x." | ||||
| ||||
#: ../Doc/howto/unicode.rst:746 | ||||
#: howto/unicode.rst:746 | ||||
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 " | ||||
| | @ -1270,11 +1269,11 @@ msgstr "" | |||
"donnée par Benjamin Peterson qui traite de la représentation interne Unicode " | ||||
"en Python 3.3." | ||||
| ||||
#: ../Doc/howto/unicode.rst:753 | ||||
#: howto/unicode.rst:753 | ||||
msgid "Acknowledgements" | ||||
msgstr "Remerciements" | ||||
| ||||
#: ../Doc/howto/unicode.rst:755 | ||||
#: howto/unicode.rst:755 | ||||
msgid "" | ||||
"The initial draft of this document was written by Andrew Kuchling. It has " | ||||
"since been revised further by Alexander Belopolsky, Georg Brandl, Andrew " | ||||
| | @ -1284,7 +1283,7 @@ msgstr "" | |||
"depuis été révisé par Alexander Belopolsky, Georg Brandl, Andrew Kuchling et " | ||||
"Ezio Melotti." | ||||
| ||||
#: ../Doc/howto/unicode.rst:759 | ||||
#: howto/unicode.rst:759 | ||||
msgid "" | ||||
"Thanks to the following people who have noted errors or offered suggestions " | ||||
"on this article: Éric Araujo, Nicholas Bastin, Nick Coghlan, Marius " | ||||
| | | |||
170 howto/urllib2.po
170
howto/urllib2.po | | @ -14,46 +14,46 @@ msgstr "" | |||
"Content-Type: text/plain; charset=UTF-8\n" | ||||
"Content-Transfer-Encoding: 8bit\n" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:5 | ||||
#: howto/urllib2.rst:5 | ||||
msgid "HOWTO Fetch Internet Resources Using The urllib Package" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:0 | ||||
#: howto/urllib2.rst:0 | ||||
msgid "Author" | ||||
msgstr "Auteur" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:7 | ||||
#: howto/urllib2.rst:7 | ||||
msgid "`Michael Foord <http://www.voidspace.org.uk/python/index.shtml>`_" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:11 | ||||
#: howto/urllib2.rst:11 | ||||
msgid "" | ||||
"There is a French translation of an earlier revision of this HOWTO, " | ||||
"available at `urllib2 - Le Manuel manquant <http://www.voidspace.org.uk/" | ||||
"python/articles/urllib2_francais.shtml>`_." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:18 | ||||
#: howto/urllib2.rst:18 | ||||
msgid "Introduction" | ||||
msgstr "Introduction" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:22 | ||||
#: howto/urllib2.rst:22 | ||||
msgid "" | ||||
"You may also find useful the following article on fetching web resources " | ||||
"with Python:" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:25 | ||||
#: howto/urllib2.rst:25 | ||||
msgid "" | ||||
"`Basic Authentication <http://www.voidspace.org.uk/python/articles/" | ||||
"authentication.shtml>`_" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:27 | ||||
#: howto/urllib2.rst:27 | ||||
msgid "A tutorial on *Basic Authentication*, with examples in Python." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:29 | ||||
#: howto/urllib2.rst:29 | ||||
msgid "" | ||||
"**urllib.request** is a Python module for fetching URLs (Uniform Resource " | ||||
"Locators). It offers a very simple interface, in the form of the *urlopen* " | ||||
| | @ -63,7 +63,7 @@ msgid "" | |||
"These are provided by objects called handlers and openers." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:36 | ||||
#: howto/urllib2.rst:36 | ||||
msgid "" | ||||
"urllib.request supports fetching URLs for many \"URL schemes\" (identified " | ||||
"by the string before the ``\":\"`` in URL - for example ``\"ftp\"`` is the " | ||||
| | @ -72,7 +72,7 @@ msgid "" | |||
"HTTP." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:41 | ||||
#: howto/urllib2.rst:41 | ||||
msgid "" | ||||
"For straightforward situations *urlopen* is very easy to use. But as soon as " | ||||
"you encounter errors or non-trivial cases when opening HTTP URLs, you will " | ||||
| | @ -84,22 +84,22 @@ msgid "" | |||
"is supplementary to them." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:51 | ||||
#: howto/urllib2.rst:51 | ||||
msgid "Fetching URLs" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:53 | ||||
#: howto/urllib2.rst:53 | ||||
msgid "The simplest way to use urllib.request is as follows::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:59 | ||||
#: 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:`shutil.copyfileobj` and :func:" | ||||
"`tempfile.NamedTemporaryFile` functions::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:74 | ||||
#: 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, " | ||||
| | @ -107,7 +107,7 @@ msgid "" | |||
"concentrating on HTTP." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:79 | ||||
#: 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`` " | ||||
| | @ -118,13 +118,13 @@ msgid "" | |||
"for example call ``.read()`` on the response::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:93 | ||||
#: 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:98 | ||||
#: 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 " | ||||
| | @ -133,11 +133,11 @@ msgid "" | |||
"\". Let's look at each of these in turn." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:105 | ||||
#: howto/urllib2.rst:105 | ||||
msgid "Data" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:107 | ||||
#: 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 " | ||||
| | @ -150,14 +150,14 @@ msgid "" | |||
"function from the :mod:`urllib.parse` library. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:131 | ||||
#: 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:136 | ||||
#: 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 " | ||||
| | @ -170,27 +170,27 @@ msgid "" | |||
"be passed in an HTTP GET request by encoding it in the URL itself." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:146 | ||||
#: howto/urllib2.rst:146 | ||||
msgid "This is done as follows::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:161 | ||||
#: 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:165 | ||||
#: howto/urllib2.rst:165 | ||||
msgid "Headers" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:167 | ||||
#: 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:170 | ||||
#: 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 " | ||||
| | @ -203,39 +203,39 @@ msgid "" | |||
"Explorer [#]_. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:197 | ||||
#: 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:202 | ||||
#: howto/urllib2.rst:202 | ||||
msgid "Handling Exceptions" | ||||
msgstr "Gestion des exceptions" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:204 | ||||
#: 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:208 | ||||
#: 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:211 | ||||
#: howto/urllib2.rst:211 | ||||
msgid "The exception classes are exported from the :mod:`urllib.error` module." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:214 | ||||
#: howto/urllib2.rst:214 | ||||
msgid "URLError" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:216 | ||||
#: 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 " | ||||
| | @ -243,15 +243,15 @@ msgid "" | |||
"containing an error code and a text error message." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:221 | ||||
#: howto/urllib2.rst:221 | ||||
msgid "e.g. ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:232 | ||||
#: howto/urllib2.rst:232 | ||||
msgid "HTTPError" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:234 | ||||
#: 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 " | ||||
| | @ -263,36 +263,36 @@ msgid "" | |||
"'401' (authentication required)." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:242 | ||||
#: 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:244 | ||||
#: 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:248 | ||||
#: howto/urllib2.rst:248 | ||||
msgid "Error Codes" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:250 | ||||
#: 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:254 | ||||
#: 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:326 | ||||
#: 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 " | ||||
| | @ -301,42 +301,42 @@ msgid "" | |||
"module::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:346 | ||||
#: howto/urllib2.rst:346 | ||||
msgid "Wrapping it Up" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:348 | ||||
#: 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:352 | ||||
#: howto/urllib2.rst:352 | ||||
msgid "Number 1" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:374 | ||||
#: 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:378 | ||||
#: howto/urllib2.rst:378 | ||||
msgid "Number 2" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:399 | ||||
#: howto/urllib2.rst:399 | ||||
msgid "info and geturl" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:401 | ||||
#: 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:405 | ||||
#: 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 " | ||||
| | @ -344,14 +344,14 @@ msgid "" | |||
"requested." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:409 | ||||
#: 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:413 | ||||
#: howto/urllib2.rst:413 | ||||
msgid "" | ||||
"Typical headers include 'Content-length', 'Content-type', and so on. See the " | ||||
"`Quick Reference to HTTP Headers <http://jkorpela.fi/http.html>`_ for a " | ||||
| | @ -359,11 +359,11 @@ msgid "" | |||
"use." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:420 | ||||
#: howto/urllib2.rst:420 | ||||
msgid "Openers and Handlers" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:422 | ||||
#: 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 " | ||||
| | @ -374,20 +374,20 @@ msgid "" | |||
"HTTP redirections or HTTP cookies." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:430 | ||||
#: 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:434 | ||||
#: 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:437 | ||||
#: 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`` " | ||||
| | @ -395,31 +395,31 @@ msgid "" | |||
"or override the default handlers." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:442 | ||||
#: 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:445 | ||||
#: 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:449 | ||||
#: 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:455 | ||||
#: howto/urllib2.rst:455 | ||||
msgid "Basic Authentication" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:457 | ||||
#: 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 -- " | ||||
| | @ -428,7 +428,7 @@ msgid "" | |||
"authentication.shtml>`_." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:463 | ||||
#: 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 " | ||||
| | @ -436,11 +436,11 @@ msgid "" | |||
"Authenticate: SCHEME realm=\"REALM\"``." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:468 | ||||
#: howto/urllib2.rst:468 | ||||
msgid "e.g." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:475 | ||||
#: 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 " | ||||
| | @ -448,7 +448,7 @@ msgid "" | |||
"of ``HTTPBasicAuthHandler`` and an opener to use this handler." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:480 | ||||
#: 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 " | ||||
| | @ -461,13 +461,13 @@ msgid "" | |||
"by providing ``None`` as the realm argument to the ``add_password`` method." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:490 | ||||
#: 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:515 | ||||
#: 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 " | ||||
| | @ -477,7 +477,7 @@ msgid "" | |||
"``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:522 | ||||
#: 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. ``" | ||||
| | @ -488,11 +488,11 @@ msgid "" | |||
"example ``\"joe:password@example.com\"`` is not correct." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:532 | ||||
#: howto/urllib2.rst:532 | ||||
msgid "Proxies" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:534 | ||||
#: 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 " | ||||
| | @ -502,30 +502,30 @@ msgid "" | |||
"similar steps to setting up a `Basic Authentication`_ handler: ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:547 | ||||
#: 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:553 | ||||
#: 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:558 | ||||
#: howto/urllib2.rst:558 | ||||
msgid "Sockets and Layers" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:560 | ||||
#: 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:563 | ||||
#: 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 " | ||||
| | @ -535,38 +535,38 @@ msgid "" | |||
"sockets using ::" | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:586 | ||||
#: howto/urllib2.rst:586 | ||||
msgid "Footnotes" | ||||
msgstr "Notes" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:588 | ||||
#: howto/urllib2.rst:588 | ||||
msgid "This document was reviewed and revised by John Lee." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:590 | ||||
#: howto/urllib2.rst:590 | ||||
msgid "Google for example." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:591 | ||||
#: 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:594 | ||||
#: 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:596 | ||||
#: howto/urllib2.rst:596 | ||||
msgid "" | ||||
"For details of more HTTP request headers, see `Quick Reference to HTTP " | ||||
"Headers`_." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:598 | ||||
#: 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 " | ||||
| | @ -574,7 +574,7 @@ msgid "" | |||
"with a localhost server, I have to prevent urllib from using the proxy." | ||||
msgstr "" | ||||
| ||||
#: ../Doc/howto/urllib2.rst:603 | ||||
#: howto/urllib2.rst:603 | ||||
msgid "" | ||||
"urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe <https://" | ||||
"code.activestate.com/recipes/456195/>`_." | ||||
| | | |||
Loading…
Add table
Add a link
Reference in a new issue