Skip to content

Commit 99f572c

Browse files
committed
Propagating translations to older versions.
1 parent 043a92e commit 99f572c

File tree

5 files changed

+314
-29
lines changed

5 files changed

+314
-29
lines changed

c-api.po

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ msgid ""
7575
"detector's set of observed objects. Other fields of the object are not "
7676
"affected."
7777
msgstr ""
78+
"Permet d'initialiser un objet *op* nouvellement alloué ainsi que son type et "
79+
"sa référence initiale. Retourne l'objet initialisé. La présence de *type* "
80+
"indique que l'objet doit être traité par le détecteur d'ordures cycliques, "
81+
"il est de ce fait ajouté à l'ensemble du détecteur d'objets observés. Les "
82+
"autres champs de l'objet ne sont pas affectés."
7883

7984
#: c-api/allocation.rst:33
8085
msgid ""
@@ -6543,6 +6548,9 @@ msgid ""
65436548
"standard headers on some systems, you *must* include :file:`Python.h` before "
65446549
"any standard headers are included."
65456550
msgstr ""
6551+
"Python pouvant définir certaines définitions pré-processeur qui affectent "
6552+
"les têtes standard sur certains systèmes, vous *devez* inclure :file:`Python."
6553+
"h` avant les en-têtes standards."
65466554

65476555
#: c-api/intro.rst:53
65486556
msgid ""

extending.po

Lines changed: 158 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,17 @@ msgid ""
302302
"which saves you the trouble of allocating memory space and loading the file "
303303
"contents."
304304
msgstr ""
305+
"La fonction :c:func:`Py_SetProgramName` devrait être appelée avant :c:func:"
306+
"`Py_Initialize` pour informer l'interpréteur des chemins vers les "
307+
"bibliothèque Python. Ensuite, l'interpréteur Python est initialisé avec :c:"
308+
"func:`Py_Initialize`, suivi par l'exécution d'un script Python, codé en dur, "
309+
"qui affiche la date et l'heure. Ensuite, l'interpréteur est arrêté par un "
310+
"appel à :c:func:`Py_Finalize`, puis le programme se termine. Dans un vrai "
311+
"programme, vous voudrez peut-être obtenir le script Python d'une autre "
312+
"source, peut-être d'une fonction d'un éditeur de texte, un fichier ou une "
313+
"base de données. Obtenir le code Python à partir d'un fichier se fait plus "
314+
"aisément avec :c:func:`PyRun_SimpleFile`,ce qui vous évite d'avoir à allouer "
315+
"la mémoire et d'y charger le contenu du fichier."
305316

306317
#: extending/embedding.rst:87
307318
msgid "Beyond Very High Level Embedding: An overview"
@@ -493,6 +504,15 @@ msgid ""
493504
"and write some glue code that gives Python access to those routines, just "
494505
"like you would write a normal Python extension. For example::"
495506
msgstr ""
507+
"Jusqu'à présent, l'interpréteur Python intégré n'avait pas accès aux "
508+
"fonctionnalités de l'application elle-même. L'API Python le permet en "
509+
"étendant l'interpréteur intégré. Autrement dit, l'interpréteur intégré est "
510+
"étendu avec des fonctions fournies par l'application. Bien que cela puisse "
511+
"sembler complexe, ce n'est pas si dur. Il suffit d'oublier que l'application "
512+
"démarre l'interpréteur Python, au lieu de cela, voyez l'application comme un "
513+
"ensemble de fonctions, et rédigez un peu de code pour exposer ces fonctions "
514+
"à Python, tout comme vous écririez une extension Python normale. Par "
515+
"exemple ::"
496516

497517
#: extending/embedding.rst:226
498518
msgid ""
@@ -600,6 +620,15 @@ msgid ""
600620
"extract the configuration values that you will want to combine together. "
601621
"For example:"
602622
msgstr ""
623+
"Si cette procédure ne fonctionne pas pour vous (il n'est pas garanti "
624+
"qu'ellefonctionne pour toutes les plateformes Unix, mais nous traiteront "
625+
"volontiers les :ref: `rapports de bugs <reporting-bugs>`), vous devrez lire "
626+
"ladocumentation de votre système sur la liaison dynamique (*dynamic "
627+
"linking*) et / ouexaminer le :file:`Makefile` de Python (utilisez :func:"
628+
"`sysconfig.get_makefile_filename` pour trouver son emplacement) et les "
629+
"options de compilation. Dans ce cas, le module :mod:`sysconfig` est un outil "
630+
"utile pour extraire automatiquement les valeurs de configuration que vous "
631+
"voudrez combiner ensemble. Par example :"
603632

