-
Notifications
You must be signed in to change notification settings - Fork 395
/
Copy pathcall.po
744 lines (647 loc) · 28.3 KB
/
call.po
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
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2021, Python Software Foundation
# This file is distributed under the same license as the Python en Español
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: Python en Español 3.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-21 16:38-0300\n"
"PO-Revision-Date: 2021-12-09 10:27+0800\n"
"Last-Translator: Rodrigo Tobar <rtobarc@gmail.com>\n"
"Language: es\n"
"Language-Team: \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.16.0\n"
#: ../Doc/c-api/call.rst:6
msgid "Call Protocol"
msgstr "Protocolo de llamada"
#: ../Doc/c-api/call.rst:8
msgid ""
"CPython supports two different calling protocols: *tp_call* and vectorcall."
msgstr ""
"CPython admite dos protocolos de llamada diferentes: *tp_call* y vectorcall."
#: ../Doc/c-api/call.rst:12
msgid "The *tp_call* Protocol"
msgstr "El protocolo *tp_call*"
#: ../Doc/c-api/call.rst:14
msgid ""
"Instances of classes that set :c:member:`~PyTypeObject.tp_call` are "
"callable. The signature of the slot is::"
msgstr ""
"Las instancias de clases que establecen :c:member:`~PyTypeObject.tp_call` "
"son invocables. La firma del slot es:"
#: ../Doc/c-api/call.rst:17
msgid ""
"PyObject *tp_call(PyObject *callable, PyObject *args, PyObject *kwargs);"
msgstr ""
#: ../Doc/c-api/call.rst:19
msgid ""
"A call is made using a tuple for the positional arguments and a dict for the "
"keyword arguments, similarly to ``callable(*args, **kwargs)`` in Python "
"code. *args* must be non-NULL (use an empty tuple if there are no arguments) "
"but *kwargs* may be *NULL* if there are no keyword arguments."
msgstr ""
"Se realiza una llamada usando una tupla para los argumentos posicionales y "
"un dict para los argumentos de palabras clave, de manera similar a "
"``callable(*args, **kwargs)`` en el código Python. *args* debe ser no NULL "
"(use una tupla vacía si no hay argumentos) pero *kwargs* puede ser *NULL* si "
"no hay argumentos de palabra clave."
#: ../Doc/c-api/call.rst:25
msgid ""
"This convention is not only used by *tp_call*: :c:member:`~PyTypeObject."
"tp_new` and :c:member:`~PyTypeObject.tp_init` also pass arguments this way."
msgstr ""
"Esta convención no solo es utilizada por *tp_call*: :c:member:`~PyTypeObject."
"tp_new` y :c:member:`~PyTypeObject.tp_init` también pasan argumentos de esta "
"manera."
#: ../Doc/c-api/call.rst:29
#, fuzzy
msgid ""
"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API "
"<capi-call>`."
msgstr ""
"Para llamar a un objeto, use :c:func:`PyObject_Call` u otro :ref:`call API "
"<capi-call>`."
#: ../Doc/c-api/call.rst:36
msgid "The Vectorcall Protocol"
msgstr "El protocolo vectorcall"
#: ../Doc/c-api/call.rst:40
msgid ""
"The vectorcall protocol was introduced in :pep:`590` as an additional "
"protocol for making calls more efficient."
msgstr ""
"El protocolo vectorcall se introdujo en :pep:`590` como un protocolo "
"adicional para hacer que las llamadas sean más eficientes."
#: ../Doc/c-api/call.rst:43
msgid ""
"As rule of thumb, CPython will prefer the vectorcall for internal calls if "
"the callable supports it. However, this is not a hard rule. Additionally, "
"some third-party extensions use *tp_call* directly (rather than using :c:"
"func:`PyObject_Call`). Therefore, a class supporting vectorcall must also "
"implement :c:member:`~PyTypeObject.tp_call`. Moreover, the callable must "
"behave the same regardless of which protocol is used. The recommended way to "
"achieve this is by setting :c:member:`~PyTypeObject.tp_call` to :c:func:"
"`PyVectorcall_Call`. This bears repeating:"
msgstr ""
"Como regla general, CPython preferirá el vectorcall para llamadas internas "
"si el invocable lo admite. Sin embargo, esta no es una regla estricta. "
"Además, algunas extensiones de terceros usan *tp_call* directamente (en "
"lugar de usar :c:func:`PyObject_Call`). Por lo tanto, una clase que admita "
"vectorcall también debe implementar :c:member:`~PyTypeObject.tp_call`. "
"Además, el invocable debe comportarse de la misma manera independientemente "
"del protocolo que se utilice. La forma recomendada de lograr esto es "
"configurando :c:member:`~PyTypeObject.tp_call` en :c:func:"
"`PyVectorcall_Call`. Vale la pena repetirlo:"
#: ../Doc/c-api/call.rst:57
msgid ""
"A class supporting vectorcall **must** also implement :c:member:"
"`~PyTypeObject.tp_call` with the same semantics."
msgstr ""
"Una clase que admita vectorcall **debe** también implementar :c:member:"
"`~PyTypeObject.tp_call` con la misma semántica."
#: ../Doc/c-api/call.rst:62
msgid ""
"The :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag is now removed from a class "
"when the class's :py:meth:`~object.__call__` method is reassigned. (This "
"internally sets :c:member:`~PyTypeObject.tp_call` only, and thus may make it "
"behave differently than the vectorcall function.) In earlier Python "
"versions, vectorcall should only be used with :c:macro:`immutable "
"<Py_TPFLAGS_IMMUTABLETYPE>` or static types."
msgstr ""
#: ../Doc/c-api/call.rst:69
msgid ""
"A class should not implement vectorcall if that would be slower than "
"*tp_call*. For example, if the callee needs to convert the arguments to an "
"args tuple and kwargs dict anyway, then there is no point in implementing "
"vectorcall."
msgstr ""
"Una clase no debería implementar vectorcall si eso fuera más lento que "
"*tp_call*. Por ejemplo, si el destinatario de la llamada necesita convertir "
"los argumentos a una tupla args y un dict kwargs de todos modos, entonces no "
"tiene sentido implementar vectorcall."
#: ../Doc/c-api/call.rst:74
#, fuzzy
msgid ""
"Classes can implement the vectorcall protocol by enabling the :c:macro:"
"`Py_TPFLAGS_HAVE_VECTORCALL` flag and setting :c:member:`~PyTypeObject."
"tp_vectorcall_offset` to the offset inside the object structure where a "
"*vectorcallfunc* appears. This is a pointer to a function with the following "
"signature:"
msgstr ""
"Las clases pueden implementar el protocolo vectorcall habilitando el "
"indicador :const:`Py_TPFLAGS_HAVE_VECTORCALL` y la configuración :c:member:"
"`~PyTypeObject.tp_vectorcall_offset` al desplazamiento dentro de la "
"estructura del objeto donde aparece un *vectorcallfunc*. Este es un puntero "
"a una función con la siguiente firma:"
#: ../Doc/c-api/call.rst:82
msgid "*callable* is the object being called."
msgstr "*callable* es el objeto siendo invocado."
#: ../Doc/c-api/call.rst:84
msgid ""
"*args* is a C array consisting of the positional arguments followed by the"
msgstr ""
"*args* es un arreglo en C que consta de los argumentos posicionales seguidos "
"por el"
#: ../Doc/c-api/call.rst:84
msgid ""
"values of the keyword arguments. This can be *NULL* if there are no "
"arguments."
msgstr ""
"valores de los argumentos de la palabra clave. Puede ser *NULL* si no hay "
"argumentos."
#: ../Doc/c-api/call.rst:88
msgid "*nargsf* is the number of positional arguments plus possibly the"
msgstr "*nargsf* es el número de argumentos posicionales más posiblemente el"
#: ../Doc/c-api/call.rst:87
#, fuzzy
msgid ""
":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of "
"positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`."
msgstr ""
"flag :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Para obtener el número real de "
"argumentos posicionales de *nargsf*, use :c:func:`PyVectorcall_NARGS`."
#: ../Doc/c-api/call.rst:94
msgid "*kwnames* is a tuple containing the names of the keyword arguments;"
msgstr ""
"*kwnames* es una tupla que contiene los nombres de los argumentos de la "
"palabra clave;"
#: ../Doc/c-api/call.rst:91
msgid ""
"in other words, the keys of the kwargs dict. These names must be strings "
"(instances of ``str`` or a subclass) and they must be unique. If there are "
"no keyword arguments, then *kwnames* can instead be *NULL*."
msgstr ""
"en otras palabras, las claves del diccionario kwargs. Estos nombres deben "
"ser cadenas (instancias de ``str`` o una subclase) y deben ser únicos. Si no "
"hay argumentos de palabras clave, entonces *kwnames* puede ser *NULL*."
#: ../Doc/c-api/call.rst:98
msgid ""
"If this flag is set in a vectorcall *nargsf* argument, the callee is allowed "
"to temporarily change ``args[-1]``. In other words, *args* points to "
"argument 1 (not 0) in the allocated vector. The callee must restore the "
"value of ``args[-1]`` before returning."
msgstr ""
"Si este flag se establece en un argumento vectorcall *nargsf*, el "
"destinatario de la llamada puede cambiar temporalmente ``args[-1]``. En "
"otras palabras, *args* apunta al argumento 1 (no 0) en el vector asignado. "
"El destinatario de la llamada debe restaurar el valor de ``args[-1]`` antes "
"de regresar."
#: ../Doc/c-api/call.rst:103
msgid ""
"For :c:func:`PyObject_VectorcallMethod`, this flag means instead that "
"``args[0]`` may be changed."
msgstr ""
"Para :c:func:`PyObject_VectorcallMethod`, este flag significa en cambio que "
"``args[0]`` puede cambiarse."
#: ../Doc/c-api/call.rst:106
#, fuzzy
msgid ""
"Whenever they can do so cheaply (without additional allocation), callers are "
"encouraged to use :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will "
"allow callables such as bound methods to make their onward calls (which "
"include a prepended *self* argument) very efficiently."
msgstr ""
"Siempre que puedan hacerlo de forma económica (sin asignación adicional), se "
"anima a las personas que llaman a utilizar :const:"
"`PY_VECTORCALL_ARGUMENTS_OFFSET`. Si lo hace, permitirá que las personas que "
"llaman, como los métodos enlazados, realicen sus llamadas posteriores (que "
"incluyen un argumento *self* antepuesto) de manera muy eficiente."
#: ../Doc/c-api/call.rst:113
msgid ""
"To call an object that implements vectorcall, use a :ref:`call API <capi-"
"call>` function as with any other callable. :c:func:`PyObject_Vectorcall` "
"will usually be most efficient."
msgstr ""
"Para llamar a un objeto que implementa vectorcall, use una función :ref:"
"`call API <capi-call>` como con cualquier otro invocable. :c:func:"
"`PyObject_Vectorcall` normalmente será más eficiente."
#: ../Doc/c-api/call.rst:119
msgid "Recursion Control"
msgstr "Control de recursión"
#: ../Doc/c-api/call.rst:121
msgid ""
"When using *tp_call*, callees do not need to worry about :ref:`recursion "
"<recursion>`: CPython uses :c:func:`Py_EnterRecursiveCall` and :c:func:"
"`Py_LeaveRecursiveCall` for calls made using *tp_call*."
msgstr ""
"Cuando se usa *tp_call*, los destinatarios no necesitan preocuparse por :ref:"
"`recursividad <recursion>`: CPython usa :c:func:`Py_EnterRecursiveCall` y :c:"
"func:`Py_LeaveRecursiveCall` para llamadas realizadas usando *tp_call*."
#: ../Doc/c-api/call.rst:126
msgid ""
"For efficiency, this is not the case for calls done using vectorcall: the "
"callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if "
"needed."
msgstr ""
"Por eficiencia, este no es el caso de las llamadas realizadas mediante "
"vectorcall: el destinatario de la llamada debe utilizar "
"*Py_EnterRecursiveCall* y *Py_LeaveRecursiveCall* si es necesario."
#: ../Doc/c-api/call.rst:132
msgid "Vectorcall Support API"
msgstr "API de soporte para vectorcall"
#: ../Doc/c-api/call.rst:136
msgid ""
"Given a vectorcall *nargsf* argument, return the actual number of arguments. "
"Currently equivalent to::"
msgstr ""
"Dado un argumento vectorcall *nargsf*, retorna el número real de argumentos. "
"Actualmente equivalente a:"
#: ../Doc/c-api/call.rst:140
msgid "(Py_ssize_t)(nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET)"
msgstr ""
#: ../Doc/c-api/call.rst:142
msgid ""
"However, the function ``PyVectorcall_NARGS`` should be used to allow for "
"future extensions."
msgstr ""
"Sin embargo, la función ``PyVectorcall_NARGS`` debe usarse para permitir "
"futuras extensiones."
#: ../Doc/c-api/call.rst:149
msgid ""
"If *op* does not support the vectorcall protocol (either because the type "
"does not or because the specific instance does not), return *NULL*. "
"Otherwise, return the vectorcall function pointer stored in *op*. This "
"function never raises an exception."
msgstr ""
"Si *op* no admite el protocolo vectorcall (ya sea porque el tipo no lo hace "
"o porque la instancia específica no lo hace), retorna *NULL*. De lo "
"contrario, retorna el puntero de la función vectorcall almacenado en *op*. "
"Esta función nunca lanza una excepción."
#: ../Doc/c-api/call.rst:154
msgid ""
"This is mostly useful to check whether or not *op* supports vectorcall, "
"which can be done by checking ``PyVectorcall_Function(op) != NULL``."
msgstr ""
"Esto es principalmente útil para verificar si *op* admite vectorcall, lo "
"cual se puede hacer marcando ``PyVectorcall_Function(op) != NULL``."
#: ../Doc/c-api/call.rst:161
msgid ""
"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword "
"arguments given in a tuple and dict, respectively."
msgstr ""
"Llama a la :c:type:`vectorcallfunc` de *callable* con argumentos "
"posicionales y de palabras clave dados en una tupla y dict, respectivamente."
#: ../Doc/c-api/call.rst:164
#, fuzzy
msgid ""
"This is a specialized function, intended to be put in the :c:member:"
"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. "
"It does not check the :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag and it does "
"not fall back to ``tp_call``."
msgstr ""
"Esta es una función especializada, destinada a colocarse en el slot :c:"
"member:`~PyTypeObject.tp_call` o usarse en una implementación de "
"``tp_call``. No comprueba el flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` y no "
"vuelve a ``tp_call``."
#: ../Doc/c-api/call.rst:175
msgid "Object Calling API"
msgstr "API para invocar objetos"
#: ../Doc/c-api/call.rst:177
msgid ""
"Various functions are available for calling a Python object. Each converts "
"its arguments to a convention supported by the called object – either "
"*tp_call* or vectorcall. In order to do as little conversion as possible, "
"pick one that best fits the format of data you have available."
msgstr ""
"Hay varias funciones disponibles para llamar a un objeto Python. Cada una "
"convierte sus argumentos a una convención respaldada por el objeto llamado, "
"ya sea *tp_call* o vectorcall. Para realizar la menor conversión posible, "
"elija la que mejor se adapte al formato de datos que tiene disponible."
#: ../Doc/c-api/call.rst:183
msgid ""
"The following table summarizes the available functions; please see "
"individual documentation for details."
msgstr ""
"La siguiente tabla resume las funciones disponibles; consulte la "
"documentación individual para obtener más detalles."
#: ../Doc/c-api/call.rst:187
msgid "Function"
msgstr "Función"
#: ../Doc/c-api/call.rst:187
msgid "callable"
msgstr "invocable"
#: ../Doc/c-api/call.rst:187
msgid "args"
msgstr "args"
#: ../Doc/c-api/call.rst:187
msgid "kwargs"
msgstr "kwargs"
#: ../Doc/c-api/call.rst:189
msgid ":c:func:`PyObject_Call`"
msgstr ":c:func:`PyObject_Call`"
#: ../Doc/c-api/call.rst:189 ../Doc/c-api/call.rst:191
#: ../Doc/c-api/call.rst:193 ../Doc/c-api/call.rst:195
#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:201
#: ../Doc/c-api/call.rst:209 ../Doc/c-api/call.rst:211
msgid "``PyObject *``"
msgstr "``PyObject *``"
#: ../Doc/c-api/call.rst:189
msgid "tuple"
msgstr "tupla"
#: ../Doc/c-api/call.rst:189 ../Doc/c-api/call.rst:211
msgid "dict/``NULL``"
msgstr "dict/``NULL``"
#: ../Doc/c-api/call.rst:191
msgid ":c:func:`PyObject_CallNoArgs`"
msgstr ":c:func:`PyObject_CallNoArgs`"
#: ../Doc/c-api/call.rst:191 ../Doc/c-api/call.rst:193
#: ../Doc/c-api/call.rst:195 ../Doc/c-api/call.rst:197
#: ../Doc/c-api/call.rst:199 ../Doc/c-api/call.rst:201
#: ../Doc/c-api/call.rst:203 ../Doc/c-api/call.rst:205
#: ../Doc/c-api/call.rst:207
msgid "---"
msgstr "---"
#: ../Doc/c-api/call.rst:193
msgid ":c:func:`PyObject_CallOneArg`"
msgstr ":c:func:`PyObject_CallOneArg`"
#: ../Doc/c-api/call.rst:193 ../Doc/c-api/call.rst:207
msgid "1 object"
msgstr "1 objeto"
#: ../Doc/c-api/call.rst:195
msgid ":c:func:`PyObject_CallObject`"
msgstr ":c:func:`PyObject_CallObject`"
#: ../Doc/c-api/call.rst:195
msgid "tuple/``NULL``"
msgstr "tuple/``NULL``"
#: ../Doc/c-api/call.rst:197
msgid ":c:func:`PyObject_CallFunction`"
msgstr ":c:func:`PyObject_CallFunction`"
#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:199
msgid "format"
msgstr "formato"
#: ../Doc/c-api/call.rst:199
msgid ":c:func:`PyObject_CallMethod`"
msgstr ":c:func:`PyObject_CallMethod`"
#: ../Doc/c-api/call.rst:199
msgid "obj + ``char*``"
msgstr "obj + ``char*``"
#: ../Doc/c-api/call.rst:201
msgid ":c:func:`PyObject_CallFunctionObjArgs`"
msgstr ":c:func:`PyObject_CallFunctionObjArgs`"
#: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:203
msgid "variadic"
msgstr "variadica"
#: ../Doc/c-api/call.rst:203
msgid ":c:func:`PyObject_CallMethodObjArgs`"
msgstr ":c:func:`PyObject_CallMethodObjArgs`"
#: ../Doc/c-api/call.rst:203 ../Doc/c-api/call.rst:205
#: ../Doc/c-api/call.rst:207
msgid "obj + name"
msgstr "obj + nombre"
#: ../Doc/c-api/call.rst:205
msgid ":c:func:`PyObject_CallMethodNoArgs`"
msgstr ":c:func:`PyObject_CallMethodNoArgs`"
#: ../Doc/c-api/call.rst:207
msgid ":c:func:`PyObject_CallMethodOneArg`"
msgstr ":c:func:`PyObject_CallMethodOneArg`"
#: ../Doc/c-api/call.rst:209
msgid ":c:func:`PyObject_Vectorcall`"
msgstr ":c:func:`PyObject_Vectorcall`"
#: ../Doc/c-api/call.rst:209 ../Doc/c-api/call.rst:211
#: ../Doc/c-api/call.rst:213
msgid "vectorcall"
msgstr "vectorcall"
#: ../Doc/c-api/call.rst:211
msgid ":c:func:`PyObject_VectorcallDict`"
msgstr ":c:func:`PyObject_VectorcallDict`"
#: ../Doc/c-api/call.rst:213
msgid ":c:func:`PyObject_VectorcallMethod`"
msgstr ":c:func:`PyObject_VectorcallMethod`"
#: ../Doc/c-api/call.rst:213
msgid "arg + name"
msgstr "arg + nombre"
#: ../Doc/c-api/call.rst:219
msgid ""
"Call a callable Python object *callable*, with arguments given by the tuple "
"*args*, and named arguments given by the dictionary *kwargs*."
msgstr ""
"Llama a un objeto de Python invocable *callable*, con argumentos dados por "
"la tupla *args*, y argumentos con nombre dados por el diccionario *kwargs*."
#: ../Doc/c-api/call.rst:222
msgid ""
"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If "
"no named arguments are needed, *kwargs* can be *NULL*."
msgstr ""
"*args* no debe ser *NULL*; use una tupla vacía si no se necesitan "
"argumentos. Si no se necesitan argumentos con nombre, *kwargs* puede ser "
"*NULL*."
#: ../Doc/c-api/call.rst:225 ../Doc/c-api/call.rst:237
#: ../Doc/c-api/call.rst:248 ../Doc/c-api/call.rst:259
#: ../Doc/c-api/call.rst:271 ../Doc/c-api/call.rst:291
#: ../Doc/c-api/call.rst:310 ../Doc/c-api/call.rst:324
#: ../Doc/c-api/call.rst:333 ../Doc/c-api/call.rst:345
#: ../Doc/c-api/call.rst:358 ../Doc/c-api/call.rst:392
msgid ""
"Return the result of the call on success, or raise an exception and return "
"*NULL* on failure."
msgstr ""
"Retorna el resultado de la llamada en caso de éxito o lanza una excepción y "
"retorna *NULL* en caso de error."
#: ../Doc/c-api/call.rst:228
msgid ""
"This is the equivalent of the Python expression: ``callable(*args, "
"**kwargs)``."
msgstr ""
"Este es el equivalente de la expresión de Python: ``callable(*args, "
"**kwargs)``."
#: ../Doc/c-api/call.rst:234
msgid ""
"Call a callable Python object *callable* without any arguments. It is the "
"most efficient way to call a callable Python object without any argument."
msgstr ""
"Llama a un objeto de Python invocable *callable* sin ningún argumento. Es la "
"forma más eficiente de llamar a un objeto Python invocable sin ningún "
"argumento."
#: ../Doc/c-api/call.rst:245
msgid ""
"Call a callable Python object *callable* with exactly 1 positional argument "
"*arg* and no keyword arguments."
msgstr ""
"Llama a un objeto de Python invocable *callable* con exactamente 1 argumento "
"posicional *arg* y sin argumentos de palabra clave."
#: ../Doc/c-api/call.rst:256
msgid ""
"Call a callable Python object *callable*, with arguments given by the tuple "
"*args*. If no arguments are needed, then *args* can be *NULL*."
msgstr ""
"Llama a un objeto de Python invocable *callable*, con argumentos dados por "
"la tupla *args*. Si no se necesitan argumentos, entonces *args* puede ser "
"*NULL*."
#: ../Doc/c-api/call.rst:262 ../Doc/c-api/call.rst:274
msgid "This is the equivalent of the Python expression: ``callable(*args)``."
msgstr "Este es el equivalente de la expresión de Python: ``callable(*args)``."
#: ../Doc/c-api/call.rst:267
msgid ""
"Call a callable Python object *callable*, with a variable number of C "
"arguments. The C arguments are described using a :c:func:`Py_BuildValue` "
"style format string. The format can be *NULL*, indicating that no arguments "
"are provided."
msgstr ""
"Llama a un objeto de Python invocable *callable*, con un número variable de "
"argumentos C. Los argumentos de C se describen usando una cadena de "
"caracteres de formato de estilo :c:func:`Py_BuildValue`. El formato puede "
"ser *NULL*, lo que indica que no se proporcionan argumentos."
#: ../Doc/c-api/call.rst:276
#, fuzzy
msgid ""
"Note that if you only pass :c:expr:`PyObject *` args, :c:func:"
"`PyObject_CallFunctionObjArgs` is a faster alternative."
msgstr ""
"Tenga en cuenta que si solo pasa :c:type:`PyObject *` args, :c:func:"
"`PyObject_CallFunctionObjArgs` es una alternativa más rápida."
#: ../Doc/c-api/call.rst:279
msgid "The type of *format* was changed from ``char *``."
msgstr "El tipo de *format* se cambió desde ``char *``."
#: ../Doc/c-api/call.rst:285
msgid ""
"Call the method named *name* of object *obj* with a variable number of C "
"arguments. The C arguments are described by a :c:func:`Py_BuildValue` "
"format string that should produce a tuple."
msgstr ""
"Llama al método llamado *name* del objeto *obj* con un número variable de "
"argumentos en C. Los argumentos de C se describen mediante una cadena de "
"formato :c:func:`Py_BuildValue` que debería producir una tupla."
#: ../Doc/c-api/call.rst:289
msgid "The format can be *NULL*, indicating that no arguments are provided."
msgstr ""
"El formato puede ser *NULL*, lo que indica que no se proporcionan argumentos."
#: ../Doc/c-api/call.rst:294
msgid ""
"This is the equivalent of the Python expression: ``obj.name(arg1, "
"arg2, ...)``."
msgstr ""
"Este es el equivalente de la expresión de Python: ``obj.name(arg1, "
"arg2, ...)``."
#: ../Doc/c-api/call.rst:297
#, fuzzy
msgid ""
"Note that if you only pass :c:expr:`PyObject *` args, :c:func:"
"`PyObject_CallMethodObjArgs` is a faster alternative."
msgstr ""
"Tenga en cuenta que si solo pasa :c:type:`PyObject *` args, :c:func:"
"`PyObject_CallMethodObjArgs` es una alternativa más rápida."
#: ../Doc/c-api/call.rst:300
msgid "The types of *name* and *format* were changed from ``char *``."
msgstr "Los tipos de *name* y *format* se cambiaron desde ``char *``."
#: ../Doc/c-api/call.rst:306
#, fuzzy
msgid ""
"Call a callable Python object *callable*, with a variable number of :c:expr:"
"`PyObject *` arguments. The arguments are provided as a variable number of "
"parameters followed by *NULL*."
msgstr ""
"Llame a un objeto de Python invocable *callable*, con un número variable de "
"argumentos :c:type:`PyObject *`. Los argumentos se proporcionan como un "
"número variable de parámetros seguidos de *NULL*."
#: ../Doc/c-api/call.rst:313
msgid ""
"This is the equivalent of the Python expression: ``callable(arg1, "
"arg2, ...)``."
msgstr ""
"Este es el equivalente de la expresión de Python: ``callable(arg1, "
"arg2, ...)``."
#: ../Doc/c-api/call.rst:319
#, fuzzy
msgid ""
"Call a method of the Python object *obj*, where the name of the method is "
"given as a Python string object in *name*. It is called with a variable "
"number of :c:expr:`PyObject *` arguments. The arguments are provided as a "
"variable number of parameters followed by *NULL*."
msgstr ""
"Llama a un método del objeto de Python *obj*, donde el nombre del método se "
"proporciona como un objeto de cadena de caracteres de Python en *name*. Se "
"llama con un número variable de argumentos :c:type:`PyObject *`. Los "
"argumentos se proporcionan como un número variable de parámetros seguidos de "
"*NULL*."
#: ../Doc/c-api/call.rst:330
msgid ""
"Call a method of the Python object *obj* without arguments, where the name "
"of the method is given as a Python string object in *name*."
msgstr ""
"Llama a un método del objeto de Python *obj* sin argumentos, donde el nombre "
"del método se da como un objeto de cadena de caracteres de Python en *name*."
#: ../Doc/c-api/call.rst:341
msgid ""
"Call a method of the Python object *obj* with a single positional argument "
"*arg*, where the name of the method is given as a Python string object in "
"*name*."
msgstr ""
"Llame a un método del objeto de Python *obj* con un único argumento "
"posicional *arg*, donde el nombre del método se proporciona como un objeto "
"de cadena de caracteres de Python en *name*."
#: ../Doc/c-api/call.rst:353
msgid ""
"Call a callable Python object *callable*. The arguments are the same as for :"
"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly "
"calls the vectorcall function stored in *callable*."
msgstr ""
"Llama a un objeto de Python invocable *callable*. Los argumentos son los "
"mismos que para :c:type:`vectorcallfunc`. Si *callable* admite vectorcall_, "
"esto llama directamente a la función vectorcall almacenada en *callable*."
#: ../Doc/c-api/call.rst:365
msgid ""
"Call *callable* with positional arguments passed exactly as in the "
"vectorcall_ protocol, but with keyword arguments passed as a dictionary "
"*kwdict*. The *args* array contains only the positional arguments."
msgstr ""
"Llamada *invocable* con argumentos posicionales pasados exactamente como en "
"el protocolo vectorcall_, pero con argumentos de palabras clave pasados como "
"un diccionario *kwdict*. El arreglo *args* contiene solo los argumentos "
"posicionales."
#: ../Doc/c-api/call.rst:369
msgid ""
"Regardless of which protocol is used internally, a conversion of arguments "
"needs to be done. Therefore, this function should only be used if the caller "
"already has a dictionary ready to use for the keyword arguments, but not a "
"tuple for the positional arguments."
msgstr ""
"Independientemente del protocolo que se utilice internamente, es necesario "
"realizar una conversión de argumentos. Por lo tanto, esta función solo debe "
"usarse si la persona que llama ya tiene un diccionario listo para usar para "
"los argumentos de palabras clave, pero no una tupla para los argumentos "
"posicionales."
#: ../Doc/c-api/call.rst:379
#, fuzzy
msgid ""
"Call a method using the vectorcall calling convention. The name of the "
"method is given as a Python string *name*. The object whose method is called "
"is *args[0]*, and the *args* array starting at *args[1]* represents the "
"arguments of the call. There must be at least one positional argument. "
"*nargsf* is the number of positional arguments including *args[0]*, plus :c:"
"macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may "
"temporarily be changed. Keyword arguments can be passed just like in :c:func:"
"`PyObject_Vectorcall`."
msgstr ""
"Llama a un método usando la convención de llamada vectorcall. El nombre del "
"método se proporciona como una cadena de Python *name*. El objeto cuyo "
"método se llama es *args[0]*, y el arreglo *args* que comienza en *args [1]* "
"representa los argumentos de la llamada. Debe haber al menos un argumento "
"posicional. *nargsf* es el número de argumentos posicionales que incluyen "
"*args [0]*, más :const:`PY_VECTORCALL_ARGUMENTS_OFFSET` si el valor de "
"``args[0]`` puede cambiarse temporalmente. Los argumentos de palabras clave "
"se pueden pasar como en :c:func:`PyObject_Vectorcall`."
#: ../Doc/c-api/call.rst:388
#, fuzzy
msgid ""
"If the object has the :c:macro:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this "
"will call the unbound method object with the full *args* vector as arguments."
msgstr ""
"Si el objeto tiene la característica :const:`Py_TPFLAGS_METHOD_DESCRIPTOR`, "
"esto llamará al objeto de método independiente con el vector *args* completo "
"como argumentos."
#: ../Doc/c-api/call.rst:399
msgid "Call Support API"
msgstr "API de soporte de llamadas"
#: ../Doc/c-api/call.rst:403
msgid ""
"Determine if the object *o* is callable. Return ``1`` if the object is "
"callable and ``0`` otherwise. This function always succeeds."
msgstr ""
"Determina si el objeto *o* es invocable. Retorna ``1`` si el objeto es "
"invocable y ``0`` en caso contrario. Esta función siempre finaliza con éxito."