Skip to content

Commit 0b74832

Browse files
cmaureirmmmarcos
andauthored
Apply suggestions from code review
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
1 parent fefc0dd commit 0b74832

File tree

1 file changed

+67
-67
lines changed

1 file changed

+67
-67
lines changed

howto/isolating-extensions.po

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ msgstr ""
5050

5151
#: ../Doc/howto/isolating-extensions.rst:21
5252
msgid "Who should read this"
53-
msgstr "¿Quien debería leer esto?"
53+
msgstr "¿Quién debería leer esto?"
5454

5555
#: ../Doc/howto/isolating-extensions.rst:23
5656
msgid ""
@@ -124,7 +124,7 @@ msgid ""
124124
msgstr ""
125125
"Históricamente, los módulos de extensión de Python no manejan bien este caso "
126126
"de uso. Muchos módulos de extensión (e incluso algunos módulos stdlib) usan "
127-
"el estado global *per-process*, porque las variables C ``static`` son "
127+
"el estado global *por-proceso*, porque las variables C ``static`` son "
128128
"extremadamente fáciles de usar. Así, los datos que deberían ser específicos "
129129
"de un intérprete acaban siendo compartidos entre intérpretes. A menos que el "
130130
"desarrollador de la extensión tenga cuidado, es muy fácil introducir casos "
@@ -137,13 +137,13 @@ msgid ""
137137
"authors tend to not keep multiple interpreters in mind when developing, and "
138138
"it is currently cumbersome to test the behavior."
139139
msgstr ""
140-
"Desafortunadamente, el estado *per-interpreter* no es fácil de lograr. Los "
140+
"Desafortunadamente, el estado *por-intérprete* no es fácil de lograr. Los "
141141
"autores de extensiones tienden a no tener en cuenta múltiples intérpretes "
142142
"cuando desarrollan, y actualmente es engorroso probar el comportamiento."
143143

144144
#: ../Doc/howto/isolating-extensions.rst:61
145145
msgid "Enter Per-Module State"
146-
msgstr "Ingrese el estado por módulo"
146+
msgstr "Ingrese al estado por módulo"
147147

148148
#: ../Doc/howto/isolating-extensions.rst:63
149149
msgid ""
@@ -155,7 +155,7 @@ msgid ""
155155
"loaded in a single interpreter."
156156
msgstr ""
157157
"En lugar de centrarse en el estado por intérprete, la API C de Python está "
158-
"evolucionando para admitir mejor el estado *per-module* más granular. Esto "
158+
"evolucionando para admitir mejor el estado *por-módulo* más granular. Esto "
159159
"significa que los datos de nivel C se adjuntan a un *module object*. Cada "
160160
"intérprete crea su propio objeto de módulo, manteniendo los datos separados. "
161161
"Para probar el aislamiento, se pueden cargar varios objetos de módulo "
@@ -191,7 +191,7 @@ msgstr ""
191191

192192
#: ../Doc/howto/isolating-extensions.rst:85
193193
msgid "Isolated Module Objects"
194-
msgstr "Objetos de módulos aislados"
194+
msgstr "Objetos módulos aislados"
195195

196196
#: ../Doc/howto/isolating-extensions.rst:87
197197
msgid ""
@@ -231,7 +231,7 @@ msgstr ""
231231

232232
#: ../Doc/howto/isolating-extensions.rst:115
233233
msgid "Surprising Edge Cases"
234-
msgstr "Casos de borde sorprendentes"
234+
msgstr "Casos extremos sorprendentes"
235235

236236
#: ../Doc/howto/isolating-extensions.rst:117
237237
msgid ""
@@ -286,14 +286,14 @@ msgstr ""
286286

287287
#: ../Doc/howto/isolating-extensions.rst:156
288288
msgid "The ``readline`` module manages *the* terminal."
289-
msgstr "El módulo ``readline`` gestiona el terminal *the*."
289+
msgstr "El módulo ``readline`` gestiona *el* terminal."
290290