604633
#: extending/extending.rst:8
605634
msgid "Extending Python with C or C++"
@@ -625,12 +654,19 @@ msgid ""
625654
"aspects of the Python run-time system. The Python API is incorporated in a "
626655
"C source file by including the header ``\"Python.h\"``."
627656
msgstr ""
657+
"Pour gérer les extensions, l'API Python (*Application Programmer Interface*) "
658+
"définit un ensemble de fonctions, macros et variables qui donnent accès à la "
659+
"plupart des aspects du système d'exécution de Python. L'API Python est "
660+
"incorporée dans un fichier source C en incluant l'en-tête ``\"Python.h\"``."
628661

629662
#: extending/extending.rst:20
630663
msgid ""
631664
"The compilation of an extension module depends on its intended use as well "
632665
"as on your system setup; details are given in later chapters."
633666
msgstr ""
667+
"La compilation d'un module d'extension dépend de l'usage prévu et de la "
668+
"configuration du système, plus de détails peuvent être trouvés dans les "
669+
"chapitres suivants."
634670

635671
#: extending/extending.rst:25
636672
msgid ""
@@ -644,6 +680,17 @@ msgid ""
644680
"with C code and are more portable between implementations of Python than "
645681
"writing and compiling a C extension module."
646682
msgstr ""
683+
"L'interface d'extension C est spécifique à CPython, et les modules "
684+
"d'extension ne fonctionne pas sur les autres implémentations de Python. Dans "
685+
"de nombreux cas, il est possible d'éviter la rédaction des extensions en C "
686+
"et ainsi préserver la portabilité vers d'autres implémentations. Par "
687+
"exemple, si vous devez appeler une fonction de la bibliothèque C ou faire un "
688+
"appel système, vous devriez envisager d'utiliser le module :mod:`ctypes` ou "
689+
"d'utiliser la bibliothèque `CFFI <http://cffi.readthedocs.org>`_ plutôt que "
690+
"d'écrire du code C sur mesure. Ces modules vous permettent d'écrire du code "
691+
"Python s'interfaçant avec le code C et sont plus portables entre les "
692+
"implémentations de Python que l'écriture et la compilation d'une d'extension "
693+
"C."
647694

648695
#: extending/extending.rst:39
649696
#, fuzzy
@@ -658,6 +705,12 @@ msgid ""
658705
"terminated character string as argument and returns an integer. We want "
659706
"this function to be callable from Python as follows::"
660707
msgstr ""
708+
"Créons un module d'extension appelé ``spam`` (la nourriture préférée de fans "
709+
"des Monty Python ...) et disons que nous voulons créer une interface Python "
710+
"à la fonction de la bibliothèque C :c:func:`system`. [#] _ Cette fonction "
711+
"prend une chaîne de caractères terminée par NULL comme argument et renvoie "
712+
"un entier. Nous voulons que cette fonction soit appelable à partir de Python "
713+
"comme suit ::"
661714

662715
#: extending/extending.rst:50
663716
msgid ""
@@ -666,6 +719,10 @@ msgid ""
666719
"`spammodule.c`; if the module name is very long, like ``spammify``, the "
667720
"module name can be just :file:`spammify.c`.)"
668721
msgstr ""
722+
"Commencez par créer un fichier :file:`spammodule.c`. (Historiquement, si un "
723+
"module se nomme ``spam``, le fichier C contenant son implémentation est "
724+
"appelé :file:`spammodule.c`. Si le nom du module est très long, comme "
725+
"``spammify``, le nom du module peut être juste :file: `spammify.c`.)"
669726

670727
#: extending/extending.rst:55
671728
#, fuzzy
@@ -677,13 +734,18 @@ msgid ""
677734
"which pulls in the Python API (you can add a comment describing the purpose "
678735
"of the module and a copyright notice if you like)."
679736
msgstr ""
737+
"qui récupère l'API Python (vous pouvez ajouter un commentaire décrivant le "
738+
"but du module et un avis de droit d'auteur si vous le souhaitez)."
680739

