Propagating translations to older versions.

This commit is contained in:
Julien Palard 2016-01-20 22:36:22 +01:00
parent 043a92ea08
commit 99f572c9f5
5 changed files with 314 additions and 29 deletions

View File

@ -75,6 +75,11 @@ msgid ""
"detector's set of observed objects. Other fields of the object are not "
"affected."
msgstr ""
"Permet d'initialiser un objet *op* nouvellement alloué ainsi que son type et "
"sa référence initiale. Retourne l'objet initialisé. La présence de *type* "
"indique que l'objet doit être traité par le détecteur d'ordures cycliques, "
"il est de ce fait ajouté à l'ensemble du détecteur d'objets observés. Les "
"autres champs de l'objet ne sont pas affectés."
#: c-api/allocation.rst:33
msgid ""
@ -6543,6 +6548,9 @@ msgid ""
"standard headers on some systems, you *must* include :file:`Python.h` before "
"any standard headers are included."
msgstr ""
"Python pouvant définir certaines définitions pré-processeur qui affectent "
"les têtes standard sur certains systèmes, vous *devez* inclure :file:`Python."
"h` avant les en-têtes standards."
#: c-api/intro.rst:53
msgid ""

View File

@ -302,6 +302,17 @@ msgid ""
"which saves you the trouble of allocating memory space and loading the file "
"contents."
msgstr ""
"La fonction :c:func:`Py_SetProgramName` devrait être appelée avant :c:func:"
"`Py_Initialize` pour informer l'interpréteur des chemins vers les "
"bibliothèque Python. Ensuite, l'interpréteur Python est initialisé avec :c:"
"func:`Py_Initialize`, suivi par l'exécution d'un script Python, codé en dur, "
"qui affiche la date et l'heure. Ensuite, l'interpréteur est arrêté par un "
"appel à :c:func:`Py_Finalize`, puis le programme se termine. Dans un vrai "
"programme, vous voudrez peut-être obtenir le script Python d'une autre "
"source, peut-être d'une fonction d'un éditeur de texte, un fichier ou une "
"base de données. Obtenir le code Python à partir d'un fichier se fait plus "
"aisément avec :c:func:`PyRun_SimpleFile`,ce qui vous évite d'avoir à allouer "
"la mémoire et d'y charger le contenu du fichier."
#: extending/embedding.rst:87
msgid "Beyond Very High Level Embedding: An overview"
@ -493,6 +504,15 @@ msgid ""
"and write some glue code that gives Python access to those routines, just "
"like you would write a normal Python extension. For example::"
msgstr ""
"Jusqu'à présent, l'interpréteur Python intégré n'avait pas accès aux "
"fonctionnalités de l'application elle-même. L'API Python le permet en "
"étendant l'interpréteur intégré. Autrement dit, l'interpréteur intégré est "
"étendu avec des fonctions fournies par l'application. Bien que cela puisse "
"sembler complexe, ce n'est pas si dur. Il suffit d'oublier que l'application "
"démarre l'interpréteur Python, au lieu de cela, voyez l'application comme un "
"ensemble de fonctions, et rédigez un peu de code pour exposer ces fonctions "
"à Python, tout comme vous écririez une extension Python normale. Par "
"exemple ::"
#: extending/embedding.rst:226
msgid ""
@ -600,6 +620,15 @@ msgid ""
"extract the configuration values that you will want to combine together. "
"For example:"
msgstr ""
"Si cette procédure ne fonctionne pas pour vous (il n'est pas garanti "
"qu'ellefonctionne pour toutes les plateformes Unix, mais nous traiteront "
"volontiers les :ref: `rapports de bugs <reporting-bugs>`), vous devrez lire "
"ladocumentation de votre système sur la liaison dynamique (*dynamic "
"linking*) et / ouexaminer le :file:`Makefile` de Python (utilisez :func:"
"`sysconfig.get_makefile_filename` pour trouver son emplacement) et les "
"options de compilation. Dans ce cas, le module :mod:`sysconfig` est un outil "
"utile pour extraire automatiquement les valeurs de configuration que vous "
"voudrez combiner ensemble. Par example :"
#: extending/extending.rst:8
msgid "Extending Python with C or C++"
@ -625,12 +654,19 @@ msgid ""
"aspects of the Python run-time system. The Python API is incorporated in a "
"C source file by including the header ``\"Python.h\"``."
msgstr ""
"Pour gérer les extensions, l'API Python (*Application Programmer Interface*) "
"définit un ensemble de fonctions, macros et variables qui donnent accès à la "
"plupart des aspects du système d'exécution de Python. L'API Python est "
"incorporée dans un fichier source C en incluant l'en-tête ``\"Python.h\"``."
#: extending/extending.rst:20
msgid ""
"The compilation of an extension module depends on its intended use as well "
"as on your system setup; details are given in later chapters."
msgstr ""
"La compilation d'un module d'extension dépend de l'usage prévu et de la "
"configuration du système, plus de détails peuvent être trouvés dans les "
"chapitres suivants."
#: extending/extending.rst:25
msgid ""
@ -644,6 +680,17 @@ msgid ""
"with C code and are more portable between implementations of Python than "
"writing and compiling a C extension module."
msgstr ""
"L'interface d'extension C est spécifique à CPython, et les modules "
"d'extension ne fonctionne pas sur les autres implémentations de Python. Dans "
"de nombreux cas, il est possible d'éviter la rédaction des extensions en C "
"et ainsi préserver la portabilité vers d'autres implémentations. Par "
"exemple, si vous devez appeler une fonction de la bibliothèque C ou faire un "
"appel système, vous devriez envisager d'utiliser le module :mod:`ctypes` ou "
"d'utiliser la bibliothèque `CFFI <http://cffi.readthedocs.org>`_ plutôt que "
"d'écrire du code C sur mesure. Ces modules vous permettent d'écrire du code "
"Python s'interfaçant avec le code C et sont plus portables entre les "
"implémentations de Python que l'écriture et la compilation d'une d'extension "
"C."
#: extending/extending.rst:39
#, fuzzy
@ -658,6 +705,12 @@ msgid ""
"terminated character string as argument and returns an integer. We want "
"this function to be callable from Python as follows::"
msgstr ""
"Créons un module d'extension appelé ``spam`` (la nourriture préférée de fans "
"des Monty Python ...) et disons que nous voulons créer une interface Python "
"à la fonction de la bibliothèque C :c:func:`system`. [#] _ Cette fonction "
"prend une chaîne de caractères terminée par NULL comme argument et renvoie "
"un entier. Nous voulons que cette fonction soit appelable à partir de Python "
"comme suit ::"
#: extending/extending.rst:50
msgid ""
@ -666,6 +719,10 @@ msgid ""
"`spammodule.c`; if the module name is very long, like ``spammify``, the "
"module name can be just :file:`spammify.c`.)"
msgstr ""
"Commencez par créer un fichier :file:`spammodule.c`. (Historiquement, si un "
"module se nomme ``spam``, le fichier C contenant son implémentation est "
"appelé :file:`spammodule.c`. Si le nom du module est très long, comme "
"``spammify``, le nom du module peut être juste :file: `spammify.c`.)"
#: extending/extending.rst:55
#, fuzzy
@ -677,6 +734,8 @@ msgid ""
"which pulls in the Python API (you can add a comment describing the purpose "
"of the module and a copyright notice if you like)."
msgstr ""
"qui récupère l'API Python (vous pouvez ajouter un commentaire décrivant le "
"but du module et un avis de droit d'auteur si vous le souhaitez)."
#: extending/extending.rst:64
msgid ""
@ -684,6 +743,9 @@ msgid ""
"standard headers on some systems, you *must* include :file:`Python.h` before "
"any standard headers are included."
msgstr ""
"Python pouvant définir certaines définitions pré-processeur qui affectent "
"les têtes standard sur certains systèmes, vous *devez* inclure :file:`Python."
"h` avant les en-têtes standards."
#: extending/extending.rst:68
msgid ""
@ -695,6 +757,13 @@ msgid ""
"on your system, it declares the functions :c:func:`malloc`, :c:func:`free` "
"and :c:func:`realloc` directly."
msgstr ""
"Tous les symboles exposés par:file:`Python.h` sont préfixés de ``Py`` ou "
"``PY``, sauf ceux qui sont définis dans les en-têtes standard. Pour le "
"confort, et comme ils sont largement utilisés par l'interpréteur Python, ``"
"\"Python.h\"`` inclu lui même quelques d'en-têtes standard : ``<stdio.h>``, "
"``<string.h>``, ``<errno.h>`` et ``<stdlib.h>``. Si ce dernier n'existe pas "
"sur votre système, il déclare les fonctions :c:func:`malloc`, :c:func:`free` "
"et :c:func:`realloc` directement."
#: extending/extending.rst:76
msgid ""
@ -702,6 +771,10 @@ msgid ""
"called when the Python expression ``spam.system(string)`` is evaluated "
"(we'll see shortly how it ends up being called)::"
msgstr ""
"La prochaine chose que nous ajoutons à notre fichier de module est la "
"fonction C qui sera appelée lorsque l'expression Python ``spam."
"system(chaîne)`` sera évaluée (nous verrons bientôt comment elle finit par "
"être appelée) ::"
#: extending/extending.rst:92
msgid ""
@ -710,6 +783,10 @@ msgid ""
"C function. The C function always has two arguments, conventionally named "
"*self* and *args*."
msgstr ""
"Il ya une correspondance directe de la liste des arguments en Python (par "
"exemple, l'expression ``\"ls -l\"``) aux arguments passés à la fonction C. "
"La fonction C a toujours deux arguments, appelés par convention *self* et "
"*args*."
#: extending/extending.rst:97
msgid ""
@ -729,6 +806,15 @@ msgid ""
"determine the required types of the arguments as well as the types of the C "
"variables into which to store the converted values. More about this later."
msgstr ""
"L'argument *args* sera un pointeur vers un *tuple* Python contenant les "
"arguments. Chaque élément du *tuple* correspond à un argument dans la liste "
"des arguments de l'appel. Les arguments sont des objets Python --- afin d'en "
"faire quelque chose dans notre fonction C, nous devons les convertir en "
"valeurs C. La fonction :c:func:`PyArg_ParseTuple` de l'API Python vérifie "
"les types des arguments et les convertit en valeurs C. Elle utilise un "
"modèle sous forme de chaîne pour déterminer les types requis des arguments "
"ainsi que les types de variables C dans lequel stocker les valeurs "
"converties. Nous en verront plus, plus tard."
#: extending/extending.rst:110
msgid ""
@ -739,10 +825,16 @@ msgid ""
"the calling function can return *NULL* immediately (as we saw in the "
"example)."
msgstr ""
":c:func:`PyArg_ParseTuple` renvoie vrai (pas zéro) si tous les arguments ont "
"le bon type et que ses composants ont été stockés dans les variables dont "
"les adresses données. Il retourne faux (zéro) si une liste d'arguments "
"invalide a été passée. Dans ce dernier cas, elle soulève également une "
"exception appropriée de sorte que la fonction d'appel puisse retourner "
"*NULL* immédiatement (comme nous l'avons vu dans l'exemple)."
#: extending/extending.rst:120
msgid "Intermezzo: Errors and Exceptions"
msgstr ""
msgstr "Intermezzo: Les Erreurs et Exceptions"
#: extending/extending.rst:122
msgid ""
@ -764,6 +856,8 @@ msgid ""
"The Python API defines a number of functions to set various types of "
"exceptions."
msgstr ""
"L'API Python définit un certain nombre de fonctions pour créer différents "
"types d'exceptions."
#: extending/extending.rst:136
msgid ""
@ -773,6 +867,11 @@ msgid ""
"indicates the cause of the error and is converted to a Python string object "
"and stored as the \"associated value\" of the exception."
msgstr ""
"La plus courante est :c:func:`PyErr_SetString`. Ses arguments sont un objet "
"exception et une chaîne C. L'objet exception est généralement un objet "
"prédéfini comme :c:data:`PyExc_ZeroDivisionError`. La chaîne C indique la "
"cause de l'erreur et est convertie en une chaîne Python puis stockée en tant "
"que \"valeur associée\" à l'exception."
#: extending/extending.rst:142
msgid ""
@ -783,6 +882,11 @@ msgid ""
"associated value. You don't need to :c:func:`Py_INCREF` the objects passed "
"to any of these functions."
msgstr ""
"Une autre fonction utile est :c:func:`PyErr_SetFromErrno`, qui construit une "
"exception à partir de la valeur de la variable globale :c:data:`errno`. La "
"fonction la plus générale est :c:func: `PyErr_SetObject`, qui prend deux "
"arguments: l'exception et sa valeur associée. Vous ne devez pas appliquer :c:"
"func:`Py_INCREF` aux objets transmis à ces fonctions."
#: extending/extending.rst:149
msgid ""
@ -792,6 +896,12 @@ msgid ""
"`PyErr_Occurred` to see whether an error occurred in a function call, since "
"you should be able to tell from the return value."
msgstr ""
"Vous pouvez tester de manière non destructive si une exception a été levée "
"avec :c:func:`PyErr_Occurred`. Cela renvoie l'objet exception actuel, ou "
"*NULL* si aucune exception n'a eu lieu. Cependant, vous ne devriez pas avoir "
"besoin d'appeler :c:func:`PyErr_Occurred` pour voir si une erreur est "
"survenue durant l'appel d'une fonction, puisque vous devriez être en mesure "
"de le déterminer à partir de la valeur de retour."
#: extending/extending.rst:155
msgid ""
@ -806,6 +916,17 @@ msgid ""
"code and tries to find an exception handler specified by the Python "
"programmer."
msgstr ""
"lorsqu'une fonction *f* ayant appelé une autre fonction *g* détecte que "
"cette dernière a échoué, *f* devrait donner une valeur d'erreur à son tour "
"(habituellement *NULL* ou ``-1``). *f* ne devrait *pas* appeler l'une des "
"fonctions :c:func:`PyErr_\\*`, l'une d'elles ayant déjà été appelée par *g*. "
"La fonction appelant *f* est alors censée retourner aussi un code d'erreur à "
"celle qui la appelée, toujours sans utiliser :c:func:`PyErr_\\*`, et ainsi "
"de suite. La cause la plus détaillée de l'erreur a déjà été signalée par la "
"fonction l'ayant détectée en premier. Une fois l'erreur remontée à la boucle "
"principale de l'interpréteur Python, il interrompt le code en cours "
"d'exécution et essaie de trouver un gestionnaire d'exception spécifié par le "
"développeur Python."
#: extending/extending.rst:165
msgid ""
@ -815,6 +936,12 @@ msgid ""
"can cause information about the cause of the error to be lost: most "
"operations can fail for a variety of reasons.)"
msgstr ""
"(Il ya des situations où un module peut effectivement donner un message "
"d'erreur plus détaillé en appelant une autre fonction :c:func:`PyErr_\\*`, "
"dans de tels cas, c'est tout à fait possible de le faire. Cependant, ce "
"n'est généralement pas nécessaire, et peut amener à perdre des informations "
"sur la cause de l'erreur: la plupart des opérations peuvent échouer pour "
"tout un tas de raisons)."
#: extending/extending.rst:171
msgid ""
@ -824,6 +951,12 @@ msgid ""
"pass the error on to the interpreter but wants to handle it completely by "
"itself (possibly by trying something else, or pretending nothing went wrong)."
msgstr ""
"Pour ignorer une exception qui aurait été émise lors d'un un appel de "
"fonction qui aurait échoué, l'exception doit être retirée explicitement en "
"appelant :c:func:`PyErr_Clear`. Le seul cas pour lequel du code C devrait "
"appeler :c:func:`PyErr_Clear` est lorsqu'il ne veut pas passer l'erreur à "
"l'interpréteur, mais souhaite la gérer lui-même (peut-être en essayant "
"quelque chose d'autre, ou de prétendre rien a mal tourné)."
#: extending/extending.rst:177
msgid ""
@ -841,6 +974,10 @@ msgid ""
"positive value or zero for success and ``-1`` for failure, like Unix system "
"calls."
msgstr ""
"Notez également que, à l'exception notable de :c:func:`PyArg_ParseTuple` et "
"compagnie, les fonctions qui renvoient leur statut sous forme d'entier "
"donnent généralement une valeur positive ou zéro en cas de succès et ``-1`` "
"en cas d'échec, comme les appels système Unix."
#: extending/extending.rst:187
msgid ""
@ -848,6 +985,9 @@ msgid ""
"c:func:`Py_DECREF` calls for objects you have already created) when you "
"return an error indicator!"
msgstr ""
"Enfin, lorsque vous renvoyez un code d'erreur, n'oubliez pas faire un brin "
"de nettoyage (en appelant :c:func:`Py_XDECREF` ou :c: func:` Py_DECREF` avec "
"les objets que vous auriez déjà créé) !"
#: extending/extending.rst:191
msgid ""
@ -861,12 +1001,25 @@ msgid ""
"you have an argument whose value must be in a particular range or must "
"satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate."
msgstr ""
"Le choix de l'exception à lever vous incombe. Il existe des objets C "
"correspondant à chaque exception Python, tel que :c:data:"
"`PyExc_ZeroDivisionError`, que vous pouvez utiliser directement. Choisissez "
"judicieusement vos exceptions, typiquement n'utilisez pas :c:data:"
"`PyExc_TypeError` pour indiquer qu'un fichier n'a pas pu être ouvert (qui "
"devrait probablement être :c:data:`PyExc_IOError`). Si quelque chose ne va "
"pas avec la liste d'arguments, la fonction :c:func:`PyArg_ParseTuple` "
"soulève habituellement une exception :c:data:`PyExc_TypeError`. Mais si vous "
"avez un argument dont la valeur doit être dans une intervalle particulière "
"ou qui doit satisfaire d'autres conditions, :c:data:`PyExc_ValueError` sera "
"plus appropriée."
#: extending/extending.rst:201
msgid ""
"You can also define a new exception that is unique to your module. For this, "
"you usually declare a static object variable at the beginning of your file::"
msgstr ""
"Vous pouvez également créer une exception spécifique à votre module. Pour "
"cela, déclarez simplement une variable statique au début de votre fichier ::"
#: extending/extending.rst:206
msgid ""
@ -882,6 +1035,10 @@ msgid ""
"class being :exc:`Exception` (unless another class is passed in instead of "
"*NULL*), described in :ref:`bltin-exceptions`."
msgstr ""
"Notez que le nom de exception, côté Python, est :exc:`spam.error`. La "
"fonction :c:func:`PyErr_NewException` peut créer une classe héritant de :exc:"
"`Exception` (à moins qu'une autre classe ne lui soit fournie à la place de "
"*NULL*), voir :ref:`bltin-exceptions`."
#: extending/extending.rst:228
msgid ""