291291
#: ../Doc/howto/isolating-extensions.rst:157
292292
msgid ""
293293
"A module running on a circuit board wants to control *the* on-board LED."
294294
msgstr ""
295-
"Un módulo que se ejecuta en una placa de circuito quiere controlar el LED "
296-
"integrado *the*."
295+
"Un módulo que se ejecuta en una placa de circuito quiere controlar *el* LED "
296+
"integrado."
297297

298298
#: ../Doc/howto/isolating-extensions.rst:160
299299
msgid ""
@@ -303,8 +303,8 @@ msgid ""
303303
"whether for Python or other languages). If that is not possible, consider "
304304
"explicit locking."
305305
msgstr ""
306-
"En estos casos, el módulo Python debería proporcionar *access* al estado "
307-
"global, en lugar de *own*. Si es posible, escriba el módulo para que varias "
306+
"En estos casos, el módulo Python debería proporcionar *acceso* al estado "
307+
"global, en lugar de *poseerlo*. Si es posible, escriba el módulo para que varias "
308308
"copias del mismo puedan acceder al estado de forma independiente (junto con "
309309
"otras bibliotecas, ya sea para Python u otros lenguajes). Si eso no es "
310310
"posible, considere el bloqueo explícito."
@@ -444,15 +444,15 @@ msgstr ""
444444

445445
#: ../Doc/howto/isolating-extensions.rst:256
446446
msgid "Heap Types"
447-
msgstr "Tipos de montón"
447+
msgstr "Tipos Heap"
448448

449449
#: ../Doc/howto/isolating-extensions.rst:258
450450
msgid ""
451451
"Traditionally, types defined in C code are *static*; that is, ``static "
452452
"PyTypeObject`` structures defined directly in code and initialized using "
453453
"``PyType_Ready()``."
454454
msgstr ""
455-
"Tradicionalmente, los tipos definidos en código C son *static*; es decir, "
455+
"Tradicionalmente, los tipos definidos en código C son *estáticos*; es decir, "
456456
"estructuras ``static PyTypeObject`` definidas directamente en el código e "
457457
"inicializadas mediante ``PyType_Ready()``."
458458

@@ -496,19 +496,20 @@ msgid ""
496496
msgstr ""
497497
"Debido a que son inmutables y globales de proceso, los tipos estáticos no "
498498
"pueden acceder a \"su\" estado de módulo. Si algún método de este tipo "
499-
"requiere acceso al estado del módulo, el tipo debe convertirse a *heap-"
500-
"allocated type* o *heap type* para abreviar. Estos se corresponden más "
501-
"estrechamente con las clases creadas por la instrucción ``class`` de Python."
499+
"requiere acceso al estado del módulo, el tipo debe convertirse a *tipo "
500+
"almacenado en memoria dinámica (heap)* o *tipo heap* para abreviar. Estos se "
501+
"corresponden más estrechamente con las clases creadas por la instrucción "
502+
"``class`` de Python."
502503

503504
#: ../Doc/howto/isolating-extensions.rst:282
504505
msgid "For new modules, using heap types by default is a good rule of thumb."
505506
msgstr ""
506-
"Para los módulos nuevos, usar tipos de almacenamiento dinámico de forma "
507-
"predeterminada es una buena regla general."
507+
"Para los módulos nuevos, usar tipos heap de forma predeterminada es una "
508+
"buena regla general."
508509

509510
#: ../Doc/howto/isolating-extensions.rst:286
510511
msgid "Changing Static Types to Heap Types"
511-
msgstr "Cambio de tipos estáticos a tipos de montón"
512+
msgstr "Cambio de tipos estáticos a tipos heap"
512513