681740
#: extending/extending.rst:64
682741
msgid ""
683742
"Since Python may define some pre-processor definitions which affect the "
684743
"standard headers on some systems, you *must* include :file:`Python.h` before "
685744
"any standard headers are included."
686745
msgstr ""
746+
"Python pouvant définir certaines définitions pré-processeur qui affectent "
747+
"les têtes standard sur certains systèmes, vous *devez* inclure :file:`Python."
748+
"h` avant les en-têtes standards."
687749

688750
#: extending/extending.rst:68
689751
msgid ""
@@ -695,13 +757,24 @@ msgid ""
695757
"on your system, it declares the functions :c:func:`malloc`, :c:func:`free` "
696758
"and :c:func:`realloc` directly."
697759
msgstr ""
760+
"Tous les symboles exposés par:file:`Python.h` sont préfixés de ``Py`` ou "
761+
"``PY``, sauf ceux qui sont définis dans les en-têtes standard. Pour le "
762+
"confort, et comme ils sont largement utilisés par l'interpréteur Python, ``"
763+
"\"Python.h\"`` inclu lui même quelques d'en-têtes standard : ``<stdio.h>``, "
764+
"``<string.h>``, ``<errno.h>`` et ``<stdlib.h>``. Si ce dernier n'existe pas "
765+
"sur votre système, il déclare les fonctions :c:func:`malloc`, :c:func:`free` "
766+
"et :c:func:`realloc` directement."
698767

699768
#: extending/extending.rst:76
700769
msgid ""
701770
"The next thing we add to our module file is the C function that will be "
702771
"called when the Python expression ``spam.system(string)`` is evaluated "
703772
"(we'll see shortly how it ends up being called)::"
704773
msgstr ""
774+
"La prochaine chose que nous ajoutons à notre fichier de module est la "
775+
"fonction C qui sera appelée lorsque l'expression Python ``spam."
776+
"system(chaîne)`` sera évaluée (nous verrons bientôt comment elle finit par "
777+
"être appelée) ::"
705778

706779
#: extending/extending.rst:92
707780
msgid ""
@@ -710,6 +783,10 @@ msgid ""
710783
"C function. The C function always has two arguments, conventionally named "
711784
"*self* and *args*."
712785
msgstr ""
786+
"Il ya une correspondance directe de la liste des arguments en Python (par "
787+
"exemple, l'expression ``\"ls -l\"``) aux arguments passés à la fonction C. "
788+
"La fonction C a toujours deux arguments, appelés par convention *self* et "
789+
"*args*."
713790

714791
#: extending/extending.rst:97
715792
msgid ""
@@ -729,6 +806,15 @@ msgid ""
729806
"determine the required types of the arguments as well as the types of the C "
730807
"variables into which to store the converted values. More about this later."
731808
msgstr ""
809+
"L'argument *args* sera un pointeur vers un *tuple* Python contenant les "
810+
"arguments. Chaque élément du *tuple* correspond à un argument dans la liste "
811+
"des arguments de l'appel. Les arguments sont des objets Python --- afin d'en "
812+
"faire quelque chose dans notre fonction C, nous devons les convertir en "
813+
"valeurs C. La fonction :c:func:`PyArg_ParseTuple` de l'API Python vérifie "
814+
"les types des arguments et les convertit en valeurs C. Elle utilise un "
815+
"modèle sous forme de chaîne pour déterminer les types requis des arguments "
816+
"ainsi que les types de variables C dans lequel stocker les valeurs "
817+
"converties. Nous en verront plus, plus tard."
732818

733819
#: extending/extending.rst:110
734820
msgid ""
@@ -739,10 +825,16 @@ msgid ""
739825
"the calling function can return *NULL* immediately (as we saw in the "
740826
"example)."
741827
msgstr ""
828+
":c:func:`PyArg_ParseTuple` renvoie vrai (pas zéro) si tous les arguments ont "
829+
"le bon type et que ses composants ont été stockés dans les variables dont "
830+
"les adresses données. Il retourne faux (zéro) si une liste d'arguments "
831+
"invalide a été passée. Dans ce dernier cas, elle soulève également une "
832+
"exception appropriée de sorte que la fonction d'appel puisse retourner "
833+
"*NULL* immédiatement (comme nous l'avons vu dans l'exemple)."
742834

743835
#: extending/extending.rst:120
744836
msgid "Intermezzo: Errors and Exceptions"
745-
msgstr ""
837+
msgstr "Intermezzo: Les Erreurs et Exceptions"
746838

