-
-
Notifications
You must be signed in to change notification settings - Fork 403
Expand file tree
/
Copy pathwindows.po
More file actions
340 lines (312 loc) · 16.5 KB
/
windows.po
File metadata and controls
340 lines (312 loc) · 16.5 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
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# docs-es@python.org /
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get
# the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-26 18:44-0300\n"
"PO-Revision-Date: 2020-06-24 22:59+0200\n"
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../Doc/extending/windows.rst:8
msgid "Building C and C++ Extensions on Windows"
msgstr "Creación de extensiones C y C++ en Windows"
#: ../Doc/extending/windows.rst:10
msgid ""
"This chapter briefly explains how to create a Windows extension module for "
"Python using Microsoft Visual C++, and follows with more detailed background "
"information on how it works. The explanatory material is useful for both "
"the Windows programmer learning to build Python extensions and the Unix "
"programmer interested in producing software which can be successfully built "
"on both Unix and Windows."
msgstr ""
"Este capítulo explica brevemente cómo crear un módulo de extensión de "
"Windows para Python usando Microsoft Visual C++, y sigue con información de "
"fondo más detallada sobre cómo funciona. El material explicativo es útil "
"tanto para el programador de Windows que está aprendiendo a construir "
"extensiones de Python como para el programador de Unix interesado en "
"producir software que se pueda construir con éxito tanto en Unix como en "
"Windows."
#: ../Doc/extending/windows.rst:17
msgid ""
"Module authors are encouraged to use the distutils approach for building "
"extension modules, instead of the one described in this section. You will "
"still need the C compiler that was used to build Python; typically Microsoft "
"Visual C++."
msgstr ""
"Se alienta a los autores de módulos a utilizar el enfoque distutils para "
"construir módulos de extensión, en lugar del descrito en esta sección. Aún "
"necesitará el compilador de C que se utilizó para construir Python; "
"típicamente Microsoft Visual C++."
#: ../Doc/extending/windows.rst:24
msgid ""
"This chapter mentions a number of filenames that include an encoded Python "
"version number. These filenames are represented with the version number "
"shown as ``XY``; in practice, ``'X'`` will be the major version number and "
"``'Y'`` will be the minor version number of the Python release you're "
"working with. For example, if you are using Python 2.2.1, ``XY`` will "
"actually be ``22``."
msgstr ""
"Este capítulo menciona varios nombres de archivo que incluyen un número de "
"versión codificado de Python. Estos nombres de archivo se representan con el "
"número de versión que se muestra como ``XY``; en la práctica, ``'X'`` será "
"el número de versión principal y ``'Y'`` será el número de versión menor de "
"la versión de Python con la que está trabajando. Por ejemplo, si está "
"utilizando Python 2.2.1, ``XY`` en realidad será ``22``."
#: ../Doc/extending/windows.rst:34
msgid "A Cookbook Approach"
msgstr "Un enfoque de libro de cocina"
#: ../Doc/extending/windows.rst:36
#, fuzzy
msgid ""
"There are two approaches to building extension modules on Windows, just as "
"there are on Unix: use the ``setuptools`` package to control the build "
"process, or do things manually. The setuptools approach works well for most "
"extensions; documentation on using ``setuptools`` to build and package "
"extension modules is available in :ref:`setuptools-index`. If you find you "
"really need to do things manually, it may be instructive to study the "
"project file for the :source:`winsound <PCbuild/winsound.vcxproj>` standard "
"library module."
msgstr ""
"Hay dos enfoques para construir módulos de extensión en Windows, al igual "
"que en Unix: use el paquete :mod:`distutils` para controlar el proceso de "
"construcción, o haga las cosas manualmente. El enfoque distutils funciona "
"bien para la mayoría de las extensiones; La documentación sobre el uso de :"
"mod:`distutils` para compilar y empaquetar módulos de extensión está "
"disponible en :ref:`distutils-index`. Si encuentra que realmente necesita "
"hacer las cosas manualmente, puede ser instructivo estudiar el archivo del "
"proyecto para el módulo de biblioteca estándar :source:`winsound <PCbuild/"
"winsound.vcxproj>`."
#: ../Doc/extending/windows.rst:48
msgid "Differences Between Unix and Windows"
msgstr "Diferencias entre Unix y Windows"
#: ../Doc/extending/windows.rst:53
msgid ""
"Unix and Windows use completely different paradigms for run-time loading of "
"code. Before you try to build a module that can be dynamically loaded, be "
"aware of how your system works."
msgstr ""
"Unix y Windows usan paradigmas completamente diferentes para la carga de "
"código en tiempo de ejecución. Antes de intentar construir un módulo que se "
"pueda cargar dinámicamente, tenga en cuenta cómo funciona su sistema."
#: ../Doc/extending/windows.rst:57
msgid ""
"In Unix, a shared object (:file:`.so`) file contains code to be used by the "
"program, and also the names of functions and data that it expects to find in "
"the program. When the file is joined to the program, all references to "
"those functions and data in the file's code are changed to point to the "
"actual locations in the program where the functions and data are placed in "
"memory. This is basically a link operation."
msgstr ""
"En Unix, un archivo de objeto compartido (:file:`.so`) contiene código para "
"ser utilizado por el programa, y también los nombres de funciones y datos "
"que espera encontrar en el programa. Cuando el archivo se une al programa, "
"todas las referencias a esas funciones y datos en el código del archivo se "
"cambian para apuntar a las ubicaciones reales en el programa donde las "
"funciones y los datos se colocan en la memoria. Esto es básicamente una "
"operación de enlace."
#: ../Doc/extending/windows.rst:64
msgid ""
"In Windows, a dynamic-link library (:file:`.dll`) file has no dangling "
"references. Instead, an access to functions or data goes through a lookup "
"table. So the DLL code does not have to be fixed up at runtime to refer to "
"the program's memory; instead, the code already uses the DLL's lookup table, "
"and the lookup table is modified at runtime to point to the functions and "
"data."
msgstr ""
"En Windows, un archivo de biblioteca de enlace dinámico (:file:`.dll`) no "
"tiene referencias colgantes. En cambio, un acceso a funciones o datos pasa "
"por una tabla de búsqueda. Por lo tanto, el código DLL no tiene que "
"repararse en tiempo de ejecución para referirse a la memoria del programa; "
"en cambio, el código ya usa la tabla de búsqueda de la DLL, y la tabla de "
"búsqueda se modifica en tiempo de ejecución para apuntar a las funciones y "
"los datos."
#: ../Doc/extending/windows.rst:70
msgid ""
"In Unix, there is only one type of library file (:file:`.a`) which contains "
"code from several object files (:file:`.o`). During the link step to create "
"a shared object file (:file:`.so`), the linker may find that it doesn't know "
"where an identifier is defined. The linker will look for it in the object "
"files in the libraries; if it finds it, it will include all the code from "
"that object file."
msgstr ""
"En Unix, solo hay un tipo de archivo de biblioteca (:file:`.a`) que contiene "
"código de varios archivos de objeto (:file:`.o`). Durante el paso de enlace "
"para crear un archivo de objeto compartido (:file:`.so`), el enlazador puede "
"encontrar que no sabe dónde se define un identificador. El enlazador lo "
"buscará en los archivos de objetos en las bibliotecas; si lo encuentra, "
"incluirá todo el código de ese archivo de objeto."
#: ../Doc/extending/windows.rst:76
msgid ""
"In Windows, there are two types of library, a static library and an import "
"library (both called :file:`.lib`). A static library is like a Unix :file:`."
"a` file; it contains code to be included as necessary. An import library is "
"basically used only to reassure the linker that a certain identifier is "
"legal, and will be present in the program when the DLL is loaded. So the "
"linker uses the information from the import library to build the lookup "
"table for using identifiers that are not included in the DLL. When an "
"application or a DLL is linked, an import library may be generated, which "
"will need to be used for all future DLLs that depend on the symbols in the "
"application or DLL."
msgstr ""
"En Windows, hay dos tipos de biblioteca, una biblioteca estática y una "
"biblioteca de importación (ambas llamadas :file:`.lib`). Una biblioteca "
"estática es como un archivo Unix :file:`.a`; Contiene código para ser "
"incluido según sea necesario. Una biblioteca de importación se usa "
"básicamente solo para asegurarle al enlazador que cierto identificador es "
"legal y estará presente en el programa cuando se cargue la DLL. Por lo "
"tanto, el enlazador utiliza la información de la biblioteca de importación "
"para crear la tabla de búsqueda para usar identificadores que no están "
"incluidos en la DLL. Cuando se vincula una aplicación o una DLL, se puede "
"generar una biblioteca de importación, que deberá usarse para todas las DLL "
"futuras que dependan de los símbolos en la aplicación o DLL."
#: ../Doc/extending/windows.rst:86
msgid ""
"Suppose you are building two dynamic-load modules, B and C, which should "
"share another block of code A. On Unix, you would *not* pass :file:`A.a` to "
"the linker for :file:`B.so` and :file:`C.so`; that would cause it to be "
"included twice, so that B and C would each have their own copy. In Windows, "
"building :file:`A.dll` will also build :file:`A.lib`. You *do* pass :file:"
"`A.lib` to the linker for B and C. :file:`A.lib` does not contain code; it "
"just contains information which will be used at runtime to access A's code."
msgstr ""
"Suponga que está creando dos módulos de carga dinámica, B y C, que deberían "
"compartir otro bloque de código A. En Unix, *no* pasaría :file:`A.a` al "
"enlazador para :file:`B.so` y :file:`C.so`; eso haría que se incluyera dos "
"veces, de modo que B y C tengan cada uno su propia copia. En Windows, "
"compilar :file:`A.dll` también compilará :file:`A.lib`. Usted *si* pasa :"
"file:`A.lib` al enlazador para B y C. :file:`A.lib` no contiene código; solo "
"contiene información que se usará en tiempo de ejecución para acceder al "
"código de A."
#: ../Doc/extending/windows.rst:94
msgid ""
"In Windows, using an import library is sort of like using ``import spam``; "
"it gives you access to spam's names, but does not create a separate copy. "
"On Unix, linking with a library is more like ``from spam import *``; it does "
"create a separate copy."
msgstr ""
"En Windows, usar una biblioteca de importación es como usar ``importar "
"spam``; le da acceso a los nombres de spam, pero no crea una copia separada. "
"En Unix, vincular con una biblioteca es más como ``from spam import*``; crea "
"una copia separada."
#: ../Doc/extending/windows.rst:101
msgid ""
"Turn off the implicit, ``#pragma``-based linkage with the Python library, "
"performed inside CPython header files."
msgstr ""
#: ../Doc/extending/windows.rst:110
msgid "Using DLLs in Practice"
msgstr "Usar DLL en la práctica"
#: ../Doc/extending/windows.rst:115
#, fuzzy
msgid ""
"Windows Python is built in Microsoft Visual C++; using other compilers may "
"or may not work. The rest of this section is MSVC++ specific."
msgstr ""
"Windows Python está construido en Microsoft Visual C++; el uso de otros "
"compiladores puede o no funcionar (aunque Borland parece funcionar). El "
"resto de esta sección es específica de MSVC++."
#: ../Doc/extending/windows.rst:118
msgid ""
"When creating DLLs in Windows, you can use the CPython library in two ways:"
msgstr ""
#: ../Doc/extending/windows.rst:120
msgid ""
"By default, inclusion of :file:`PC/pyconfig.h` directly or via :file:`Python."
"h` triggers an implicit, configure-aware link with the library. The header "
"file chooses :file:`pythonXY_d.lib` for Debug, :file:`pythonXY.lib` for "
"Release, and :file:`pythonX.lib` for Release with the :ref:`Limited API "
"<stable-application-binary-interface>` enabled."
msgstr ""
#: ../Doc/extending/windows.rst:126 ../Doc/extending/windows.rst:144
#, fuzzy
msgid ""
"To build two DLLs, spam and ni (which uses C functions found in spam), you "
"could use these commands::"
msgstr ""
"Al crear archivos DLL en Windows, debe pasar :file:`pythonXY.lib` al "
"enlazador. Para construir dos DLL, spam y ni (que usa funciones C que se "
"encuentran en el spam), puede usar estos comandos::"
#: ../Doc/extending/windows.rst:129
msgid ""
"cl /LD /I/python/include spam.c\n"
"cl /LD /I/python/include ni.c spam.lib"
msgstr ""
#: ../Doc/extending/windows.rst:132
#, fuzzy
msgid ""
"The first command created three files: :file:`spam.obj`, :file:`spam.dll` "
"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python "
"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find "
"the Python code thanks to the implicitly linked :file:`pythonXY.lib`."
msgstr ""
"El primer comando creó tres archivos: :file:`spam.obj`, :file:`spam.dll` y :"
"file:`spam.lib`. :file:`Spam.dll` no contiene ninguna función de Python "
"(como :c:func:`PyArg_ParseTuple`), pero sabe cómo encontrar el código de "
"Python gracias a :file:`pythonXY.lib`."
#: ../Doc/extending/windows.rst:137 ../Doc/extending/windows.rst:155
msgid ""
"The second command created :file:`ni.dll` (and :file:`.obj` and :file:`."
"lib`), which knows how to find the necessary functions from spam, and also "
"from the Python executable."
msgstr ""
"El segundo comando creó :file:`ni.dll` (y :file:`.obj` y :file:`.lib`), que "
"sabe cómo encontrar las funciones necesarias del spam, y también del "
"ejecutable de Python."
#: ../Doc/extending/windows.rst:141
msgid ""
"Manually by defining :c:macro:`Py_NO_LINK_LIB` macro before including :file:"
"`Python.h`. You must pass :file:`pythonXY.lib` to the linker."
msgstr ""
#: ../Doc/extending/windows.rst:147
msgid ""
"cl /LD /DPy_NO_LINK_LIB /I/python/include spam.c ../libs/pythonXY.lib\n"
"cl /LD /DPy_NO_LINK_LIB /I/python/include ni.c spam.lib ../libs/pythonXY.lib"
msgstr ""
#: ../Doc/extending/windows.rst:150
msgid ""
"The first command created three files: :file:`spam.obj`, :file:`spam.dll` "
"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python "
"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find "
"the Python code thanks to :file:`pythonXY.lib`."
msgstr ""
"El primer comando creó tres archivos: :file:`spam.obj`, :file:`spam.dll` y :"
"file:`spam.lib`. :file:`Spam.dll` no contiene ninguna función de Python "
"(como :c:func:`PyArg_ParseTuple`), pero sabe cómo encontrar el código de "
"Python gracias a :file:`pythonXY.lib`."
#: ../Doc/extending/windows.rst:159
msgid ""
"Not every identifier is exported to the lookup table. If you want any other "
"modules (including Python) to be able to see your identifiers, you have to "
"say ``_declspec(dllexport)``, as in ``void _declspec(dllexport) "
"initspam(void)`` or ``PyObject _declspec(dllexport) *NiGetSpamData(void)``."
msgstr ""
"No todos los identificadores se exportan a la tabla de búsqueda. Si desea "
"que cualquier otro módulo (incluido Python) pueda ver sus identificadores, "
"debe decir ``_declspec(dllexport)``, como en ``void _declspec(dllexport) "
"initspam(void)`` o ``PyObject_declspec(dllexport) *NiGetSpamData(void)``."
#: ../Doc/extending/windows.rst:164
#, fuzzy, python-brace-format
msgid ""
"Developer Studio will throw in a lot of import libraries that you do not "
"really need, adding about 100K to your executable. To get rid of them, use "
"the Project Settings dialog, Link tab, to specify *ignore default "
"libraries*. Add the correct :file:`msvcrt{xx}.lib` to the list of libraries."
msgstr ""
"Developer Studio incluirá muchas bibliotecas de importación que realmente no "
"necesita, agregando aproximadamente 100K a su ejecutable. Para deshacerse de "
"ellos, use el cuadro de diálogo Configuración del proyecto, pestaña Enlace, "
"para especificar *ignorar las bibliotecas predeterminadas*. Agregue el "
"archivo correcto :file:`msvcrtxx.lib` a la lista de bibliotecas."