92
faq.po
View File

@ -562,7 +562,7 @@ msgstr ""
#: faq/design.rst:298
msgid "How fast are exceptions?"
msgstr ""
msgstr "À quel point les exceptions sont-elles rapides ?"
#: faq/design.rst:300
msgid ""
@ -570,12 +570,19 @@ msgid ""
"Actually catching an exception is expensive. In versions of Python prior to "
"2.0 it was common to use this idiom::"
msgstr ""
"Un bloc try/except est extrêmement efficient tant qu'aucune exception ne "
"sont levée. En effet, intercepter une exception s'avère coûteux. Dans les "
"versions de précédant Python 2.0, il était courant d'utiliser cette "
"pratique::"
#: faq/design.rst:310
msgid ""
"This only made sense when you expected the dict to have the key almost all "
"the time. If that wasn't the case, you coded it like this::"
msgstr ""
"Cela n'a de sens que si vous vous attendez à ce que le dictionnaire ait la "
"clé presque tout le temps. Si ce n'était pas le cas, vous l'auriez codé "
"comme suit ::"
#: faq/design.rst:320
msgid ""
@ -586,6 +593,8 @@ msgstr ""
#: faq/design.rst:325
msgid "Why isn't there a switch or case statement in Python?"
msgstr ""
"Pourquoi n'y a-t-il pas une instruction *switch* ou une structure similaire "
"à *switch / case* en Python ?"
#: faq/design.rst:327
msgid ""
@ -594,6 +603,10 @@ msgid ""
"there is no consensus (yet) on whether and how to do range tests. See :pep:"
"`275` for complete details and the current status."
msgstr ""
"Vous pouvez le faire assez facilement avec une séquence de ``if... elif... "
"elif... else``. Il y a eu quelques propositions pour la syntaxe de "
"l'instruction switch, mais il n'y a pas (encore) de consensus sur le cas des "
"intervalles. Voir la :pep:`275` pour tous les détails et l'état actuel."
#: faq/design.rst:332
msgid ""
@ -601,12 +614,18 @@ msgid ""
"possibilities, you can create a dictionary mapping case values to functions "
"to call. For example::"
msgstr ""
"Dans les cas où vous devez choisir parmi un très grand nombre de "
"possibilités, vous pouvez créer un dictionnaire faisant correspondre des "
"valeurs à des fonctions à appeler. Par exemple ::"
#: faq/design.rst:346
msgid ""
"For calling methods on objects, you can simplify yet further by using the :"
"func:`getattr` built-in to retrieve methods with a particular name::"
msgstr ""
"Pour appeler les méthodes sur des objets, vous pouvez simplifier davantage "
"en utilisant la fonction native :func:`getattr` pour récupérer les méthodes "
"avec un nom donné ::"
#: faq/design.rst:358
msgid ""
@ -615,12 +634,18 @@ msgid ""
"from an untrusted source, an attacker would be able to call any method on "
"your object."
msgstr ""
"Il est suggéré que vous utilisiez un préfixe pour les noms de méthodes, "
"telles que ``visit_`` dans cet exemple. Sans ce préfixe, si les valeurs "
"proviennent d'une source non fiable, un attaquant serait en mesure d'appeler "
"n'importe quelle méthode sur votre objet."
#: faq/design.rst:364
msgid ""
"Can't you emulate threads in the interpreter instead of relying on an OS-"
"specific thread implementation?"
msgstr ""
"Est-il possible d'émuler des *threads* dans l'interpréteur plutôt que se "
"baser sur les implémentations spécifique aux OS ?"
#: faq/design.rst:366
msgid ""
@ -629,6 +654,11 @@ msgid ""
"almost random moments. Therefore, a complete threads implementation "
"requires thread support for C."
msgstr ""
"Réponse 1: Malheureusement, l'interpréteur pousse au moins un block de pile "
"C (*stack frame*) pour chaque bloc de pile de Python. Aussi, les extensions "
"peuvent rappeler dans Python à presque n'importe quel moment. Par "
"conséquent, une implémentation complète des *thread* nécessiterai un support "
"complet en C."
#: faq/design.rst:371
msgid ""
@ -636,10 +666,14 @@ msgid ""
"com>`_, which has a completely redesigned interpreter loop that avoids the C "
"stack."
msgstr ""
"Réponse 2: Heureusement, il existe `Stackless Python <d'http://www.stackless."
"com>`_, qui à complètement ré-architecturé la boucle principale de "
"l'interpréteur afin de ne pas utiliser la pile C."
#: faq/design.rst:376
msgid "Why can't lambda expressions contain statements?"
msgstr ""
"Pourquoi les expressions lambda ne peuvent pas contenir d'instructions ?"
#: faq/design.rst:378
msgid ""
@ -649,6 +683,13 @@ msgid ""
"other languages, where they add functionality, Python lambdas are only a "
"shorthand notation if you're too lazy to define a function."
msgstr ""
"Les expressions lambda de Python ne peuvent pas contenir d'instructions "
"parce que le cadre syntaxique de Python ne peut pas gérer les instructions "
"imbriquées à l'intérieur d'expressions. Cependant, en Python, ce n'est pas "
"vraiment un problème. Contrairement aux formes lambda dans d'autres "
"langages, où elles ajoutent des fonctionnalités, les expressions lambda de "
"Python sont seulement une notation concise si vous êtes trop paresseux pour "
"définir une fonction."
#: faq/design.rst:384
msgid ""
@ -659,10 +700,17 @@ msgid ""
"(which is exactly the same type of object that a lambda expression yields) "
"is assigned!"
msgstr ""
"Les fonctions sont déjà des objets de première classe en Python et peuvent "
"être déclarées dans une portée locale. L'unique avantage d'utiliser une "
"fonction lambda au lieu d'une fonction définie localement est que vous "
"n'avez nullement besoin d'un nom pour la fonction -- Mais c'est juste une "
"variable locale à laquelle est affecté l'objet fonction (qui est exactement "
"le même type d'objet qui donne une expression lambda) !"
#: faq/design.rst:392
msgid "Can Python be compiled to machine code, C or some other language?"
msgstr ""
"Python peut-il être compilé en code machine, en C ou dans un autre langage ?"
#: faq/design.rst:394
msgid ""
@ -684,6 +732,15 @@ msgid ""
"See the proceedings from the `1997 Python conference <http://legacy.python."
"org/workshops/1997-10/proceedings/>`_ for more information.)"
msgstr ""
"Plusieurs projets décrits dans le forum de Python ou dans les anciennes "
"`Conférences Python <https://www.python.org/community/workshops/>`_ ont "
"montré que cette approche est réalisable, même si les améliorations "
"atteintes restaient modestes (autour de ×2). Jython utilise la même "
"stratégie pour compiler en *bytecode* Java. (Jim Hugunin a démontré qu'en "
"combinaison avec une analyse de la totalité du programme, des améliorations "
"de ×1000 sont possibles sur de petits programmes de démonstration. Voir le "
"compte rendu de la `Conférence de Python 1997 <http://legacy.python.org/"
"workshops/1997-10/proceedings/>`_ pour plus d'informations.)"
#: faq/design.rst:409
msgid ""
@ -728,7 +785,7 @@ msgstr ""
#: faq/design.rst:441
msgid "How does Python manage memory?"
msgstr ""
msgstr "Comment Python gère la mémoire ?"
#: faq/design.rst:443
msgid ""
@ -815,16 +872,27 @@ msgid ""
"about these). Python is, however, aggressive about cleaning up memory on "
"exit and does try to destroy every single object."
msgstr ""
"Les objets référencés depuis les espaces de noms globaux des modules Python "
"ne sont pas toujours désalloués lorsque Python s'arrête. Cela peut se "
"produire s'il y a des références circulaires. Il y a aussi certaines parties "
"de mémoire qui sont alloués par la bibliothèque C qui sont impossibles à "
"libérer (par exemple un outil comme *Purify* s'en plaindra). Python est, "
"cependant, agressif sur le nettoyage de la mémoire en quittant et cherche à "
"détruire chaque objet."
#: faq/design.rst:513
msgid ""
"If you want to force Python to delete certain things on deallocation use "
"the :mod:`atexit` module to run a function that will force those deletions."
msgstr ""
"Si vous voulez forcer Python à désallouer certains objets en quittant, "
"utilisez le module :mod:`texit` pour exécuter une fonction qui va forcer ces "
"destructions."
#: faq/design.rst:518
msgid "Why are there separate tuple and list data types?"
msgstr ""
"Pourquoi les *tuples* et les *list* sont deux types de données séparés ?"
#: faq/design.rst:520
msgid ""
@ -835,6 +903,13 @@ msgid ""
"Cartesian coordinate is appropriately represented as a tuple of two or three "
"numbers."
msgstr ""
"Les listes et les *tuples*, bien que semblable à bien des égards, sont "
"généralement utilisés de façons fondamentalement différentes. Les *tuples* "
"peuvent être considérés comme étant similaires aux dossiers en Pascal ou aux "
"structures en C; Ce sont de petites collections de données associées qui "
"peuvent être de différents types qui sont utilisées sensemble. Par exemple, "
"un repère cartésien est correctement représenté comme un *tuple* de deux ou "
"trois nombres."
#: faq/design.rst:527
msgid ""
@ -845,6 +920,13 @@ msgid ""
"Functions which operate on this output would generally not break if you "
"added another file or two to the directory."
msgstr ""
"Les listes, ressemblent davantage à des tableaux dans d'autres langues. "
"Elles ont tendance à contenir un nombre variable d'objets de même type "
"manipulés individuellement. Par exemple, ``os.listdir('.')`` retourne une "
"liste de chaînes représentant les fichiers dans le dossier courant. Les "
"fonctions travaillant sur cette sortie accepteraient généralement sans aucun "
"problème que vous ajoutiez un ou deux fichiers supplémentaire dans le "
"dossier."
#: faq/design.rst:534
msgid ""
@ -854,6 +936,12 @@ msgid ""
"be used as dictionary keys, and hence only tuples and not lists can be used "
"as keys."
msgstr ""
"Les *tuples* sont immuables, ce qui signifie que lorsqu'un *tuple* a été "
"créé, vous ne pouvez remplacer aucun de ses éléments par une nouvelle "
"valeur. Les listes sont variables, ce qui signifie que vous pouvez toujours "
"modifier les éléments d'une liste. Seuls des éléments immuables peuvent être "
"utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul "
"des *tuples* peuvent être utilisés comme clés."
#: faq/design.rst:541
msgid "How are lists implemented?"