747839
#: extending/extending.rst:122
748840
msgid ""
@@ -764,6 +856,8 @@ msgid ""
764856
"The Python API defines a number of functions to set various types of "
765857
"exceptions."
766858
msgstr ""
859+
"L'API Python définit un certain nombre de fonctions pour créer différents "
860+
"types d'exceptions."
767861

768862
#: extending/extending.rst:136
769863
msgid ""
@@ -773,6 +867,11 @@ msgid ""
773867
"indicates the cause of the error and is converted to a Python string object "
774868
"and stored as the \"associated value\" of the exception."
775869
msgstr ""
870+
"La plus courante est :c:func:`PyErr_SetString`. Ses arguments sont un objet "
871+
"exception et une chaîne C. L'objet exception est généralement un objet "
872+
"prédéfini comme :c:data:`PyExc_ZeroDivisionError`. La chaîne C indique la "
873+
"cause de l'erreur et est convertie en une chaîne Python puis stockée en tant "
874+
"que \"valeur associée\" à l'exception."
776875

777876
#: extending/extending.rst:142
778877
msgid ""
@@ -783,6 +882,11 @@ msgid ""
783882
"associated value. You don't need to :c:func:`Py_INCREF` the objects passed "
784883
"to any of these functions."
785884
msgstr ""
885+
"Une autre fonction utile est :c:func:`PyErr_SetFromErrno`, qui construit une "
886+
"exception à partir de la valeur de la variable globale :c:data:`errno`. La "
887+
"fonction la plus générale est :c:func: `PyErr_SetObject`, qui prend deux "
888+
"arguments: l'exception et sa valeur associée. Vous ne devez pas appliquer :c:"
889+
"func:`Py_INCREF` aux objets transmis à ces fonctions."
786890

787891
#: extending/extending.rst:149
788892
msgid ""
@@ -792,6 +896,12 @@ msgid ""
792896
"`PyErr_Occurred` to see whether an error occurred in a function call, since "
793897
"you should be able to tell from the return value."
794898
msgstr ""
899+
"Vous pouvez tester de manière non destructive si une exception a été levée "
900+
"avec :c:func:`PyErr_Occurred`. Cela renvoie l'objet exception actuel, ou "
901+
"*NULL* si aucune exception n'a eu lieu. Cependant, vous ne devriez pas avoir "
902+
"besoin d'appeler :c:func:`PyErr_Occurred` pour voir si une erreur est "
903+
"survenue durant l'appel d'une fonction, puisque vous devriez être en mesure "
904+
"de le déterminer à partir de la valeur de retour."
795905

796906
#: extending/extending.rst:155
797907
msgid ""
@@ -806,6 +916,17 @@ msgid ""
806916
"code and tries to find an exception handler specified by the Python "
807917
"programmer."
808918
msgstr ""
919+
"lorsqu'une fonction *f* ayant appelé une autre fonction *g* détecte que "
920+
"cette dernière a échoué, *f* devrait donner une valeur d'erreur à son tour "
921+
"(habituellement *NULL* ou ``-1``). *f* ne devrait *pas* appeler l'une des "
922+
"fonctions :c:func:`PyErr_\\*`, l'une d'elles ayant déjà été appelée par *g*. "
923+
"La fonction appelant *f* est alors censée retourner aussi un code d'erreur à "
924+
"celle qui la appelée, toujours sans utiliser :c:func:`PyErr_\\*`, et ainsi "
925+
"de suite. La cause la plus détaillée de l'erreur a déjà été signalée par la "
926+
"fonction l'ayant détectée en premier. Une fois l'erreur remontée à la boucle "
927+
"principale de l'interpréteur Python, il interrompt le code en cours "
928+
"d'exécution et essaie de trouver un gestionnaire d'exception spécifié par le "
929+
"développeur Python."
809930

810931
#: extending/extending.rst:165
811932
msgid ""
@@ -815,6 +936,12 @@ msgid ""
815936
"can cause information about the cause of the error to be lost: most "
816937
"operations can fail for a variety of reasons.)"
817938
msgstr ""
939+
"(Il ya des situations où un module peut effectivement donner un message "
940+
"d'erreur plus détaillé en appelant une autre fonction :c:func:`PyErr_\\*`, "
941+
"dans de tels cas, c'est tout à fait possible de le faire. Cependant, ce "
942+
"n'est généralement pas nécessaire, et peut amener à perdre des informations "
943+
"sur la cause de l'erreur: la plupart des opérations peuvent échouer pour "
944+
"tout un tas de raisons)."
818945

