1
0
Fork 0

Add initial translation for c-api/stable.po (#85)

Co-authored-by: Rémi Lapeyre <remi.lapeyre@lenstra.fr>
Reviewed-on: AFPy/python-docs-fr#85
Co-authored-by: remil <remi@lenstra.fr>
Co-committed-by: remil <remi@lenstra.fr>
This commit is contained in:
Rémi Lapeyre 2023-02-17 16:46:19 +00:00 committed by jeanas
parent 4232990623
commit fa5ab2955f
1 changed files with 119 additions and 79 deletions

View File

@ -6,20 +6,20 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n" "POT-Creation-Date: 2021-09-23 16:16+0200\n"
"PO-Revision-Date: 2018-10-04 12:26+0200\n" "PO-Revision-Date: 2023-02-17 17:33+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n" "Last-Translator: Rémi Lapeyre <remi.lapeyre@lenstra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.2\n"
#: c-api/stable.rst:7 #: c-api/stable.rst:7
msgid "C API Stability" msgid "C API Stability"
msgstr "" msgstr "Stabilité de lAPI C"
#: c-api/stable.rst:9 #: c-api/stable.rst:9
#, fuzzy
msgid "" msgid ""
"Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. " "Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. "
"While the C API will change with every minor release (e.g. from 3.9 to " "While the C API will change with every minor release (e.g. from 3.9 to "
@ -27,10 +27,12 @@ msgid ""
"API. Changing existing API or removing API is only done after a deprecation " "API. Changing existing API or removing API is only done after a deprecation "
"period or to fix serious issues." "period or to fix serious issues."
msgstr "" msgstr ""
"L'API C de Python change à chaque version. La majorité de ces changement " "L'API C respecte la politique de rétrocompatibilité de Python, :pep:`387`. "
"n'affecte cependant pas la compatibilité du code source. Typiquement, des " "Malgré la présence dévolutions dans chaque version mineure (par exemple "
"API sont ajoutées, mais ni modifiées ni supprimées (bien que certaines " "entre 3.9 et 3.10), la majorité de ces changement n'affecte pas la "
"interfaces puissent être supprimées, après avoir d'abord été dépréciées)." "compatibilité du code source. Typiquement des APIs sont ajoutées mais pas "
"modifiées ou supprimées, bien que cela puisse arriver après une période de "
"dépréciation ou pour corriger un problème important."
#: c-api/stable.rst:15 #: c-api/stable.rst:15
msgid "" msgid ""
@ -40,16 +42,24 @@ msgid ""
"work on 3.10.8 and vice versa, but will need to be compiled separately for " "work on 3.10.8 and vice versa, but will need to be compiled separately for "
"3.9.x and 3.10.x." "3.9.x and 3.10.x."
msgstr "" msgstr ""
"Linterface binaire de CPython (ABI) est entièrement compatible au sein "
"dune version mineure (à condition que la compilation soit toujours faite de "
"même manière, comme indiqué dans :ref:`stable-abi-platform` ci-dessous). "
"Ainsi le code compilé pour Python 3.10.0 fonctionnera avec Python 3.10.8 et "
"inversement, mais il devra être compilé séparément pour 3.9.x et 3.10.x."
#: c-api/stable.rst:21 #: c-api/stable.rst:21
msgid "" msgid ""
"Names prefixed by an underscore, such as ``_Py_InternalState``, are private " "Names prefixed by an underscore, such as ``_Py_InternalState``, are private "
"API that can change without notice even in patch releases." "API that can change without notice even in patch releases."
msgstr "" msgstr ""
"Les noms commençant par un caractère souligné, comme ``_Py_InternalState``, "
"font partie de lAPI privée et peuvent changer sans préavis même dans une "
"version de correctif."
#: c-api/stable.rst:26 #: c-api/stable.rst:26
msgid "Stable Application Binary Interface" msgid "Stable Application Binary Interface"
msgstr "ABI Stable" msgstr "ABI stable"
#: c-api/stable.rst:28 #: c-api/stable.rst:28
msgid "" msgid ""
@ -58,6 +68,11 @@ msgid ""
"multiple versions of Python. Contents of the Limited API are :ref:`listed " "multiple versions of Python. Contents of the Limited API are :ref:`listed "
"below <stable-abi-list>`." "below <stable-abi-list>`."
msgstr "" msgstr ""
"Le concept d*API restreinte*, un sous-ensemble de lAPI C de Python, existe "
"depuis Python 3.2. Les extensions qui utilisent uniquement lAPI restreinte "
"peuvent être compilées une seule fois et fonctionner avec plusieurs versions "
"de Python. Les objets faisant partie de lAPI restreinte sont :ref:`documentés "
"ci-dessous <stable-abi-list>`."
#: c-api/stable.rst:33 #: c-api/stable.rst:33
msgid "" msgid ""
@ -66,6 +81,11 @@ msgid ""
"symbols exposed in the Limited API, but also other ones for example, " "symbols exposed in the Limited API, but also other ones for example, "
"functions necessary to support older versions of the Limited API." "functions necessary to support older versions of the Limited API."
msgstr "" msgstr ""
"Python a aussi une *ABI stable* : un ensemble de symboles qui sont "
"compatibles avec lensemble des versions Python 3.x. LABI stable contient "
"les symboles utilisés par lAPI restreinte, mais pas seulement — par exemple "
"les fonctions nécessaires pour supporter les versions précédentes de lAPI "
"restreinte en font aussi partie."
#: c-api/stable.rst:38 #: c-api/stable.rst:38
msgid "" msgid ""
@ -73,12 +93,17 @@ msgid ""
"and Stable ABI work the same way for all uses of the API for example, " "and Stable ABI work the same way for all uses of the API for example, "
"embedding Python.)" "embedding Python.)"
msgstr "" msgstr ""
"(Par simplicité ce document parle *dextensions*, mais lAPI restreinte et "
"lABI stable fonctionnent de la même manière pour tous les cas dusages de "
"lAPI — par exemple pour embarquer Python.)"
#: c-api/stable.rst:44 #: c-api/stable.rst:44
msgid "" msgid ""
"Define this macro before including ``Python.h`` to opt in to only use the " "Define this macro before including ``Python.h`` to opt in to only use the "
"Limited API, and to select the Limited API version." "Limited API, and to select the Limited API version."
msgstr "" msgstr ""
"Définissez cette macro avant dinclure ``Python.h`` pour ninclure que lAPI "
"restreinte et indiquer sa version."
#: c-api/stable.rst:47 #: c-api/stable.rst:47
msgid "" msgid ""
@ -88,6 +113,11 @@ msgid ""
"the specified one onward, and can use Limited API introduced up to that " "the specified one onward, and can use Limited API introduced up to that "
"version." "version."
msgstr "" msgstr ""
"Définissez ``Py_LIMITED_API`` à la valeur de :c:data:`PY_VERSION_HEX` "
"correspond à la version minimale de Python que votre extension supporte. "
"Cette extension fonctionnera sans re-compilation avec toutes les versions "
"futures de Python 3, et peut utiliser lensemble des éléments de lAPI "
"restreinte présent dans cette version."
#: c-api/stable.rst:53 #: c-api/stable.rst:53
msgid "" msgid ""
@ -95,12 +125,19 @@ msgid ""
"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when " "minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when "
"compiling with future Python versions." "compiling with future Python versions."
msgstr "" msgstr ""
"Il est recommandé de renseigner une version mineure minimale (par exemple "
"``0x030A0000`` pour Python 3.10) plutôt que dutiliser directement la macro "
"``PY_VERSION_HEX`` pour ne pas dépendre de la version de Python utilisée "
"lors de la compilation."
#: c-api/stable.rst:57 #: c-api/stable.rst:57
msgid "" msgid ""
"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as " "You can also define ``Py_LIMITED_API`` to ``3``. This works the same as "
"``0x03020000`` (Python 3.2, the version that introduced Limited API)." "``0x03020000`` (Python 3.2, the version that introduced Limited API)."
msgstr "" msgstr ""
"Vous pouvez aussi définir ``Py_LIMITED_API`` à ``3``. Cette valeur est "
"équivalente à ``0x03020000`` correspondant à Python 3.2, la première version "
"à supporter lAPI restreinte."
#: c-api/stable.rst:60 #: c-api/stable.rst:60
msgid "" msgid ""
@ -108,6 +145,9 @@ msgid ""
"``python3.dll`` rather than a version-specific library such as ``python39." "``python3.dll`` rather than a version-specific library such as ``python39."
"dll``." "dll``."
msgstr "" msgstr ""
"Sur Windows les extensions qui utilisent lABI stable doivent être liées "
"avec ``python3.dll`` et non pas avec une bibliothèque spécifique à une "
"version comme ``python39.dll``."
#: c-api/stable.rst:64 #: c-api/stable.rst:64
msgid "" msgid ""
@ -117,6 +157,12 @@ msgid ""
"to ensure that, for example, extensions built with the 3.10+ Limited API are " "to ensure that, for example, extensions built with the 3.10+ Limited API are "
"not installed for lower versions of Python." "not installed for lower versions of Python."
msgstr "" msgstr ""
"Sur certaines plateformes Python essaiera de charger une bibliothèque "
"partagée dont le nom contient ``abi3`` (par exemple ``mymodule.abi3.so``). "
"Il ne vérifie pas si ces extensions respectent lABI stable. Lutilisateur "
"(ou ses outils dadministration) doit sassurer que les extensions compilées "
"avec une version donnée de lAPI restreinte, par exemple 3.10+, ne sont pas "
"utilisées avec des versions plus anciennes de Python."
#: c-api/stable.rst:71 #: c-api/stable.rst:71
msgid "" msgid ""
@ -124,16 +170,23 @@ msgid ""
"library, not solely as macros. This makes them usable from languages that " "library, not solely as macros. This makes them usable from languages that "
"don't use the C preprocessor." "don't use the C preprocessor."
msgstr "" msgstr ""
"Toutes les fonctions de lABI stable sont présentes dans la bibliothèque "
"dynamique de Python en tant que fonction, et pas uniquement comme macro. "
"Elles peuvent donc être utilisées avec des langages qui nutilisent pas le "
"pré-processeur C."
#: c-api/stable.rst:77 #: c-api/stable.rst:77
msgid "Limited API Scope and Performance" msgid "Limited API Scope and Performance"
msgstr "" msgstr "Porté de lAPI restreinte et performance"
#: c-api/stable.rst:79 #: c-api/stable.rst:79
msgid "" msgid ""
"The goal for the Limited API is to allow everything that is possible with " "The goal for the Limited API is to allow everything that is possible with "
"the full C API, but possibly with a performance penalty." "the full C API, but possibly with a performance penalty."
msgstr "" msgstr ""
"Lobjectif de lAPI restreinte est de permettre lensemble des opérations "
"possibles avec lAPI C étendue, mais peut avoir un impact sur les "
"performances."
#: c-api/stable.rst:82 #: c-api/stable.rst:82
msgid "" msgid ""
@ -141,6 +194,10 @@ msgid ""
"variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it " "variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it "
"can rely on version-specific implementation details of the list object." "can rely on version-specific implementation details of the list object."
msgstr "" msgstr ""
"Par exemple la fonction :c:func:`PyList_GetItem` est disponible, mais la "
"macro « dangereuse » :c:func:`PyList_GET_ITEM` ne lest pas. Cette macro "
"peut être plus rapide car elle dépend de détails dimplémentation spécifique "
"à lobjet ``list``."
#: c-api/stable.rst:87 #: c-api/stable.rst:87
msgid "" msgid ""
@ -149,6 +206,11 @@ msgid ""
"allowing stability as Python's data structures are improved, but possibly " "allowing stability as Python's data structures are improved, but possibly "
"reducing performance." "reducing performance."
msgstr "" msgstr ""
"Si ``Py_LIMITED_API`` nest pas défini certaines fonctions de lAPI C seront "
"remplacées par des macros ou une version en-ligne. Définir "
"``Py_LIMITED_API`` désactive cette optimisation, permettant de se garantir "
"contre les évolutions des structures de données utilisées par Python, et "
"peut réduire les performances."
#: c-api/stable.rst:92 #: c-api/stable.rst:92
msgid "" msgid ""
@ -159,10 +221,17 @@ msgid ""
"where a version-specific one is not available for example, for prereleases " "where a version-specific one is not available for example, for prereleases "
"of an upcoming Python version." "of an upcoming Python version."
msgstr "" msgstr ""
"En omettant la définition de ``Py_LIMITED_API`` il est possible de compiler "
"une extension utilisant lAPI restreinte avec une version spécifique de lABI. "
"Les performances seront meilleures pour cette version de Python, mais la "
"compatibilité sera réduite. Compiler en définissant ``Py_LIMITED_API`` "
"produira une extension qui peut être utilisée quand une variante spécifique "
"à une version nest pas disponible — par exemple pour une version alpha de "
"Python."
#: c-api/stable.rst:101 #: c-api/stable.rst:101
msgid "Limited API Caveats" msgid "Limited API Caveats"
msgstr "" msgstr "Inconvénients de lAPI restreinte"
#: c-api/stable.rst:103 #: c-api/stable.rst:103
msgid "" msgid ""
@ -171,6 +240,10 @@ msgid ""
"only covers definitions, but an API also includes other issues, such as " "only covers definitions, but an API also includes other issues, such as "
"expected semantics." "expected semantics."
msgstr "" msgstr ""
"Compiler avec ``Py_LIMITED_API`` *nest pas* une garantie absolue que le "
"code est conforme à lAPI restreinte ou à lABI stable. ``Py_LIMITED_API`` ne "
"concerne que la définition des objets, mais une API inclut aussi dautres "
"spécificités comme le comportement attendu."
#: c-api/stable.rst:108 #: c-api/stable.rst:108
msgid "" msgid ""
@ -181,18 +254,31 @@ msgid ""
"the argument will be used directly, causing a ``NULL`` dereference and " "the argument will be used directly, causing a ``NULL`` dereference and "
"crash. A similar argument works for fields of structs." "crash. A similar argument works for fields of structs."
msgstr "" msgstr ""
"Une des limitations est que ``Py_LIMITED_API`` ne protège pas contre lappel "
"dune fonction avec des arguments qui sont invalides pour une version de "
"Python plus ancienne. Par exemple considérons une fonction qui accepte "
"``NULL`` comme argument à partir de 3.9. ``NULL`` permet maintenant "
"dutiliser le comportement par défaut, mais Python 3.8 essayera daccéder à "
"lobjet pointé et dé-référencera ``NULL``, causant un crash. Des problèmes "
"similaires peuvent se produire avec les attributs des structures."
#: c-api/stable.rst:115 #: c-api/stable.rst:115
msgid "" msgid ""
"Another issue is that some struct fields are currently not hidden when " "Another issue is that some struct fields are currently not hidden when "
"``Py_LIMITED_API`` is defined, even though they're part of the Limited API." "``Py_LIMITED_API`` is defined, even though they're part of the Limited API."
msgstr "" msgstr ""
"Un autre problème est que certains attributs ne sont pas encore cachés "
"lorsque ``Py_LIMITED_API`` est défini, même sil ne font pas partie de lAPI "
"restreinte."
#: c-api/stable.rst:118 #: c-api/stable.rst:118
msgid "" msgid ""
"For these reasons, we recommend testing an extension with *all* minor Python " "For these reasons, we recommend testing an extension with *all* minor Python "
"versions it supports, and preferably to build with the *lowest* such version." "versions it supports, and preferably to build with the *lowest* such version."
msgstr "" msgstr ""
"Pour ces raisons il est recommandé de tester une extension avec *lensemble "
"des versions mineures* supportées de Python, et généralement de la compiler "
"avec la plus *ancienne* de ces versions."
#: c-api/stable.rst:121 #: c-api/stable.rst:121
msgid "" msgid ""
@ -201,6 +287,10 @@ msgid ""
"few private declarations are exposed for technical reasons (or even " "few private declarations are exposed for technical reasons (or even "
"unintentionally, as bugs)." "unintentionally, as bugs)."
msgstr "" msgstr ""
"Il est aussi recommandé de vérifier la documentation de toutes les API "
"utilisées pour vérifier quelles fassent bien partie de lAPI restreinte. Même "
"lorsque ``Py_LIMITED_API`` est défini quelques fonctions privées peuvent "
"être exposées aux utilisateurs pour des raisons techniques, ou par erreur."
#: c-api/stable.rst:126 #: c-api/stable.rst:126
msgid "" msgid ""
@ -210,10 +300,15 @@ msgid ""
"particular, parts of the Limited API may be deprecated and removed, provided " "particular, parts of the Limited API may be deprecated and removed, provided "
"that the Stable ABI stays stable." "that the Stable ABI stays stable."
msgstr "" msgstr ""
"Notez aussi que lAPI restreinte nest pas forcément stable : compiler avec "
"Python 3.8 en définissant ``Py_LIMITED_API`` garanti que lextension "
"fonctionnera avec Python 3.12, mais pas quelle pourra *être compilée* avec "
"Python 3.12. En particulier certaines parties de lAPI restreinte peuvent être "
"dépréciées et retirées tant que lABI stable nest pas modifiée."
#: c-api/stable.rst:136 #: c-api/stable.rst:136
msgid "Platform Considerations" msgid "Platform Considerations"
msgstr "" msgstr "Considérations relatives aux plateformes"
#: c-api/stable.rst:138 #: c-api/stable.rst:138
msgid "" msgid ""
@ -222,6 +317,11 @@ msgid ""
"ABI, these details define a “platform”. They usually depend on the OS type " "ABI, these details define a “platform”. They usually depend on the OS type "
"and processor architecture" "and processor architecture"
msgstr "" msgstr ""
"La stabilité de lABI ne dépend pas que de Python mais aussi du compilateur "
"utilisé, des bibliothèques systèmes et des options du compilateur. "
"Lensemble de ces détails correspondent à ce que lABI stable appelle une "
 plateforme ». Ils dépendent généralement du système dexploitation et de "
"larchitecture du processeur."
#: c-api/stable.rst:143 #: c-api/stable.rst:143
msgid "" msgid ""
@ -230,76 +330,16 @@ msgid ""
"does not break the Stable ABI. This is the case with Windows and macOS " "does not break the Stable ABI. This is the case with Windows and macOS "
"releases from ``python.org`` and many third-party distributors." "releases from ``python.org`` and many third-party distributors."
msgstr "" msgstr ""
"Les distributeurs de Python doivent sassurer que toutes les versions de "
"Python pour une plateforme donnée sont compilées de manière à ne pas rompre "
"la compatibilité de lABI stable. Cest le cas des versions produites pour "
"Windows et macOS de ``python.org`` et de la plupart des distributions "
"tierces."
#: c-api/stable.rst:153 #: c-api/stable.rst:153
msgid "Contents of Limited API" msgid "Contents of Limited API"
msgstr "" msgstr "Contenu de lAPI restreinte"
#: c-api/stable.rst:156 #: c-api/stable.rst:156
msgid "Currently, the Limited API includes the following items:" msgid "Currently, the Limited API includes the following items:"
msgstr "" msgstr "Pour le moment lAPI restreinte inclut les éléments suivants :"
#~ msgid ""
#~ "Unfortunately, the API compatibility does not extend to binary "
#~ "compatibility (the ABI). The reason is primarily the evolution of struct "
#~ "definitions, where addition of a new field, or changing the type of a "
#~ "field, might not break the API, but can break the ABI. As a consequence, "
#~ "extension modules need to be recompiled for every Python release "
#~ "(although an exception is possible on Unix when none of the affected "
#~ "interfaces are used). In addition, on Windows, extension modules link "
#~ "with a specific pythonXY.dll and need to be recompiled to link with a "
#~ "newer one."
#~ msgstr ""
#~ "Malheureusement, la compatibilité de l'API ne s'étend pas à une "
#~ "compatibilité binaire (l'ABI). L'évolution des structures en est la "
#~ "raison principale : l'ajout de nouveaux attributs, ou le changement du "
#~ "type d'un attribut peut ne pas casser l'API mais casser l'ABI. Par "
#~ "conséquent, les modules d'extension doivent être recompilés à chaque "
#~ "nouvelle version de Python (ce n'est exceptionnellement pas nécessaire "
#~ "sur Unix, si aucune des interfaces modifiées n'est utilisée). De plus, "
#~ "sous Windows, les modules d'extension sont liés à un *pythonXY.dll* "
#~ "spécifique, ils est donc nécessaire de les recompiler pour les lier au "
#~ "nouveau DLL."
#~ msgid ""
#~ "Since Python 3.2, a subset of the API has been declared to guarantee a "
#~ "stable ABI. Extension modules wishing to use this API (called \"limited "
#~ "API\") need to define ``Py_LIMITED_API``. A number of interpreter details "
#~ "then become hidden from the extension module; in return, a module is "
#~ "built that works on any 3.x version (x>=2) without recompilation."
#~ msgstr ""
#~ "Depuis Python 3.2 il est garanti qu'une certaine partie de l'API gardera "
#~ "une ABI stable. Les modules d'extension souhaitant utiliser cette API "
#~ "(Appellée \"API limitée\") doivent définir ``Py_LIMITED_API``. Des "
#~ "spécificités de l'interpréteur sont alors cachées au module, en "
#~ "contrepartie le module devient compatible avec toutes les versions de "
#~ "Python 3.x (x>=2) sans recompilation."
#~ msgid ""
#~ "In some cases, the stable ABI needs to be extended with new functions. "
#~ "Extension modules wishing to use these new APIs need to set "
#~ "``Py_LIMITED_API`` to the ``PY_VERSION_HEX`` value (see :ref:"
#~ "`apiabiversion`) of the minimum Python version they want to support (e.g. "
#~ "``0x03030000`` for Python 3.3). Such modules will work on all subsequent "
#~ "Python releases, but fail to load (because of missing symbols) on the "
#~ "older releases."
#~ msgstr ""
#~ "Dans certains cas, il est nécessaire d'étendre l'ABI stable avec de "
#~ "nouvelles fonctions. Les modules d'extension souhaitant utiliser ces "
#~ "nouvelles APIs doivent configurer ``Py_LIMITED_API`` à la valeur "
#~ "``Py_VERSION_HEX`` correspondant à la plus ancienne version de Python "
#~ "qu'ils souhaitent supporter (voir :ref:`apiabiversion`, par exemple "
#~ "``0x03030000`` pour Python 3.3). De tels modules fonctionneront dans "
#~ "toutes les versions ultérieures de Python, mais ne pourront pas se "
#~ "charger (dû à des symboles manquants) sur les versions plus anciennes."
#~ msgid ""
#~ "As of Python 3.2, the set of functions available to the limited API is "
#~ "documented in :pep:`384`. In the C API documentation, API elements that "
#~ "are not part of the limited API are marked as \"Not part of the limited "
#~ "API.\""
#~ msgstr ""
#~ "Depuis Python 3.2, l'ensemble des fonctions exposées par l'API limitée "
#~ "est documentée dans la :pep:`384`. Dans la documentation de l'API C, les "
#~ "éléments ne faisant pas partie de l'API limitée sont notés \"Ne faisant "
#~ "pas partie de l'API limitée\" (*\"Not part of the limited API\"*)."