-
-
Notifications
You must be signed in to change notification settings - Fork 260
Expand file tree
/
Copy pathbuilding.po
More file actions
253 lines (228 loc) · 11.7 KB
/
building.po
File metadata and controls
253 lines (228 loc) · 11.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-29 21:40+0100\n"
"PO-Revision-Date: 2023-07-28 22:22+0200\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.2\n"
#: extending/building.rst:7
msgid "Building C and C++ Extensions"
msgstr "Construire des extensions C et C++"
#: extending/building.rst:9
msgid ""
"A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux, "
"``.pyd`` on Windows), which exports an *initialization function*."
msgstr ""
"Une extension C pour CPython est une bibliothèque partagée (Un ``.so`` sur "
"Linux, un ``.pyd`` sur Windows), qui expose une *fonction d'initialisation*."
#: extending/building.rst:12
#, fuzzy
msgid ""
"To be importable, the shared library must be available on :envvar:"
"`PYTHONPATH`, and must be named after the module name, with an appropriate "
"extension. When using setuptools, the correct filename is generated "
"automatically."
msgstr ""
"Pour pouvoir être importée, la bibliothèque partagée doit pourvoir être "
"trouvée dans :envvar:`PYTHONPATH`, et doit porter le nom du module, avec "
"l'extension appropriée. En utilisant *distutils*, le nom est généré "
"automatiquement."
#: extending/building.rst:16
msgid "The initialization function has the signature:"
msgstr "La fonction d'initialisation doit avoir le prototype :"
#: extending/building.rst:20
msgid ""
"It returns either a fully initialized module, or a :c:type:`PyModuleDef` "
"instance. See :ref:`initializing-modules` for details."
msgstr ""
"Elle doit donner soit un module entièrement initialisé, soit une instance "
"de :c:type:`PyModuleDef`. Voir :ref:`initializing-modules` pour plus de "
"détails."
#: extending/building.rst:25
msgid ""
"For modules with ASCII-only names, the function must be named "
"``PyInit_<modulename>``, with ``<modulename>`` replaced by the name of the "
"module. When using :ref:`multi-phase-initialization`, non-ASCII module names "
"are allowed. In this case, the initialization function name is "
"``PyInitU_<modulename>``, with ``<modulename>`` encoded using Python's "
"*punycode* encoding with hyphens replaced by underscores. In Python::"
msgstr ""
"Pour les modules dont les noms sont entièrement en ASCII, la fonction doit "
"être nommée ``PyInit_<modulename>``, dont ``<modulename>`` est remplacé par "
"le nom du module. En utilisant :ref:`multi-phase-initialization`, il est "
"possible d'utiliser des noms de modules comptant des caractères non ASCII. "
"Dans ce cas, le nom de la fonction d'initialisation est "
"``PyInitU_<modulename>``, où ``modulename`` est encodé avec l'encodage "
"*punyencode* de Python, dont les tirets sont remplacés par des tirets-bas. "
"En Python ça donne ::"
#: extending/building.rst:32
msgid ""
"def initfunc_name(name):\n"
" try:\n"
" suffix = b'_' + name.encode('ascii')\n"
" except UnicodeEncodeError:\n"
" suffix = b'U_' + name.encode('punycode').replace(b'-', b'_')\n"
" return b'PyInit' + suffix"
msgstr ""
#: extending/building.rst:39
msgid ""
"It is possible to export multiple modules from a single shared library by "
"defining multiple initialization functions. However, importing them requires "
"using symbolic links or a custom importer, because by default only the "
"function corresponding to the filename is found. See the *\"Multiple modules "
"in one library\"* section in :pep:`489` for details."
msgstr ""
"Il est possible d'exporter plusieurs modules depuis une seule bibliothèque "
"partagée en définissant plusieurs fonctions d'initialisation. Cependant pour "
"les importer, un lien symbolique doit être créé pour chacun, ou un "
"*importer* personnalisé, puisque par défaut seule la fonction correspondant "
"au nom du fichier est cherchée. Voir le chapitre *\"Multiple modules in one "
"library\"* dans la :pep:`489` pour plus d'informations."
#: extending/building.rst:52
#, fuzzy
msgid "Building C and C++ Extensions with setuptools"
msgstr "Construire les extensions C et C++ avec *distutils*"
#: extending/building.rst:54
msgid ""
"Python 3.12 and newer no longer come with distutils. Please refer to the "
"``setuptools`` documentation at https://setuptools.readthedocs.io/en/latest/"
"setuptools.html to learn more about how build and distribute C/C++ "
"extensions with setuptools."
msgstr ""
#~ msgid ""
#~ "Extension modules can be built using distutils, which is included in "
#~ "Python. Since distutils also supports creation of binary packages, users "
#~ "don't necessarily need a compiler and distutils to install the extension."
#~ msgstr ""
#~ "Des modules d'extension peuvent être construits avec *distutils*, qui est "
#~ "inclus dans Python. Puisque *distutils* gère aussi la création de paquets "
#~ "binaires, les utilisateurs n'auront pas nécessairement besoin ni d'un "
#~ "compilateur ni de *distutils* pour installer l'extension."
#~ msgid ""
#~ "A distutils package contains a driver script, :file:`setup.py`. This is a "
#~ "plain Python file, which, in the most simple case, could look like this:"
#~ msgstr ""
#~ "Un paquet *distutils* contient un script :file:`setup.py`. C'est un "
#~ "simple fichier Python, ressemblant dans la plupart des cas à :"
#~ msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::"
#~ msgstr "Avec ce :file:`setup.py` et un fichier :file:`demo.c`, lancer ::"
#~ msgid ""
#~ "will compile :file:`demo.c`, and produce an extension module named "
#~ "``demo`` in the :file:`build` directory. Depending on the system, the "
#~ "module file will end up in a subdirectory :file:`build/lib.system`, and "
#~ "may have a name like :file:`demo.so` or :file:`demo.pyd`."
#~ msgstr ""
#~ "compile :file:`demo.c` et produit un module d'extension nommé ``demo`` "
#~ "dans le dossier :file:`build`. En fonction du système, le fichier du "
#~ "module peut se retrouver dans :file:`build/lib.system`, et son nom peut "
#~ "être :file:`demo.py` ou :file:`demo.pyd`."
#~ msgid ""
#~ "In the :file:`setup.py`, all execution is performed by calling the "
#~ "``setup`` function. This takes a variable number of keyword arguments, of "
#~ "which the example above uses only a subset. Specifically, the example "
#~ "specifies meta-information to build packages, and it specifies the "
#~ "contents of the package. Normally, a package will contain additional "
#~ "modules, like Python source modules, documentation, subpackages, etc. "
#~ "Please refer to the distutils documentation in :ref:`distutils-index` to "
#~ "learn more about the features of distutils; this section explains "
#~ "building extension modules only."
#~ msgstr ""
#~ "Dans le fichier :file:`setup.py`, tout est exécuté en appelant la "
#~ "fonction ``setup``. Elle prend un nombre variable d'arguments nommés, "
#~ "dont l'exemple précédent n'utilise qu'une partie. L'exemple précise des "
#~ "méta-informations pour construire les paquets, et définir le contenu du "
#~ "paquet. Normalement un paquet contient des modules additionnels, comme "
#~ "des modules sources, documentation, sous paquets, etc. Référez-vous à la "
#~ "documentation de *distutils* dans :ref:`distutils-index` pour en "
#~ "apprendre plus sur les fonctionnalités de *distutils*. Cette section "
#~ "n'explique que la construction de modules d'extension."
#~ msgid ""
#~ "It is common to pre-compute arguments to :func:`setup`, to better "
#~ "structure the driver script. In the example above, the ``ext_modules`` "
#~ "argument to :func:`~distutils.core.setup` is a list of extension modules, "
#~ "each of which is an instance of the :class:`~distutils.extension."
#~ "Extension`. In the example, the instance defines an extension named "
#~ "``demo`` which is build by compiling a single source file, :file:`demo.c`."
#~ msgstr ""
#~ "Il est classique de pré-calculer les arguments à la fonction :func:"
#~ "`setup`, pour plus de lisibilité. Dans l'exemple ci-dessus, l'argument "
#~ "``ext_modules`` à :func:`~distutils.core.setup` est une liste de modules "
#~ "d'extension, chacun est une instance de la classe :class:`~distutils."
#~ "extension.Extension`. Dans l'exemple, l'instance définit une extension "
#~ "nommée ``demo`` construite par la compilation d'un seul fichier source :"
#~ "file:`demo.c`."
#~ msgid ""
#~ "In many cases, building an extension is more complex, since additional "
#~ "preprocessor defines and libraries may be needed. This is demonstrated in "
#~ "the example below."
#~ msgstr ""
#~ "Dans la plupart des cas, construire une extension est plus complexe à "
#~ "cause des bibliothèques et définitions de préprocesseurs dont la "
#~ "compilation pourrait dépendre. C'est ce qu'on remarque dans l'exemple "
#~ "plus bas."
#~ msgid ""
#~ "In this example, :func:`~distutils.core.setup` is called with additional "
#~ "meta-information, which is recommended when distribution packages have to "
#~ "be built. For the extension itself, it specifies preprocessor defines, "
#~ "include directories, library directories, and libraries. Depending on the "
#~ "compiler, distutils passes this information in different ways to the "
#~ "compiler. For example, on Unix, this may result in the compilation "
#~ "commands ::"
#~ msgstr ""
#~ "Dans cet exemple, la fonction :func:`~distutils.core.setup` est appelée "
#~ "avec quelques autres méta-informations, ce qui est recommandé pour "
#~ "distribuer des paquets. En ce qui concerne l'extension, sont définis "
#~ "quelques macros préprocesseur, dossiers pour les en-têtes et "
#~ "bibliothèques. En fonction du compilateur, *distutils* peut donner ces "
#~ "informations de manière différente. Par exemple, sur Unix, ça peut "
#~ "ressembler aux commandes ::"
#~ msgid ""
#~ "These lines are for demonstration purposes only; distutils users should "
#~ "trust that distutils gets the invocations right."
#~ msgstr ""
#~ "Ces lignes ne sont qu'à titre d'exemple, les utilisateurs de *distutils* "
#~ "doivent avoir confiance en *distutils* qui fera les appels correctement."
#~ msgid "Distributing your extension modules"
#~ msgstr "Distribuer vos modules d'extension"
#~ msgid ""
#~ "When an extension has been successfully built, there are three ways to "
#~ "use it."
#~ msgstr ""
#~ "Lorsqu'une extension a été construite avec succès, il existe trois moyens "
#~ "de l'utiliser."
#~ msgid ""
#~ "End-users will typically want to install the module, they do so by "
#~ "running ::"
#~ msgstr ""
#~ "Typiquement, les utilisateurs vont vouloir installer le module, ils le "
#~ "font en exécutant ::"
#~ msgid ""
#~ "Module maintainers should produce source packages; to do so, they run ::"
#~ msgstr ""
#~ "Les mainteneurs de modules voudront produire des paquets source, pour ce "
#~ "faire ils exécuteront ::"
#~ msgid ""
#~ "In some cases, additional files need to be included in a source "
#~ "distribution; this is done through a :file:`MANIFEST.in` file; see :ref:"
#~ "`manifest` for details."
#~ msgstr ""
#~ "Dans certains cas, des fichiers supplémentaires doivent être inclus dans "
#~ "une distribution source : c'est possible via un fichier :file:`MANIFEST."
#~ "in`, voir :ref:`manifest` pour les détails."
#~ msgid ""
#~ "If the source distribution has been built successfully, maintainers can "
#~ "also create binary distributions. Depending on the platform, one of the "
#~ "following commands can be used to do so. ::"
#~ msgstr ""
#~ "Si la distribution source a été construite avec succès, les mainteneurs "
#~ "peuvent aussi créer une distribution binaire. En fonction de la "
#~ "plateforme, une des commandes suivantes peut être utilisée. ::"