819946
#: extending/extending.rst:171
820947
msgid ""
@@ -824,6 +951,12 @@ msgid ""
824951
"pass the error on to the interpreter but wants to handle it completely by "
825952
"itself (possibly by trying something else, or pretending nothing went wrong)."
826953
msgstr ""
954+
"Pour ignorer une exception qui aurait été émise lors d'un un appel de "
955+
"fonction qui aurait échoué, l'exception doit être retirée explicitement en "
956+
"appelant :c:func:`PyErr_Clear`. Le seul cas pour lequel du code C devrait "
957+
"appeler :c:func:`PyErr_Clear` est lorsqu'il ne veut pas passer l'erreur à "
958+
"l'interpréteur, mais souhaite la gérer lui-même (peut-être en essayant "
959+
"quelque chose d'autre, ou de prétendre rien a mal tourné)."
827960

828961
#: extending/extending.rst:177
829962
msgid ""
@@ -841,13 +974,20 @@ msgid ""
841974
"positive value or zero for success and ``-1`` for failure, like Unix system "
842975
"calls."
843976
msgstr ""
977+
"Notez également que, à l'exception notable de :c:func:`PyArg_ParseTuple` et "
978+
"compagnie, les fonctions qui renvoient leur statut sous forme d'entier "
979+
"donnent généralement une valeur positive ou zéro en cas de succès et ``-1`` "
980+
"en cas d'échec, comme les appels système Unix."
844981

845982
#: extending/extending.rst:187
846983
msgid ""
847984
"Finally, be careful to clean up garbage (by making :c:func:`Py_XDECREF` or :"
848985
"c:func:`Py_DECREF` calls for objects you have already created) when you "
849986
"return an error indicator!"
850987
msgstr ""
988+
"Enfin, lorsque vous renvoyez un code d'erreur, n'oubliez pas faire un brin "
989+
"de nettoyage (en appelant :c:func:`Py_XDECREF` ou :c: func:` Py_DECREF` avec "
990+
"les objets que vous auriez déjà créé) !"
851991

852992
#: extending/extending.rst:191
853993
msgid ""
@@ -861,12 +1001,25 @@ msgid ""
8611001
"you have an argument whose value must be in a particular range or must "
8621002
"satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate."
8631003
msgstr ""
1004+
"Le choix de l'exception à lever vous incombe. Il existe des objets C "
1005+
"correspondant à chaque exception Python, tel que :c:data:"
1006+
"`PyExc_ZeroDivisionError`, que vous pouvez utiliser directement. Choisissez "
1007+
"judicieusement vos exceptions, typiquement n'utilisez pas :c:data:"
1008+
"`PyExc_TypeError` pour indiquer qu'un fichier n'a pas pu être ouvert (qui "
1009+
"devrait probablement être :c:data:`PyExc_IOError`). Si quelque chose ne va "
1010+
"pas avec la liste d'arguments, la fonction :c:func:`PyArg_ParseTuple` "
1011+
"soulève habituellement une exception :c:data:`PyExc_TypeError`. Mais si vous "
1012+
"avez un argument dont la valeur doit être dans une intervalle particulière "
1013+
"ou qui doit satisfaire d'autres conditions, :c:data:`PyExc_ValueError` sera "
1014+
"plus appropriée."
8641015

8651016
#: extending/extending.rst:201
8661017
msgid ""
8671018
"You can also define a new exception that is unique to your module. For this, "
8681019
"you usually declare a static object variable at the beginning of your file::"
8691020
msgstr ""
1021+
"Vous pouvez également créer une exception spécifique à votre module. Pour "
1022+
"cela, déclarez simplement une variable statique au début de votre fichier ::"
8701023

8711024
#: extending/extending.rst:206
8721025
msgid ""
@@ -882,6 +1035,10 @@ msgid ""
8821035
"class being :exc:`Exception` (unless another class is passed in instead of "
8831036
"*NULL*), described in :ref:`bltin-exceptions`."
8841037
msgstr ""
1038+
"Notez que le nom de exception, côté Python, est :exc:`spam.error`. La "
1039+
"fonction :c:func:`PyErr_NewException` peut créer une classe héritant de :exc:"
1040+
"`Exception` (à moins qu'une autre classe ne lui soit fournie à la place de "
1041+
"*NULL*), voir :ref:`bltin-exceptions`."
8851042

8861043
#: extending/extending.rst:228
8871044
msgid ""

0 commit comments

Comments
 (0)