513514
#: ../Doc/howto/isolating-extensions.rst:288
514515
msgid ""
@@ -519,13 +520,13 @@ msgid ""
519520
"unintentionally change a few details (e.g. pickleability or inherited "
520521
"slots). Always test the details that are important to you."
521522
msgstr ""
522-
"Los tipos estáticos se pueden convertir en tipos de montón, pero tenga en "
523-
"cuenta que la API de tipo de montón no se diseñó para la conversión \"sin "
524-
"pérdidas\" de tipos estáticos, es decir, para crear un tipo que funcione "
525-
"exactamente como un tipo estático determinado. Por lo tanto, al reescribir "
526-
"la definición de clase en una nueva API, es probable que cambie sin querer "
527-
"algunos detalles (por ejemplo, capacidad de selección o espacios heredados). "
528-
"Siempre pruebe los detalles que son importantes para usted."
523+
"Los tipos estáticos se pueden convertir en tipos heap, pero tenga en cuenta "
524+
"que la API de tipo heap no se diseñó para la conversión \"sin pérdidas\" de "
525+
"tipos estáticos, es decir, para crear un tipo que funcione exactamente como "
526+
"un tipo estático determinado. Por lo tanto, al reescribir la definición de "
527+
"clase en una nueva API, es probable que cambie sin querer algunos detalles "
528+
"(por ejemplo, capacidad de selección o espacios heredados). Siempre pruebe "
529+
"los detalles que son importantes para usted."
529530

530531
#: ../Doc/howto/isolating-extensions.rst:297
531532
msgid ""
@@ -540,7 +541,7 @@ msgid ""
540541
"Unlike static types, heap type objects are mutable by default. Use the :c:"
541542
"data:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability."
542543
msgstr ""
543-
"A diferencia de los tipos estáticos, los objetos de tipo montón son mutables "
544+
"A diferencia de los tipos estáticos, los objetos de tipo heap son mutables "
544545
"de forma predeterminada. Utilice el indicador :c:data:"
545546
"`Py_TPFLAGS_IMMUTABLETYPE` para evitar la mutabilidad."
546547

@@ -550,25 +551,25 @@ msgid ""
550551
"become possible to instantiate them from Python code. You can prevent this "
551552
"with the :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag."
552553
msgstr ""
553-
"Los tipos de almacenamiento dinámico heredan :c:member:`~PyTypeObject."
554-
"tp_new` de forma predeterminada, por lo que es posible crear instancias de "
555-
"ellos desde el código de Python. Puede evitar esto con el indicador :c:data:"
554+
"Los tipos heap heredan :c:member:`~PyTypeObject.tp_new` de forma "
555+
"predeterminada, por lo que es posible crear instancias de ellos desde el "
556+
"código de Python. Puede evitar esto con el indicador :c:data:"
556557
"`Py_TPFLAGS_DISALLOW_INSTANTIATION`."
557558

558559
#: ../Doc/howto/isolating-extensions.rst:308
559560
msgid "Defining Heap Types"
560-
msgstr "Definición de tipos de almacenamiento dinámico"
561+
msgstr "Definición de tipos heap"
561562

562563
#: ../Doc/howto/isolating-extensions.rst:310
563564
msgid ""
564565
"Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a "
565566
"description or \"blueprint\" of a class, and calling :c:func:"
566567
"`PyType_FromModuleAndSpec` to construct a new class object."
567568
msgstr ""
568-
"Los tipos de almacenamiento dinámico se pueden crear completando una "
569-
"estructura :c:struct:`PyType_Spec`, una descripción o \"modelo\" de una "
570-
"clase y llamando a :c:func:`PyType_FromModuleAndSpec` para construir un "
571-
"nuevo objeto de clase."
569+
"Los tipos heap se pueden crear completando una estructura "
570+
":c:struct:`PyType_Spec`, una descripción o \"modelo\" de una clase y "
571+
"llamando a :c:func:`PyType_FromModuleAndSpec` para construir un nuevo objeto "
572+
"de clase."
572573

573574
#: ../Doc/howto/isolating-extensions.rst:315
574575
msgid ""
@@ -577,17 +578,16 @@ msgid ""
577578
"allowing access to the module state from methods."
578579
msgstr ""
579580
"Otras funciones, como :c:func:`PyType_FromSpec`, también pueden crear tipos "
580-
"de almacenamiento dinámico, pero :c:func:`PyType_FromModuleAndSpec` asocia "
581-
"el módulo con la clase, lo que permite el acceso al estado del módulo desde "
582-
"los métodos."
581+
"heap, pero :c:func:`PyType_FromModuleAndSpec` asocia el módulo con la clase, "
582+
"lo que permite el acceso al estado del módulo desde los métodos."
583583