View File

@ -7923,7 +7923,7 @@ msgstr ""
#: howto/sockets.rst:20
msgid "Sockets"
msgstr ""
msgstr "Interfaces de connexion (*sockets*)"
#: howto/sockets.rst:22
msgid ""

View File

@ -212,7 +212,7 @@ msgstr "2.1.3"
#: license.rst:57
msgid "2.2 and above"
msgstr ""
msgstr "2.2 et supérieur"
#: license.rst:57
#, fuzzy
@ -245,7 +245,7 @@ msgstr ""
#: license.rst:73
msgid "Terms and conditions for accessing or otherwise using Python"
msgstr ""
msgstr "Conditions générales pour accéder à, ou utiliser, Python"
#: license.rst:77
msgid "PSF LICENSE AGREEMENT FOR PYTHON release"
@ -320,11 +320,11 @@ msgstr ""
#: license.rst:123
msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0"
msgstr ""
msgstr "LICENCE D'UTILISATION BEOPEN.COM POUR PYTHON 2.0"
#: license.rst:125
msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1"
msgstr ""
msgstr "LICENCE D'UTILISATION LIBRE BEOPEN PYTHON VERSION 1"
#: license.rst:126
msgid ""
@ -384,7 +384,7 @@ msgstr ""
#: license.rst:167
msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1"
msgstr ""
msgstr "LICENCE D'UTILISATION CNRI POUR PYTHON 1.6.1"
#: license.rst:168
msgid ""
@ -471,7 +471,7 @@ msgstr ""
#: license.rst:232
msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2"
msgstr ""
msgstr "LICENCE D'UTILISATION CWI POUR PYTHON 0.9.0 à 1.2"
#: license.rst:233
msgid ""
@ -503,7 +503,7 @@ msgstr ""
#: license.rst:254
msgid "Licenses and Acknowledgements for Incorporated Software"
msgstr ""
msgstr "Licences et Remerciements pour les logiciels inclus"
#: license.rst:256
msgid ""
@ -511,10 +511,13 @@ msgid ""
"acknowledgements for third-party software incorporated in the Python "
"distribution."
msgstr ""
"Cette section est une liste incomplète mais grandissante de licences et "
"remerciements pour les logiciels tiers incorporés dans la distribution de "
"Python."
#: license.rst:261
msgid "Mersenne Twister"
msgstr ""
msgstr "Mersenne Twister"
#: license.rst:263
msgid ""
@ -522,10 +525,13 @@ msgid ""
"math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. The following "
"are the verbatim comments from the original code::"
msgstr ""
"Le module :mod:`_random` inclu du code construit à partir d'un "
"téléchargement depuis http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/"
"emt19937ar.html. Voici mot pour mot les commentaires du code original::"
#: license.rst:310
msgid "Sockets"
msgstr ""
msgstr "Interfaces de connexion (*sockets*)"
#: license.rst:312
msgid ""
@ -533,14 +539,17 @@ msgid ""
"`getnameinfo`, which are coded in separate source files from the WIDE "
"Project, http://www.wide.ad.jp/. ::"
msgstr ""
"Le module :mod:`socket` utilise les fonctions :func:`getaddrinfo` et :func:"
"`getnameinfo` codées dans des fichiers source séparés et provenant du projet "
"WIDE: http://www.wide.ad.jp/. ::"
#: license.rst:345
msgid "Floating point exception control"
msgstr ""
msgstr "Virgule flottante et contrôle d'exception"
#: license.rst:347
msgid "The source for the :mod:`fpectl` module includes the following notice::"
msgstr ""
msgstr "Le code source pour le module :mod:`fpectl` inclu la note suivante::"
#: license.rst:387
msgid "MD5 message digest algorithm"
@ -553,17 +562,19 @@ msgstr ""
#: license.rst:437
msgid "Asynchronous socket services"
msgstr ""
msgstr "Interfaces de connexion asynchrones"
#: license.rst:439
msgid ""
"The :mod:`asynchat` and :mod:`asyncore` modules contain the following "
"notice::"
msgstr ""
"Les modules :mod:`asynchat` et :mod:`asyncore` contiennent la note "
"suivante ::"
#: license.rst:464
msgid "Cookie management"
msgstr ""
msgstr "Gestion de témoin (*cookie*)"
#: license.rst:466
msgid "The :mod:`Cookie` module contains the following notice::"
@ -571,23 +582,24 @@ msgstr ""
#: license.rst:492
msgid "Execution tracing"
msgstr ""
msgstr "Traçage d'exécution"
#: license.rst:494
msgid "The :mod:`trace` module contains the following notice::"
msgstr ""
msgstr "Le module :mod:`trace` contient la note suivante ::"
#: license.rst:525
msgid "UUencode and UUdecode functions"
msgstr ""
msgstr "Les fonctions UUencode et UUdecode"
#: license.rst:527
msgid "The :mod:`uu` module contains the following notice::"
msgstr ""
msgstr "Le module :mod:`uu` contient la note suivante:"
#: license.rst:555
msgid "XML Remote Procedure Calls"
msgstr ""
"Appel de procédures distantes en XML (*RPC*, pour *Remote Procedure Call*)"
#: license.rst:557
msgid "The :mod:`xmlrpclib` module contains the following notice::"
@ -595,25 +607,26 @@ msgstr ""
#: license.rst:588
msgid "test_epoll"
msgstr ""
msgstr "test_epoll"
#: license.rst:590
msgid "The :mod:`test_epoll` contains the following notice::"
msgstr ""
msgstr "Le module :mod:`test_epoll` contient la note suivante ::"
#: license.rst:614
msgid "Select kqueue"
msgstr ""
msgstr "Select kqueue"
#: license.rst:616
msgid ""
"The :mod:`select` and contains the following notice for the kqueue "
"interface::"
msgstr ""
"Le module :mod:`select` contiens la note suivante pour l'interface kqueue ::"
#: license.rst:644
msgid "strtod and dtoa"
msgstr ""
msgstr "strtod et dtoa"
#: license.rst:646
msgid ""
@ -623,10 +636,15 @@ msgid ""
"org/fp/. The original file, as retrieved on March 16, 2009, contains the "
"following copyright and licensing notice::"
msgstr ""
"Le fichier :file:`Python/dtoa.c`, qui fournit les fonctions ``dtoa`` et "
"``strtod`` pour la conversions de *doubles* C vers et depuis les chaînes, et "
"tiré d'un fichier du même nom par David M. Gay, actuellement disponible sur "
"http://www.netlib.org/fp/. Le fichier original, tel que récupéré le 16 mars "
"2009, contiens la licence suivante ::"
#: license.rst:674
msgid "OpenSSL"
msgstr ""
msgstr "OpenSSL"
#: license.rst:676
msgid ""
@ -636,30 +654,41 @@ msgid ""
"include a copy of the OpenSSL libraries, so we include a copy of the OpenSSL "
"license here::"
msgstr ""
"Les modules :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, et :mod:`crypt` "
"utilisent la bibliothèque OpenSSL pour améliorer les performances, si elle "
"est disponible via le système d'exploitation. Aussi les outils "
"d'installation sur Windows et Mac OS X peuvent inclure une copie des "
"bibliothèques d'OpenSSL, donc on colle une copie de la licence d'OpenSSL "
"ici::"
#: license.rst:811
msgid "expat"
msgstr ""
msgstr "expat"
#: license.rst:813
msgid ""
"The :mod:`pyexpat` extension is built using an included copy of the expat "
"sources unless the build is configured ``--with-system-expat``::"
msgstr ""
"Le module :mod:`pyexpat` est compilé avec une copie des sources d'*expat*, "
"sauf si la compilation est configurée avec ``--with-system-expat``::"
#: license.rst:840
msgid "libffi"
msgstr ""
msgstr "libffi"
#: license.rst:842
msgid ""
"The :mod:`_ctypes` extension is built using an included copy of the libffi "
"sources unless the build is configured ``--with-system-libffi``::"
msgstr ""
"Le module :mod:`_ctypes` est compilé en utilisant une copie des sources de "
"la *libffi*, sauf si la compilation est configurée avec ``--with-system-"
"libffi``::"
#: license.rst:869
msgid "zlib"
msgstr ""
msgstr "zlib"
#: license.rst:871
msgid ""
@ -667,6 +696,9 @@ msgid ""
"sources if the zlib version found on the system is too old to be used for "
"the build::"
msgstr ""
"Le module :mod:`zlib` est compilé en utilisant une copie du code source de "
"*zlib* si la version de *zlib* trouvée sur le système est trop vieille pour "
"être utilisée::"
#~ msgid "2.2"
#~ msgstr "2.2"