584584
#: ../Doc/howto/isolating-extensions.rst:319
585585
msgid ""
586586
"The class should generally be stored in *both* the module state (for safe "
587587
"access from C) and the module's ``__dict__`` (for access from Python code)."
588588
msgstr ""
589-
"La clase generalmente debe almacenarse en *both*, el estado del módulo (para "
590-
"acceso seguro desde C) y el ``__dict__`` del módulo (para acceso desde "
589+
"La clase generalmente debe almacenarse en *ambos*, el estado del módulo "
590+
"(para acceso seguro desde C) y el ``__dict__`` del módulo (para acceso desde "
591591
"código Python)."
592592

593593
#: ../Doc/howto/isolating-extensions.rst:325
@@ -600,19 +600,19 @@ msgid ""
600600
"the type isn't destroyed before all its instances are, but may result in "
601601
"reference cycles that need to be broken by the garbage collector."
602602
msgstr ""
603-
"Las instancias de tipos de almacenamiento dinámico contienen una referencia "
604-
"a su tipo. Esto garantiza que el tipo no se destruya antes de que se "
605-
"destruyan todas sus instancias, pero puede generar ciclos de referencia que "
606-
"el recolector de elementos no utilizados debe interrumpir."
603+
"Las instancias de tipos heap contienen una referencia a su tipo. Esto "
604+
"garantiza que el tipo no se destruya antes de que se destruyan todas sus "
605+
"instancias, pero puede generar ciclos de referencia que el recolector de "
606+
"elementos no utilizados debe interrumpir."
607607

608608
#: ../Doc/howto/isolating-extensions.rst:332
609609
msgid ""
610610
"To avoid memory leaks, instances of heap types must implement the garbage "
611611
"collection protocol. That is, heap types should:"
612612
msgstr ""
613-
"Para evitar pérdidas de memoria, las instancias de los tipos de "
614-
"almacenamiento dinámico deben implementar el protocolo de recolección de "
615-
"elementos no utilizados. Es decir, los tipos de montón deben:"
613+
"Para evitar pérdidas de memoria, las instancias de los tipos heap deben "
614+
"implementar el protocolo de recolección de elementos no utilizados. Es decir, "
615+
"los tipos heap deben:"
616616

617617
#: ../Doc/howto/isolating-extensions.rst:336
618618
msgid "Have the :c:data:`Py_TPFLAGS_HAVE_GC` flag."
@@ -700,7 +700,7 @@ msgid ""
700700
msgstr ""
701701
"Acceder al estado de nivel de módulo desde los métodos de una clase es algo "
702702
"más complicado, pero es posible gracias a la API introducida en Python 3.9. "
703-
"Para obtener el estado, primero debe obtener el *defining class* y luego "
703+
"Para obtener el estado, primero debe obtener la *clase de definición* y luego "
704704
"obtener el estado del módulo."
705705

706706
#: ../Doc/howto/isolating-extensions.rst:388
@@ -709,9 +709,9 @@ msgid ""
709709
"that method's \"defining class\" for short. The defining class can have a "
710710
"reference to the module it is part of."
711711
msgstr ""
712-
"El obstáculo más grande es obtener *the class a method was defined in*, o la "
713-
"\"clase de definición\" de ese método para abreviar. La clase de definición "
714-
"puede tener una referencia al módulo del que forma parte."
712+
"El obstáculo más grande es obtener *la clase en la que se definió un método*, "
713+
"o la \"clase de definición\" de ese método para abreviar. La clase de "
714+
"definición puede tener una referencia al módulo del que forma parte."
715715

716716
#: ../Doc/howto/isolating-extensions.rst:392
717717
msgid ""
@@ -720,7 +720,7 @@ msgid ""
720720
"to that subclass, which may be defined in different module than yours."
721721
msgstr ""
722722
"No confunda la clase de definición con :c:expr:`Py_TYPE(self)`. Si se llama "
723-
"al método en un *subclass* de su tipo, ``Py_TYPE(self)`` se referirá a esa "
723+
"al método en una *subclase* de su tipo, ``Py_TYPE(self)`` se referirá a esa "
724724
"subclase, que puede estar definida en un módulo diferente al suyo."
725725

726726
#: ../Doc/howto/isolating-extensions.rst:397
@@ -769,10 +769,10 @@ msgid ""
769769
"allow passing in the defining class, unlike with :c:type:`PyCMethod`. The "
770770
"same goes for getters and setters defined with :c:type:`PyGetSetDef`."
771771
msgstr ""
772-
"Los métodos de ranura, los equivalentes rápidos de C para métodos "
773-
"especiales, como :c:member:`~PyNumberMethods.nb_add` para :py:attr:`~object."
774-
"__add__` o :c:member:`~PyType.tp_new` para la inicialización, tienen una API "
775-
"muy simple que no permite pasar la clase de definición, a diferencia de :c:"
772+
"Los métodos slot, los equivalentes rápidos de C para métodos especiales, como "
773+
":c:member:`~PyNumberMethods.nb_add` para :py:attr:`~object.__add__` o "
774+
":c:member:`~PyType.tp_new` para la inicialización, tienen una API muy simple "
775+
"que no permite pasar la clase de definición, a diferencia de :c:"
776776
"type:`PyCMethod`. Lo mismo ocurre con los getters y setters definidos con :c:"
777777
"type:`PyGetSetDef`."
778778

@@ -844,8 +844,8 @@ msgstr "Problemas abiertos"
844844
#: ../Doc/howto/isolating-extensions.rst:517
845845
msgid "Several issues around per-module state and heap types are still open."
846846
msgstr ""
847-
"Varios problemas relacionados con el estado por módulo y los tipos de "
848-
"almacenamiento dinámico todavía están abiertos."
847+
"Varios problemas relacionados con el estado por módulo y los tipos heap "
848+
"todavía están abiertos."
849849

850850
#: ../Doc/howto/isolating-extensions.rst:519
851851
msgid ""
@@ -868,20 +868,20 @@ msgid ""
868868
"may change in the future—perhaps, ironically, to allow a proper solution for "
869869
"per-class scope)."
870870
msgstr ""
871-
"Actualmente (a partir de Python 3.11) no es posible adjuntar el estado a un "
872-
"*types* individual sin depender de los detalles de implementación de CPython "
873-
"(que pueden cambiar en el futuro, tal vez, irónicamente, para permitir una "
874-
"solución adecuada para el alcance por clase)."
871+
"Actualmente (a partir de Python 3.11) no es posible adjuntar estado a "
872+
"*tipos* individuales sin depender de los detalles de implementación de "
873+
"CPython (que pueden cambiar en el futuro, tal vez, irónicamente, para "
874+
"permitir una solución adecuada para el alcance por clase)."
875875

876876
#: ../Doc/howto/isolating-extensions.rst:533
877877
msgid "Lossless Conversion to Heap Types"
878-
msgstr "Conversión sin pérdidas a tipos de almacenamiento dinámico"
878+
msgstr "Conversión sin pérdidas a tipos heap"
879879

880880
#: ../Doc/howto/isolating-extensions.rst:535
881881
msgid ""
882882
"The heap type API was not designed for \"lossless\" conversion from static "
883883
"types; that is, creating a type that works exactly like a given static type."
884884
msgstr ""
885-
"La API de tipo montón no se diseñó para la conversión \"sin pérdidas\" de "
886-
"tipos estáticos; es decir, crear un tipo que funcione exactamente como un "
887-
"tipo estático determinado."
885+
"La API de tipo heap no se diseñó para la conversión \"sin pérdidas\" de tipos "
886+
"estáticos; es decir, crear un tipo que funcione exactamente como un tipo "
887+
"estático determinado."

0 commit comments

Comments
 (0)