diff --git a/dictionaries/whatsnew_3.12.txt b/dictionaries/whatsnew_3.12.txt new file mode 100644 index 0000000000..f67e6f56c3 --- /dev/null +++ b/dictionaries/whatsnew_3.12.txt @@ -0,0 +1,64 @@ +Badaracco +Bhat +Bower +Bradshaw +Braun +Carlton +Chan +Chhina +Cristián +Domenico +Donghee +Firebird +Franek +Fredes +Frost +Galeon +Ganguly +Gao +Gedam +Georgi +Gibson +Goergens +Grail +Iarygin +Iceape +Jacob +Jakob +Julien +Machalow +Macías +Magiera +Maureira +Modzelewski +Mosaic +Neumaier +Ofey +Palard +Pradyun +Pranav +Ragusa +Roshan +Skipstone +Soumendra +Spearman +Stanislav +Thulasiram +Tian +Troxler +Varsovia +Walls +Wenyang +Wenzel +Zmiev +Zorin +aclocal +adáptelo +bools +conmutatividad +pbd +preinstale +pseudoinstrucciones +pseudoinstrucción +tokenizarlo +tríada diff --git a/whatsnew/3.12.po b/whatsnew/3.12.po index 3ad8c47393..82d6b5889a 100644 --- a/whatsnew/3.12.po +++ b/whatsnew/3.12.po @@ -12,60 +12,77 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: es\n" "Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" #: ../Doc/whatsnew/3.12.rst:4 msgid "What's New In Python 3.12" -msgstr "" +msgstr "Novedades de Python 3.12" #: ../Doc/whatsnew/3.12.rst msgid "Editor" -msgstr "" +msgstr "Editor" #: ../Doc/whatsnew/3.12.rst:6 msgid "Adam Turner" -msgstr "" +msgstr "Adam Turner" #: ../Doc/whatsnew/3.12.rst:48 msgid "" "This article explains the new features in Python 3.12, compared to 3.11. " -"Python 3.12 was released on October 2, 2023. For full details, see the :ref:" -"`changelog `." +"Python 3.12 was released on October 2, 2023. For full details, see the " +":ref:`changelog `." msgstr "" +"Este artículo explica las nuevas características de Python 3.12, en " +"comparación con 3.11. Python 3.12 se lanzó el 2 de octubre de 2023. Para " +"obtener detalles completos, consulte :ref:`changelog `." #: ../Doc/whatsnew/3.12.rst:54 msgid ":pep:`693` -- Python 3.12 Release Schedule" -msgstr "" +msgstr ":pep:`693` - Calendario de lanzamiento de Python 3.12" #: ../Doc/whatsnew/3.12.rst:57 msgid "Summary -- Release highlights" -msgstr "" +msgstr "Resumen: aspectos destacados de la versión" #: ../Doc/whatsnew/3.12.rst:62 msgid "" -"Python 3.12 is the latest stable release of the Python programming language, " -"with a mix of changes to the language and the standard library. The library " -"changes focus on cleaning up deprecated APIs, usability, and correctness. Of " -"note, the :mod:`!distutils` package has been removed from the standard " +"Python 3.12 is the latest stable release of the Python programming language," +" with a mix of changes to the language and the standard library. The library" +" changes focus on cleaning up deprecated APIs, usability, and correctness. " +"Of note, the :mod:`!distutils` package has been removed from the standard " "library. Filesystem support in :mod:`os` and :mod:`pathlib` has seen a " "number of improvements, and several modules have better performance." msgstr "" +"Python 3.12 es la última versión estable del lenguaje de programación " +"Python, con una combinación de cambios en el lenguaje y la biblioteca " +"estándar. Los cambios en la biblioteca se centran en limpiar las API " +"obsoletas, su usabilidad y su corrección. Es de destacar que el paquete " +":mod:`!distutils` se ha eliminado de la biblioteca estándar. La " +"compatibilidad con el sistema de archivos en :mod:`os` y :mod:`pathlib` ha " +"experimentado una serie de mejoras y varios módulos tienen un mejor " +"rendimiento." #: ../Doc/whatsnew/3.12.rst:69 msgid "" "The language changes focus on usability, as :term:`f-strings ` " "have had many limitations removed and 'Did you mean ...' suggestions " -"continue to improve. The new :ref:`type parameter syntax ` and :keyword:`type` statement improve ergonomics for using :term:" -"`generic types ` and :term:`type aliases ` with " -"static type checkers." -msgstr "" +"continue to improve. The new :ref:`type parameter syntax " +"` and :keyword:`type` statement improve ergonomics for " +"using :term:`generic types ` and :term:`type aliases ` with static type checkers." +msgstr "" +"Los cambios de idioma se centran en la usabilidad, ya que a :term:`f-strings" +" ` se le han eliminado muchas limitaciones y las sugerencias " +"\"¿Quiso decir...\" continúan mejorando. La nueva declaración :ref:`type " +"parameter syntax ` y :keyword:`type` mejora la ergonomía" +" para usar :term:`generic types ` y :term:`type aliases ` con controladores de tipo estático." #: ../Doc/whatsnew/3.12.rst:76 msgid "" @@ -77,80 +94,104 @@ msgid "" "change, refer to the PEP for a particular new feature; but note that PEPs " "usually are not kept up-to-date once a feature has been fully implemented." msgstr "" +"Este artículo no intenta proporcionar una especificación completa de todas " +"las características nuevas, sino que brinda una descripción general " +"conveniente. Para obtener detalles completos, debe consultar la " +"documentación, como :ref:`Library Reference ` y " +":ref:`Language Reference `. Si desea comprender la " +"implementación completa y la justificación del diseño de un cambio, consulte" +" el PEP para conocer una característica nueva en particular; pero tenga en " +"cuenta que los PEP generalmente no se mantienen actualizados una vez que una" +" característica se ha implementado por completo." #: ../Doc/whatsnew/3.12.rst:90 msgid "New syntax features:" -msgstr "" +msgstr "Nuevas características de sintaxis:" #: ../Doc/whatsnew/3.12.rst:92 msgid "" -":ref:`PEP 695 `, type parameter syntax and the :keyword:" -"`type` statement" +":ref:`PEP 695 `, type parameter syntax and the " +":keyword:`type` statement" msgstr "" +":ref:`PEP 695 `, sintaxis de parámetro de tipo y " +"sentencia :keyword:`type`" #: ../Doc/whatsnew/3.12.rst:94 msgid "New grammar features:" -msgstr "" +msgstr "Nuevas características gramaticales:" #: ../Doc/whatsnew/3.12.rst:96 msgid "" ":ref:`PEP 701 `, :term:`f-strings ` in the " "grammar" msgstr "" +":ref:`PEP 701 `, :term:`f-strings ` en la " +"gramática" #: ../Doc/whatsnew/3.12.rst:98 msgid "Interpreter improvements:" -msgstr "" +msgstr "Mejoras del intérprete:" #: ../Doc/whatsnew/3.12.rst:100 msgid "" ":ref:`PEP 684 `, a unique per-interpreter :term:`GIL " "`" msgstr "" +":ref:`PEP 684 `, un :term:`GIL ` único por intérprete" #: ../Doc/whatsnew/3.12.rst:102 msgid ":ref:`PEP 669 `, low impact monitoring" -msgstr "" +msgstr ":ref:`PEP 669 `, monitorización de bajo impacto" #: ../Doc/whatsnew/3.12.rst:103 msgid "" -"`Improved 'Did you mean ...' suggestions `_ for :" -"exc:`NameError`, :exc:`ImportError`, and :exc:`SyntaxError` exceptions" +"`Improved 'Did you mean ...' suggestions `_ for " +":exc:`NameError`, :exc:`ImportError`, and :exc:`SyntaxError` exceptions" msgstr "" +"`Improved 'Did you mean ...' suggestions `_ para " +"excepciones :exc:`NameError`, :exc:`ImportError` y :exc:`SyntaxError`" #: ../Doc/whatsnew/3.12.rst:106 msgid "Python data model improvements:" -msgstr "" +msgstr "Mejoras en el modelo de datos de Python:" #: ../Doc/whatsnew/3.12.rst:108 msgid "" ":ref:`PEP 688 `, using the :ref:`buffer protocol " "` from Python" msgstr "" +":ref:`PEP 688 `, usando :ref:`buffer protocol " +"` de Python" #: ../Doc/whatsnew/3.12.rst:111 msgid "Significant improvements in the standard library:" -msgstr "" +msgstr "Mejoras significativas en la biblioteca estándar:" #: ../Doc/whatsnew/3.12.rst:113 msgid "The :class:`pathlib.Path` class now supports subclassing" -msgstr "" +msgstr "La clase :class:`pathlib.Path` ahora admite subclases" #: ../Doc/whatsnew/3.12.rst:114 msgid "The :mod:`os` module received several improvements for Windows support" -msgstr "" +msgstr "El módulo :mod:`os` recibió varias mejoras para el soporte de Windows" #: ../Doc/whatsnew/3.12.rst:115 msgid "" -"A :ref:`command-line interface ` has been added to the :mod:" -"`sqlite3` module" +"A :ref:`command-line interface ` has been added to the " +":mod:`sqlite3` module" msgstr "" +"Se ha agregado un :ref:`command-line interface ` al módulo " +":mod:`sqlite3`" #: ../Doc/whatsnew/3.12.rst:117 msgid "" -":func:`isinstance` checks against :func:`runtime-checkable protocols ` enjoy a speed up of between two and 20 times" +":func:`isinstance` checks against :func:`runtime-checkable protocols " +"` enjoy a speed up of between two and 20 times" msgstr "" +"Los controles :func:`isinstance` frente a :func:`runtime-checkable protocols" +" ` disfrutan de una aceleración de entre dos y 20 " +"veces" #: ../Doc/whatsnew/3.12.rst:119 #, python-format @@ -158,12 +199,16 @@ msgid "" "The :mod:`asyncio` package has had a number of performance improvements, " "with some benchmarks showing a 75% speed up." msgstr "" +"El paquete :mod:`asyncio` ha tenido una serie de mejoras de rendimiento, y " +"algunos puntos de referencia muestran una aceleración del 75 %." #: ../Doc/whatsnew/3.12.rst:121 msgid "" -"A :ref:`command-line interface ` has been added to the :mod:`uuid` " -"module" +"A :ref:`command-line interface ` has been added to the :mod:`uuid`" +" module" msgstr "" +"Se ha agregado un :ref:`command-line interface ` al módulo " +":mod:`uuid`" #: ../Doc/whatsnew/3.12.rst:123 #, python-format @@ -171,88 +216,117 @@ msgid "" "Due to the changes in :ref:`PEP 701 `, producing tokens " "via the :mod:`tokenize` module is up to up to 64% faster." msgstr "" +"Debido a los cambios en :ref:`PEP 701 `, la producción " +"de tokens a través del módulo :mod:`tokenize` es hasta un 64% más rápida." #: ../Doc/whatsnew/3.12.rst:126 msgid "Security improvements:" -msgstr "" +msgstr "Mejoras de seguridad:" #: ../Doc/whatsnew/3.12.rst:128 msgid "" "Replace the builtin :mod:`hashlib` implementations of SHA1, SHA3, SHA2-384, " -"SHA2-512, and MD5 with formally verified code from the `HACL* `__ project. These builtin implementations " -"remain as fallbacks that are only used when OpenSSL does not provide them." +"SHA2-512, and MD5 with formally verified code from the `HACL* " +"`__ project. These builtin " +"implementations remain as fallbacks that are only used when OpenSSL does not" +" provide them." msgstr "" +"Reemplace las implementaciones :mod:`hashlib` integradas de SHA1, SHA3, " +"SHA2-384, SHA2-512 y MD5 con código verificado formalmente del proyecto " +"`HACL* `__. Estas implementaciones " +"integradas permanecen como alternativas que solo se utilizan cuando OpenSSL " +"no las proporciona." #: ../Doc/whatsnew/3.12.rst:134 msgid "C API improvements:" -msgstr "" +msgstr "Mejoras de la API C:" #: ../Doc/whatsnew/3.12.rst:136 msgid ":ref:`PEP 697 `, unstable C API tier" -msgstr "" +msgstr ":ref:`PEP 697 `, nivel de API C inestable" #: ../Doc/whatsnew/3.12.rst:137 msgid ":ref:`PEP 683 `, immortal objects" -msgstr "" +msgstr ":ref:`PEP 683 `, objetos inmortales" #: ../Doc/whatsnew/3.12.rst:139 msgid "CPython implementation improvements:" -msgstr "" +msgstr "Mejoras en la implementación de CPython:" #: ../Doc/whatsnew/3.12.rst:141 msgid ":ref:`PEP 709 `, comprehension inlining" -msgstr "" +msgstr ":ref:`PEP 709 `, comprensión en línea" #: ../Doc/whatsnew/3.12.rst:142 -msgid ":ref:`CPython support ` for the Linux ``perf`` profiler" +msgid "" +":ref:`CPython support ` for the Linux ``perf`` profiler" msgstr "" +":ref:`CPython support ` para el perfilador Linux ``perf``" #: ../Doc/whatsnew/3.12.rst:143 msgid "Implement stack overflow protection on supported platforms" msgstr "" +"Implementar protección contra desbordamiento de pila en plataformas " +"compatibles" #: ../Doc/whatsnew/3.12.rst:145 msgid "New typing features:" -msgstr "" +msgstr "Nuevas funciones de escritura:" #: ../Doc/whatsnew/3.12.rst:147 msgid "" ":ref:`PEP 692 `, using :class:`~typing.TypedDict` to " "annotate :term:`**kwargs `" msgstr "" +":ref:`PEP 692 `, usando :class:`~typing.TypedDict` para " +"anotar :term:`**kwargs `" #: ../Doc/whatsnew/3.12.rst:149 msgid ":ref:`PEP 698 `, :func:`typing.override` decorator" msgstr "" +"Decorador :ref:`PEP 698 `, :func:`typing.override`" #: ../Doc/whatsnew/3.12.rst:151 msgid "Important deprecations, removals or restrictions:" -msgstr "" +msgstr "Depreciaciones, eliminaciones o restricciones importantes:" #: ../Doc/whatsnew/3.12.rst:153 msgid "" -":pep:`623`: Remove ``wstr`` from Unicode objects in Python's C API, reducing " -"the size of every :class:`str` object by at least 8 bytes." +":pep:`623`: Remove ``wstr`` from Unicode objects in Python's C API, reducing" +" the size of every :class:`str` object by at least 8 bytes." msgstr "" +":pep:`623`: elimine ``wstr`` de los objetos Unicode en la API C de Python, " +"reduciendo el tamaño de cada objeto :class:`str` en al menos 8 bytes." #: ../Doc/whatsnew/3.12.rst:156 msgid "" ":pep:`632`: Remove the :mod:`!distutils` package. See `the migration guide " "`_ for advice replacing " -"the APIs it provided. The third-party `Setuptools `__ package continues to " -"provide :mod:`!distutils`, if you still require it in Python 3.12 and beyond." -msgstr "" +"the APIs it provided. The third-party `Setuptools " +"`__ " +"package continues to provide :mod:`!distutils`, if you still require it in " +"Python 3.12 and beyond." +msgstr "" +":pep:`632`: elimine el paquete :mod:`!distutils`. Consulte `the migration " +"guide `_ para obtener " +"consejos sobre cómo reemplazar las API que proporcionaba. El paquete " +"`Setuptools `__ de terceros continúa proporcionando :mod:`!distutils`, si " +"aún lo necesita en Python 3.12 y versiones posteriores." #: ../Doc/whatsnew/3.12.rst:163 msgid "" ":gh:`95299`: Do not pre-install ``setuptools`` in virtual environments " "created with :mod:`venv`. This means that ``distutils``, ``setuptools``, " -"``pkg_resources``, and ``easy_install`` will no longer available by default; " -"to access these run ``pip install setuptools`` in the :ref:`activated ` virtual environment." +"``pkg_resources``, and ``easy_install`` will no longer available by default;" +" to access these run ``pip install setuptools`` in the :ref:`activated " +"` virtual environment." msgstr "" +":gh:`95299`: No preinstale ``setuptools`` en entornos virtuales creados con " +":mod:`venv`. Esto significa que ``distutils``, ``setuptools``, " +"``pkg_resources`` y ``easy_install`` ya no estarán disponibles de forma " +"predeterminada; para acceder a ellos, ejecute ``pip install setuptools`` en " +"el entorno virtual :ref:`activated `." #: ../Doc/whatsnew/3.12.rst:170 msgid "" @@ -260,28 +334,37 @@ msgid "" "removed, along with several :class:`unittest.TestCase` `method aliases " "`_." msgstr "" +"Se han eliminado los módulos :mod:`!asynchat`, :mod:`!asyncore` y " +":mod:`!imp`, junto con varios :class:`unittest.TestCase` `method aliases " +"`_." #: ../Doc/whatsnew/3.12.rst:176 ../Doc/whatsnew/3.12.rst:1917 msgid "New Features" -msgstr "" +msgstr "Nuevas características" #: ../Doc/whatsnew/3.12.rst:181 msgid "PEP 695: Type Parameter Syntax" -msgstr "" +msgstr "PEP 695: Sintaxis de parámetro de tipo" #: ../Doc/whatsnew/3.12.rst:183 msgid "" -"Generic classes and functions under :pep:`484` were declared using a verbose " -"syntax that left the scope of type parameters unclear and required explicit " -"declarations of variance." +"Generic classes and functions under :pep:`484` were declared using a verbose" +" syntax that left the scope of type parameters unclear and required explicit" +" declarations of variance." msgstr "" +"Las clases y funciones genéricas en :pep:`484` se declararon utilizando una " +"sintaxis detallada que dejaba el alcance de los parámetros de tipo poco " +"claro y requería declaraciones explícitas de variación." #: ../Doc/whatsnew/3.12.rst:187 msgid "" -":pep:`695` introduces a new, more compact and explicit way to create :ref:" -"`generic classes ` and :ref:`functions ` and :ref:`functions `::" msgstr "" +":pep:`695` presenta una forma nueva, más compacta y explícita de crear " +":ref:`generic classes ` y :ref:`functions `:" #: ../Doc/whatsnew/3.12.rst:200 msgid "" @@ -289,35 +372,55 @@ msgid "" "` using the :keyword:`type` statement, which creates an " "instance of :class:`~typing.TypeAliasType`::" msgstr "" +"Además, el PEP introduce una nueva forma de declarar :ref:`type aliases " +"` utilizando la declaración :keyword:`type`, que crea una " +"instancia de :class:`~typing.TypeAliasType`:" #: ../Doc/whatsnew/3.12.rst:206 msgid "Type aliases can also be :ref:`generic `::" msgstr "" +"Los alias de tipo también pueden ser :ref:`generic `::" #: ../Doc/whatsnew/3.12.rst:210 msgid "" -"The new syntax allows declaring :class:`~typing.TypeVarTuple` and :class:" -"`~typing.ParamSpec` parameters, as well as :class:`~typing.TypeVar` " +"The new syntax allows declaring :class:`~typing.TypeVarTuple` and " +":class:`~typing.ParamSpec` parameters, as well as :class:`~typing.TypeVar` " "parameters with bounds or constraints::" msgstr "" +"La nueva sintaxis permite declarar los parámetros " +":class:`~typing.TypeVarTuple` y :class:`~typing.ParamSpec`, así como los " +"parámetros :class:`~typing.TypeVar` con límites o restricciones::" #: ../Doc/whatsnew/3.12.rst:219 msgid "" "The value of type aliases and the bound and constraints of type variables " "created through this syntax are evaluated only on demand (see :ref:`lazy " -"evaluation `). This means type aliases are able to refer to " -"other types defined later in the file." +"evaluation `). This means type aliases are able to refer to" +" other types defined later in the file." msgstr "" +"El valor de los alias de tipo y los límites y restricciones de las variables" +" de tipo creadas mediante esta sintaxis se evalúan solo según demanda " +"(consulte :ref:`lazy evaluation `). Esto significa que los " +"alias de tipo pueden hacer referencia a otros tipos definidos más adelante " +"en el archivo." #: ../Doc/whatsnew/3.12.rst:224 msgid "" "Type parameters declared through a type parameter list are visible within " "the scope of the declaration and any nested scopes, but not in the outer " -"scope. For example, they can be used in the type annotations for the methods " -"of a generic class or in the class body. However, they cannot be used in the " -"module scope after the class is defined. See :ref:`type-params` for a " +"scope. For example, they can be used in the type annotations for the methods" +" of a generic class or in the class body. However, they cannot be used in " +"the module scope after the class is defined. See :ref:`type-params` for a " "detailed description of the runtime semantics of type parameters." msgstr "" +"Los parámetros de tipo declarados a través de una lista de parámetros de " +"tipo son visibles dentro del alcance de la declaración y de cualquier " +"alcance anidado, pero no en el alcance externo. Por ejemplo, se pueden " +"utilizar en las anotaciones de tipo de los métodos de una clase genérica o " +"en el cuerpo de la clase. Sin embargo, no se pueden utilizar en el alcance " +"del módulo una vez definida la clase. Consulte :ref:`type-params` para " +"obtener una descripción detallada de la semántica de tiempo de ejecución de " +"los parámetros de tipo." #: ../Doc/whatsnew/3.12.rst:231 msgid "" @@ -327,100 +430,153 @@ msgid "" "differently with enclosing class scopes. In Python 3.13, :term:`annotations " "` will also be evaluated in annotation scopes." msgstr "" +"Para respaldar esta semántica de alcance, se introduce un nuevo tipo de " +"alcance, el :ref:`annotation scope `. Los ámbitos de " +"anotación se comportan en su mayor parte como ámbitos de función, pero " +"interactúan de manera diferente con los ámbitos de clase adjuntos. En Python" +" 3.13, :term:`annotations ` también se evaluará en ámbitos de " +"anotación." #: ../Doc/whatsnew/3.12.rst:237 msgid "See :pep:`695` for more details." -msgstr "" +msgstr "Consulte :pep:`695` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:239 msgid "" "(PEP written by Eric Traut. Implementation by Jelle Zijlstra, Eric Traut, " "and others in :gh:`103764`.)" msgstr "" +"(PEP escrito por Eric Traut. Implementación por Jelle Zijlstra, Eric Traut y" +" otros en :gh:`103764`.)" #: ../Doc/whatsnew/3.12.rst:245 msgid "PEP 701: Syntactic formalization of f-strings" -msgstr "" +msgstr "PEP 701: Formalización sintáctica de cadenas f" #: ../Doc/whatsnew/3.12.rst:247 msgid "" -":pep:`701` lifts some restrictions on the usage of :term:`f-strings `. Expression components inside f-strings can now be any valid Python " -"expression, including strings reusing the same quote as the containing f-" -"string, multi-line expressions, comments, backslashes, and unicode escape " -"sequences. Let's cover these in detail:" +":pep:`701` lifts some restrictions on the usage of :term:`f-strings " +"`. Expression components inside f-strings can now be any valid " +"Python expression, including strings reusing the same quote as the " +"containing f-string, multi-line expressions, comments, backslashes, and " +"unicode escape sequences. Let's cover these in detail:" msgstr "" +":pep:`701` elimina algunas restricciones sobre el uso de :term:`f-strings " +"`. Los componentes de expresión dentro de cadenas f ahora pueden " +"ser cualquier expresión Python válida, incluidas cadenas que reutilizan la " +"misma comilla que la cadena f que las contiene, expresiones de varias " +"líneas, comentarios, barras invertidas y secuencias de escape Unicode. " +"Cubramos estos en detalle:" #: ../Doc/whatsnew/3.12.rst:253 msgid "" -"Quote reuse: in Python 3.11, reusing the same quotes as the enclosing f-" -"string raises a :exc:`SyntaxError`, forcing the user to either use other " +"Quote reuse: in Python 3.11, reusing the same quotes as the enclosing " +"f-string raises a :exc:`SyntaxError`, forcing the user to either use other " "available quotes (like using double quotes or triple quotes if the f-string " "uses single quotes). In Python 3.12, you can now do things like this:" msgstr "" +"Reutilización de comillas: en Python 3.11, reutilizar las mismas comillas " +"que la cadena f adjunta genera un :exc:`SyntaxError`, lo que obliga al " +"usuario a usar otras comillas disponibles (como usar comillas dobles o " +"triples si la cadena f usa comillas simples). En Python 3.12, ahora puedes " +"hacer cosas como esta:" #: ../Doc/whatsnew/3.12.rst:262 msgid "" "Note that before this change there was no explicit limit in how f-strings " "can be nested, but the fact that string quotes cannot be reused inside the " "expression component of f-strings made it impossible to nest f-strings " -"arbitrarily. In fact, this is the most nested f-string that could be written:" +"arbitrarily. In fact, this is the most nested f-string that could be " +"written:" msgstr "" +"Tenga en cuenta que antes de este cambio no había un límite explícito en " +"cómo se pueden anidar las cadenas f, pero el hecho de que las comillas de " +"cadena no se pueden reutilizar dentro del componente de expresión de las " +"cadenas f hacía imposible anidar cadenas f arbitrariamente. De hecho, esta " +"es la cadena f más anidada que podría escribirse:" #: ../Doc/whatsnew/3.12.rst:270 msgid "" "As now f-strings can contain any valid Python expression inside expression " "components, it is now possible to nest f-strings arbitrarily:" msgstr "" +"Como ahora las cadenas f pueden contener cualquier expresión Python válida " +"dentro de los componentes de expresión, ahora es posible anidar cadenas f de" +" forma arbitraria:" #: ../Doc/whatsnew/3.12.rst:276 msgid "" "Multi-line expressions and comments: In Python 3.11, f-string expressions " -"must be defined in a single line, even if the expression within the f-string " -"could normally span multiple lines (like literal lists being defined over " +"must be defined in a single line, even if the expression within the f-string" +" could normally span multiple lines (like literal lists being defined over " "multiple lines), making them harder to read. In Python 3.12 you can now " "define f-strings spanning multiple lines, and add inline comments:" msgstr "" +"Expresiones y comentarios de varias líneas: en Python 3.11, las expresiones " +"de cadena f deben definirse en una sola línea, incluso si la expresión " +"dentro de la cadena f normalmente podría abarcar varias líneas (como listas " +"literales que se definen en varias líneas), lo que las hace más difícil de " +"leer. En Python 3.12 ahora puedes definir cadenas f que abarquen varias " +"líneas y agregar comentarios en línea:" #: ../Doc/whatsnew/3.12.rst:290 msgid "" "Backslashes and unicode characters: before Python 3.12 f-string expressions " -"couldn't contain any ``\\`` character. This also affected unicode :ref:" -"`escape sequences ` (such as ``\\N{snowman}``) as these " -"contain the ``\\N`` part that previously could not be part of expression " -"components of f-strings. Now, you can define expressions like this:" -msgstr "" +"couldn't contain any ``\\`` character. This also affected unicode " +":ref:`escape sequences ` (such as ``\\N{snowman}``) as " +"these contain the ``\\N`` part that previously could not be part of " +"expression components of f-strings. Now, you can define expressions like " +"this:" +msgstr "" +"Barras invertidas y caracteres Unicode: antes de Python 3.12, las " +"expresiones de cadena f no podían contener ningún carácter ``\\``. Esto " +"también afectó a Unicode :ref:`escape sequences ` (como " +"``\\N{snowman}``), ya que contienen la parte ``\\N`` que anteriormente no " +"podía ser parte de los componentes de expresión de f-strings. Ahora puedes " +"definir expresiones como esta:" #: ../Doc/whatsnew/3.12.rst:303 msgid "See :pep:`701` for more details." -msgstr "" +msgstr "Consulte :pep:`701` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:305 msgid "" "As a positive side-effect of how this feature has been implemented (by " -"parsing f-strings with :pep:`the PEG parser <617>`, now error messages for f-" -"strings are more precise and include the exact location of the error. For " +"parsing f-strings with :pep:`the PEG parser <617>`, now error messages for " +"f-strings are more precise and include the exact location of the error. For " "example, in Python 3.11, the following f-string raises a :exc:`SyntaxError`:" msgstr "" +"Como efecto secundario positivo de cómo se implementó esta característica " +"(al analizar cadenas f con :pep:`the PEG parser <617>`, ahora los mensajes " +"de error para cadenas f son más precisos e incluyen la ubicación exacta del " +"error. Por ejemplo, en Python 3.11, lo siguiente f-string genera un " +":exc:`SyntaxError`:" #: ../Doc/whatsnew/3.12.rst:318 msgid "" -"but the error message doesn't include the exact location of the error within " -"the line and also has the expression artificially surrounded by parentheses. " -"In Python 3.12, as f-strings are parsed with the PEG parser, error messages " -"can be more precise and show the entire line:" +"but the error message doesn't include the exact location of the error within" +" the line and also has the expression artificially surrounded by " +"parentheses. In Python 3.12, as f-strings are parsed with the PEG parser, " +"error messages can be more precise and show the entire line:" msgstr "" +"pero el mensaje de error no incluye la ubicación exacta del error dentro de " +"la línea y también tiene la expresión artificialmente entre paréntesis. En " +"Python 3.12, a medida que las cadenas f se analizan con el analizador PEG, " +"los mensajes de error pueden ser más precisos y mostrar la línea completa:" #: ../Doc/whatsnew/3.12.rst:330 msgid "" -"(Contributed by Pablo Galindo, Batuhan Taskaya, Lysandros Nikolaou, Cristián " -"Maureira-Fredes and Marta Gómez in :gh:`102856`. PEP written by Pablo " +"(Contributed by Pablo Galindo, Batuhan Taskaya, Lysandros Nikolaou, Cristián" +" Maureira-Fredes and Marta Gómez in :gh:`102856`. PEP written by Pablo " "Galindo, Batuhan Taskaya, Lysandros Nikolaou and Marta Gómez)." msgstr "" +"(Aportado por Pablo Galindo, Batuhan Taskaya, Lysandros Nikolaou, Cristián " +"Maureira-Fredes y Marta Gómez en :gh:`102856`. PEP escrito por Pablo " +"Galindo, Batuhan Taskaya, Lysandros Nikolaou y Marta Gómez)." #: ../Doc/whatsnew/3.12.rst:337 msgid "PEP 684: A Per-Interpreter GIL" -msgstr "" +msgstr "PEP 684: un GIL por intérprete" #: ../Doc/whatsnew/3.12.rst:339 msgid "" @@ -430,26 +586,36 @@ msgid "" "CPU cores. This is currently only available through the C-API, though a " "Python API is :pep:`anticipated for 3.13 <554>`." msgstr "" +":pep:`684` introduce un :term:`GIL ` por " +"intérprete, de modo que ahora se pueden crear subintérpretes con un GIL " +"único por intérprete. Esto permite que los programas Python aprovechen al " +"máximo múltiples núcleos de CPU. Actualmente, esto solo está disponible a " +"través de C-API, aunque una API de Python es :pep:`anticipated for 3.13 " +"<554>`." #: ../Doc/whatsnew/3.12.rst:345 msgid "" "Use the new :c:func:`Py_NewInterpreterFromConfig` function to create an " "interpreter with its own GIL::" msgstr "" +"Utilice la nueva función :c:func:`Py_NewInterpreterFromConfig` para crear un" +" intérprete con su propio GIL::" #: ../Doc/whatsnew/3.12.rst:359 msgid "" "For further examples how to use the C-API for sub-interpreters with a per-" "interpreter GIL, see :source:`Modules/_xxsubinterpretersmodule.c`." msgstr "" +"Para obtener más ejemplos de cómo utilizar C-API para subintérpretes con un " +"GIL por intérprete, consulte :source:`Modules/_xxsubinterpretersmodule.c`." #: ../Doc/whatsnew/3.12.rst:362 msgid "(Contributed by Eric Snow in :gh:`104210`, etc.)" -msgstr "" +msgstr "(Aportado por Eric Snow en :gh:`104210`, etc.)" #: ../Doc/whatsnew/3.12.rst:367 msgid "PEP 669: Low impact monitoring for CPython" -msgstr "" +msgstr "PEP 669: Monitoreo de bajo impacto para CPython" #: ../Doc/whatsnew/3.12.rst:369 msgid "" @@ -460,33 +626,48 @@ msgid "" "near-zero overhead debuggers and coverage tools. See :mod:`sys.monitoring` " "for details." msgstr "" +":pep:`669` define un nuevo :mod:`API ` para perfiladores, " +"depuradores y otras herramientas para monitorear eventos en CPython. Cubre " +"una amplia gama de eventos, incluidas llamadas, devoluciones, líneas, " +"excepciones, saltos y más. Esto significa que solo paga por lo que usa, " +"brindando soporte para depuradores generales y herramientas de cobertura " +"casi nulos. Consulte :mod:`sys.monitoring` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:377 msgid "(Contributed by Mark Shannon in :gh:`103082`.)" -msgstr "" +msgstr "(Aportado por Mark Shannon en :gh:`103082`.)" #: ../Doc/whatsnew/3.12.rst:382 msgid "PEP 688: Making the buffer protocol accessible in Python" -msgstr "" +msgstr "PEP 688: Hacer accesible el protocolo de búfer en Python" #: ../Doc/whatsnew/3.12.rst:384 msgid "" ":pep:`688` introduces a way to use the :ref:`buffer protocol " -"` from Python code. Classes that implement the :meth:`~object." -"__buffer__` method are now usable as buffer types." +"` from Python code. Classes that implement the " +":meth:`~object.__buffer__` method are now usable as buffer types." msgstr "" +":pep:`688` presenta una forma de utilizar :ref:`buffer protocol " +"` desde el código Python. Las clases que implementan el " +"método :meth:`~object.__buffer__` ahora se pueden utilizar como tipos de " +"búfer." #: ../Doc/whatsnew/3.12.rst:388 msgid "" "The new :class:`collections.abc.Buffer` ABC provides a standard way to " -"represent buffer objects, for example in type annotations. The new :class:" -"`inspect.BufferFlags` enum represents the flags that can be used to " +"represent buffer objects, for example in type annotations. The new " +":class:`inspect.BufferFlags` enum represents the flags that can be used to " "customize buffer creation. (Contributed by Jelle Zijlstra in :gh:`102500`.)" msgstr "" +"El nuevo :class:`collections.abc.Buffer` ABC proporciona una forma estándar " +"de representar objetos de búfer, por ejemplo en anotaciones de tipo. La " +"nueva enumeración :class:`inspect.BufferFlags` representa los indicadores " +"que se pueden usar para personalizar la creación del búfer. (Aportado por " +"Jelle Zijlstra en :gh:`102500`.)" #: ../Doc/whatsnew/3.12.rst:397 msgid "PEP 709: Comprehension inlining" -msgstr "" +msgstr "PEP 709: Integración de la comprensión" #: ../Doc/whatsnew/3.12.rst:399 msgid "" @@ -495,19 +676,30 @@ msgid "" "comprehension. This speeds up execution of a comprehension by up to two " "times. See :pep:`709` for further details." msgstr "" +"Las comprensiones de diccionario, lista y conjunto ahora están integradas, " +"en lugar de crear un nuevo objeto de función de un solo uso para cada " +"ejecución de la comprensión. Esto acelera la ejecución de una comprensión " +"hasta dos veces. Consulte :pep:`709` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:404 msgid "" "Comprehension iteration variables remain isolated and don't overwrite a " -"variable of the same name in the outer scope, nor are they visible after the " -"comprehension. Inlining does result in a few visible behavior changes:" +"variable of the same name in the outer scope, nor are they visible after the" +" comprehension. Inlining does result in a few visible behavior changes:" msgstr "" +"Las variables de iteración de comprensión permanecen aisladas y no " +"sobrescriben una variable del mismo nombre en el alcance externo, ni son " +"visibles después de la comprensión. La incorporación da como resultado " +"algunos cambios de comportamiento visibles:" #: ../Doc/whatsnew/3.12.rst:408 msgid "" -"There is no longer a separate frame for the comprehension in tracebacks, and " -"tracing/profiling no longer shows the comprehension as a function call." +"There is no longer a separate frame for the comprehension in tracebacks, and" +" tracing/profiling no longer shows the comprehension as a function call." msgstr "" +"Ya no hay un marco separado para la comprensión en los rastreos, y el " +"rastreo/elaboración de perfiles ya no muestra la comprensión como una " +"llamada a función." #: ../Doc/whatsnew/3.12.rst:410 msgid "" @@ -515,6 +707,9 @@ msgid "" "each comprehension; instead, the comprehension's locals will be included in " "the parent function's symbol table." msgstr "" +"El módulo :mod:`symtable` ya no producirá tablas de símbolos secundarios " +"para cada comprensión; en cambio, los locales de comprensión se incluirán en" +" la tabla de símbolos de la función principal." #: ../Doc/whatsnew/3.12.rst:413 msgid "" @@ -522,24 +717,34 @@ msgid "" "outside the comprehension, and no longer includes the synthetic ``.0`` " "variable for the comprehension \"argument\"." msgstr "" +"Llamar a :func:`locals` dentro de una comprensión ahora incluye variables " +"externas a la comprensión y ya no incluye la variable sintética ``.0`` para " +"el \"argumento\" de comprensión." #: ../Doc/whatsnew/3.12.rst:416 msgid "" "A comprehension iterating directly over ``locals()`` (e.g. ``[k for k in " "locals()]``) may see \"RuntimeError: dictionary changed size during " -"iteration\" when run under tracing (e.g. code coverage measurement). This is " -"the same behavior already seen in e.g. ``for k in locals():``. To avoid the " -"error, first create a list of keys to iterate over: ``keys = list(locals()); " -"[k for k in keys]``." -msgstr "" +"iteration\" when run under tracing (e.g. code coverage measurement). This is" +" the same behavior already seen in e.g. ``for k in locals():``. To avoid the" +" error, first create a list of keys to iterate over: ``keys = " +"list(locals()); [k for k in keys]``." +msgstr "" +"Una comprensión que itera directamente sobre ``locals()`` (por ejemplo, ``[k" +" for k in locals()]``) puede ver \"RuntimeError: el diccionario cambió de " +"tamaño durante la iteración\" cuando se ejecuta bajo seguimiento (por " +"ejemplo, medición de cobertura de código). Este es el mismo comportamiento " +"que ya se ha visto, por ejemplo, en ``for k in locals():``. Para evitar el " +"error, primero cree una lista de claves para iterar: ``keys = " +"list(locals()); [k for k in keys]``." #: ../Doc/whatsnew/3.12.rst:423 msgid "(Contributed by Carl Meyer and Vladimir Matveev in :pep:`709`.)" -msgstr "" +msgstr "(Aportado por Carl Meyer y Vladimir Matveev en :pep:`709`.)" #: ../Doc/whatsnew/3.12.rst:426 msgid "Improved Error Messages" -msgstr "" +msgstr "Mensajes de error mejorados" #: ../Doc/whatsnew/3.12.rst:428 msgid "" @@ -547,6 +752,10 @@ msgid "" "the error messages displayed by the interpreter when a :exc:`NameError` is " "raised to the top level. (Contributed by Pablo Galindo in :gh:`98254`.)" msgstr "" +"Ahora se sugieren potencialmente módulos de la biblioteca estándar como " +"parte de los mensajes de error que muestra el intérprete cuando un " +":exc:`NameError` se eleva al nivel superior. (Aportado por Pablo Galindo en " +":gh:`98254`.)" #: ../Doc/whatsnew/3.12.rst:437 msgid "" @@ -556,13 +765,22 @@ msgid "" "will include ``self.`` instead of the closest match in the method " "scope. (Contributed by Pablo Galindo in :gh:`99139`.)" msgstr "" +"Mejore la sugerencia de error para excepciones :exc:`NameError` para " +"instancias. Ahora, si se genera un :exc:`NameError` en un método y la " +"instancia tiene un atributo que es exactamente igual al nombre en la " +"excepción, la sugerencia incluirá ``self.`` en lugar de la " +"coincidencia más cercana en el alcance del método. (Aportado por Pablo " +"Galindo en :gh:`99139`.)" #: ../Doc/whatsnew/3.12.rst:457 msgid "" "Improve the :exc:`SyntaxError` error message when the user types ``import x " -"from y`` instead of ``from y import x``. (Contributed by Pablo Galindo in :" -"gh:`98931`.)" +"from y`` instead of ``from y import x``. (Contributed by Pablo Galindo in " +":gh:`98931`.)" msgstr "" +"Mejore el mensaje de error :exc:`SyntaxError` cuando el usuario escribe " +"``import x from y`` en lugar de ``from y import x``. (Aportado por Pablo " +"Galindo en :gh:`98931`.)" #: ../Doc/whatsnew/3.12.rst:467 msgid "" @@ -571,20 +789,27 @@ msgid "" "based on the available names in ````. (Contributed by Pablo Galindo " "in :gh:`91058`.)" msgstr "" +"Las excepciones :exc:`ImportError` generadas por sentencias ``from " +"import `` fallidas ahora incluyen sugerencias para el valor de " +"```` según los nombres disponibles en ````. (Aportado por " +"Pablo Galindo en :gh:`91058`.)" #: ../Doc/whatsnew/3.12.rst:478 msgid "New Features Related to Type Hints" -msgstr "" +msgstr "Nuevas funciones relacionadas con las sugerencias de escritura" #: ../Doc/whatsnew/3.12.rst:480 msgid "" -"This section covers major changes affecting :pep:`type hints <484>` and the :" -"mod:`typing` module." +"This section covers major changes affecting :pep:`type hints <484>` and the " +":mod:`typing` module." msgstr "" +"Esta sección cubre los cambios principales que afectan a :pep:`type hints " +"<484>` y al módulo :mod:`typing`." #: ../Doc/whatsnew/3.12.rst:486 msgid "PEP 692: Using ``TypedDict`` for more precise ``**kwargs`` typing" msgstr "" +"PEP 692: uso de ``TypedDict`` para una escritura ``**kwargs`` más precisa" #: ../Doc/whatsnew/3.12.rst:488 msgid "" @@ -592,24 +817,29 @@ msgid "" "allowed for valid annotations only in cases where all of the ``**kwargs`` " "were of the same type." msgstr "" +"Escribir ``**kwargs`` en una firma de función introducida por :pep:`484` " +"permitía anotaciones válidas solo en los casos en que todos los ``**kwargs``" +" eran del mismo tipo." #: ../Doc/whatsnew/3.12.rst:492 msgid "" -":pep:`692` specifies a more precise way of typing ``**kwargs`` by relying on " -"typed dictionaries::" +":pep:`692` specifies a more precise way of typing ``**kwargs`` by relying on" +" typed dictionaries::" msgstr "" +":pep:`692` especifica una forma más precisa de escribir ``**kwargs`` " +"basándose en diccionarios escritos::" #: ../Doc/whatsnew/3.12.rst:503 msgid "See :pep:`692` for more details." -msgstr "" +msgstr "Consulte :pep:`692` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:505 msgid "(Contributed by Franek Magiera in :gh:`103629`.)" -msgstr "" +msgstr "(Aportado por Franek Magiera en :gh:`103629`.)" #: ../Doc/whatsnew/3.12.rst:510 msgid "PEP 698: Override Decorator for Static Typing" -msgstr "" +msgstr "PEP 698: Anulación del decorador para escritura estática" #: ../Doc/whatsnew/3.12.rst:512 msgid "" @@ -619,72 +849,109 @@ msgid "" "mistakes where a method that is intended to override something in a base " "class does not in fact do so." msgstr "" +"Se ha agregado un nuevo decorador :func:`typing.override` al módulo " +":mod:`typing`. Indica a los inspectores de tipo que el método está destinado" +" a anular un método en una superclase. Esto permite a los verificadores de " +"tipos detectar errores cuando un método destinado a anular algo en una clase" +" base en realidad no lo hace." #: ../Doc/whatsnew/3.12.rst:518 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/whatsnew/3.12.rst:536 msgid "See :pep:`698` for more details." -msgstr "" +msgstr "Consulte :pep:`698` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:538 msgid "(Contributed by Steven Troxler in :gh:`101561`.)" -msgstr "" +msgstr "(Aportado por Steven Troxler en :gh:`101561`.)" #: ../Doc/whatsnew/3.12.rst:541 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios de idioma" #: ../Doc/whatsnew/3.12.rst:543 msgid "" -"The parser now raises :exc:`SyntaxError` when parsing source code containing " -"null bytes. (Contributed by Pablo Galindo in :gh:`96670`.)" +"The parser now raises :exc:`SyntaxError` when parsing source code containing" +" null bytes. (Contributed by Pablo Galindo in :gh:`96670`.)" msgstr "" +"El analizador ahora genera :exc:`SyntaxError` al analizar el código fuente " +"que contiene bytes nulos. (Aportado por Pablo Galindo en :gh:`96670`.)" #: ../Doc/whatsnew/3.12.rst:546 msgid "" -"A backslash-character pair that is not a valid escape sequence now generates " -"a :exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. For example, " +"A backslash-character pair that is not a valid escape sequence now generates" +" a :exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. For example, " "``re.compile(\"\\d+\\.\\d+\")`` now emits a :exc:`SyntaxWarning` " "(``\"\\d\"`` is an invalid escape sequence, use raw strings for regular " -"expression: ``re.compile(r\"\\d+\\.\\d+\")``). In a future Python version, :" -"exc:`SyntaxError` will eventually be raised, instead of :exc:" -"`SyntaxWarning`. (Contributed by Victor Stinner in :gh:`98401`.)" -msgstr "" +"expression: ``re.compile(r\"\\d+\\.\\d+\")``). In a future Python version, " +":exc:`SyntaxError` will eventually be raised, instead of " +":exc:`SyntaxWarning`. (Contributed by Victor Stinner in :gh:`98401`.)" +msgstr "" +"Un par de caracteres de barra invertida que no es una secuencia de escape " +"válida ahora genera un :exc:`SyntaxWarning`, en lugar de " +":exc:`DeprecationWarning`. Por ejemplo, ``re.compile(\"\\d+\\.\\d+\")`` " +"ahora emite un :exc:`SyntaxWarning` (``\"\\d\"`` es una secuencia de escape " +"no válida; utilice cadenas sin formato para la expresión regular: " +"``re.compile(r\"\\d+\\.\\d+\")``). En una versión futura de Python, " +"eventualmente se generará :exc:`SyntaxError`, en lugar de " +":exc:`SyntaxWarning`. (Aportado por Victor Stinner en :gh:`98401`.)" #: ../Doc/whatsnew/3.12.rst:555 msgid "" "Octal escapes with value larger than ``0o377`` (ex: ``\"\\477\"``), " -"deprecated in Python 3.11, now produce a :exc:`SyntaxWarning`, instead of :" -"exc:`DeprecationWarning`. In a future Python version they will be eventually " -"a :exc:`SyntaxError`. (Contributed by Victor Stinner in :gh:`98401`.)" +"deprecated in Python 3.11, now produce a :exc:`SyntaxWarning`, instead of " +":exc:`DeprecationWarning`. In a future Python version they will be " +"eventually a :exc:`SyntaxError`. (Contributed by Victor Stinner in " +":gh:`98401`.)" msgstr "" +"Los escapes octales con un valor mayor que ``0o377`` (por ejemplo, " +"``\"\\477\"``), obsoletos en Python 3.11, ahora producen un " +":exc:`SyntaxWarning`, en lugar de :exc:`DeprecationWarning`. En una futura " +"versión de Python, eventualmente serán un :exc:`SyntaxError`. (Aportado por " +"Victor Stinner en :gh:`98401`.)" #: ../Doc/whatsnew/3.12.rst:561 msgid "" "Variables used in the target part of comprehensions that are not stored to " -"can now be used in assignment expressions (``:=``). For example, in ``[(b := " -"1) for a, b.prop in some_iter]``, the assignment to ``b`` is now allowed. " +"can now be used in assignment expressions (``:=``). For example, in ``[(b :=" +" 1) for a, b.prop in some_iter]``, the assignment to ``b`` is now allowed. " "Note that assigning to variables stored to in the target part of " "comprehensions (like ``a``) is still disallowed, as per :pep:`572`. " "(Contributed by Nikita Sobolev in :gh:`100581`.)" msgstr "" +"Las variables utilizadas en la parte de destino de las comprensiones que no " +"están almacenadas ahora se pueden usar en expresiones de asignación " +"(``:=``). Por ejemplo, en ``[(b := 1) for a, b.prop in some_iter]``, ahora " +"se permite la asignación a ``b``. Tenga en cuenta que la asignación de " +"variables almacenadas en la parte de destino de las comprensiones (como " +"``a``) todavía no está permitida, según :pep:`572`. (Aportado por Nikita " +"Sobolev en :gh:`100581`.)" #: ../Doc/whatsnew/3.12.rst:568 msgid "" -"Exceptions raised in a class or type's ``__set_name__`` method are no longer " -"wrapped by a :exc:`RuntimeError`. Context information is added to the " -"exception as a :pep:`678` note. (Contributed by Irit Katriel in :gh:`77757`.)" +"Exceptions raised in a class or type's ``__set_name__`` method are no longer" +" wrapped by a :exc:`RuntimeError`. Context information is added to the " +"exception as a :pep:`678` note. (Contributed by Irit Katriel in " +":gh:`77757`.)" msgstr "" +"Las excepciones generadas en el método ``__set_name__`` de una clase o tipo " +"ya no están incluidas en un :exc:`RuntimeError`. La información de contexto " +"se agrega a la excepción como una nota :pep:`678`. (Aportado por Irit " +"Katriel en :gh:`77757`.)" #: ../Doc/whatsnew/3.12.rst:572 msgid "" "When a ``try-except*`` construct handles the entire :exc:`ExceptionGroup` " -"and raises one other exception, that exception is no longer wrapped in an :" -"exc:`ExceptionGroup`. Also changed in version 3.11.4. (Contributed by Irit " +"and raises one other exception, that exception is no longer wrapped in an " +":exc:`ExceptionGroup`. Also changed in version 3.11.4. (Contributed by Irit " "Katriel in :gh:`103590`.)" msgstr "" +"Cuando una construcción ``try-except*`` maneja todo el :exc:`ExceptionGroup`" +" y genera otra excepción, esa excepción ya no está incluida en un " +":exc:`ExceptionGroup`. También cambió en la versión 3.11.4. (Aportado por " +"Irit Katriel en :gh:`103590`.)" #: ../Doc/whatsnew/3.12.rst:577 msgid "" @@ -692,9 +959,16 @@ msgid "" "Python bytecode evaluation loop instead of object allocations. The GC can " "also run when :c:func:`PyErr_CheckSignals` is called so C extensions that " "need to run for a long time without executing any Python code also have a " -"chance to execute the GC periodically. (Contributed by Pablo Galindo in :gh:" -"`97922`.)" +"chance to execute the GC periodically. (Contributed by Pablo Galindo in " +":gh:`97922`.)" msgstr "" +"El recolector de basura ahora se ejecuta solo en el mecanismo de " +"interrupción de evaluación del ciclo de evaluación del código de bytes de " +"Python en lugar de en las asignaciones de objetos. El GC también se puede " +"ejecutar cuando se llama a :c:func:`PyErr_CheckSignals`, por lo que las " +"extensiones C que necesitan ejecutarse durante un período prolongado sin " +"ejecutar ningún código Python también tienen la posibilidad de ejecutar el " +"GC periódicamente. (Aportado por Pablo Galindo en :gh:`97922`.)" #: ../Doc/whatsnew/3.12.rst:584 msgid "" @@ -702,19 +976,29 @@ msgid "" "arguments of any type instead of just :class:`bool` and :class:`int`. " "(Contributed by Serhiy Storchaka in :gh:`60203`.)" msgstr "" +"Todos los invocables integrados y de extensión que esperan parámetros " +"booleanos ahora aceptan argumentos de cualquier tipo en lugar de solo " +":class:`bool` y :class:`int`. (Contribución de Serhiy Storchaka en " +":gh:`60203`.)" #: ../Doc/whatsnew/3.12.rst:588 msgid "" ":class:`memoryview` now supports the half-float type (the \"e\" format " "code). (Contributed by Donghee Na and Antoine Pitrou in :gh:`90751`.)" msgstr "" +":class:`memoryview` ahora admite el tipo medio flotante (el código de " +"formato \"e\"). (Contribución de Donghee Na y Antoine Pitrou en " +":gh:`90751`.)" #: ../Doc/whatsnew/3.12.rst:591 msgid "" ":class:`slice` objects are now hashable, allowing them to be used as dict " -"keys and set items. (Contributed by Will Bradshaw, Furkan Onder, and Raymond " -"Hettinger in :gh:`101264`.)" +"keys and set items. (Contributed by Will Bradshaw, Furkan Onder, and Raymond" +" Hettinger in :gh:`101264`.)" msgstr "" +"Los objetos :class:`slice` ahora son hash, lo que permite usarlos como " +"claves de dictado y elementos de configuración. (Contribución de Will " +"Bradshaw, Furkan Onder y Raymond Hettinger en :gh:`101264`.)" #: ../Doc/whatsnew/3.12.rst:594 msgid "" @@ -722,66 +1006,93 @@ msgid "" "commutativity when summing floats or mixed ints and floats. (Contributed by " "Raymond Hettinger in :gh:`100425`.)" msgstr "" +":func:`sum` ahora utiliza la suma de Neumaier para mejorar la precisión y la" +" conmutatividad al sumar flotantes o enteros y flotantes mixtos. (Aportado " +"por Raymond Hettinger en :gh:`100425`.)" #: ../Doc/whatsnew/3.12.rst:598 msgid "" -":func:`ast.parse` now raises :exc:`SyntaxError` instead of :exc:`ValueError` " -"when parsing source code containing null bytes. (Contributed by Pablo " +":func:`ast.parse` now raises :exc:`SyntaxError` instead of :exc:`ValueError`" +" when parsing source code containing null bytes. (Contributed by Pablo " "Galindo in :gh:`96670`.)" msgstr "" +":func:`ast.parse` ahora genera :exc:`SyntaxError` en lugar de " +":exc:`ValueError` al analizar el código fuente que contiene bytes nulos. " +"(Aportado por Pablo Galindo en :gh:`96670`.)" #: ../Doc/whatsnew/3.12.rst:602 msgid "" -"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`, " -"have a new a *filter* argument that allows limiting tar features than may be " -"surprising or dangerous, such as creating files outside the destination " -"directory. See :ref:`tarfile extraction filters ` " -"for details. In Python 3.14, the default will switch to ``'data'``. " +"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`," +" have a new a *filter* argument that allows limiting tar features than may " +"be surprising or dangerous, such as creating files outside the destination " +"directory. See :ref:`tarfile extraction filters `" +" for details. In Python 3.14, the default will switch to ``'data'``. " "(Contributed by Petr Viktorin in :pep:`706`.)" msgstr "" +"Los métodos de extracción en :mod:`tarfile` y :func:`shutil.unpack_archive` " +"tienen un nuevo argumento, *filter*, que permite limitar funciones tar que " +"puedan resultar sorprendentes o peligrosas, como la creación de archivos " +"fuera del directorio de destino. Consulte :ref:`tarfile extraction filters " +"` para obtener más detalles. En Python 3.14, el " +"valor predeterminado cambiará a ``'data'``. (Aportado por Petr Viktorin en " +":pep:`706`.)" #: ../Doc/whatsnew/3.12.rst:610 msgid "" -":class:`types.MappingProxyType` instances are now hashable if the underlying " -"mapping is hashable. (Contributed by Serhiy Storchaka in :gh:`87995`.)" +":class:`types.MappingProxyType` instances are now hashable if the underlying" +" mapping is hashable. (Contributed by Serhiy Storchaka in :gh:`87995`.)" msgstr "" +"Las instancias :class:`types.MappingProxyType` ahora se pueden usar con hash" +" si la asignación subyacente es con hash. (Contribución de Serhiy Storchaka " +"en :gh:`87995`.)" #: ../Doc/whatsnew/3.12.rst:614 msgid "" "Add :ref:`support for the perf profiler ` through the new " -"environment variable :envvar:`PYTHONPERFSUPPORT` and command-line option :" -"option:`-X perf <-X>`, as well as the new :func:`sys." -"activate_stack_trampoline`, :func:`sys.deactivate_stack_trampoline`, and :" -"func:`sys.is_stack_trampoline_active` functions. (Design by Pablo Galindo. " +"environment variable :envvar:`PYTHONPERFSUPPORT` and command-line option " +":option:`-X perf <-X>`, as well as the new " +":func:`sys.activate_stack_trampoline`, " +":func:`sys.deactivate_stack_trampoline`, and " +":func:`sys.is_stack_trampoline_active` functions. (Design by Pablo Galindo. " "Contributed by Pablo Galindo and Christian Heimes with contributions from " "Gregory P. Smith [Google] and Mark Shannon in :gh:`96123`.)" msgstr "" +"Agregado :ref:`support for the perf profiler ` a través de la" +" nueva variable de entorno :envvar:`PYTHONPERFSUPPORT` y la opción de línea " +"de comandos :option:`-X perf <-X>`, así como las nuevas funciones " +":func:`sys.activate_stack_trampoline`, " +":func:`sys.deactivate_stack_trampoline` y " +":func:`sys.is_stack_trampoline_active`. (Diseño de Pablo Galindo. " +"Contribución de Pablo Galindo y Christian Heimes con contribuciones de " +"Gregory P. Smith [Google] y Mark Shannon en :gh:`96123`.)" #: ../Doc/whatsnew/3.12.rst:626 msgid "New Modules" -msgstr "" +msgstr "Nuevos módulos" #: ../Doc/whatsnew/3.12.rst:628 msgid "None." -msgstr "" +msgstr "Ninguno." #: ../Doc/whatsnew/3.12.rst:632 msgid "Improved Modules" -msgstr "" +msgstr "Módulos mejorados" #: ../Doc/whatsnew/3.12.rst:635 msgid "array" -msgstr "" +msgstr "array" #: ../Doc/whatsnew/3.12.rst:637 msgid "" -"The :class:`array.array` class now supports subscripting, making it a :term:" -"`generic type`. (Contributed by Jelle Zijlstra in :gh:`98658`.)" +"The :class:`array.array` class now supports subscripting, making it a " +":term:`generic type`. (Contributed by Jelle Zijlstra in :gh:`98658`.)" msgstr "" +"La clase :class:`array.array` ahora admite subíndices, lo que la convierte " +"en :term:`generic type`. (Aportado por Jelle Zijlstra en :gh:`98658`.)" #: ../Doc/whatsnew/3.12.rst:641 msgid "asyncio" -msgstr "" +msgstr "asincio" #: ../Doc/whatsnew/3.12.rst:643 msgid "" @@ -790,126 +1101,181 @@ msgid "" "writing to sockets and uses :meth:`~socket.socket.sendmsg` if the platform " "supports it. (Contributed by Kumar Aditya in :gh:`91166`.)" msgstr "" +"Se ha mejorado significativamente el rendimiento de escritura en sockets en " +":mod:`asyncio`. ``asyncio`` ahora evita copias innecesarias al escribir en " +"sockets y usa :meth:`~socket.socket.sendmsg` si la plataforma lo admite. " +"(Aportado por Kumar Aditya en :gh:`91166`.)" #: ../Doc/whatsnew/3.12.rst:648 msgid "" -"Add :func:`asyncio.eager_task_factory` and :func:`asyncio." -"create_eager_task_factory` functions to allow opting an event loop in to " -"eager task execution, making some use-cases 2x to 5x faster. (Contributed by " -"Jacob Bower & Itamar Oren in :gh:`102853`, :gh:`104140`, and :gh:`104138`)" +"Add :func:`asyncio.eager_task_factory` and " +":func:`asyncio.create_eager_task_factory` functions to allow opting an event" +" loop in to eager task execution, making some use-cases 2x to 5x faster. " +"(Contributed by Jacob Bower & Itamar Oren in :gh:`102853`, :gh:`104140`, and" +" :gh:`104138`)" msgstr "" +"Agregado las funciones :func:`asyncio.eager_task_factory` y " +":func:`asyncio.create_eager_task_factory` para permitir la opción de un " +"bucle de eventos para la ejecución de tareas entusiastas, lo que hace que " +"algunos casos de uso sean de 2 a 5 veces más rápidos. (Contribución de Jacob" +" Bower e Itamar Oren en :gh:`102853`, :gh:`104140` y :gh:`104138`)" #: ../Doc/whatsnew/3.12.rst:653 msgid "" "On Linux, :mod:`asyncio` uses :class:`asyncio.PidfdChildWatcher` by default " -"if :func:`os.pidfd_open` is available and functional instead of :class:" -"`asyncio.ThreadedChildWatcher`. (Contributed by Kumar Aditya in :gh:`98024`.)" +"if :func:`os.pidfd_open` is available and functional instead of " +":class:`asyncio.ThreadedChildWatcher`. (Contributed by Kumar Aditya in " +":gh:`98024`.)" msgstr "" +"En Linux, :mod:`asyncio` usa :class:`asyncio.PidfdChildWatcher` de forma " +"predeterminada si :func:`os.pidfd_open` está disponible y es funcional en " +"lugar de :class:`asyncio.ThreadedChildWatcher`. (Aportado por Kumar Aditya " +"en :gh:`98024`.)" #: ../Doc/whatsnew/3.12.rst:658 msgid "" -"The event loop now uses the best available child watcher for each platform (:" -"class:`asyncio.PidfdChildWatcher` if supported and :class:`asyncio." -"ThreadedChildWatcher` otherwise), so manually configuring a child watcher is " -"not recommended. (Contributed by Kumar Aditya in :gh:`94597`.)" +"The event loop now uses the best available child watcher for each platform " +"(:class:`asyncio.PidfdChildWatcher` if supported and " +":class:`asyncio.ThreadedChildWatcher` otherwise), so manually configuring a " +"child watcher is not recommended. (Contributed by Kumar Aditya in " +":gh:`94597`.)" msgstr "" +"El bucle de eventos ahora utiliza el mejor observador infantil disponible " +"para cada plataforma (:class:`asyncio.PidfdChildWatcher` si es compatible y " +":class:`asyncio.ThreadedChildWatcher` en caso contrario), por lo que no se " +"recomienda configurar manualmente un observador infantil. (Aportado por " +"Kumar Aditya en :gh:`94597`.)" #: ../Doc/whatsnew/3.12.rst:664 msgid "" "Add *loop_factory* parameter to :func:`asyncio.run` to allow specifying a " "custom event loop factory. (Contributed by Kumar Aditya in :gh:`99388`.)" msgstr "" +"Agregado el parámetro *loop_factory* a :func:`asyncio.run` para permitir " +"especificar una fábrica de bucle de eventos personalizada. (Aportado por " +"Kumar Aditya en :gh:`99388`.)" #: ../Doc/whatsnew/3.12.rst:668 msgid "" "Add C implementation of :func:`asyncio.current_task` for 4x-6x speedup. " "(Contributed by Itamar Oren and Pranav Thulasiram Bhat in :gh:`100344`.)" msgstr "" +"Agregado la implementación C de :func:`asyncio.current_task` para una " +"aceleración de 4x-6x. (Aportado por Itamar Oren y Pranav Thulasiram Bhat en " +":gh:`100344`.)" #: ../Doc/whatsnew/3.12.rst:671 msgid "" -":func:`asyncio.iscoroutine` now returns ``False`` for generators as :mod:" -"`asyncio` does not support legacy generator-based coroutines. (Contributed " -"by Kumar Aditya in :gh:`102748`.)" +":func:`asyncio.iscoroutine` now returns ``False`` for generators as " +":mod:`asyncio` does not support legacy generator-based coroutines. " +"(Contributed by Kumar Aditya in :gh:`102748`.)" msgstr "" +":func:`asyncio.iscoroutine` ahora devuelve ``False`` para generadores, ya " +"que :mod:`asyncio` no admite rutinas heredadas basadas en generadores. " +"(Aportado por Kumar Aditya en :gh:`102748`.)" #: ../Doc/whatsnew/3.12.rst:675 msgid "" -":func:`asyncio.wait` and :func:`asyncio.as_completed` now accepts generators " -"yielding tasks. (Contributed by Kumar Aditya in :gh:`78530`.)" +":func:`asyncio.wait` and :func:`asyncio.as_completed` now accepts generators" +" yielding tasks. (Contributed by Kumar Aditya in :gh:`78530`.)" msgstr "" +":func:`asyncio.wait` y :func:`asyncio.as_completed` ahora aceptan " +"generadores que generan tareas. (Aportado por Kumar Aditya en :gh:`78530`.)" #: ../Doc/whatsnew/3.12.rst:680 msgid "calendar" -msgstr "" +msgstr "calendar" #: ../Doc/whatsnew/3.12.rst:682 msgid "" -"Add enums :data:`calendar.Month` and :data:`calendar.Day` defining months of " -"the year and days of the week. (Contributed by Prince Roshan in :gh:" -"`103636`.)" +"Add enums :data:`calendar.Month` and :data:`calendar.Day` defining months of" +" the year and days of the week. (Contributed by Prince Roshan in " +":gh:`103636`.)" msgstr "" +"Agregado las enumeraciones :data:`calendar.Month` y :data:`calendar.Day` que " +"definen los meses del año y los días de la semana. (Aportado por el Príncipe" +" Roshan en :gh:`103636`.)" #: ../Doc/whatsnew/3.12.rst:687 msgid "csv" -msgstr "" +msgstr "csv" #: ../Doc/whatsnew/3.12.rst:689 msgid "" "Add :const:`csv.QUOTE_NOTNULL` and :const:`csv.QUOTE_STRINGS` flags to " -"provide finer grained control of ``None`` and empty strings by :class:`csv." -"writer` objects." +"provide finer grained control of ``None`` and empty strings by " +":class:`csv.writer` objects." msgstr "" +"Agregado indicadores :const:`csv.QUOTE_NOTNULL` y :const:`csv.QUOTE_STRINGS` " +"para proporcionar un control más detallado de ``None`` y cadenas vacías por " +"objetos :class:`csv.writer`." #: ../Doc/whatsnew/3.12.rst:694 msgid "dis" -msgstr "" +msgstr "dis" #: ../Doc/whatsnew/3.12.rst:696 msgid "" -"Pseudo instruction opcodes (which are used by the compiler but do not appear " -"in executable bytecode) are now exposed in the :mod:`dis` module. :opcode:" -"`HAVE_ARGUMENT` is still relevant to real opcodes, but it is not useful for " -"pseudo instructions. Use the new :data:`dis.hasarg` collection instead. " -"(Contributed by Irit Katriel in :gh:`94216`.)" +"Pseudo instruction opcodes (which are used by the compiler but do not appear" +" in executable bytecode) are now exposed in the :mod:`dis` module. " +":opcode:`HAVE_ARGUMENT` is still relevant to real opcodes, but it is not " +"useful for pseudo instructions. Use the new :data:`dis.hasarg` collection " +"instead. (Contributed by Irit Katriel in :gh:`94216`.)" msgstr "" +"Los códigos de operación de pseudoinstrucción (que son utilizados por el " +"compilador pero que no aparecen en el código de bytes ejecutable) ahora " +"están expuestos en el módulo :mod:`dis`. :opcode:`HAVE_ARGUMENT` sigue " +"siendo relevante para códigos de operación reales, pero no es útil para " +"pseudoinstrucciones. Utilice la nueva colección :data:`dis.hasarg` en su " +"lugar. (Aportado por Irit Katriel en :gh:`94216`.)" #: ../Doc/whatsnew/3.12.rst:704 msgid "" "Add the :data:`dis.hasexc` collection to signify instructions that set an " "exception handler. (Contributed by Irit Katriel in :gh:`94216`.)" msgstr "" +"Agregado la colección :data:`dis.hasexc` para indicar instrucciones que " +"establecen un controlador de excepciones. (Aportado por Irit Katriel en " +":gh:`94216`.)" #: ../Doc/whatsnew/3.12.rst:708 msgid "fractions" -msgstr "" +msgstr "fractions" #: ../Doc/whatsnew/3.12.rst:710 msgid "" "Objects of type :class:`fractions.Fraction` now support float-style " "formatting. (Contributed by Mark Dickinson in :gh:`100161`.)" msgstr "" +"Los objetos de tipo :class:`fractions.Fraction` ahora admiten formato de " +"estilo flotante. (Aportado por Mark Dickinson en :gh:`100161`.)" #: ../Doc/whatsnew/3.12.rst:714 msgid "importlib.resources" -msgstr "" +msgstr "importlib.resources" #: ../Doc/whatsnew/3.12.rst:716 msgid "" ":func:`importlib.resources.as_file` now supports resource directories. " "(Contributed by Jason R. Coombs in :gh:`97930`.)" msgstr "" +":func:`importlib.resources.as_file` ahora admite directorios de recursos. " +"(Aportado por Jason R. Coombs en :gh:`97930`.)" #: ../Doc/whatsnew/3.12.rst:720 msgid "inspect" -msgstr "" +msgstr "inspect" #: ../Doc/whatsnew/3.12.rst:722 msgid "" -"Add :func:`inspect.markcoroutinefunction` to mark sync functions that return " -"a :term:`coroutine` for use with :func:`inspect.iscoroutinefunction`. " +"Add :func:`inspect.markcoroutinefunction` to mark sync functions that return" +" a :term:`coroutine` for use with :func:`inspect.iscoroutinefunction`. " "(Contributed Carlton Gibson in :gh:`99247`.)" msgstr "" +"Agregado :func:`inspect.markcoroutinefunction` para marcar las funciones de " +"sincronización que devuelven un :term:`coroutine` para usar con " +":func:`inspect.iscoroutinefunction`. (Contribuyó Carlton Gibson en " +":gh:`99247`.)" #: ../Doc/whatsnew/3.12.rst:726 msgid "" @@ -917,60 +1283,81 @@ msgid "" "for determining the current state of asynchronous generators. (Contributed " "by Thomas Krennwallner in :gh:`79940`.)" msgstr "" +"Agregado :func:`inspect.getasyncgenstate` y :func:`inspect.getasyncgenlocals`" +" para determinar el estado actual de los generadores asíncronos. (Aportado " +"por Thomas Krennwallner en :gh:`79940`.)" #: ../Doc/whatsnew/3.12.rst:730 msgid "" "The performance of :func:`inspect.getattr_static` has been considerably " "improved. Most calls to the function should be at least 2x faster than they " -"were in Python 3.11, and some may be 6x faster or more. (Contributed by Alex " -"Waygood in :gh:`103193`.)" +"were in Python 3.11, and some may be 6x faster or more. (Contributed by Alex" +" Waygood in :gh:`103193`.)" msgstr "" +"El rendimiento de :func:`inspect.getattr_static` se ha mejorado " +"considerablemente. La mayoría de las llamadas a la función deberían ser al " +"menos 2 veces más rápidas que en Python 3.11, y algunas pueden ser 6 veces " +"más rápidas o más. (Contribuido por Alex Waygood en :gh:`103193`.)" #: ../Doc/whatsnew/3.12.rst:736 msgid "itertools" -msgstr "" +msgstr "itertools" #: ../Doc/whatsnew/3.12.rst:738 msgid "" -"Add :class:`itertools.batched()` for collecting into even-sized tuples where " -"the last batch may be shorter than the rest. (Contributed by Raymond " +"Add :class:`itertools.batched()` for collecting into even-sized tuples where" +" the last batch may be shorter than the rest. (Contributed by Raymond " "Hettinger in :gh:`98363`.)" msgstr "" +"Agregado :class:`itertools.batched()` para recopilar en tuplas de tamaño par " +"donde el último lote puede ser más corto que el resto. (Aportado por Raymond" +" Hettinger en :gh:`98363`.)" #: ../Doc/whatsnew/3.12.rst:743 msgid "math" -msgstr "" +msgstr "math" #: ../Doc/whatsnew/3.12.rst:745 msgid "" "Add :func:`math.sumprod` for computing a sum of products. (Contributed by " "Raymond Hettinger in :gh:`100485`.)" msgstr "" +"Agregado :func:`math.sumprod` para calcular una suma de productos. (Aportado " +"por Raymond Hettinger en :gh:`100485`.)" #: ../Doc/whatsnew/3.12.rst:748 msgid "" -"Extend :func:`math.nextafter` to include a *steps* argument for moving up or " -"down multiple steps at a time. (By Matthias Goergens, Mark Dickinson, and " +"Extend :func:`math.nextafter` to include a *steps* argument for moving up or" +" down multiple steps at a time. (By Matthias Goergens, Mark Dickinson, and " "Raymond Hettinger in :gh:`94906`.)" msgstr "" +"Se extendió :func:`math.nextafter` para incluir un argumento *steps* para subir o" +" bajar varios pasos a la vez. (Por Matthias Goergens, Mark Dickinson y " +"Raymond Hettinger en :gh:`94906`.)" #: ../Doc/whatsnew/3.12.rst:753 msgid "os" -msgstr "" +msgstr "os" #: ../Doc/whatsnew/3.12.rst:755 msgid "" -"Add :const:`os.PIDFD_NONBLOCK` to open a file descriptor for a process with :" -"func:`os.pidfd_open` in non-blocking mode. (Contributed by Kumar Aditya in :" -"gh:`93312`.)" +"Add :const:`os.PIDFD_NONBLOCK` to open a file descriptor for a process with " +":func:`os.pidfd_open` in non-blocking mode. (Contributed by Kumar Aditya in " +":gh:`93312`.)" msgstr "" +"Agregado :const:`os.PIDFD_NONBLOCK` para abrir un descriptor de archivo para " +"un proceso con :func:`os.pidfd_open` en modo sin bloqueo. (Aportado por " +"Kumar Aditya en :gh:`93312`.)" #: ../Doc/whatsnew/3.12.rst:759 msgid "" ":class:`os.DirEntry` now includes an :meth:`os.DirEntry.is_junction` method " -"to check if the entry is a junction. (Contributed by Charles Machalow in :gh:" -"`99547`.)" +"to check if the entry is a junction. (Contributed by Charles Machalow in " +":gh:`99547`.)" msgstr "" +":class:`os.DirEntry` ahora incluye un método :meth:`os.DirEntry.is_junction`" +" para verificar si la entrada es un cruce. (Aportado por Charles Machalow en" +" :gh:`99547`.)" #: ../Doc/whatsnew/3.12.rst:763 msgid "" @@ -978,6 +1365,9 @@ msgid "" "functions on Windows for enumerating drives, volumes and mount points. " "(Contributed by Steve Dower in :gh:`102519`.)" msgstr "" +"Agregado funciones :func:`os.listdrives`, :func:`os.listvolumes` y " +":func:`os.listmounts` en Windows para enumerar unidades, volúmenes y puntos " +"de montaje. (Aportado por Steve Dower en :gh:`102519`.)" #: ../Doc/whatsnew/3.12.rst:767 msgid "" @@ -988,70 +1378,103 @@ msgid "" "with other platforms). ``st_dev`` may be up to 64 bits and ``st_ino`` up to " "128 bits depending on your file system, and ``st_rdev`` is always set to " "zero rather than incorrect values. Both functions may be significantly " -"faster on newer releases of Windows. (Contributed by Steve Dower in :gh:" -"`99726`.)" -msgstr "" +"faster on newer releases of Windows. (Contributed by Steve Dower in " +":gh:`99726`.)" +msgstr "" +":func:`os.stat` y :func:`os.lstat` ahora son más precisos en Windows. El " +"campo ``st_birthtime`` ahora se completará con la hora de creación del " +"archivo, y ``st_ctime`` está obsoleto pero aún contiene la hora de creación " +"(pero en el futuro devolverá el último cambio de metadatos, para mantener la" +" coherencia con otras plataformas). ``st_dev`` puede tener hasta 64 bits y " +"``st_ino`` hasta 128 bits dependiendo de su sistema de archivos, y " +"``st_rdev`` siempre está configurado en cero en lugar de valores " +"incorrectos. Ambas funciones pueden ser significativamente más rápidas en " +"las versiones más recientes de Windows. (Aportado por Steve Dower en " +":gh:`99726`.)" #: ../Doc/whatsnew/3.12.rst:778 msgid "os.path" -msgstr "" +msgstr "os.path" #: ../Doc/whatsnew/3.12.rst:780 msgid "" "Add :func:`os.path.isjunction` to check if a given path is a junction. " "(Contributed by Charles Machalow in :gh:`99547`.)" msgstr "" +"Agregado :func:`os.path.isjunction` para verificar si una ruta determinada es" +" un cruce. (Aportado por Charles Machalow en :gh:`99547`.)" #: ../Doc/whatsnew/3.12.rst:783 msgid "" "Add :func:`os.path.splitroot` to split a path into a triad ``(drive, root, " "tail)``. (Contributed by Barney Gale in :gh:`101000`.)" msgstr "" +"Agregado :func:`os.path.splitroot` para dividir una ruta en una tríada " +"``(drive, root, tail)``. (Aportado por Barney Gale en :gh:`101000`.)" #: ../Doc/whatsnew/3.12.rst:787 msgid "pathlib" -msgstr "" +msgstr "pathlib" #: ../Doc/whatsnew/3.12.rst:789 msgid "" -"Add support for subclassing :class:`pathlib.PurePath` and :class:`pathlib." -"Path`, plus their Posix- and Windows-specific variants. Subclasses may " -"override the :meth:`pathlib.PurePath.with_segments` method to pass " -"information between path instances." +"Add support for subclassing :class:`pathlib.PurePath` and " +":class:`pathlib.Path`, plus their Posix- and Windows-specific variants. " +"Subclasses may override the :meth:`pathlib.PurePath.with_segments` method to" +" pass information between path instances." msgstr "" +"Agregado soporte para subclasificar :class:`pathlib.PurePath` y " +":class:`pathlib.Path`, además de sus variantes específicas de Posix y " +"Windows. Las subclases pueden anular el método " +":meth:`pathlib.PurePath.with_segments` para pasar información entre " +"instancias de ruta." #: ../Doc/whatsnew/3.12.rst:794 msgid "" -"Add :meth:`pathlib.Path.walk` for walking the directory trees and generating " -"all file or directory names within them, similar to :func:`os.walk`. " +"Add :meth:`pathlib.Path.walk` for walking the directory trees and generating" +" all file or directory names within them, similar to :func:`os.walk`. " "(Contributed by Stanislav Zmiev in :gh:`90385`.)" msgstr "" +"Agregado :meth:`pathlib.Path.walk` para recorrer los árboles de directorios y" +" generar todos los nombres de archivos o directorios dentro de ellos, " +"similar a :func:`os.walk`. (Aportado por Stanislav Zmiev en :gh:`90385`.)" #: ../Doc/whatsnew/3.12.rst:798 msgid "" "Add *walk_up* optional parameter to :meth:`pathlib.PurePath.relative_to` to " "allow the insertion of ``..`` entries in the result; this behavior is more " -"consistent with :func:`os.path.relpath`. (Contributed by Domenico Ragusa in :" -"gh:`84538`.)" +"consistent with :func:`os.path.relpath`. (Contributed by Domenico Ragusa in " +":gh:`84538`.)" msgstr "" +"Agregado el parámetro opcional *walk_up* a " +":meth:`pathlib.PurePath.relative_to` para permitir la inserción de entradas " +"``..`` en el resultado; este comportamiento es más consistente con " +":func:`os.path.relpath`. (Aportado por Domenico Ragusa en :gh:`84538`.)" #: ../Doc/whatsnew/3.12.rst:803 msgid "" -"Add :meth:`pathlib.Path.is_junction` as a proxy to :func:`os.path." -"isjunction`. (Contributed by Charles Machalow in :gh:`99547`.)" +"Add :meth:`pathlib.Path.is_junction` as a proxy to " +":func:`os.path.isjunction`. (Contributed by Charles Machalow in " +":gh:`99547`.)" msgstr "" +"Agregado :meth:`pathlib.Path.is_junction` como proxy a " +":func:`os.path.isjunction`. (Aportado por Charles Machalow en :gh:`99547`.)" #: ../Doc/whatsnew/3.12.rst:806 msgid "" -"Add *case_sensitive* optional parameter to :meth:`pathlib.Path.glob`, :meth:" -"`pathlib.Path.rglob` and :meth:`pathlib.PurePath.match` for matching the " -"path's case sensitivity, allowing for more precise control over the matching " -"process." +"Add *case_sensitive* optional parameter to :meth:`pathlib.Path.glob`, " +":meth:`pathlib.Path.rglob` and :meth:`pathlib.PurePath.match` for matching " +"the path's case sensitivity, allowing for more precise control over the " +"matching process." msgstr "" +"Agregado el parámetro opcional *case_sensitive* a :meth:`pathlib.Path.glob`, " +":meth:`pathlib.Path.rglob` y :meth:`pathlib.PurePath.match` para hacer " +"coincidir la distinción entre mayúsculas y minúsculas de la ruta, lo que " +"permite un control más preciso sobre el proceso de coincidencia." #: ../Doc/whatsnew/3.12.rst:811 msgid "pdb" -msgstr "" +msgstr "pbd" #: ../Doc/whatsnew/3.12.rst:813 msgid "" @@ -1059,26 +1482,35 @@ msgid "" "provide quick access to values like the current frame or the return value. " "(Contributed by Tian Gao in :gh:`103693`.)" msgstr "" +"Agregado variables convenientes para mantener valores temporalmente para la " +"sesión de depuración y proporcionar acceso rápido a valores como el " +"fotograma actual o el valor de retorno. (Aportado por Tian Gao en " +":gh:`103693`.)" #: ../Doc/whatsnew/3.12.rst:819 msgid "random" -msgstr "" +msgstr "random" #: ../Doc/whatsnew/3.12.rst:821 msgid "" -"Add :func:`random.binomialvariate`. (Contributed by Raymond Hettinger in :gh:" -"`81620`.)" +"Add :func:`random.binomialvariate`. (Contributed by Raymond Hettinger in " +":gh:`81620`.)" msgstr "" +"Agregado :func:`random.binomialvariate`. (Aportado por Raymond Hettinger en " +":gh:`81620`.)" #: ../Doc/whatsnew/3.12.rst:824 msgid "" "Add a default of ``lambd=1.0`` to :func:`random.expovariate`. (Contributed " "by Raymond Hettinger in :gh:`100234`.)" msgstr "" +"Agregado un valor predeterminado de ``lambd=1.0`` a " +":func:`random.expovariate`. (Aportado por Raymond Hettinger en " +":gh:`100234`.)" #: ../Doc/whatsnew/3.12.rst:828 msgid "shutil" -msgstr "" +msgstr "shutil" #: ../Doc/whatsnew/3.12.rst:830 msgid "" @@ -1087,21 +1519,33 @@ msgid "" "the current working directory of the process to *root_dir* to perform " "archiving. (Contributed by Serhiy Storchaka in :gh:`74696`.)" msgstr "" +":func:`shutil.make_archive` ahora pasa el argumento *root_dir* a " +"archivadores personalizados que lo admiten. En este caso, ya no cambia " +"temporalmente el directorio de trabajo actual del proceso a *root_dir* para " +"realizar el archivado. (Aportado por Serhiy Storchaka en :gh:`74696`.)" #: ../Doc/whatsnew/3.12.rst:836 msgid "" ":func:`shutil.rmtree` now accepts a new argument *onexc* which is an error " -"handler like *onerror* but which expects an exception instance rather than a " -"*(typ, val, tb)* triplet. *onerror* is deprecated and will be removed in " +"handler like *onerror* but which expects an exception instance rather than a" +" *(typ, val, tb)* triplet. *onerror* is deprecated and will be removed in " "Python 3.14. (Contributed by Irit Katriel in :gh:`102828`.)" msgstr "" +":func:`shutil.rmtree` ahora acepta un nuevo argumento *onexc* que es un " +"controlador de errores como *onerror* pero que espera una instancia de " +"excepción en lugar de un triplete *(typ, val, tb)*. *onerror* está en desuso" +" y se eliminará en Python 3.14. (Aportado por Irit Katriel en :gh:`102828`.)" #: ../Doc/whatsnew/3.12.rst:842 msgid "" -":func:`shutil.which` now consults the *PATHEXT* environment variable to find " -"matches within *PATH* on Windows even when the given *cmd* includes a " +":func:`shutil.which` now consults the *PATHEXT* environment variable to find" +" matches within *PATH* on Windows even when the given *cmd* includes a " "directory component. (Contributed by Charles Machalow in :gh:`103179`.)" msgstr "" +":func:`shutil.which` ahora consulta la variable de entorno *PATHEXT* para " +"encontrar coincidencias dentro de *PATH* en Windows incluso cuando el *cmd* " +"dado incluye un componente de directorio. (Aportado por Charles Machalow en " +":gh:`103179`.)" #: ../Doc/whatsnew/3.12.rst:847 msgid "" @@ -1110,6 +1554,10 @@ msgid "" "directory should be prepended to the search path. (Contributed by Charles " "Machalow in :gh:`103179`.)" msgstr "" +":func:`shutil.which` llamará a ``NeedCurrentDirectoryForExePathW`` cuando " +"solicite ejecutables en Windows para determinar si el directorio de trabajo " +"actual debe anteponerse a la ruta de búsqueda. (Aportado por Charles " +"Machalow en :gh:`103179`.)" #: ../Doc/whatsnew/3.12.rst:852 msgid "" @@ -1117,42 +1565,62 @@ msgid "" "from ``PATHEXT`` prior to a direct match elsewhere in the search path on " "Windows. (Contributed by Charles Machalow in :gh:`103179`.)" msgstr "" +":func:`shutil.which` devolverá una ruta que coincida con *cmd* con un " +"componente de ``PATHEXT`` antes de una coincidencia directa en otra parte de" +" la ruta de búsqueda en Windows. (Aportado por Charles Machalow en " +":gh:`103179`.)" #: ../Doc/whatsnew/3.12.rst:858 ../Doc/whatsnew/3.12.rst:1637 msgid "sqlite3" -msgstr "" +msgstr "sqlite3" #: ../Doc/whatsnew/3.12.rst:860 msgid "" -"Add a :ref:`command-line interface `. (Contributed by Erlend E. " -"Aasland in :gh:`77617`.)" +"Add a :ref:`command-line interface `. (Contributed by Erlend E." +" Aasland in :gh:`77617`.)" msgstr "" +"Agregado un :ref:`command-line interface `. (Aportado por Erlend" +" E. Aasland en :gh:`77617`.)" #: ../Doc/whatsnew/3.12.rst:863 msgid "" -"Add the :attr:`sqlite3.Connection.autocommit` attribute to :class:`sqlite3." -"Connection` and the *autocommit* parameter to :func:`sqlite3.connect` to " -"control :pep:`249`-compliant :ref:`transaction handling `. (Contributed by Erlend E. Aasland in :gh:`83638`.)" +"Add the :attr:`sqlite3.Connection.autocommit` attribute to " +":class:`sqlite3.Connection` and the *autocommit* parameter to " +":func:`sqlite3.connect` to control :pep:`249`-compliant :ref:`transaction " +"handling `. (Contributed by Erlend " +"E. Aasland in :gh:`83638`.)" msgstr "" +"Agregado el atributo :attr:`sqlite3.Connection.autocommit` a " +":class:`sqlite3.Connection` y el parámetro *autocommit* a " +":func:`sqlite3.connect` para controlar :ref:`transaction handling " +"` compatible con :pep:`249`. " +"(Aportado por Erlend E. Aasland en :gh:`83638`.)" #: ../Doc/whatsnew/3.12.rst:870 msgid "" -"Add *entrypoint* keyword-only parameter to :meth:`sqlite3.Connection." -"load_extension`, for overriding the SQLite extension entry point. " -"(Contributed by Erlend E. Aasland in :gh:`103015`.)" +"Add *entrypoint* keyword-only parameter to " +":meth:`sqlite3.Connection.load_extension`, for overriding the SQLite " +"extension entry point. (Contributed by Erlend E. Aasland in :gh:`103015`.)" msgstr "" +"Agregado el parámetro de solo palabra clave *entrypoint* a " +":meth:`sqlite3.Connection.load_extension`, para anular el punto de entrada " +"de la extensión SQLite. (Aportado por Erlend E. Aasland en :gh:`103015`.)" #: ../Doc/whatsnew/3.12.rst:875 msgid "" -"Add :meth:`sqlite3.Connection.getconfig` and :meth:`sqlite3.Connection." -"setconfig` to :class:`sqlite3.Connection` to make configuration changes to a " -"database connection. (Contributed by Erlend E. Aasland in :gh:`103489`.)" +"Add :meth:`sqlite3.Connection.getconfig` and " +":meth:`sqlite3.Connection.setconfig` to :class:`sqlite3.Connection` to make " +"configuration changes to a database connection. (Contributed by Erlend E. " +"Aasland in :gh:`103489`.)" msgstr "" +"Agregado :meth:`sqlite3.Connection.getconfig` y " +":meth:`sqlite3.Connection.setconfig` a :class:`sqlite3.Connection` para " +"realizar cambios de configuración en una conexión de base de datos. " +"(Aportado por Erlend E. Aasland en :gh:`103489`.)" #: ../Doc/whatsnew/3.12.rst:881 msgid "statistics" -msgstr "" +msgstr "statistics" #: ../Doc/whatsnew/3.12.rst:883 msgid "" @@ -1160,36 +1628,53 @@ msgid "" "computing the Spearman correlation of ranked data. (Contributed by Raymond " "Hettinger in :gh:`95861`.)" msgstr "" +"Se extendió :func:`statistics.correlation` para incluirlo como método ``ranked`` " +"para calcular la correlación de Spearman de datos clasificados. (Aportado " +"por Raymond Hettinger en :gh:`95861`.)" #: ../Doc/whatsnew/3.12.rst:888 msgid "sys" -msgstr "" +msgstr "sys" #: ../Doc/whatsnew/3.12.rst:890 msgid "" "Add the :mod:`sys.monitoring` namespace to expose the new :ref:`PEP 669 " -"` monitoring API. (Contributed by Mark Shannon in :gh:" -"`103082`.)" +"` monitoring API. (Contributed by Mark Shannon in " +":gh:`103082`.)" msgstr "" +"Agregado el espacio de nombres :mod:`sys.monitoring` para exponer la nueva " +"API de supervisión :ref:`PEP 669 `. (Aportado por Mark " +"Shannon en :gh:`103082`.)" #: ../Doc/whatsnew/3.12.rst:894 msgid "" -"Add :func:`sys.activate_stack_trampoline` and :func:`sys." -"deactivate_stack_trampoline` for activating and deactivating stack profiler " -"trampolines, and :func:`sys.is_stack_trampoline_active` for querying if " -"stack profiler trampolines are active. (Contributed by Pablo Galindo and " -"Christian Heimes with contributions from Gregory P. Smith [Google] and Mark " -"Shannon in :gh:`96123`.)" +"Add :func:`sys.activate_stack_trampoline` and " +":func:`sys.deactivate_stack_trampoline` for activating and deactivating " +"stack profiler trampolines, and :func:`sys.is_stack_trampoline_active` for " +"querying if stack profiler trampolines are active. (Contributed by Pablo " +"Galindo and Christian Heimes with contributions from Gregory P. Smith " +"[Google] and Mark Shannon in :gh:`96123`.)" msgstr "" +"Agregado :func:`sys.activate_stack_trampoline` y " +":func:`sys.deactivate_stack_trampoline` para activar y desactivar los " +"trampolines del perfilador de pila, y :func:`sys.is_stack_trampoline_active`" +" para consultar si los trampolines del perfilador de pila están activos. " +"(Contribuido por Pablo Galindo y Christian Heimes con contribuciones de " +"Gregory P. Smith [Google] y Mark Shannon en :gh:`96123`.)" #: ../Doc/whatsnew/3.12.rst:903 msgid "" "Add :data:`sys.last_exc` which holds the last unhandled exception that was " "raised (for post-mortem debugging use cases). Deprecate the three fields " -"that have the same information in its legacy form: :data:`sys.last_type`, :" -"data:`sys.last_value` and :data:`sys.last_traceback`. (Contributed by Irit " +"that have the same information in its legacy form: :data:`sys.last_type`, " +":data:`sys.last_value` and :data:`sys.last_traceback`. (Contributed by Irit " "Katriel in :gh:`102778`.)" msgstr "" +"Agregado :data:`sys.last_exc` que contiene la última excepción no controlada " +"que se generó (para casos de uso de depuración post-mortem). Deje obsoletos " +"los tres campos que tienen la misma información en su formato heredado: " +":data:`sys.last_type`, :data:`sys.last_value` y :data:`sys.last_traceback`. " +"(Aportado por Irit Katriel en :gh:`102778`.)" #: ../Doc/whatsnew/3.12.rst:909 ../Doc/whatsnew/3.12.rst:1825 msgid "" @@ -1197,6 +1682,9 @@ msgid "" "exception instance, rather than to a ``(typ, exc, tb)`` tuple. (Contributed " "by Irit Katriel in :gh:`103176`.)" msgstr "" +":func:`sys._current_exceptions` ahora devuelve una asignación de thread-id a" +" una instancia de excepción, en lugar de a una tupla ``(typ, exc, tb)``. " +"(Aportado por Irit Katriel en :gh:`103176`.)" #: ../Doc/whatsnew/3.12.rst:913 msgid "" @@ -1205,102 +1693,150 @@ msgid "" "use the recursion limit, but are protected by a different mechanism that " "prevents recursion from causing a virtual machine crash." msgstr "" +":func:`sys.setrecursionlimit` y :func:`sys.getrecursionlimit`. El límite de " +"recursividad ahora se aplica sólo al código Python. Las funciones integradas" +" no utilizan el límite de recursividad, pero están protegidas por un " +"mecanismo diferente que evita que la recursividad provoque un fallo de la " +"máquina virtual." #: ../Doc/whatsnew/3.12.rst:919 msgid "tempfile" -msgstr "" +msgstr "tempfile" #: ../Doc/whatsnew/3.12.rst:921 msgid "" "The :class:`tempfile.NamedTemporaryFile` function has a new optional " "parameter *delete_on_close* (Contributed by Evgeny Zorin in :gh:`58451`.)" msgstr "" +"La función :class:`tempfile.NamedTemporaryFile` tiene un nuevo parámetro " +"opcional *delete_on_close* (Aportado por Evgeny Zorin en :gh:`58451`.)" #: ../Doc/whatsnew/3.12.rst:923 msgid "" ":func:`tempfile.mkdtemp` now always returns an absolute path, even if the " "argument provided to the *dir* parameter is a relative path." msgstr "" +":func:`tempfile.mkdtemp` ahora siempre devuelve una ruta absoluta, incluso " +"si el argumento proporcionado al parámetro *dir* es una ruta relativa." #: ../Doc/whatsnew/3.12.rst:929 msgid "threading" -msgstr "" +msgstr "threading" #: ../Doc/whatsnew/3.12.rst:931 msgid "" -"Add :func:`threading.settrace_all_threads` and :func:`threading." -"setprofile_all_threads` that allow to set tracing and profiling functions in " -"all running threads in addition to the calling one. (Contributed by Pablo " -"Galindo in :gh:`93503`.)" +"Add :func:`threading.settrace_all_threads` and " +":func:`threading.setprofile_all_threads` that allow to set tracing and " +"profiling functions in all running threads in addition to the calling one. " +"(Contributed by Pablo Galindo in :gh:`93503`.)" msgstr "" +"Agregado :func:`threading.settrace_all_threads` y " +":func:`threading.setprofile_all_threads` que permiten configurar funciones " +"de seguimiento y creación de perfiles en todos los subprocesos en ejecución " +"además del que realiza la llamada. (Aportado por Pablo Galindo en " +":gh:`93503`.)" #: ../Doc/whatsnew/3.12.rst:937 msgid "tkinter" -msgstr "" +msgstr "tkinter" #: ../Doc/whatsnew/3.12.rst:939 msgid "" "``tkinter.Canvas.coords()`` now flattens its arguments. It now accepts not " "only coordinates as separate arguments (``x1, y1, x2, y2, ...``) and a " "sequence of coordinates (``[x1, y1, x2, y2, ...]``), but also coordinates " -"grouped in pairs (``(x1, y1), (x2, y2), ...`` and ``[(x1, y1), (x2, " -"y2), ...]``), like ``create_*()`` methods. (Contributed by Serhiy Storchaka " -"in :gh:`94473`.)" +"grouped in pairs (``(x1, y1), (x2, y2), ...`` and ``[(x1, y1), (x2, y2), " +"...]``), like ``create_*()`` methods. (Contributed by Serhiy Storchaka in " +":gh:`94473`.)" msgstr "" +"``tkinter.Canvas.coords()`` ahora aplana sus argumentos. Ahora acepta no " +"sólo coordenadas como argumentos separados (``x1, y1, x2, y2, ...``) y una " +"secuencia de coordenadas (``[x1, y1, x2, y2, ...]``), sino también " +"coordenadas agrupadas en pares (``(x1, y1), (x2, y2), ...`` y ``[(x1, y1), " +"(x2, y2), ...]``), como los métodos ``create_*()``. (Aportado por Serhiy " +"Storchaka en :gh:`94473`.)" #: ../Doc/whatsnew/3.12.rst:948 msgid "tokenize" -msgstr "" +msgstr "tokenize" #: ../Doc/whatsnew/3.12.rst:950 msgid "" "The :mod:`tokenize` module includes the changes introduced in :pep:`701`. " -"(Contributed by Marta Gómez Macías and Pablo Galindo in :gh:`102856`.) See :" -"ref:`whatsnew312-porting-to-python312` for more information on the changes " +"(Contributed by Marta Gómez Macías and Pablo Galindo in :gh:`102856`.) See " +":ref:`whatsnew312-porting-to-python312` for more information on the changes " "to the :mod:`tokenize` module." msgstr "" +"El módulo :mod:`tokenize` incluye los cambios introducidos en :pep:`701`. " +"(Aportado por Marta Gómez Macías y Pablo Galindo en :gh:`102856`.) Consulte " +":ref:`whatsnew312-porting-to-python312` para obtener más información sobre " +"los cambios en el módulo :mod:`tokenize`." #: ../Doc/whatsnew/3.12.rst:956 msgid "types" -msgstr "" +msgstr "types" #: ../Doc/whatsnew/3.12.rst:958 msgid "" -"Add :func:`types.get_original_bases` to allow for further introspection of :" -"ref:`user-defined-generics` when subclassed. (Contributed by James Hilton-" +"Add :func:`types.get_original_bases` to allow for further introspection of " +":ref:`user-defined-generics` when subclassed. (Contributed by James Hilton-" "Balfe and Alex Waygood in :gh:`101827`.)" msgstr "" +"Agregado :func:`types.get_original_bases` para permitir una mayor " +"introspección de :ref:`user-defined-generics` cuando esté subclasificado. " +"(Contribución de James Hilton-Balfe y Alex Waygood en :gh:`101827`.)" #: ../Doc/whatsnew/3.12.rst:963 msgid "typing" -msgstr "" +msgstr "typing" #: ../Doc/whatsnew/3.12.rst:965 msgid "" -":func:`isinstance` checks against :func:`runtime-checkable protocols ` now use :func:`inspect.getattr_static` rather than :func:" -"`hasattr` to lookup whether attributes exist. This means that descriptors " -"and :meth:`~object.__getattr__` methods are no longer unexpectedly evaluated " -"during ``isinstance()`` checks against runtime-checkable protocols. However, " -"it may also mean that some objects which used to be considered instances of " -"a runtime-checkable protocol may no longer be considered instances of that " -"protocol on Python 3.12+, and vice versa. Most users are unlikely to be " -"affected by this change. (Contributed by Alex Waygood in :gh:`102433`.)" -msgstr "" +":func:`isinstance` checks against :func:`runtime-checkable protocols " +"` now use :func:`inspect.getattr_static` rather " +"than :func:`hasattr` to lookup whether attributes exist. This means that " +"descriptors and :meth:`~object.__getattr__` methods are no longer " +"unexpectedly evaluated during ``isinstance()`` checks against runtime-" +"checkable protocols. However, it may also mean that some objects which used " +"to be considered instances of a runtime-checkable protocol may no longer be " +"considered instances of that protocol on Python 3.12+, and vice versa. Most " +"users are unlikely to be affected by this change. (Contributed by Alex " +"Waygood in :gh:`102433`.)" +msgstr "" +"Las comprobaciones de :func:`isinstance` con :func:`runtime-checkable " +"protocols ` ahora usan " +":func:`inspect.getattr_static` en lugar de :func:`hasattr` para buscar si " +"existen atributos. Esto significa que los descriptores y los métodos " +":meth:`~object.__getattr__` ya no se evalúan inesperadamente durante las " +"comprobaciones de ``isinstance()`` con protocolos verificables en tiempo de " +"ejecución. Sin embargo, también puede significar que algunos objetos que " +"solían considerarse instancias de un protocolo verificable en tiempo de " +"ejecución ya no se consideran instancias de ese protocolo en Python 3.12+, y" +" viceversa. Es poco probable que la mayoría de los usuarios se vean " +"afectados por este cambio. (Contribuido por Alex Waygood en :gh:`102433`.)" #: ../Doc/whatsnew/3.12.rst:976 msgid "" -"The members of a runtime-checkable protocol are now considered \"frozen\" at " -"runtime as soon as the class has been created. Monkey-patching attributes " +"The members of a runtime-checkable protocol are now considered \"frozen\" at" +" runtime as soon as the class has been created. Monkey-patching attributes " "onto a runtime-checkable protocol will still work, but will have no impact " -"on :func:`isinstance` checks comparing objects to the protocol. For example::" +"on :func:`isinstance` checks comparing objects to the protocol. For " +"example::" msgstr "" +"Los miembros de un protocolo verificable en tiempo de ejecución ahora se " +"consideran \"congelados\" en tiempo de ejecución tan pronto como se crea la " +"clase. La aplicación de parches de atributos en un protocolo verificable en " +"tiempo de ejecución seguirá funcionando, pero no tendrá ningún impacto en " +"las comprobaciones :func:`isinstance` que comparan objetos con el protocolo." +" Por ejemplo::" #: ../Doc/whatsnew/3.12.rst:998 msgid "" "This change was made in order to speed up ``isinstance()`` checks against " "runtime-checkable protocols." msgstr "" +"Este cambio se realizó para acelerar las comprobaciones de ``isinstance()`` " +"en protocolos verificables en tiempo de ejecución." #: ../Doc/whatsnew/3.12.rst:1001 msgid "" @@ -1309,66 +1845,90 @@ msgid "" "Most ``isinstance()`` checks against protocols with only a few members " "should be at least 2x faster than in 3.11, and some may be 20x faster or " "more. However, ``isinstance()`` checks against protocols with fourteen or " -"more members may be slower than in Python 3.11. (Contributed by Alex Waygood " -"in :gh:`74690` and :gh:`103193`.)" -msgstr "" +"more members may be slower than in Python 3.11. (Contributed by Alex Waygood" +" in :gh:`74690` and :gh:`103193`.)" +msgstr "" +"El perfil de rendimiento de las comprobaciones de :func:`isinstance` frente " +"a :func:`runtime-checkable protocols ` ha cambiado" +" significativamente. La mayoría de las comprobaciones de ``isinstance()`` en" +" protocolos con solo unos pocos miembros deberían ser al menos 2 veces más " +"rápidas que en 3.11, y algunas pueden ser 20 veces más rápidas o más. Sin " +"embargo, las comprobaciones de ``isinstance()`` con protocolos con catorce o" +" más miembros pueden ser más lentas que en Python 3.11. (Contribuido por " +"Alex Waygood en :gh:`74690` y :gh:`103193`.)" #: ../Doc/whatsnew/3.12.rst:1009 msgid "" "All :data:`typing.TypedDict` and :data:`typing.NamedTuple` classes now have " -"the ``__orig_bases__`` attribute. (Contributed by Adrian Garcia Badaracco " -"in :gh:`103699`.)" +"the ``__orig_bases__`` attribute. (Contributed by Adrian Garcia Badaracco in" +" :gh:`103699`.)" msgstr "" +"Todas las clases :data:`typing.TypedDict` y :data:`typing.NamedTuple` ahora " +"tienen el atributo ``__orig_bases__``. (Aportado por Adrián García Badaracco" +" en :gh:`103699`.)" #: ../Doc/whatsnew/3.12.rst:1013 msgid "" "Add ``frozen_default`` parameter to :func:`typing.dataclass_transform`. " "(Contributed by Erik De Bonte in :gh:`99957`.)" msgstr "" +"Agregado el parámetro ``frozen_default`` a " +":func:`typing.dataclass_transform`. (Aportado por Erik De Bonte en " +":gh:`99957`.)" #: ../Doc/whatsnew/3.12.rst:1017 msgid "unicodedata" -msgstr "" +msgstr "unicodedata" #: ../Doc/whatsnew/3.12.rst:1019 msgid "" "The Unicode database has been updated to version 15.0.0. (Contributed by " "Benjamin Peterson in :gh:`96734`)." msgstr "" +"La base de datos Unicode se ha actualizado a la versión 15.0.0. (Aportado " +"por Benjamin Peterson en :gh:`96734`)." #: ../Doc/whatsnew/3.12.rst:1023 ../Doc/whatsnew/3.12.rst:1678 msgid "unittest" -msgstr "" +msgstr "unittest" #: ../Doc/whatsnew/3.12.rst:1025 msgid "" -"Add a ``--durations`` command line option, showing the N slowest test cases::" +"Add a ``--durations`` command line option, showing the N slowest test " +"cases::" msgstr "" +"Agregado una opción de línea de comando ``--durations``, que muestra los N " +"casos de prueba más lentos:" #: ../Doc/whatsnew/3.12.rst:1041 msgid "(Contributed by Giampaolo Rodola in :gh:`48330`)" -msgstr "" +msgstr "(Aportado por Giampaolo Rodola en :gh:`48330`)" #: ../Doc/whatsnew/3.12.rst:1044 msgid "uuid" -msgstr "" +msgstr "uuid" #: ../Doc/whatsnew/3.12.rst:1046 msgid "" "Add a :ref:`command-line interface `. (Contributed by Adam Chhina " "in :gh:`88597`.)" msgstr "" +"Agregado un :ref:`command-line interface `. (Aportado por Adam " +"Chhina en :gh:`88597`.)" #: ../Doc/whatsnew/3.12.rst:1051 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/3.12.rst:1053 msgid "" -"Remove ``wstr`` and ``wstr_length`` members from Unicode objects. It reduces " -"object size by 8 or 16 bytes on 64bit platform. (:pep:`623`) (Contributed by " -"Inada Naoki in :gh:`92536`.)" +"Remove ``wstr`` and ``wstr_length`` members from Unicode objects. It reduces" +" object size by 8 or 16 bytes on 64bit platform. (:pep:`623`) (Contributed " +"by Inada Naoki in :gh:`92536`.)" msgstr "" +"Elimine los miembros ``wstr`` y ``wstr_length`` de los objetos Unicode. " +"Reduce el tamaño del objeto en 8 o 16 bytes en una plataforma de 64 bits. " +"(:pep:`623`) (Aportado por Inada Naoki en :gh:`92536`.)" #: ../Doc/whatsnew/3.12.rst:1057 msgid "" @@ -1376,135 +1936,190 @@ msgid "" "process, which improves performance by 1-5%. (Contributed by Kevin " "Modzelewski in :gh:`90536` and tuned by Donghee Na in :gh:`101525`)" msgstr "" +"Agregado soporte experimental para usar el optimizador binario BOLT en el " +"proceso de compilación, lo que mejora el rendimiento entre un 1% y un 5%. " +"(Contribuido por Kevin Modzelewski en :gh:`90536` y sintonizado por Donghee " +"Na en :gh:`101525`)" #: ../Doc/whatsnew/3.12.rst:1061 msgid "" -"Speed up the regular expression substitution (functions :func:`re.sub` and :" -"func:`re.subn` and corresponding :class:`!re.Pattern` methods) for " +"Speed up the regular expression substitution (functions :func:`re.sub` and " +":func:`re.subn` and corresponding :class:`!re.Pattern` methods) for " "replacement strings containing group references by 2--3 times. (Contributed " "by Serhiy Storchaka in :gh:`91524`.)" msgstr "" +"Acelere la sustitución de expresiones regulares (funciones :func:`re.sub` y " +":func:`re.subn` y los métodos :class:`!re.Pattern` correspondientes) para " +"cadenas de reemplazo que contienen referencias de grupo entre 2 y 3 veces. " +"(Aportado por Serhiy Storchaka en :gh:`91524`.)" #: ../Doc/whatsnew/3.12.rst:1066 msgid "" "Speed up :class:`asyncio.Task` creation by deferring expensive string " "formatting. (Contributed by Itamar Oren in :gh:`103793`.)" msgstr "" +"Acelere la creación de :class:`asyncio.Task` aplazando el costoso formato de" +" cadenas. (Aportado por Itamar Oren en :gh:`103793`.)" #: ../Doc/whatsnew/3.12.rst:1069 #, python-format msgid "" -"The :func:`tokenize.tokenize` and :func:`tokenize.generate_tokens` functions " -"are up to 64% faster as a side effect of the changes required to cover :pep:" -"`701` in the :mod:`tokenize` module. (Contributed by Marta Gómez Macías and " -"Pablo Galindo in :gh:`102856`.)" +"The :func:`tokenize.tokenize` and :func:`tokenize.generate_tokens` functions" +" are up to 64% faster as a side effect of the changes required to cover " +":pep:`701` in the :mod:`tokenize` module. (Contributed by Marta Gómez Macías" +" and Pablo Galindo in :gh:`102856`.)" msgstr "" +"Las funciones :func:`tokenize.tokenize` y :func:`tokenize.generate_tokens` " +"son hasta un 64 % más rápidas como efecto secundario de los cambios " +"necesarios para cubrir :pep:`701` en el módulo :mod:`tokenize`. (Aportado " +"por Marta Gómez Macías y Pablo Galindo en :gh:`102856`.)" #: ../Doc/whatsnew/3.12.rst:1074 msgid "" -"Speed up :func:`super` method calls and attribute loads via the new :opcode:" -"`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer and Vladimir " -"Matveev in :gh:`103497`.)" +"Speed up :func:`super` method calls and attribute loads via the new " +":opcode:`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer and " +"Vladimir Matveev in :gh:`103497`.)" msgstr "" +"Acelere las llamadas al método :func:`super` y las cargas de atributos " +"mediante la nueva instrucción :opcode:`LOAD_SUPER_ATTR`. (Contribución de " +"Carl Meyer y Vladimir Matveev en :gh:`103497`.)" #: ../Doc/whatsnew/3.12.rst:1080 msgid "CPython bytecode changes" -msgstr "" +msgstr "Cambios en el código de bytes de CPython" #: ../Doc/whatsnew/3.12.rst:1082 msgid "" -"Remove the :opcode:`!LOAD_METHOD` instruction. It has been merged into :" -"opcode:`LOAD_ATTR`. :opcode:`LOAD_ATTR` will now behave like the old :opcode:" -"`!LOAD_METHOD` instruction if the low bit of its oparg is set. (Contributed " -"by Ken Jin in :gh:`93429`.)" +"Remove the :opcode:`!LOAD_METHOD` instruction. It has been merged into " +":opcode:`LOAD_ATTR`. :opcode:`LOAD_ATTR` will now behave like the old " +":opcode:`!LOAD_METHOD` instruction if the low bit of its oparg is set. " +"(Contributed by Ken Jin in :gh:`93429`.)" msgstr "" +"Elimine la instrucción :opcode:`!LOAD_METHOD`. Se ha fusionado con " +":opcode:`LOAD_ATTR`. :opcode:`LOAD_ATTR` ahora se comportará como la antigua" +" instrucción :opcode:`!LOAD_METHOD` si el bit bajo de su oparg está " +"configurado. (Contribuido por Ken Jin en :gh:`93429`.)" #: ../Doc/whatsnew/3.12.rst:1087 msgid "" -"Remove the :opcode:`!JUMP_IF_FALSE_OR_POP` and :opcode:`!" -"JUMP_IF_TRUE_OR_POP` instructions. (Contributed by Irit Katriel in :gh:" -"`102859`.)" +"Remove the :opcode:`!JUMP_IF_FALSE_OR_POP` and " +":opcode:`!JUMP_IF_TRUE_OR_POP` instructions. (Contributed by Irit Katriel in" +" :gh:`102859`.)" msgstr "" +"Elimine las instrucciones :opcode:`!JUMP_IF_FALSE_OR_POP` y " +":opcode:`!JUMP_IF_TRUE_OR_POP`. (Aportado por Irit Katriel en :gh:`102859`.)" #: ../Doc/whatsnew/3.12.rst:1090 msgid "" -"Remove the :opcode:`!PRECALL` instruction. (Contributed by Mark Shannon in :" -"gh:`92925`.)" +"Remove the :opcode:`!PRECALL` instruction. (Contributed by Mark Shannon in " +":gh:`92925`.)" msgstr "" +"Elimine la instrucción :opcode:`!PRECALL`. (Aportado por Mark Shannon en " +":gh:`92925`.)" #: ../Doc/whatsnew/3.12.rst:1093 msgid "" "Add the :opcode:`BINARY_SLICE` and :opcode:`STORE_SLICE` instructions. " "(Contributed by Mark Shannon in :gh:`94163`.)" msgstr "" +"Agregado las instrucciones :opcode:`BINARY_SLICE` y :opcode:`STORE_SLICE`. " +"(Aportado por Mark Shannon en :gh:`94163`.)" #: ../Doc/whatsnew/3.12.rst:1096 msgid "" "Add the :opcode:`CALL_INTRINSIC_1` instructions. (Contributed by Mark " "Shannon in :gh:`99005`.)" msgstr "" +"Agregado las instrucciones :opcode:`CALL_INTRINSIC_1`. (Aportado por Mark " +"Shannon en :gh:`99005`.)" #: ../Doc/whatsnew/3.12.rst:1099 msgid "" -"Add the :opcode:`CALL_INTRINSIC_2` instruction. (Contributed by Irit Katriel " -"in :gh:`101799`.)" +"Add the :opcode:`CALL_INTRINSIC_2` instruction. (Contributed by Irit Katriel" +" in :gh:`101799`.)" msgstr "" +"Agregado la instrucción :opcode:`CALL_INTRINSIC_2`. (Aportado por Irit " +"Katriel en :gh:`101799`.)" #: ../Doc/whatsnew/3.12.rst:1102 msgid "" "Add the :opcode:`CLEANUP_THROW` instruction. (Contributed by Brandt Bucher " "in :gh:`90997`.)" msgstr "" +"Agregado la instrucción :opcode:`CLEANUP_THROW`. (Aportado por Brandt Bucher " +"en :gh:`90997`.)" #: ../Doc/whatsnew/3.12.rst:1105 msgid "" -"Add the :opcode:`!END_SEND` instruction. (Contributed by Mark Shannon in :gh:" -"`103082`.)" +"Add the :opcode:`!END_SEND` instruction. (Contributed by Mark Shannon in " +":gh:`103082`.)" msgstr "" +"Agregado la instrucción :opcode:`!END_SEND`. (Aportado por Mark Shannon en " +":gh:`103082`.)" #: ../Doc/whatsnew/3.12.rst:1108 msgid "" "Add the :opcode:`LOAD_FAST_AND_CLEAR` instruction as part of the " "implementation of :pep:`709`. (Contributed by Carl Meyer in :gh:`101441`.)" msgstr "" +"Agregado la instrucción :opcode:`LOAD_FAST_AND_CLEAR` como parte de la " +"implementación de :pep:`709`. (Aportado por Carl Meyer en :gh:`101441`.)" #: ../Doc/whatsnew/3.12.rst:1111 msgid "" "Add the :opcode:`LOAD_FAST_CHECK` instruction. (Contributed by Dennis " "Sweeney in :gh:`93143`.)" msgstr "" +"Agregado la instrucción :opcode:`LOAD_FAST_CHECK`. (Aportado por Dennis " +"Sweeney en :gh:`93143`.)" #: ../Doc/whatsnew/3.12.rst:1114 msgid "" -"Add the :opcode:`LOAD_FROM_DICT_OR_DEREF`, :opcode:" -"`LOAD_FROM_DICT_OR_GLOBALS`, and :opcode:`LOAD_LOCALS` opcodes as part of " -"the implementation of :pep:`695`. Remove the :opcode:`!LOAD_CLASSDEREF` " -"opcode, which can be replaced with :opcode:`LOAD_LOCALS` plus :opcode:" -"`LOAD_FROM_DICT_OR_DEREF`. (Contributed by Jelle Zijlstra in :gh:`103764`.)" +"Add the :opcode:`LOAD_FROM_DICT_OR_DEREF`, " +":opcode:`LOAD_FROM_DICT_OR_GLOBALS`, and :opcode:`LOAD_LOCALS` opcodes as " +"part of the implementation of :pep:`695`. Remove the " +":opcode:`!LOAD_CLASSDEREF` opcode, which can be replaced with " +":opcode:`LOAD_LOCALS` plus :opcode:`LOAD_FROM_DICT_OR_DEREF`. (Contributed " +"by Jelle Zijlstra in :gh:`103764`.)" msgstr "" +"Agregado los códigos de operación :opcode:`LOAD_FROM_DICT_OR_DEREF`, " +":opcode:`LOAD_FROM_DICT_OR_GLOBALS` y :opcode:`LOAD_LOCALS` como parte de la" +" implementación de :pep:`695`. Elimine el código de operación " +":opcode:`!LOAD_CLASSDEREF`, que se puede reemplazar con " +":opcode:`LOAD_LOCALS` más :opcode:`LOAD_FROM_DICT_OR_DEREF`. (Aportado por " +"Jelle Zijlstra en :gh:`103764`.)" #: ../Doc/whatsnew/3.12.rst:1120 msgid "" "Add the :opcode:`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer " "and Vladimir Matveev in :gh:`103497`.)" msgstr "" +"Agregado la instrucción :opcode:`LOAD_SUPER_ATTR`. (Contribución de Carl " +"Meyer y Vladimir Matveev en :gh:`103497`.)" #: ../Doc/whatsnew/3.12.rst:1123 msgid "" -"Add the :opcode:`RETURN_CONST` instruction. (Contributed by Wenyang Wang in :" -"gh:`101632`.)" +"Add the :opcode:`RETURN_CONST` instruction. (Contributed by Wenyang Wang in " +":gh:`101632`.)" msgstr "" +"Agregado la instrucción :opcode:`RETURN_CONST`. (Aportado por Wenyang Wang en" +" :gh:`101632`.)" #: ../Doc/whatsnew/3.12.rst:1126 msgid "Demos and Tools" -msgstr "" +msgstr "Demostraciones y herramientas" #: ../Doc/whatsnew/3.12.rst:1128 msgid "" "Remove the ``Tools/demo/`` directory which contained old demo scripts. A " -"copy can be found in the `old-demos project `_. (Contributed by Victor Stinner in :gh:`97681`.)" +"copy can be found in the `old-demos project " +"`_. (Contributed by Victor Stinner " +"in :gh:`97681`.)" msgstr "" +"Elimine el directorio ``Tools/demo/`` que contenía scripts de demostración " +"antiguos. Se puede encontrar una copia en el `old-demos project " +"`_. (Aportado por Victor Stinner en" +" :gh:`97681`.)" #: ../Doc/whatsnew/3.12.rst:1133 msgid "" @@ -1512,17 +2127,24 @@ msgid "" "can be found in the `old-demos project `_. (Contributed by Victor Stinner in :gh:`97669`.)" msgstr "" +"Elimine los scripts de ejemplo obsoletos del directorio ``Tools/scripts/``. " +"Se puede encontrar una copia en el `old-demos project " +"`_. (Aportado por Victor Stinner en" +" :gh:`97669`.)" #: ../Doc/whatsnew/3.12.rst:1140 ../Doc/whatsnew/3.12.rst:2219 msgid "Deprecated" -msgstr "" +msgstr "Obsoleto" #: ../Doc/whatsnew/3.12.rst:1142 msgid "" -":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of :class:`!" -"argparse.BooleanOptionalAction` are deprecated and will be removed in 3.14. " -"(Contributed by Nikita Sobolev in :gh:`92248`.)" +":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of " +":class:`!argparse.BooleanOptionalAction` are deprecated and will be removed " +"in 3.14. (Contributed by Nikita Sobolev in :gh:`92248`.)" msgstr "" +":mod:`argparse`: Los parámetros *type*, *choices* y *metavar* de " +":class:`!argparse.BooleanOptionalAction` están obsoletos y se eliminarán en " +"3.14. (Contribución de Nikita Sobolev en :gh:`92248`.)" #: ../Doc/whatsnew/3.12.rst:1147 msgid "" @@ -1531,134 +2153,182 @@ msgid "" "emitted at runtime when they are accessed or used, and will be removed in " "Python 3.14:" msgstr "" +":mod:`ast`: las siguientes características de :mod:`ast` han quedado " +"obsoletas en la documentación desde Python 3.8, ahora provocan que se emita " +"un :exc:`DeprecationWarning` en tiempo de ejecución cuando se accede a ellas" +" o se usan, y se eliminarán en Python 3.14:" #: ../Doc/whatsnew/3.12.rst:1151 ../Doc/whatsnew/3.12.rst:1383 msgid ":class:`!ast.Num`" -msgstr "" +msgstr ":class:`!ast.Num`" #: ../Doc/whatsnew/3.12.rst:1152 ../Doc/whatsnew/3.12.rst:1384 msgid ":class:`!ast.Str`" -msgstr "" +msgstr ":class:`!ast.Str`" #: ../Doc/whatsnew/3.12.rst:1153 ../Doc/whatsnew/3.12.rst:1385 msgid ":class:`!ast.Bytes`" -msgstr "" +msgstr ":class:`!ast.Bytes`" #: ../Doc/whatsnew/3.12.rst:1154 ../Doc/whatsnew/3.12.rst:1386 msgid ":class:`!ast.NameConstant`" -msgstr "" +msgstr ":class:`!ast.NameConstant`" #: ../Doc/whatsnew/3.12.rst:1155 ../Doc/whatsnew/3.12.rst:1387 msgid ":class:`!ast.Ellipsis`" -msgstr "" +msgstr ":class:`!ast.Ellipsis`" #: ../Doc/whatsnew/3.12.rst:1157 msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:" -"`90953`.)" +"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in " +":gh:`90953`.)" msgstr "" +"Utilice :class:`ast.Constant` en su lugar. (Aportado por Serhiy Storchaka en" +" :gh:`90953`.)" #: ../Doc/whatsnew/3.12.rst:1160 ../Doc/whatsnew/3.12.rst:1389 msgid ":mod:`asyncio`:" -msgstr "" +msgstr ":mod:`asyncio`:" #: ../Doc/whatsnew/3.12.rst:1162 msgid "" -"The child watcher classes :class:`asyncio.MultiLoopChildWatcher`, :class:" -"`asyncio.FastChildWatcher`, :class:`asyncio.AbstractChildWatcher` and :class:" -"`asyncio.SafeChildWatcher` are deprecated and will be removed in Python " -"3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" +"The child watcher classes :class:`asyncio.MultiLoopChildWatcher`, " +":class:`asyncio.FastChildWatcher`, :class:`asyncio.AbstractChildWatcher` and" +" :class:`asyncio.SafeChildWatcher` are deprecated and will be removed in " +"Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" +"Las clases de vigilancia secundaria :class:`asyncio.MultiLoopChildWatcher`, " +":class:`asyncio.FastChildWatcher`, :class:`asyncio.AbstractChildWatcher` y " +":class:`asyncio.SafeChildWatcher` están en desuso y se eliminarán en Python " +"3.14. (Aportado por Kumar Aditya en :gh:`94597`.)" #: ../Doc/whatsnew/3.12.rst:1168 msgid "" -":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, :meth:" -"`asyncio.AbstractEventLoopPolicy.set_child_watcher` and :meth:`asyncio." -"AbstractEventLoopPolicy.get_child_watcher` are deprecated and will be " -"removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" +":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, " +":meth:`asyncio.AbstractEventLoopPolicy.set_child_watcher` and " +":meth:`asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated and" +" will be removed in Python 3.14. (Contributed by Kumar Aditya in " +":gh:`94597`.)" msgstr "" +":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, " +":meth:`asyncio.AbstractEventLoopPolicy.set_child_watcher` y " +":meth:`asyncio.AbstractEventLoopPolicy.get_child_watcher` están en desuso y " +"se eliminarán en Python 3.14. (Aportado por Kumar Aditya en :gh:`94597`.)" #: ../Doc/whatsnew/3.12.rst:1174 msgid "" "The :meth:`~asyncio.get_event_loop` method of the default event loop policy " "now emits a :exc:`DeprecationWarning` if there is no current event loop set " -"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van " -"Rossum in :gh:`100160`.)" +"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van" +" Rossum in :gh:`100160`.)" msgstr "" +"El método :meth:`~asyncio.get_event_loop` de la política de bucle de eventos" +" predeterminada ahora emite un :exc:`DeprecationWarning` si no hay ningún " +"bucle de eventos establecido y decide crear uno. (Contribución de Serhiy " +"Storchaka y Guido van Rossum en :gh:`100160`.)" #: ../Doc/whatsnew/3.12.rst:1179 msgid "" ":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." -"FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" +"are deprecated and replaced by :data:`calendar.JANUARY` and " +":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" +":mod:`calendar`: las constantes ``calendar.January`` y ``calendar.February``" +" están obsoletas y reemplazadas por :data:`calendar.JANUARY` y " +":data:`calendar.FEBRUARY`. (Aportado por el Príncipe Roshan en " +":gh:`103636`.)" #: ../Doc/whatsnew/3.12.rst:1183 msgid "" ":mod:`collections.abc`: Deprecated :class:`collections.abc.ByteString`. " "Prefer :class:`Sequence` or :class:`collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." -"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" +"typing, prefer a union, like ``bytes | bytearray``, or " +":class:`collections.abc.Buffer`. (Contributed by Shantanu Jain in " +":gh:`91896`.)" msgstr "" +":mod:`collections.abc`: :class:`collections.abc.ByteString` en desuso. " +"Prefiere :class:`Sequence` o :class:`collections.abc.Buffer`. Para usar al " +"escribir, prefiera una unión, como ``bytes | bytearray`` o " +":class:`collections.abc.Buffer`. (Aportado por Shantanu Jain en " +":gh:`91896`.)" #: ../Doc/whatsnew/3.12.rst:1188 msgid "" -":mod:`datetime`: :class:`datetime.datetime`'s :meth:`~datetime.datetime." -"utcnow` and :meth:`~datetime.datetime.utcfromtimestamp` are deprecated and " -"will be removed in a future version. Instead, use timezone-aware objects to " -"represent datetimes in UTC: respectively, call :meth:`~datetime.datetime." -"now` and :meth:`~datetime.datetime.fromtimestamp` with the *tz* parameter " -"set to :const:`datetime.UTC`. (Contributed by Paul Ganssle in :gh:`103857`.)" -msgstr "" +":mod:`datetime`: :class:`datetime.datetime`'s " +":meth:`~datetime.datetime.utcnow` and " +":meth:`~datetime.datetime.utcfromtimestamp` are deprecated and will be " +"removed in a future version. Instead, use timezone-aware objects to " +"represent datetimes in UTC: respectively, call " +":meth:`~datetime.datetime.now` and :meth:`~datetime.datetime.fromtimestamp`" +" with the *tz* parameter set to :const:`datetime.UTC`. (Contributed by Paul" +" Ganssle in :gh:`103857`.)" +msgstr "" +":mod:`datetime`: :meth:`~datetime.datetime.utcnow` y " +":meth:`~datetime.datetime.utcfromtimestamp` de :class:`datetime.datetime` " +"están en desuso y se eliminarán en una versión futura. En su lugar, utilice " +"objetos que tengan en cuenta la zona horaria para representar las fechas y " +"horas en UTC: respectivamente, llame a :meth:`~datetime.datetime.now` y " +":meth:`~datetime.datetime.fromtimestamp` con el parámetro *tz* establecido " +"en :const:`datetime.UTC`. (Aportado por Paul Ganssle en :gh:`103857`.)" #: ../Doc/whatsnew/3.12.rst:1196 msgid "" -":mod:`email`: Deprecate the *isdst* parameter in :func:`email.utils." -"localtime`. (Contributed by Alan Williams in :gh:`72346`.)" +":mod:`email`: Deprecate the *isdst* parameter in " +":func:`email.utils.localtime`. (Contributed by Alan Williams in " +":gh:`72346`.)" msgstr "" +":mod:`email`: desaprobar el parámetro *isdst* en " +":func:`email.utils.localtime`. (Aportado por Alan Williams en :gh:`72346`.)" #: ../Doc/whatsnew/3.12.rst:1199 msgid "" ":mod:`importlib.abc`: Deprecated the following classes, scheduled for " "removal in Python 3.14:" msgstr "" +":mod:`importlib.abc`: Se desaprobaron las siguientes clases, cuya " +"eliminación está programada en Python 3.14:" #: ../Doc/whatsnew/3.12.rst:1202 ../Doc/whatsnew/3.12.rst:1406 msgid ":class:`!importlib.abc.ResourceReader`" -msgstr "" +msgstr ":class:`!importlib.abc.ResourceReader`" #: ../Doc/whatsnew/3.12.rst:1203 ../Doc/whatsnew/3.12.rst:1407 msgid ":class:`!importlib.abc.Traversable`" -msgstr "" +msgstr ":class:`!importlib.abc.Traversable`" #: ../Doc/whatsnew/3.12.rst:1204 ../Doc/whatsnew/3.12.rst:1408 msgid ":class:`!importlib.abc.TraversableResources`" -msgstr "" +msgstr ":class:`!importlib.abc.TraversableResources`" #: ../Doc/whatsnew/3.12.rst:1206 msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" +msgstr "Utilice clases :mod:`importlib.resources.abc` en su lugar:" #: ../Doc/whatsnew/3.12.rst:1208 msgid ":class:`importlib.resources.abc.Traversable`" -msgstr "" +msgstr ":class:`importlib.resources.abc.Traversable`" #: ../Doc/whatsnew/3.12.rst:1209 msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr "" +msgstr ":class:`importlib.resources.abc.TraversableResources`" #: ../Doc/whatsnew/3.12.rst:1211 msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" +msgstr "(Contribución de Jason R. Coombs y Hugo van Kemenade en :gh:`93963`.)" #: ../Doc/whatsnew/3.12.rst:1213 msgid "" ":mod:`itertools`: Deprecate the support for copy, deepcopy, and pickle " "operations, which is undocumented, inefficient, historically buggy, and " "inconsistent. This will be removed in 3.14 for a significant reduction in " -"code volume and maintenance burden. (Contributed by Raymond Hettinger in :gh:" -"`101588`.)" +"code volume and maintenance burden. (Contributed by Raymond Hettinger in " +":gh:`101588`.)" msgstr "" +":mod:`itertools`: desaprobar la compatibilidad con operaciones de copia, " +"copia profunda y pickle, que no está documentada, es ineficiente, " +"históricamente tiene errores e inconsistente. Esto se eliminará en 3.14 para" +" lograr una reducción significativa en el volumen de código y la carga de " +"mantenimiento. (Aportado por Raymond Hettinger en :gh:`101588`.)" #: ../Doc/whatsnew/3.12.rst:1219 msgid "" @@ -1666,30 +2336,51 @@ msgid "" "start method will change to a safer one on Linux, BSDs, and other non-macOS " "POSIX platforms where ``'fork'`` is currently the default (:gh:`84559`). " "Adding a runtime warning about this was deemed too disruptive as the " -"majority of code is not expected to care. Use the :func:`~multiprocessing." -"get_context` or :func:`~multiprocessing.set_start_method` APIs to explicitly " -"specify when your code *requires* ``'fork'``. See :ref:`contexts and start " -"methods `." -msgstr "" +"majority of code is not expected to care. Use the " +":func:`~multiprocessing.get_context` or " +":func:`~multiprocessing.set_start_method` APIs to explicitly specify when " +"your code *requires* ``'fork'``. See :ref:`contexts and start methods " +"`." +msgstr "" +":mod:`multiprocessing`: en Python 3.14, el método de inicio predeterminado " +"de :mod:`multiprocessing` cambiará a uno más seguro en Linux, BSD y otras " +"plataformas POSIX que no sean macOS donde ``'fork'`` es actualmente el " +"predeterminado (:gh:`84559`). Agregar una advertencia de tiempo de ejecución" +" sobre esto se consideró demasiado perjudicial ya que se espera que a la " +"mayoría del código no le importe. Utilice las API " +":func:`~multiprocessing.get_context` o " +":func:`~multiprocessing.set_start_method` para especificar explícitamente " +"cuándo su código *requires* ``'fork'``. Ver :ref:`contexts and start methods" +" `." #: ../Doc/whatsnew/3.12.rst:1229 msgid "" ":mod:`pkgutil`: :func:`pkgutil.find_loader` and :func:`pkgutil.get_loader` " -"are deprecated and will be removed in Python 3.14; use :func:`importlib.util." -"find_spec` instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" +"are deprecated and will be removed in Python 3.14; use " +":func:`importlib.util.find_spec` instead. (Contributed by Nikita Sobolev in " +":gh:`97850`.)" msgstr "" +":mod:`pkgutil`: :func:`pkgutil.find_loader` y :func:`pkgutil.get_loader` " +"están en desuso y se eliminarán en Python 3.14; utilice " +":func:`importlib.util.find_spec` en su lugar. (Contribución de Nikita " +"Sobolev en :gh:`97850`.)" #: ../Doc/whatsnew/3.12.rst:1234 msgid "" ":mod:`pty`: The module has two undocumented ``master_open()`` and " -"``slave_open()`` functions that have been deprecated since Python 2 but only " -"gained a proper :exc:`DeprecationWarning` in 3.12. Remove them in 3.14. " +"``slave_open()`` functions that have been deprecated since Python 2 but only" +" gained a proper :exc:`DeprecationWarning` in 3.12. Remove them in 3.14. " "(Contributed by Soumendra Ganguly and Gregory P. Smith in :gh:`85984`.)" msgstr "" +":mod:`pty`: el módulo tiene dos funciones ``master_open()`` y " +"``slave_open()`` no documentadas que han quedado obsoletas desde Python 2 " +"pero que solo obtuvieron un :exc:`DeprecationWarning` adecuado en 3.12. " +"Elimínelos en 3.14. (Aportado por Soumendra Ganguly y Gregory P. Smith en " +":gh:`85984`.)" #: ../Doc/whatsnew/3.12.rst:1239 msgid ":mod:`os`:" -msgstr "" +msgstr ":mod:`os`:" #: ../Doc/whatsnew/3.12.rst:1241 msgid "" @@ -1699,61 +2390,100 @@ msgid "" "contain the creation time, which is also available in the new " "``st_birthtime`` field. (Contributed by Steve Dower in :gh:`99726`.)" msgstr "" +"Los campos ``st_ctime`` devueltos por :func:`os.stat` y :func:`os.lstat` en " +"Windows están en desuso. En una versión futura, contendrán la hora del " +"último cambio de metadatos, de forma coherente con otras plataformas. Por " +"ahora, todavía contienen la hora de creación, que también está disponible en" +" el nuevo campo ``st_birthtime``. (Aportado por Steve Dower en :gh:`99726`.)" #: ../Doc/whatsnew/3.12.rst:1247 msgid "" -"On POSIX platforms, :func:`os.fork` can now raise a :exc:" -"`DeprecationWarning` when it can detect being called from a multithreaded " -"process. There has always been a fundamental incompatibility with the POSIX " -"platform when doing so. Even if such code *appeared* to work. We added the " -"warning to to raise awareness as issues encounted by code doing this are " -"becoming more frequent. See the :func:`os.fork` documentation for more " -"details along with `this discussion on fork being incompatible with threads " -"`_ for *why* we're now surfacing this " -"longstanding platform compatibility problem to developers." -msgstr "" +"On POSIX platforms, :func:`os.fork` can now raise a " +":exc:`DeprecationWarning` when it can detect being called from a " +"multithreaded process. There has always been a fundamental incompatibility " +"with the POSIX platform when doing so. Even if such code *appeared* to work." +" We added the warning to to raise awareness as issues encounted by code " +"doing this are becoming more frequent. See the :func:`os.fork` documentation" +" for more details along with `this discussion on fork being incompatible " +"with threads `_ for *why* we're now " +"surfacing this longstanding platform compatibility problem to developers." +msgstr "" +"En plataformas POSIX, :func:`os.fork` ahora puede generar un " +":exc:`DeprecationWarning` cuando detecta una llamada desde un proceso " +"multiproceso. Siempre ha habido una incompatibilidad fundamental con la " +"plataforma POSIX al hacerlo. Incluso si dicho código *appeared* funciona. " +"Agregamos la advertencia para crear conciencia, ya que los problemas " +"encontrados por el código al hacer esto son cada vez más frecuentes. " +"Consulte la documentación de :func:`os.fork` para obtener más detalles junto" +" con `this discussion on fork being incompatible with threads " +"`_ para *why*. Ahora estamos exponiendo " +"a los desarrolladores este problema de compatibilidad de plataforma de larga" +" data." #: ../Doc/whatsnew/3.12.rst:1257 msgid "" -"When this warning appears due to usage of :mod:`multiprocessing` or :mod:" -"`concurrent.futures` the fix is to use a different :mod:`multiprocessing` " -"start method such as ``\"spawn\"`` or ``\"forkserver\"``." +"When this warning appears due to usage of :mod:`multiprocessing` or " +":mod:`concurrent.futures` the fix is to use a different " +":mod:`multiprocessing` start method such as ``\"spawn\"`` or " +"``\"forkserver\"``." msgstr "" +"Cuando aparece esta advertencia debido al uso de :mod:`multiprocessing` o " +":mod:`concurrent.futures`, la solución es utilizar un método de inicio de " +":mod:`multiprocessing` diferente, como ``\"spawn\"`` o ``\"forkserver\"``." #: ../Doc/whatsnew/3.12.rst:1261 msgid "" -":mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree` is deprecated " -"and will be removed in Python 3.14. Use *onexc* instead. (Contributed by " +":mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree` is deprecated" +" and will be removed in Python 3.14. Use *onexc* instead. (Contributed by " "Irit Katriel in :gh:`102828`.)" msgstr "" +":mod:`shutil`: el argumento *onerror* de :func:`shutil.rmtree` está obsoleto" +" y se eliminará en Python 3.14. Utilice *onexc* en su lugar. (Aportado por " +"Irit Katriel en :gh:`102828`.)" #: ../Doc/whatsnew/3.12.rst:1264 msgid ":mod:`sqlite3`:" -msgstr "" +msgstr ":mod:`sqlite3`:" #: ../Doc/whatsnew/3.12.rst:1266 msgid "" ":ref:`default adapters and converters ` are now " "deprecated. Instead, use the :ref:`sqlite3-adapter-converter-recipes` and " -"tailor them to your needs. (Contributed by Erlend E. Aasland in :gh:`90016`.)" +"tailor them to your needs. (Contributed by Erlend E. Aasland in " +":gh:`90016`.)" msgstr "" +":ref:`default adapters and converters ` ahora " +"están en desuso. En su lugar, utilice el :ref:`sqlite3-adapter-converter-" +"recipes` y adáptelo a sus necesidades. (Aportado por Erlend E. Aasland en " +":gh:`90016`.)" #: ../Doc/whatsnew/3.12.rst:1272 msgid "" -"In :meth:`~sqlite3.Cursor.execute`, :exc:`DeprecationWarning` is now emitted " -"when :ref:`named placeholders ` are used together with " -"parameters supplied as a :term:`sequence` instead of as a :class:`dict`. " -"Starting from Python 3.14, using named placeholders with parameters supplied " -"as a sequence will raise a :exc:`~sqlite3.ProgrammingError`. (Contributed by " -"Erlend E. Aasland in :gh:`101698`.)" -msgstr "" +"In :meth:`~sqlite3.Cursor.execute`, :exc:`DeprecationWarning` is now emitted" +" when :ref:`named placeholders ` are used together " +"with parameters supplied as a :term:`sequence` instead of as a " +":class:`dict`. Starting from Python 3.14, using named placeholders with " +"parameters supplied as a sequence will raise a " +":exc:`~sqlite3.ProgrammingError`. (Contributed by Erlend E. Aasland in " +":gh:`101698`.)" +msgstr "" +"En :meth:`~sqlite3.Cursor.execute`, :exc:`DeprecationWarning` ahora se emite" +" cuando :ref:`named placeholders ` se utiliza junto " +"con los parámetros proporcionados como :term:`sequence` en lugar de como " +":class:`dict`. A partir de Python 3.14, el uso de marcadores de posición con" +" nombre con parámetros proporcionados como una secuencia generará un " +":exc:`~sqlite3.ProgrammingError`. (Aportado por Erlend E. Aasland en " +":gh:`101698`.)" #: ../Doc/whatsnew/3.12.rst:1279 msgid "" -":mod:`sys`: The :data:`sys.last_type`, :data:`sys.last_value` and :data:`sys." -"last_traceback` fields are deprecated. Use :data:`sys.last_exc` instead. " -"(Contributed by Irit Katriel in :gh:`102778`.)" +":mod:`sys`: The :data:`sys.last_type`, :data:`sys.last_value` and " +":data:`sys.last_traceback` fields are deprecated. Use :data:`sys.last_exc` " +"instead. (Contributed by Irit Katriel in :gh:`102778`.)" msgstr "" +":mod:`sys`: los campos :data:`sys.last_type`, :data:`sys.last_value` y " +":data:`sys.last_traceback` están en desuso. Utilice :data:`sys.last_exc` en " +"su lugar. (Aportado por Irit Katriel en :gh:`102778`.)" #: ../Doc/whatsnew/3.12.rst:1283 msgid "" @@ -1761,40 +2491,62 @@ msgid "" "deprecated until Python 3.14, when ``'data'`` filter will become the " "default. See :ref:`tarfile-extraction-filter` for details." msgstr "" +":mod:`tarfile`: la extracción de archivos tar sin especificar *filter* está " +"en desuso hasta Python 3.14, cuando el filtro ``'data'`` se convertirá en el" +" predeterminado. Consulte :ref:`tarfile-extraction-filter` para obtener más " +"detalles." #: ../Doc/whatsnew/3.12.rst:1287 msgid ":mod:`typing`:" -msgstr "" +msgstr ":mod:`typing`:" #: ../Doc/whatsnew/3.12.rst:1289 msgid "" -":class:`typing.Hashable` and :class:`typing.Sized` aliases for :class:" -"`collections.abc.Hashable` and :class:`collections.abc.Sized`. (:gh:`94309`.)" +":class:`typing.Hashable` and :class:`typing.Sized` aliases for " +":class:`collections.abc.Hashable` and :class:`collections.abc.Sized`. " +"(:gh:`94309`.)" msgstr "" +":class:`typing.Hashable` y :class:`typing.Sized` alias para " +":class:`collections.abc.Hashable` y :class:`collections.abc.Sized`. " +"(:gh:`94309`.)" #: ../Doc/whatsnew/3.12.rst:1292 msgid "" -":class:`typing.ByteString`, deprecated since Python 3.9, now causes a :exc:" -"`DeprecationWarning` to be emitted when it is used. (Contributed by Alex " -"Waygood in :gh:`91896`.)" +":class:`typing.ByteString`, deprecated since Python 3.9, now causes a " +":exc:`DeprecationWarning` to be emitted when it is used. (Contributed by " +"Alex Waygood in :gh:`91896`.)" msgstr "" +":class:`typing.ByteString`, en desuso desde Python 3.9, ahora provoca que se" +" emita un :exc:`DeprecationWarning` cuando se utiliza. (Aportado por Alex " +"Waygood en :gh:`91896`.)" #: ../Doc/whatsnew/3.12.rst:1296 msgid "" -":mod:`xml.etree.ElementTree`: The module now emits :exc:`DeprecationWarning` " -"when testing the truth value of an :class:`xml.etree.ElementTree.Element`. " +":mod:`xml.etree.ElementTree`: The module now emits :exc:`DeprecationWarning`" +" when testing the truth value of an :class:`xml.etree.ElementTree.Element`. " "Before, the Python implementation emitted :exc:`FutureWarning`, and the C " "implementation emitted nothing. (Contributed by Jacob Walls in :gh:`83122`.)" msgstr "" +":mod:`xml.etree.ElementTree`: el módulo ahora emite " +":exc:`DeprecationWarning` al probar el valor de verdad de un " +":class:`xml.etree.ElementTree.Element`. Antes, la implementación de Python " +"emitía :exc:`FutureWarning` y la implementación de C no emitía nada. " +"(Aportado por Jacob Walls en :gh:`83122`.)" #: ../Doc/whatsnew/3.12.rst:1302 msgid "" "The 3-arg signatures (type, value, traceback) of :meth:`coroutine throw() " -"`, :meth:`generator throw() ` and :meth:" -"`async generator throw() ` are deprecated and may be removed in " -"a future version of Python. Use the single-arg versions of these functions " -"instead. (Contributed by Ofey Chan in :gh:`89874`.)" -msgstr "" +"`, :meth:`generator throw() ` and " +":meth:`async generator throw() ` are deprecated and may be " +"removed in a future version of Python. Use the single-arg versions of these " +"functions instead. (Contributed by Ofey Chan in :gh:`89874`.)" +msgstr "" +"Las firmas de 3 argumentos (tipo, valor, rastreo) de :meth:`coroutine " +"throw() `, :meth:`generator throw() ` y " +":meth:`async generator throw() ` están en desuso y es posible " +"que se eliminen en una versión futura de Python. Utilice en su lugar las " +"versiones de un solo argumento de estas funciones. (Aportado por Ofey Chan " +"en :gh:`89874`.)" #: ../Doc/whatsnew/3.12.rst:1308 msgid "" @@ -1802,6 +2554,9 @@ msgid "" "differs from ``__spec__.parent`` (previously it was :exc:`ImportWarning`). " "(Contributed by Brett Cannon in :gh:`65961`.)" msgstr "" +":exc:`DeprecationWarning` ahora se genera cuando ``__package__`` en un " +"módulo difiere de ``__spec__.parent`` (anteriormente era " +":exc:`ImportWarning`). (Aportado por Brett Cannon en :gh:`65961`.)" #: ../Doc/whatsnew/3.12.rst:1313 msgid "" @@ -1809,6 +2564,9 @@ msgid "" "will cease to be set or taken into consideration by the import system in " "Python 3.14. (Contributed by Brett Cannon in :gh:`65961`.)" msgstr "" +"La configuración de ``__package__`` o ``__cached__`` en un módulo está " +"obsoleta y el sistema de importación dejará de configurarla o tomarla en " +"consideración en Python 3.14. (Aportado por Brett Cannon en :gh:`65961`.)" #: ../Doc/whatsnew/3.12.rst:1317 msgid "" @@ -1818,445 +2576,525 @@ msgid "" "underlying ``int``, convert to int explicitly: ``~int(x)``. (Contributed by " "Tim Hoffmann in :gh:`103487`.)" msgstr "" +"El operador de inversión bit a bit (``~``) en bool está en desuso. Lanzará " +"un error en Python 3.14. Utilice ``not`` para la negación lógica de bools. " +"En el raro caso de que realmente necesite la inversión bit a bit del ``int``" +" subyacente, lo convierte a int explícitamente: ``~int(x)``. (Aportado por " +"Tim Hoffmann en :gh:`103487`.)" #: ../Doc/whatsnew/3.12.rst:1323 msgid "" -"Accessing ``co_lnotab`` on code objects was deprecated in Python 3.10 via :" -"pep:`626`, but it only got a proper :exc:`DeprecationWarning` in 3.12, " -"therefore it will be removed in 3.14. (Contributed by Nikita Sobolev in :gh:" -"`101866`.)" +"Accessing ``co_lnotab`` on code objects was deprecated in Python 3.10 via " +":pep:`626`, but it only got a proper :exc:`DeprecationWarning` in 3.12, " +"therefore it will be removed in 3.14. (Contributed by Nikita Sobolev in " +":gh:`101866`.)" msgstr "" +"El acceso a ``co_lnotab`` en objetos de código quedó obsoleto en Python 3.10" +" a través de :pep:`626`, pero solo obtuvo un :exc:`DeprecationWarning` " +"adecuado en 3.12, por lo que se eliminará en 3.14. (Aportado por Nikita " +"Sobolev en :gh:`101866`.)" #: ../Doc/whatsnew/3.12.rst:1329 msgid "Pending Removal in Python 3.13" -msgstr "" +msgstr "Eliminación pendiente en Python 3.13" #: ../Doc/whatsnew/3.12.rst:1331 msgid "" "The following modules and APIs have been deprecated in earlier Python " "releases, and will be removed in Python 3.13." msgstr "" +"Los siguientes módulos y API quedaron obsoletos en versiones anteriores de " +"Python y se eliminarán en Python 3.13." #: ../Doc/whatsnew/3.12.rst:1334 msgid "Modules (see :pep:`594`):" -msgstr "" +msgstr "Módulos (ver :pep:`594`):" #: ../Doc/whatsnew/3.12.rst:1336 msgid ":mod:`aifc`" -msgstr "" +msgstr ":mod:`aifc`" #: ../Doc/whatsnew/3.12.rst:1337 msgid ":mod:`audioop`" -msgstr "" +msgstr ":mod:`audioop`" #: ../Doc/whatsnew/3.12.rst:1338 msgid ":mod:`cgi`" -msgstr "" +msgstr ":mod:`cgi`" #: ../Doc/whatsnew/3.12.rst:1339 msgid ":mod:`cgitb`" -msgstr "" +msgstr ":mod:`cgitb`" #: ../Doc/whatsnew/3.12.rst:1340 msgid ":mod:`chunk`" -msgstr "" +msgstr ":mod:`chunk`" #: ../Doc/whatsnew/3.12.rst:1341 msgid ":mod:`crypt`" -msgstr "" +msgstr ":mod:`crypt`" #: ../Doc/whatsnew/3.12.rst:1342 msgid ":mod:`imghdr`" -msgstr "" +msgstr ":mod:`imghdr`" #: ../Doc/whatsnew/3.12.rst:1343 msgid ":mod:`mailcap`" -msgstr "" +msgstr ":mod:`mailcap`" #: ../Doc/whatsnew/3.12.rst:1344 msgid ":mod:`msilib`" -msgstr "" +msgstr ":mod:`msilib`" #: ../Doc/whatsnew/3.12.rst:1345 msgid ":mod:`nis`" -msgstr "" +msgstr ":mod:`nis`" #: ../Doc/whatsnew/3.12.rst:1346 msgid ":mod:`nntplib`" -msgstr "" +msgstr ":mod:`nntplib`" #: ../Doc/whatsnew/3.12.rst:1347 msgid ":mod:`ossaudiodev`" -msgstr "" +msgstr ":mod:`ossaudiodev`" #: ../Doc/whatsnew/3.12.rst:1348 msgid ":mod:`pipes`" -msgstr "" +msgstr ":mod:`pipes`" #: ../Doc/whatsnew/3.12.rst:1349 msgid ":mod:`sndhdr`" -msgstr "" +msgstr ":mod:`sndhdr`" #: ../Doc/whatsnew/3.12.rst:1350 msgid ":mod:`spwd`" -msgstr "" +msgstr ":mod:`spwd`" #: ../Doc/whatsnew/3.12.rst:1351 msgid ":mod:`sunau`" -msgstr "" +msgstr ":mod:`sunau`" #: ../Doc/whatsnew/3.12.rst:1352 msgid ":mod:`telnetlib`" -msgstr "" +msgstr ":mod:`telnetlib`" #: ../Doc/whatsnew/3.12.rst:1353 msgid ":mod:`uu`" -msgstr "" +msgstr ":mod:`uu`" #: ../Doc/whatsnew/3.12.rst:1354 msgid ":mod:`xdrlib`" -msgstr "" +msgstr ":mod:`xdrlib`" #: ../Doc/whatsnew/3.12.rst:1356 msgid "Other modules:" -msgstr "" +msgstr "Otros módulos:" #: ../Doc/whatsnew/3.12.rst:1358 msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)" -msgstr "" +msgstr ":mod:`!lib2to3` y el programa :program:`2to3` (:gh:`84540`)" #: ../Doc/whatsnew/3.12.rst:1360 msgid "APIs:" -msgstr "" +msgstr "APIs:" #: ../Doc/whatsnew/3.12.rst:1362 msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" -msgstr "" +msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" #: ../Doc/whatsnew/3.12.rst:1363 msgid ":func:`locale.getdefaultlocale` (:gh:`90817`)" -msgstr "" +msgstr ":func:`locale.getdefaultlocale` (:gh:`90817`)" #: ../Doc/whatsnew/3.12.rst:1364 msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" -msgstr "" +msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" #: ../Doc/whatsnew/3.12.rst:1365 msgid ":func:`!unittest.findTestCases` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)" #: ../Doc/whatsnew/3.12.rst:1366 msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" #: ../Doc/whatsnew/3.12.rst:1367 msgid ":func:`!unittest.makeSuite` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)" #: ../Doc/whatsnew/3.12.rst:1368 msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" -msgstr "" +msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" #: ../Doc/whatsnew/3.12.rst:1369 msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)" -msgstr "" +msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)" #: ../Doc/whatsnew/3.12.rst:1370 msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)" -msgstr "" +msgstr "Encadenamiento de descriptores :class:`classmethod` (:gh:`89519`)" #: ../Doc/whatsnew/3.12.rst:1373 ../Doc/whatsnew/3.12.rst:2306 msgid "Pending Removal in Python 3.14" -msgstr "" +msgstr "Eliminación pendiente en Python 3.14" #: ../Doc/whatsnew/3.12.rst:1375 msgid "" "The following APIs have been deprecated and will be removed in Python 3.14." msgstr "" +"Las siguientes API han quedado obsoletas y se eliminarán en Python 3.14." #: ../Doc/whatsnew/3.12.rst:1378 msgid "" -":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of :class:`!" -"argparse.BooleanOptionalAction`" +":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of " +":class:`!argparse.BooleanOptionalAction`" msgstr "" +":mod:`argparse`: Los parámetros *type*, *choices* y *metavar* de " +":class:`!argparse.BooleanOptionalAction`" #: ../Doc/whatsnew/3.12.rst:1381 msgid ":mod:`ast`:" -msgstr "" +msgstr ":mod:`ast`:" #: ../Doc/whatsnew/3.12.rst:1391 msgid ":class:`!asyncio.MultiLoopChildWatcher`" -msgstr "" +msgstr ":class:`!asyncio.MultiLoopChildWatcher`" #: ../Doc/whatsnew/3.12.rst:1392 msgid ":class:`!asyncio.FastChildWatcher`" -msgstr "" +msgstr ":class:`!asyncio.FastChildWatcher`" #: ../Doc/whatsnew/3.12.rst:1393 msgid ":class:`!asyncio.AbstractChildWatcher`" -msgstr "" +msgstr ":class:`!asyncio.AbstractChildWatcher`" #: ../Doc/whatsnew/3.12.rst:1394 msgid ":class:`!asyncio.SafeChildWatcher`" -msgstr "" +msgstr ":class:`!asyncio.SafeChildWatcher`" #: ../Doc/whatsnew/3.12.rst:1395 msgid ":func:`!asyncio.set_child_watcher`" -msgstr "" +msgstr ":func:`!asyncio.set_child_watcher`" #: ../Doc/whatsnew/3.12.rst:1396 msgid ":func:`!asyncio.get_child_watcher`," -msgstr "" +msgstr ":func:`!asyncio.get_child_watcher`," #: ../Doc/whatsnew/3.12.rst:1397 msgid ":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`" -msgstr "" +msgstr ":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`" #: ../Doc/whatsnew/3.12.rst:1398 msgid ":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`" -msgstr "" +msgstr ":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`" #: ../Doc/whatsnew/3.12.rst:1400 msgid ":mod:`collections.abc`: :class:`!collections.abc.ByteString`." -msgstr "" +msgstr ":mod:`collections.abc`: :class:`!collections.abc.ByteString`." #: ../Doc/whatsnew/3.12.rst:1402 msgid ":mod:`email`: the *isdst* parameter in :func:`email.utils.localtime`." -msgstr "" +msgstr ":mod:`email`: el parámetro *isdst* en :func:`email.utils.localtime`." #: ../Doc/whatsnew/3.12.rst:1404 msgid ":mod:`importlib.abc`:" -msgstr "" +msgstr ":mod:`importlib.abc`:" #: ../Doc/whatsnew/3.12.rst:1410 msgid ":mod:`itertools`: Support for copy, deepcopy, and pickle operations." msgstr "" +":mod:`itertools`: soporte para operaciones de copia, copia profunda y " +"pickle." #: ../Doc/whatsnew/3.12.rst:1412 msgid ":mod:`pkgutil`:" -msgstr "" +msgstr ":mod:`pkgutil`:" #: ../Doc/whatsnew/3.12.rst:1414 msgid ":func:`!pkgutil.find_loader`" -msgstr "" +msgstr ":func:`!pkgutil.find_loader`" #: ../Doc/whatsnew/3.12.rst:1415 msgid ":func:`!pkgutil.get_loader`." -msgstr "" +msgstr ":func:`!pkgutil.get_loader`." #: ../Doc/whatsnew/3.12.rst:1417 msgid ":mod:`pty`:" -msgstr "" +msgstr ":mod:`pty`:" #: ../Doc/whatsnew/3.12.rst:1419 msgid ":func:`!pty.master_open`" -msgstr "" +msgstr ":func:`!pty.master_open`" #: ../Doc/whatsnew/3.12.rst:1420 msgid ":func:`!pty.slave_open`" -msgstr "" +msgstr ":func:`!pty.slave_open`" #: ../Doc/whatsnew/3.12.rst:1422 msgid ":mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree`" -msgstr "" +msgstr ":mod:`shutil`: El argumento *onerror* de :func:`shutil.rmtree`" #: ../Doc/whatsnew/3.12.rst:1424 msgid ":mod:`typing`: :class:`!typing.ByteString`" -msgstr "" +msgstr ":mod:`typing`: :class:`!typing.ByteString`" #: ../Doc/whatsnew/3.12.rst:1426 msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an :class:`xml." -"etree.ElementTree.Element`." +":mod:`xml.etree.ElementTree`: Testing the truth value of an " +":class:`xml.etree.ElementTree.Element`." msgstr "" +":mod:`xml.etree.ElementTree`: Probando el valor de verdad de un " +":class:`xml.etree.ElementTree.Element`." #: ../Doc/whatsnew/3.12.rst:1428 msgid "The ``__package__`` and ``__cached__`` attributes on module objects." msgstr "" +"Los atributos ``__package__`` y ``__cached__`` en los objetos del módulo." #: ../Doc/whatsnew/3.12.rst:1430 msgid "The ``co_lnotab`` attribute of code objects." -msgstr "" +msgstr "El atributo ``co_lnotab`` de los objetos de código." #: ../Doc/whatsnew/3.12.rst:1433 ../Doc/whatsnew/3.12.rst:2361 msgid "Pending Removal in Future Versions" -msgstr "" +msgstr "Eliminación pendiente en versiones futuras" #: ../Doc/whatsnew/3.12.rst:1435 msgid "" "The following APIs were deprecated in earlier Python versions and will be " "removed, although there is currently no date scheduled for their removal." msgstr "" +"Las siguientes API quedaron obsoletas en versiones anteriores de Python y se" +" eliminarán, aunque actualmente no hay una fecha programada para su " +"eliminación." #: ../Doc/whatsnew/3.12.rst:1438 msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" +msgstr "Código de formato ``'u'`` de :mod:`array` (:gh:`57281`)" #: ../Doc/whatsnew/3.12.rst:1440 msgid ":class:`typing.Text` (:gh:`92332`)" -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)" #: ../Doc/whatsnew/3.12.rst:1442 msgid "" "Currently Python accepts numeric literals immediately followed by keywords, " "for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " "ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised if " -"the numeric literal is immediately followed by one of keywords :keyword:" -"`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :" -"keyword:`is` and :keyword:`or`. In a future release it will be changed to a " -"syntax error. (:gh:`87999`)" -msgstr "" +"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised if" +" the numeric literal is immediately followed by one of keywords " +":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " +":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will " +"be changed to a syntax error. (:gh:`87999`)" +msgstr "" +"Actualmente, Python acepta literales numéricos seguidos inmediatamente de " +"palabras clave, por ejemplo ``0in x``, ``1or x``, ``0if 1else 2``. Permite " +"expresiones confusas y ambiguas como ``[0x1for x in y]`` (que puede " +"interpretarse como ``[0x1 for x in y]`` o ``[0x1f or x in y]``). Se genera " +"una advertencia de sintaxis si el literal numérico va seguido inmediatamente" +" de una de las palabras clave :keyword:`and`, :keyword:`else`, " +":keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` y :keyword:`or`." +" En una versión futura se cambiará a un error de sintaxis. (:gh:`87999`)" #: ../Doc/whatsnew/3.12.rst:1453 ../Doc/whatsnew/3.12.rst:2393 msgid "Removed" -msgstr "" +msgstr "Eliminado" #: ../Doc/whatsnew/3.12.rst:1456 msgid "asynchat and asyncore" -msgstr "" +msgstr "asynchat y asyncore" #: ../Doc/whatsnew/3.12.rst:1458 msgid "" -"These two modules have been removed according to the schedule in :pep:`594`, " -"having been deprecated in Python 3.6. Use :mod:`asyncio` instead. " +"These two modules have been removed according to the schedule in :pep:`594`," +" having been deprecated in Python 3.6. Use :mod:`asyncio` instead. " "(Contributed by Nikita Sobolev in :gh:`96580`.)" msgstr "" +"Estos dos módulos se eliminaron según lo programado en :pep:`594` y quedaron" +" obsoletos en Python 3.6. Utilice :mod:`asyncio` en su lugar. (Aportado por " +"Nikita Sobolev en :gh:`96580`.)" #: ../Doc/whatsnew/3.12.rst:1465 msgid "configparser" -msgstr "" +msgstr "configparser" #: ../Doc/whatsnew/3.12.rst:1467 msgid "" "Several names deprecated in the :mod:`configparser` way back in 3.2 have " "been removed per :gh:`89336`:" msgstr "" +"Varios nombres obsoletos en :mod:`configparser` en 3.2 se han eliminado " +"según :gh:`89336`:" #: ../Doc/whatsnew/3.12.rst:1470 msgid "" -":class:`configparser.ParsingError` no longer has a ``filename`` attribute or " -"argument. Use the ``source`` attribute and argument instead." +":class:`configparser.ParsingError` no longer has a ``filename`` attribute or" +" argument. Use the ``source`` attribute and argument instead." msgstr "" +":class:`configparser.ParsingError` ya no tiene un atributo o argumento " +"``filename``. Utilice el atributo y el argumento ``source`` en su lugar." #: ../Doc/whatsnew/3.12.rst:1472 msgid "" ":mod:`configparser` no longer has a ``SafeConfigParser`` class. Use the " "shorter :class:`~configparser.ConfigParser` name instead." msgstr "" +":mod:`configparser` ya no tiene una clase ``SafeConfigParser``. Utilice en " +"su lugar el nombre :class:`~configparser.ConfigParser` más corto." #: ../Doc/whatsnew/3.12.rst:1474 msgid "" -":class:`configparser.ConfigParser` no longer has a ``readfp`` method. Use :" -"meth:`~configparser.ConfigParser.read_file` instead." +":class:`configparser.ConfigParser` no longer has a ``readfp`` method. Use " +":meth:`~configparser.ConfigParser.read_file` instead." msgstr "" +":class:`configparser.ConfigParser` ya no tiene un método ``readfp``. Utilice" +" :meth:`~configparser.ConfigParser.read_file` en su lugar." #: ../Doc/whatsnew/3.12.rst:1478 msgid "distutils" -msgstr "" +msgstr "distutils" #: ../Doc/whatsnew/3.12.rst:1480 msgid "" -"Remove the :py:mod:`!distutils` package. It was deprecated in Python 3.10 " -"by :pep:`632` \"Deprecate distutils module\". For projects still using " +"Remove the :py:mod:`!distutils` package. It was deprecated in Python 3.10 by" +" :pep:`632` \"Deprecate distutils module\". For projects still using " "``distutils`` and cannot be updated to something else, the ``setuptools`` " "project can be installed: it still provides ``distutils``. (Contributed by " "Victor Stinner in :gh:`92584`.)" msgstr "" +"Elimine el paquete :py:mod:`!distutils`. Quedó obsoleto en Python 3.10 por " +":pep:`632` \"Módulo distutils obsoleto\". Para proyectos que todavía usan " +"``distutils`` y no se pueden actualizar a otra cosa, se puede instalar el " +"proyecto ``setuptools``: todavía proporciona ``distutils``. (Aportado por " +"Victor Stinner en :gh:`92584`.)" #: ../Doc/whatsnew/3.12.rst:1487 msgid "ensurepip" -msgstr "" +msgstr "ensurepip" #: ../Doc/whatsnew/3.12.rst:1489 msgid "" "Remove the bundled setuptools wheel from :mod:`ensurepip`, and stop " "installing setuptools in environments created by :mod:`venv`." msgstr "" +"Retire la rueda de herramientas de configuración incluida en " +":mod:`ensurepip` y deje de instalar herramientas de configuración en " +"entornos creados por :mod:`venv`." #: ../Doc/whatsnew/3.12.rst:1492 msgid "" "``pip (>= 22.1)`` does not require setuptools to be installed in the " "environment. ``setuptools``-based (and ``distutils``-based) packages can " -"still be used with ``pip install``, since pip will provide ``setuptools`` in " -"the build environment it uses for building a package." +"still be used with ``pip install``, since pip will provide ``setuptools`` in" +" the build environment it uses for building a package." msgstr "" +"``pip (>= 22.1)`` no requiere la instalación de herramientas de " +"configuración en el entorno. Los paquetes basados ​​en ``setuptools`` (y " +"``distutils``) aún se pueden usar con ``pip install``, ya que pip " +"proporcionará ``setuptools`` en el entorno de compilación que utiliza para " +"crear un paquete." #: ../Doc/whatsnew/3.12.rst:1498 msgid "" -"``easy_install``, ``pkg_resources``, ``setuptools`` and ``distutils`` are no " -"longer provided by default in environments created with ``venv`` or " +"``easy_install``, ``pkg_resources``, ``setuptools`` and ``distutils`` are no" +" longer provided by default in environments created with ``venv`` or " "bootstrapped with ``ensurepip``, since they are part of the ``setuptools`` " "package. For projects relying on these at runtime, the ``setuptools`` " "project should be declared as a dependency and installed separately " "(typically, using pip)." msgstr "" +"``easy_install``, ``pkg_resources``, ``setuptools`` y ``distutils`` ya no se" +" proporcionan de forma predeterminada en entornos creados con ``venv`` o " +"arrancados con ``ensurepip``, ya que forman parte del paquete " +"``setuptools``. Para proyectos que dependen de estos en tiempo de ejecución," +" el proyecto ``setuptools`` debe declararse como una dependencia e " +"instalarse por separado (generalmente, usando pip)." #: ../Doc/whatsnew/3.12.rst:1505 msgid "(Contributed by Pradyun Gedam in :gh:`95299`.)" -msgstr "" +msgstr "(Aportado por Pradyun Gedam en :gh:`95299`.)" #: ../Doc/whatsnew/3.12.rst:1508 msgid "enum" -msgstr "" +msgstr "enum" #: ../Doc/whatsnew/3.12.rst:1510 msgid "" -"Remove :mod:`enum`'s ``EnumMeta.__getattr__``, which is no longer needed for " -"enum attribute access. (Contributed by Ethan Furman in :gh:`95083`.)" +"Remove :mod:`enum`'s ``EnumMeta.__getattr__``, which is no longer needed for" +" enum attribute access. (Contributed by Ethan Furman in :gh:`95083`.)" msgstr "" +"Elimine ``EnumMeta.__getattr__`` de :mod:`enum`, que ya no es necesario para" +" acceder al atributo de enumeración. (Aportado por Ethan Furman en " +":gh:`95083`.)" #: ../Doc/whatsnew/3.12.rst:1515 msgid "ftplib" -msgstr "" +msgstr "ftplib" #: ../Doc/whatsnew/3.12.rst:1517 msgid "" "Remove :mod:`ftplib`'s ``FTP_TLS.ssl_version`` class attribute: use the " "*context* parameter instead. (Contributed by Victor Stinner in :gh:`94172`.)" msgstr "" +"Elimine el atributo de clase ``FTP_TLS.ssl_version`` de :mod:`ftplib`: " +"utilice el parámetro *context* en su lugar. (Aportado por Victor Stinner en " +":gh:`94172`.)" #: ../Doc/whatsnew/3.12.rst:1522 msgid "gzip" -msgstr "" +msgstr "gzip" #: ../Doc/whatsnew/3.12.rst:1524 msgid "" "Remove the ``filename`` attribute of :mod:`gzip`'s :class:`gzip.GzipFile`, " "deprecated since Python 2.6, use the :attr:`~gzip.GzipFile.name` attribute " "instead. In write mode, the ``filename`` attribute added ``'.gz'`` file " -"extension if it was not present. (Contributed by Victor Stinner in :gh:" -"`94196`.)" +"extension if it was not present. (Contributed by Victor Stinner in " +":gh:`94196`.)" msgstr "" +"Elimine el atributo ``filename`` del :class:`gzip.GzipFile` de :mod:`gzip`, " +"en desuso desde Python 2.6; utilice el atributo :attr:`~gzip.GzipFile.name` " +"en su lugar. En modo de escritura, el atributo ``filename`` agregaba la " +"extensión de archivo ``'.gz'`` si no estaba presente. (Aportado por Victor " +"Stinner en :gh:`94196`.)" #: ../Doc/whatsnew/3.12.rst:1531 msgid "hashlib" -msgstr "" +msgstr "hashlib" #: ../Doc/whatsnew/3.12.rst:1533 msgid "" -"Remove the pure Python implementation of :mod:`hashlib`'s :func:`hashlib." -"pbkdf2_hmac()`, deprecated in Python 3.10. Python 3.10 and newer requires " -"OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C implementation " -"of :func:`~hashlib.pbkdf2_hmac()` which is faster. (Contributed by Victor " -"Stinner in :gh:`94199`.)" +"Remove the pure Python implementation of :mod:`hashlib`'s " +":func:`hashlib.pbkdf2_hmac()`, deprecated in Python 3.10. Python 3.10 and " +"newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C" +" implementation of :func:`~hashlib.pbkdf2_hmac()` which is faster. " +"(Contributed by Victor Stinner in :gh:`94199`.)" msgstr "" +"Elimine la implementación pura de Python de :func:`hashlib.pbkdf2_hmac()` de" +" :mod:`hashlib`, obsoleta en Python 3.10. Python 3.10 y versiones " +"posteriores requieren OpenSSL 1.1.1 (:pep:`644`): esta versión de OpenSSL " +"proporciona una implementación C de :func:`~hashlib.pbkdf2_hmac()` que es " +"más rápida. (Aportado por Victor Stinner en :gh:`94199`.)" #: ../Doc/whatsnew/3.12.rst:1540 ../Doc/whatsnew/3.12.rst:1567 msgid "importlib" -msgstr "" +msgstr "importlib" #: ../Doc/whatsnew/3.12.rst:1542 msgid "" "Many previously deprecated cleanups in :mod:`importlib` have now been " "completed:" msgstr "" +"Muchas limpiezas anteriormente obsoletas en :mod:`importlib` ahora se han " +"completado:" #: ../Doc/whatsnew/3.12.rst:1545 msgid "" "References to, and support for :meth:`!module_repr()` has been removed. " "(Contributed by Barry Warsaw in :gh:`97850`.)" msgstr "" +"Se han eliminado las referencias y la compatibilidad con " +":meth:`!module_repr()`. (Aportado por Barry Varsovia en :gh:`97850`.)" #: ../Doc/whatsnew/3.12.rst:1548 msgid "" @@ -2264,156 +3102,172 @@ msgid "" "``importlib.util.module_for_loader`` have all been removed. (Contributed by " "Brett Cannon and Nikita Sobolev in :gh:`65961` and :gh:`97850`.)" msgstr "" +"Se han eliminado ``importlib.util.set_package``, " +"``importlib.util.set_loader`` y ``importlib.util.module_for_loader``. " +"(Contribución de Brett Cannon y Nikita Sobolev en :gh:`65961` y " +":gh:`97850`.)" #: ../Doc/whatsnew/3.12.rst:1552 msgid "" -"Support for ``find_loader()`` and ``find_module()`` APIs have been removed. " -"(Contributed by Barry Warsaw in :gh:`98040`.)" +"Support for ``find_loader()`` and ``find_module()`` APIs have been removed." +" (Contributed by Barry Warsaw in :gh:`98040`.)" msgstr "" +"Se eliminó la compatibilidad con las API ``find_loader()`` y " +"``find_module()``. (Aportado por Barry Varsovia en :gh:`98040`.)" #: ../Doc/whatsnew/3.12.rst:1555 msgid "" -"``importlib.abc.Finder``, ``pkgutil.ImpImporter``, and ``pkgutil.ImpLoader`` " -"have been removed. (Contributed by Barry Warsaw in :gh:`98040`.)" +"``importlib.abc.Finder``, ``pkgutil.ImpImporter``, and ``pkgutil.ImpLoader``" +" have been removed. (Contributed by Barry Warsaw in :gh:`98040`.)" msgstr "" +"Se han eliminado ``importlib.abc.Finder``, ``pkgutil.ImpImporter`` y " +"``pkgutil.ImpLoader``. (Aportado por Barry Varsovia en :gh:`98040`.)" #: ../Doc/whatsnew/3.12.rst:1559 ../Doc/whatsnew/3.12.rst:1567 msgid "imp" -msgstr "" +msgstr "imp" #: ../Doc/whatsnew/3.12.rst:1561 msgid "" -"The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw in :" -"gh:`98040`.)" +"The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw in " +":gh:`98040`.)" msgstr "" +"Se ha eliminado el módulo :mod:`!imp`. (Aportado por Barry Varsovia en " +":gh:`98040`.)" #: ../Doc/whatsnew/3.12.rst:1564 msgid "To migrate, consult the following correspondence table:" -msgstr "" +msgstr "Para migrar consulte la siguiente tabla de correspondencias:" #: ../Doc/whatsnew/3.12.rst:1569 msgid "``imp.NullImporter``" -msgstr "" +msgstr "``imp.NullImporter``" #: ../Doc/whatsnew/3.12.rst:1569 msgid "Insert ``None`` into ``sys.path_importer_cache``" -msgstr "" +msgstr "Inserta ``None`` en ``sys.path_importer_cache``" #: ../Doc/whatsnew/3.12.rst:1570 msgid "``imp.cache_from_source()``" -msgstr "" +msgstr "``imp.cache_from_source()``" #: ../Doc/whatsnew/3.12.rst:1570 msgid ":func:`importlib.util.cache_from_source`" -msgstr "" +msgstr ":func:`importlib.util.cache_from_source`" #: ../Doc/whatsnew/3.12.rst:1571 msgid "``imp.find_module()``" -msgstr "" +msgstr "``imp.find_module()``" #: ../Doc/whatsnew/3.12.rst:1571 msgid ":func:`importlib.util.find_spec`" -msgstr "" +msgstr ":func:`importlib.util.find_spec`" #: ../Doc/whatsnew/3.12.rst:1572 msgid "``imp.get_magic()``" -msgstr "" +msgstr "``imp.get_magic()``" #: ../Doc/whatsnew/3.12.rst:1572 msgid ":attr:`importlib.util.MAGIC_NUMBER`" -msgstr "" +msgstr ":attr:`importlib.util.MAGIC_NUMBER`" #: ../Doc/whatsnew/3.12.rst:1573 msgid "``imp.get_suffixes()``" -msgstr "" +msgstr "``imp.get_suffixes()``" #: ../Doc/whatsnew/3.12.rst:1573 msgid "" -":attr:`importlib.machinery.SOURCE_SUFFIXES`, :attr:`importlib.machinery." -"EXTENSION_SUFFIXES`, and :attr:`importlib.machinery.BYTECODE_SUFFIXES`" +":attr:`importlib.machinery.SOURCE_SUFFIXES`, " +":attr:`importlib.machinery.EXTENSION_SUFFIXES`, and " +":attr:`importlib.machinery.BYTECODE_SUFFIXES`" msgstr "" +":attr:`importlib.machinery.SOURCE_SUFFIXES`, " +":attr:`importlib.machinery.EXTENSION_SUFFIXES` y " +":attr:`importlib.machinery.BYTECODE_SUFFIXES`" #: ../Doc/whatsnew/3.12.rst:1574 msgid "``imp.get_tag()``" -msgstr "" +msgstr "``imp.get_tag()``" #: ../Doc/whatsnew/3.12.rst:1574 msgid ":attr:`sys.implementation.cache_tag `" -msgstr "" +msgstr ":attr:`sys.implementation.cache_tag `" #: ../Doc/whatsnew/3.12.rst:1575 msgid "``imp.load_module()``" -msgstr "" +msgstr "``imp.load_module()``" #: ../Doc/whatsnew/3.12.rst:1575 msgid ":func:`importlib.import_module`" -msgstr "" +msgstr ":func:`importlib.import_module`" #: ../Doc/whatsnew/3.12.rst:1576 msgid "``imp.new_module(name)``" -msgstr "" +msgstr "``imp.new_module(name)``" #: ../Doc/whatsnew/3.12.rst:1576 msgid "``types.ModuleType(name)``" -msgstr "" +msgstr "``types.ModuleType(name)``" #: ../Doc/whatsnew/3.12.rst:1577 msgid "``imp.reload()``" -msgstr "" +msgstr "``imp.reload()``" #: ../Doc/whatsnew/3.12.rst:1577 msgid ":func:`importlib.reload`" -msgstr "" +msgstr ":func:`importlib.reload`" #: ../Doc/whatsnew/3.12.rst:1578 msgid "``imp.source_from_cache()``" -msgstr "" +msgstr "``imp.source_from_cache()``" #: ../Doc/whatsnew/3.12.rst:1578 msgid ":func:`importlib.util.source_from_cache`" -msgstr "" +msgstr ":func:`importlib.util.source_from_cache`" #: ../Doc/whatsnew/3.12.rst:1579 msgid "``imp.load_source()``" -msgstr "" +msgstr "``imp.load_source()``" #: ../Doc/whatsnew/3.12.rst:1579 msgid "*See below*" -msgstr "" +msgstr "*Ver abajo*" #: ../Doc/whatsnew/3.12.rst:1582 msgid "Replace ``imp.load_source()`` with::" -msgstr "" +msgstr "Reemplace ``imp.load_source()`` con::" #: ../Doc/whatsnew/3.12.rst:1597 msgid "Remove :mod:`!imp` functions and attributes with no replacements:" -msgstr "" +msgstr "Elimine las funciones y atributos de :mod:`!imp` sin reemplazos:" #: ../Doc/whatsnew/3.12.rst:1599 msgid "Undocumented functions:" -msgstr "" +msgstr "Funciones no documentadas:" #: ../Doc/whatsnew/3.12.rst:1601 msgid "``imp.init_builtin()``" -msgstr "" +msgstr "``imp.init_builtin()``" #: ../Doc/whatsnew/3.12.rst:1602 msgid "``imp.load_compiled()``" -msgstr "" +msgstr "``imp.load_compiled()``" #: ../Doc/whatsnew/3.12.rst:1603 msgid "``imp.load_dynamic()``" -msgstr "" +msgstr "``imp.load_dynamic()``" #: ../Doc/whatsnew/3.12.rst:1604 msgid "``imp.load_package()``" -msgstr "" +msgstr "``imp.load_package()``" #: ../Doc/whatsnew/3.12.rst:1606 msgid "" "``imp.lock_held()``, ``imp.acquire_lock()``, ``imp.release_lock()``: the " "locking scheme has changed in Python 3.3 to per-module locks." msgstr "" +"``imp.lock_held()``, ``imp.acquire_lock()``, ``imp.release_lock()``: el " +"esquema de bloqueo ha cambiado en Python 3.3 a bloqueos por módulo." #: ../Doc/whatsnew/3.12.rst:1608 msgid "" @@ -2421,74 +3275,97 @@ msgid "" "``PY_COMPILED``, ``C_EXTENSION``, ``PY_RESOURCE``, ``PKG_DIRECTORY``, " "``C_BUILTIN``, ``PY_FROZEN``, ``PY_CODERESOURCE``, ``IMP_HOOK``." msgstr "" +"Constantes ``imp.find_module()``: ``SEARCH_ERROR``, ``PY_SOURCE``, " +"``PY_COMPILED``, ``C_EXTENSION``, ``PY_RESOURCE``, ``PKG_DIRECTORY``, " +"``C_BUILTIN``, ``PY_FROZEN``, ``PY_CODERESOURCE``, ``IMP_HOOK``." #: ../Doc/whatsnew/3.12.rst:1613 msgid "io" -msgstr "" +msgstr "io" #: ../Doc/whatsnew/3.12.rst:1615 msgid "" "Remove :mod:`io`'s ``io.OpenWrapper`` and ``_pyio.OpenWrapper``, deprecated " -"in Python 3.10: just use :func:`open` instead. The :func:`open` (:func:`io." -"open`) function is a built-in function. Since Python 3.10, :func:`!_pyio." -"open` is also a static method. (Contributed by Victor Stinner in :gh:" -"`94169`.)" +"in Python 3.10: just use :func:`open` instead. The :func:`open` " +"(:func:`io.open`) function is a built-in function. Since Python 3.10, " +":func:`!_pyio.open` is also a static method. (Contributed by Victor Stinner " +"in :gh:`94169`.)" msgstr "" +"Elimine ``io.OpenWrapper`` y ``_pyio.OpenWrapper`` de :mod:`io`, obsoletos " +"en Python 3.10: simplemente use :func:`open` en su lugar. La función " +":func:`open` (:func:`io.open`) es una función incorporada. Desde Python " +"3.10, :func:`!_pyio.open` también es un método estático. (Aportado por " +"Victor Stinner en :gh:`94169`.)" #: ../Doc/whatsnew/3.12.rst:1622 msgid "locale" -msgstr "" +msgstr "locale" #: ../Doc/whatsnew/3.12.rst:1624 msgid "" -"Remove :mod:`locale`'s :func:`!locale.format` function, deprecated in Python " -"3.7: use :func:`locale.format_string` instead. (Contributed by Victor " +"Remove :mod:`locale`'s :func:`!locale.format` function, deprecated in Python" +" 3.7: use :func:`locale.format_string` instead. (Contributed by Victor " "Stinner in :gh:`94226`.)" msgstr "" +"Elimine la función :func:`!locale.format` de :mod:`locale`, obsoleta en " +"Python 3.7: use :func:`locale.format_string` en su lugar. (Aportado por " +"Victor Stinner en :gh:`94226`.)" #: ../Doc/whatsnew/3.12.rst:1628 msgid "" -"``smtpd``: The module has been removed according to the schedule in :pep:" -"`594`, having been deprecated in Python 3.4.7 and 3.5.4. Use aiosmtpd_ PyPI " -"module or any other :mod:`asyncio`-based server instead. (Contributed by " -"Oleg Iarygin in :gh:`93243`.)" +"``smtpd``: The module has been removed according to the schedule in " +":pep:`594`, having been deprecated in Python 3.4.7 and 3.5.4. Use aiosmtpd_ " +"PyPI module or any other :mod:`asyncio`-based server instead. (Contributed " +"by Oleg Iarygin in :gh:`93243`.)" msgstr "" +"``smtpd``: el módulo se eliminó según lo programado en :pep:`594`, ya que " +"quedó obsoleto en Python 3.4.7 y 3.5.4. Utilice el módulo aiosmtpd_PyPI o " +"cualquier otro servidor basado en :mod:`asyncio`. (Contribución de Oleg " +"Iarygin en :gh:`93243`.)" #: ../Doc/whatsnew/3.12.rst:1639 msgid "" "The following undocumented :mod:`sqlite3` features, deprecated in Python " "3.10, are now removed:" msgstr "" +"Las siguientes características :mod:`sqlite3` no documentadas, obsoletas en " +"Python 3.10, ahora se eliminan:" #: ../Doc/whatsnew/3.12.rst:1642 msgid "``sqlite3.enable_shared_cache()``" -msgstr "" +msgstr "``sqlite3.enable_shared_cache()``" #: ../Doc/whatsnew/3.12.rst:1643 msgid "``sqlite3.OptimizedUnicode``" -msgstr "" +msgstr "``sqlite3.OptimizedUnicode``" #: ../Doc/whatsnew/3.12.rst:1645 msgid "" "If a shared cache must be used, open the database in URI mode using the " "``cache=shared`` query parameter." msgstr "" +"Si se debe utilizar una caché compartida, abra la base de datos en modo URI " +"utilizando el parámetro de consulta ``cache=shared``." #: ../Doc/whatsnew/3.12.rst:1648 msgid "" -"The ``sqlite3.OptimizedUnicode`` text factory has been an alias for :class:" -"`str` since Python 3.3. Code that previously set the text factory to " +"The ``sqlite3.OptimizedUnicode`` text factory has been an alias for " +":class:`str` since Python 3.3. Code that previously set the text factory to " "``OptimizedUnicode`` can either use ``str`` explicitly, or rely on the " "default value which is also ``str``." msgstr "" +"La fábrica de textos ``sqlite3.OptimizedUnicode`` ha sido un alias para " +":class:`str` desde Python 3.3. El código que previamente configuró la " +"fábrica de texto en ``OptimizedUnicode`` puede usar ``str`` explícitamente o" +" confiar en el valor predeterminado que también es ``str``." #: ../Doc/whatsnew/3.12.rst:1653 msgid "(Contributed by Erlend E. Aasland in :gh:`92548`.)" -msgstr "" +msgstr "(Aportado por Erlend E. Aasland en :gh:`92548`.)" #: ../Doc/whatsnew/3.12.rst:1656 msgid "ssl" -msgstr "" +msgstr "ssl" #: ../Doc/whatsnew/3.12.rst:1658 msgid "" @@ -2496,196 +3373,222 @@ msgid "" "Python 3.6: use :func:`os.urandom` or :func:`ssl.RAND_bytes` instead. " "(Contributed by Victor Stinner in :gh:`94199`.)" msgstr "" +"Elimine la función :func:`!ssl.RAND_pseudo_bytes` de :mod:`ssl`, obsoleta en" +" Python 3.6: use :func:`os.urandom` o :func:`ssl.RAND_bytes` en su lugar. " +"(Aportado por Victor Stinner en :gh:`94199`.)" #: ../Doc/whatsnew/3.12.rst:1662 msgid "" -"Remove the :func:`!ssl.match_hostname` function. It was deprecated in Python " -"3.7. OpenSSL performs hostname matching since Python 3.7, Python no longer " +"Remove the :func:`!ssl.match_hostname` function. It was deprecated in Python" +" 3.7. OpenSSL performs hostname matching since Python 3.7, Python no longer " "uses the :func:`!ssl.match_hostname` function. (Contributed by Victor " "Stinner in :gh:`94199`.)" msgstr "" +"Elimine la función :func:`!ssl.match_hostname`. Quedó obsoleto en Python " +"3.7. OpenSSL realiza coincidencias de nombres de host desde Python 3.7, " +"Python ya no usa la función :func:`!ssl.match_hostname`. (Aportado por " +"Victor Stinner en :gh:`94199`.)" #: ../Doc/whatsnew/3.12.rst:1668 msgid "" "Remove the :func:`!ssl.wrap_socket` function, deprecated in Python 3.7: " -"instead, create a :class:`ssl.SSLContext` object and call its :class:`ssl." -"SSLContext.wrap_socket` method. Any package that still uses :func:`!ssl." -"wrap_socket` is broken and insecure. The function neither sends a SNI TLS " -"extension nor validates server hostname. Code is subject to `CWE-295 " -"`_: Improper Certificate " -"Validation. (Contributed by Victor Stinner in :gh:`94199`.)" -msgstr "" +"instead, create a :class:`ssl.SSLContext` object and call its " +":class:`ssl.SSLContext.wrap_socket` method. Any package that still uses " +":func:`!ssl.wrap_socket` is broken and insecure. The function neither sends " +"a SNI TLS extension nor validates server hostname. Code is subject to " +"`CWE-295 `_: Improper " +"Certificate Validation. (Contributed by Victor Stinner in :gh:`94199`.)" +msgstr "" +"Elimine la función :func:`!ssl.wrap_socket`, obsoleta en Python 3.7: en su " +"lugar, cree un objeto :class:`ssl.SSLContext` y llame a su método " +":class:`ssl.SSLContext.wrap_socket`. Cualquier paquete que todavía use " +":func:`!ssl.wrap_socket` está roto y es inseguro. La función no envía una " +"extensión SNI TLS ni valida el nombre de host del servidor. El código está " +"sujeto a `CWE-295 `_: " +"Validación de certificado incorrecta. (Aportado por Victor Stinner en " +":gh:`94199`.)" #: ../Doc/whatsnew/3.12.rst:1680 msgid "Remove many long-deprecated :mod:`unittest` features:" msgstr "" +"Elimine muchas características de :mod:`unittest` que están en desuso desde " +"hace mucho tiempo:" #: ../Doc/whatsnew/3.12.rst:1684 msgid "A number of :class:`~unittest.TestCase` method aliases:" -msgstr "" +msgstr "Varios alias del método :class:`~unittest.TestCase`:" #: ../Doc/whatsnew/3.12.rst:1687 msgid "Deprecated alias" -msgstr "" +msgstr "Alias obsoleto" #: ../Doc/whatsnew/3.12.rst:1687 msgid "Method Name" -msgstr "" +msgstr "Nombre del método" #: ../Doc/whatsnew/3.12.rst:1687 msgid "Deprecated in" -msgstr "" +msgstr "En desuso en" #: ../Doc/whatsnew/3.12.rst:1689 msgid "``failUnless``" -msgstr "" +msgstr "``failUnless``" #: ../Doc/whatsnew/3.12.rst:1689 ../Doc/whatsnew/3.12.rst:1696 msgid ":meth:`.assertTrue`" -msgstr "" +msgstr ":meth:`.assertTrue`" #: ../Doc/whatsnew/3.12.rst:1689 ../Doc/whatsnew/3.12.rst:1690 #: ../Doc/whatsnew/3.12.rst:1691 ../Doc/whatsnew/3.12.rst:1692 #: ../Doc/whatsnew/3.12.rst:1693 ../Doc/whatsnew/3.12.rst:1694 #: ../Doc/whatsnew/3.12.rst:1695 msgid "3.1" -msgstr "" +msgstr "3.1" #: ../Doc/whatsnew/3.12.rst:1690 msgid "``failIf``" -msgstr "" +msgstr "``failIf``" #: ../Doc/whatsnew/3.12.rst:1690 msgid ":meth:`.assertFalse`" -msgstr "" +msgstr ":meth:`.assertFalse`" #: ../Doc/whatsnew/3.12.rst:1691 msgid "``failUnlessEqual``" -msgstr "" +msgstr "``failUnlessEqual``" #: ../Doc/whatsnew/3.12.rst:1691 ../Doc/whatsnew/3.12.rst:1697 msgid ":meth:`.assertEqual`" -msgstr "" +msgstr ":meth:`.assertEqual`" #: ../Doc/whatsnew/3.12.rst:1692 msgid "``failIfEqual``" -msgstr "" +msgstr "``failIfEqual``" #: ../Doc/whatsnew/3.12.rst:1692 ../Doc/whatsnew/3.12.rst:1698 msgid ":meth:`.assertNotEqual`" -msgstr "" +msgstr ":meth:`.assertNotEqual`" #: ../Doc/whatsnew/3.12.rst:1693 msgid "``failUnlessAlmostEqual``" -msgstr "" +msgstr "``failUnlessAlmostEqual``" #: ../Doc/whatsnew/3.12.rst:1693 ../Doc/whatsnew/3.12.rst:1699 msgid ":meth:`.assertAlmostEqual`" -msgstr "" +msgstr ":meth:`.assertAlmostEqual`" #: ../Doc/whatsnew/3.12.rst:1694 msgid "``failIfAlmostEqual``" -msgstr "" +msgstr "``failIfAlmostEqual``" #: ../Doc/whatsnew/3.12.rst:1694 ../Doc/whatsnew/3.12.rst:1700 msgid ":meth:`.assertNotAlmostEqual`" -msgstr "" +msgstr ":meth:`.assertNotAlmostEqual`" #: ../Doc/whatsnew/3.12.rst:1695 msgid "``failUnlessRaises``" -msgstr "" +msgstr "``failUnlessRaises``" #: ../Doc/whatsnew/3.12.rst:1695 msgid ":meth:`.assertRaises`" -msgstr "" +msgstr ":meth:`.assertRaises`" #: ../Doc/whatsnew/3.12.rst:1696 msgid "``assert_``" -msgstr "" +msgstr "``assert_``" #: ../Doc/whatsnew/3.12.rst:1696 ../Doc/whatsnew/3.12.rst:1697 #: ../Doc/whatsnew/3.12.rst:1698 ../Doc/whatsnew/3.12.rst:1699 #: ../Doc/whatsnew/3.12.rst:1700 ../Doc/whatsnew/3.12.rst:1701 #: ../Doc/whatsnew/3.12.rst:1702 msgid "3.2" -msgstr "" +msgstr "3.2" #: ../Doc/whatsnew/3.12.rst:1697 msgid "``assertEquals``" -msgstr "" +msgstr "``assertEquals``" #: ../Doc/whatsnew/3.12.rst:1698 msgid "``assertNotEquals``" -msgstr "" +msgstr "``assertNotEquals``" #: ../Doc/whatsnew/3.12.rst:1699 msgid "``assertAlmostEquals``" -msgstr "" +msgstr "``assertAlmostEquals``" #: ../Doc/whatsnew/3.12.rst:1700 msgid "``assertNotAlmostEquals``" -msgstr "" +msgstr "``assertNotAlmostEquals``" #: ../Doc/whatsnew/3.12.rst:1701 msgid "``assertRegexpMatches``" -msgstr "" +msgstr "``assertRegexpMatches``" #: ../Doc/whatsnew/3.12.rst:1701 msgid ":meth:`.assertRegex`" -msgstr "" +msgstr ":meth:`.assertRegex`" #: ../Doc/whatsnew/3.12.rst:1702 msgid "``assertRaisesRegexp``" -msgstr "" +msgstr "``assertRaisesRegexp``" #: ../Doc/whatsnew/3.12.rst:1702 msgid ":meth:`.assertRaisesRegex`" -msgstr "" +msgstr ":meth:`.assertRaisesRegex`" #: ../Doc/whatsnew/3.12.rst:1703 msgid "``assertNotRegexpMatches``" -msgstr "" +msgstr "``assertNotRegexpMatches``" #: ../Doc/whatsnew/3.12.rst:1703 msgid ":meth:`.assertNotRegex`" -msgstr "" +msgstr ":meth:`.assertNotRegex`" #: ../Doc/whatsnew/3.12.rst:1703 msgid "3.5" -msgstr "" +msgstr "3.5" #: ../Doc/whatsnew/3.12.rst:1706 msgid "" "You can use https://github.com/isidentical/teyit to automatically modernise " "your unit tests." msgstr "" +"Puede utilizar https://github.com/isidentical/teyit para modernizar " +"automáticamente sus pruebas unitarias." #: ../Doc/whatsnew/3.12.rst:1709 msgid "" "Undocumented and broken :class:`~unittest.TestCase` method " "``assertDictContainsSubset`` (deprecated in Python 3.2)." msgstr "" +"Método ``assertDictContainsSubset`` indocumentado y roto (obsoleto en Python" +" 3.2)." #: ../Doc/whatsnew/3.12.rst:1712 msgid "" -"Undocumented :meth:`TestLoader.loadTestsFromModule ` parameter *use_load_tests* (deprecated and ignored " -"since Python 3.2)." +"Undocumented :meth:`TestLoader.loadTestsFromModule " +"` parameter *use_load_tests* " +"(deprecated and ignored since Python 3.2)." msgstr "" +"Parámetro :meth:`TestLoader.loadTestsFromModule " +"` no documentado *use_load_tests* " +"(obsoleto e ignorado desde Python 3.2)." #: ../Doc/whatsnew/3.12.rst:1716 msgid "" -"An alias of the :class:`~unittest.TextTestResult` class: ``_TextTestResult`` " -"(deprecated in Python 3.2)." +"An alias of the :class:`~unittest.TextTestResult` class: ``_TextTestResult``" +" (deprecated in Python 3.2)." msgstr "" +"Un alias de la clase :class:`~unittest.TextTestResult`: ``_TextTestResult`` " +"(obsoleto en Python 3.2)." #: ../Doc/whatsnew/3.12.rst:1719 msgid "(Contributed by Serhiy Storchaka in :gh:`89325`.)" -msgstr "" +msgstr "(Contribución de Serhiy Storchaka en :gh:`89325`.)" #: ../Doc/whatsnew/3.12.rst:1722 msgid "webbrowser" -msgstr "" +msgstr "webbrowser" #: ../Doc/whatsnew/3.12.rst:1724 msgid "" @@ -2693,10 +3596,14 @@ msgid "" "browsers include: Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, " "Firebird, and Firefox versions 35 and below (:gh:`102871`)." msgstr "" +"Elimina la compatibilidad con navegadores obsoletos de :mod:`webbrowser`. " +"Los navegadores eliminados incluyen: Grail, Mosaic, Netscape, Galeon, " +"Skipstone, Iceape, Firebird y Firefox versiones 35 e inferiores " +"(:gh:`102871`)." #: ../Doc/whatsnew/3.12.rst:1729 msgid "xml.etree.ElementTree" -msgstr "" +msgstr "xml.etree.ElementTree" #: ../Doc/whatsnew/3.12.rst:1731 msgid "" @@ -2706,53 +3613,74 @@ msgid "" "no ``copy()`` method, only a ``__copy__()`` method. (Contributed by Victor " "Stinner in :gh:`94383`.)" msgstr "" +"Elimine el método ``ElementTree.Element.copy()`` de la implementación pura " +"de Python, obsoleto en Python 3.10, use la función :func:`copy.copy` en su " +"lugar. La implementación C de :mod:`xml.etree.ElementTree` no tiene ningún " +"método ``copy()``, solo un método ``__copy__()``. (Aportado por Victor " +"Stinner en :gh:`94383`.)" #: ../Doc/whatsnew/3.12.rst:1738 msgid "zipimport" -msgstr "" +msgstr "zipimport" #: ../Doc/whatsnew/3.12.rst:1740 msgid "" "Remove :mod:`zipimport`'s ``find_loader()`` and ``find_module()`` methods, " -"deprecated in Python 3.10: use the ``find_spec()`` method instead. See :pep:" -"`451` for the rationale. (Contributed by Victor Stinner in :gh:`94379`.)" +"deprecated in Python 3.10: use the ``find_spec()`` method instead. See " +":pep:`451` for the rationale. (Contributed by Victor Stinner in " +":gh:`94379`.)" msgstr "" +"Elimine los métodos ``find_loader()`` y ``find_module()`` de " +":mod:`zipimport`, obsoletos en Python 3.10: use el método ``find_spec()`` en" +" su lugar. Consulte :pep:`451` para conocer el fundamento. (Aportado por " +"Victor Stinner en :gh:`94379`.)" #: ../Doc/whatsnew/3.12.rst:1746 msgid "Others" -msgstr "" +msgstr "Otros" #: ../Doc/whatsnew/3.12.rst:1748 msgid "" -"Remove the ``suspicious`` rule from the documentation :file:`Makefile` and :" -"file:`Doc/tools/rstlint.py`, both in favor of `sphinx-lint `_. (Contributed by Julien Palard in :gh:" -"`98179`.)" +"Remove the ``suspicious`` rule from the documentation :file:`Makefile` and " +":file:`Doc/tools/rstlint.py`, both in favor of `sphinx-lint " +"`_. (Contributed by Julien " +"Palard in :gh:`98179`.)" msgstr "" +"Elimine la regla ``suspicious`` de la documentación :file:`Makefile` y " +":file:`Doc/tools/rstlint.py`, ambas a favor de `sphinx-lint " +"`_. (Contribución de Julien " +"Palard en :gh:`98179`.)" #: ../Doc/whatsnew/3.12.rst:1753 msgid "" -"Remove the *keyfile* and *certfile* parameters from the :mod:`ftplib`, :mod:" -"`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, and the *key_file*, " -"*cert_file* and *check_hostname* parameters from the :mod:`http.client` " -"module, all deprecated since Python 3.6. Use the *context* parameter " -"(*ssl_context* in :mod:`imaplib`) instead. (Contributed by Victor Stinner " -"in :gh:`94172`.)" +"Remove the *keyfile* and *certfile* parameters from the :mod:`ftplib`, " +":mod:`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, and the " +"*key_file*, *cert_file* and *check_hostname* parameters from the " +":mod:`http.client` module, all deprecated since Python 3.6. Use the " +"*context* parameter (*ssl_context* in :mod:`imaplib`) instead. (Contributed " +"by Victor Stinner in :gh:`94172`.)" msgstr "" +"Elimine los parámetros *keyfile* y *certfile* de los módulos :mod:`ftplib`, " +":mod:`imaplib`, :mod:`poplib` y :mod:`smtplib`, y los parámetros *key_file*," +" *cert_file* y *check_hostname* del módulo :mod:`http.client`, todos " +"obsoletos desde Python 3.6. Utilice el parámetro *context* (*ssl_context* en" +" :mod:`imaplib`) en su lugar. (Aportado por Victor Stinner en :gh:`94172`.)" #: ../Doc/whatsnew/3.12.rst:1764 ../Doc/whatsnew/3.12.rst:2079 msgid "Porting to Python 3.12" -msgstr "" +msgstr "Portar a Python 3.12" #: ../Doc/whatsnew/3.12.rst:1766 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" +"Esta sección enumera los cambios descritos anteriormente y otras " +"correcciones de errores que pueden requerir cambios en su código." #: ../Doc/whatsnew/3.12.rst:1770 msgid "Changes in the Python API" -msgstr "" +msgstr "Cambios en la API de Python" #: ../Doc/whatsnew/3.12.rst:1772 msgid "" @@ -2762,6 +3690,12 @@ msgid "" "strings can now only contain ASCII letters and digits and underscore. " "(Contributed by Serhiy Storchaka in :gh:`91760`.)" msgstr "" +"Ahora se aplican reglas más estrictas para las referencias numéricas de " +"grupos y los nombres de grupos en expresiones regulares. Ahora sólo se " +"acepta como referencia numérica la secuencia de dígitos ASCII. El nombre del" +" grupo en patrones de bytes y cadenas de reemplazo ahora solo puede contener" +" letras y dígitos ASCII y guiones bajos. (Contribución de Serhiy Storchaka " +"en :gh:`91760`.)" #: ../Doc/whatsnew/3.12.rst:1779 msgid "" @@ -2769,11 +3703,19 @@ msgid "" "Formerly, ``randrange(10.0)`` losslessly converted to ``randrange(10)``. " "Now, it raises a :exc:`TypeError`. Also, the exception raised for non-" "integer values such as ``randrange(10.5)`` or ``randrange('10')`` has been " -"changed from :exc:`ValueError` to :exc:`TypeError`. This also prevents bugs " -"where ``randrange(1e25)`` would silently select from a larger range than " -"``randrange(10**25)``. (Originally suggested by Serhiy Storchaka :gh:" -"`86388`.)" -msgstr "" +"changed from :exc:`ValueError` to :exc:`TypeError`. This also prevents bugs" +" where ``randrange(1e25)`` would silently select from a larger range than " +"``randrange(10**25)``. (Originally suggested by Serhiy Storchaka " +":gh:`86388`.)" +msgstr "" +"Elimine la funcionalidad ``randrange()`` en desuso desde Python 3.10. " +"Anteriormente, ``randrange(10.0)`` se convertía sin pérdidas a " +"``randrange(10)``. Ahora, genera un :exc:`TypeError`. Además, la excepción " +"planteada para valores no enteros como ``randrange(10.5)`` o " +"``randrange('10')`` se cambió de :exc:`ValueError` a :exc:`TypeError`. Esto " +"también evita errores en los que ``randrange(1e25)`` seleccionaría " +"silenciosamente de un rango mayor que ``randrange(10**25)``. (Originalmente " +"sugerido por Serhiy Storchaka :gh:`86388`.)" #: ../Doc/whatsnew/3.12.rst:1787 msgid "" @@ -2781,9 +3723,16 @@ msgid "" "reading arguments from file (e.g. ``fromfile_prefix_chars`` option) from " "default text encoding (e.g. :func:`locale.getpreferredencoding(False) " "`) to :term:`filesystem encoding and error " -"handler`. Argument files should be encoded in UTF-8 instead of ANSI Codepage " -"on Windows." +"handler`. Argument files should be encoded in UTF-8 instead of ANSI Codepage" +" on Windows." msgstr "" +":class:`argparse.ArgumentParser` cambió la codificación y el controlador de " +"errores para leer argumentos de un archivo (por ejemplo, la opción " +"``fromfile_prefix_chars``) de la codificación de texto predeterminada (por " +"ejemplo, :func:`locale.getpreferredencoding(False) " +"`) a :term:`filesystem encoding and error " +"handler`. Los archivos de argumentos deben codificarse en UTF-8 en lugar de " +"en la página de códigos ANSI en Windows." #: ../Doc/whatsnew/3.12.rst:1793 msgid "" @@ -2791,111 +3740,175 @@ msgid "" "and 3.5.4. A recommended replacement is the :mod:`asyncio`-based aiosmtpd_ " "PyPI module." msgstr "" +"Elimine el módulo ``smtpd`` basado en ``asyncore`` que está en desuso en " +"Python 3.4.7 y 3.5.4. Un reemplazo recomendado es el módulo aiosmtpd_PyPI " +"basado en :mod:`asyncio`." #: ../Doc/whatsnew/3.12.rst:1797 msgid "" ":func:`shlex.split`: Passing ``None`` for *s* argument now raises an " -"exception, rather than reading :data:`sys.stdin`. The feature was deprecated " -"in Python 3.9. (Contributed by Victor Stinner in :gh:`94352`.)" +"exception, rather than reading :data:`sys.stdin`. The feature was deprecated" +" in Python 3.9. (Contributed by Victor Stinner in :gh:`94352`.)" msgstr "" +":func:`shlex.split`: Pasar ``None`` por el argumento *s* ahora genera una " +"excepción, en lugar de leer :data:`sys.stdin`. La característica quedó " +"obsoleta en Python 3.9. (Aportado por Victor Stinner en :gh:`94352`.)" #: ../Doc/whatsnew/3.12.rst:1802 msgid "" -"The :mod:`os` module no longer accepts bytes-like paths, like :class:" -"`bytearray` and :class:`memoryview` types: only the exact :class:`bytes` " -"type is accepted for bytes strings. (Contributed by Victor Stinner in :gh:" -"`98393`.)" +"The :mod:`os` module no longer accepts bytes-like paths, like " +":class:`bytearray` and :class:`memoryview` types: only the exact " +":class:`bytes` type is accepted for bytes strings. (Contributed by Victor " +"Stinner in :gh:`98393`.)" msgstr "" +"El módulo :mod:`os` ya no acepta rutas tipo bytes, como los tipos " +":class:`bytearray` y :class:`memoryview`: solo se acepta el tipo exacto " +":class:`bytes` para cadenas de bytes. (Aportado por Victor Stinner en " +":gh:`98393`.)" #: ../Doc/whatsnew/3.12.rst:1807 msgid "" ":func:`syslog.openlog` and :func:`syslog.closelog` now fail if used in " -"subinterpreters. :func:`syslog.syslog` may still be used in subinterpreters, " -"but now only if :func:`syslog.openlog` has already been called in the main " -"interpreter. These new restrictions do not apply to the main interpreter, so " -"only a very small set of users might be affected. This change helps with " +"subinterpreters. :func:`syslog.syslog` may still be used in subinterpreters," +" but now only if :func:`syslog.openlog` has already been called in the main " +"interpreter. These new restrictions do not apply to the main interpreter, so" +" only a very small set of users might be affected. This change helps with " "interpreter isolation. Furthermore, :mod:`syslog` is a wrapper around " "process-global resources, which are best managed from the main interpreter. " "(Contributed by Donghee Na in :gh:`99127`.)" msgstr "" +":func:`syslog.openlog` y :func:`syslog.closelog` ahora fallan si se usan en " +"subintérpretes. :func:`syslog.syslog` aún se puede usar en subintérpretes, " +"pero ahora solo si :func:`syslog.openlog` ya ha sido llamado en el " +"intérprete principal. Estas nuevas restricciones no se aplican al intérprete" +" principal, por lo que sólo un conjunto muy pequeño de usuarios podría verse" +" afectado. Este cambio ayuda con el aislamiento del intérprete. Además, " +":mod:`syslog` es un contenedor de recursos globales de procesos, que se " +"administran mejor desde el intérprete principal. (Aportado por Donghee Na en" +" :gh:`99127`.)" #: ../Doc/whatsnew/3.12.rst:1816 msgid "" "The undocumented locking behavior of :func:`~functools.cached_property` is " "removed, because it locked across all instances of the class, leading to " "high lock contention. This means that a cached property getter function " -"could now run more than once for a single instance, if two threads race. For " -"most simple cached properties (e.g. those that are idempotent and simply " +"could now run more than once for a single instance, if two threads race. For" +" most simple cached properties (e.g. those that are idempotent and simply " "calculate a value based on other attributes of the instance) this will be " "fine. If synchronization is needed, implement locking within the cached " "property getter function or around multi-threaded access points." msgstr "" +"Se elimina el comportamiento de bloqueo no documentado de " +":func:`~functools.cached_property`, porque bloqueaba todas las instancias de" +" la clase, lo que generaba una alta contención de bloqueo. Esto significa " +"que una función de obtención de propiedades almacenadas en caché ahora " +"podría ejecutarse más de una vez para una sola instancia, si dos subprocesos" +" se ejecutan. Para la mayoría de las propiedades almacenadas en caché " +"simples (por ejemplo, aquellas que son idempotentes y simplemente calculan " +"un valor en función de otros atributos de la instancia), esto estará bien. " +"Si se necesita sincronización, implemente el bloqueo dentro de la función de" +" obtención de propiedades en caché o alrededor de puntos de acceso de " +"subprocesos múltiples." #: ../Doc/whatsnew/3.12.rst:1829 msgid "" -"When extracting tar files using :mod:`tarfile` or :func:`shutil." -"unpack_archive`, pass the *filter* argument to limit features that may be " -"surprising or dangerous. See :ref:`tarfile-extraction-filter` for details." +"When extracting tar files using :mod:`tarfile` or " +":func:`shutil.unpack_archive`, pass the *filter* argument to limit features " +"that may be surprising or dangerous. See :ref:`tarfile-extraction-filter` " +"for details." msgstr "" +"Al extraer archivos tar usando :mod:`tarfile` o " +":func:`shutil.unpack_archive`, pase el argumento *filter* para limitar las " +"funciones que pueden resultar sorprendentes o peligrosas. Consulte " +":ref:`tarfile-extraction-filter` para obtener más detalles." #: ../Doc/whatsnew/3.12.rst:1834 msgid "" -"The output of the :func:`tokenize.tokenize` and :func:`tokenize." -"generate_tokens` functions is now changed due to the changes introduced in :" -"pep:`701`. This means that ``STRING`` tokens are not emitted any more for f-" -"strings and the tokens described in :pep:`701` are now produced instead: " -"``FSTRING_START``, ``FSTRING_MIDDLE`` and ``FSTRING_END`` are now emitted " -"for f-string \"string\" parts in addition to the appropriate tokens for the " -"tokenization in the expression components. For example for the f-string " -"``f\"start {1+1} end\"`` the old version of the tokenizer emitted::" -msgstr "" +"The output of the :func:`tokenize.tokenize` and " +":func:`tokenize.generate_tokens` functions is now changed due to the changes" +" introduced in :pep:`701`. This means that ``STRING`` tokens are not emitted" +" any more for f-strings and the tokens described in :pep:`701` are now " +"produced instead: ``FSTRING_START``, ``FSTRING_MIDDLE`` and ``FSTRING_END`` " +"are now emitted for f-string \"string\" parts in addition to the appropriate" +" tokens for the tokenization in the expression components. For example for " +"the f-string ``f\"start {1+1} end\"`` the old version of the tokenizer " +"emitted::" +msgstr "" +"La salida de las funciones :func:`tokenize.tokenize` y " +":func:`tokenize.generate_tokens` ahora cambia debido a los cambios " +"introducidos en :pep:`701`. Esto significa que los tokens ``STRING`` ya no " +"se emiten para cadenas f y los tokens descritos en :pep:`701` ahora se " +"producen en su lugar: ``FSTRING_START``, ``FSTRING_MIDDLE`` y " +"``FSTRING_END`` ahora se emiten para partes de \"cadena\" de cadena f además" +" de los tokens apropiados para la tokenización. en los componentes de la " +"expresión. Por ejemplo, para la cadena f ``f\"start {1+1} end\"``, la " +"versión anterior del tokenizador emitió::" #: ../Doc/whatsnew/3.12.rst:1845 msgid "while the new version emits::" -msgstr "" +msgstr "mientras que la nueva versión emite::" #: ../Doc/whatsnew/3.12.rst:1857 msgid "" -"Additionally, there may be some minor behavioral changes as a consequence of " -"the changes required to support :pep:`701`. Some of these changes include:" +"Additionally, there may be some minor behavioral changes as a consequence of" +" the changes required to support :pep:`701`. Some of these changes include:" msgstr "" +"Además, puede haber algunos cambios de comportamiento menores como " +"consecuencia de los cambios necesarios para admitir :pep:`701`. Algunos de " +"estos cambios incluyen:" #: ../Doc/whatsnew/3.12.rst:1860 msgid "" "The ``type`` attribute of the tokens emitted when tokenizing some invalid " "Python characters such as ``!`` has changed from ``ERRORTOKEN`` to ``OP``." msgstr "" +"El atributo ``type`` de los tokens emitidos al tokenizar algunos caracteres " +"de Python no válidos, como ``!``, ha cambiado de ``ERRORTOKEN`` a ``OP``." #: ../Doc/whatsnew/3.12.rst:1863 msgid "" "Incomplete single-line strings now also raise :exc:`tokenize.TokenError` as " "incomplete multiline strings do." msgstr "" +"Las cadenas incompletas de una sola línea ahora también generan " +":exc:`tokenize.TokenError` como lo hacen las cadenas incompletas de varias " +"líneas." #: ../Doc/whatsnew/3.12.rst:1866 msgid "" -"Some incomplete or invalid Python code now raises :exc:`tokenize.TokenError` " -"instead of returning arbitrary ``ERRORTOKEN`` tokens when tokenizing it." +"Some incomplete or invalid Python code now raises :exc:`tokenize.TokenError`" +" instead of returning arbitrary ``ERRORTOKEN`` tokens when tokenizing it." msgstr "" +"Algún código Python incompleto o no válido ahora genera " +":exc:`tokenize.TokenError` en lugar de devolver tokens ``ERRORTOKEN`` " +"arbitrarios al tokenizarlo." #: ../Doc/whatsnew/3.12.rst:1869 msgid "" "Mixing tabs and spaces as indentation in the same file is not supported " "anymore and will raise a :exc:`TabError`." msgstr "" +"Ya no se admite la combinación de tabulaciones y espacios como sangría en el" +" mismo archivo y generará un :exc:`TabError`." #: ../Doc/whatsnew/3.12.rst:1873 msgid "Build Changes" -msgstr "" +msgstr "Cambios de compilación" #: ../Doc/whatsnew/3.12.rst:1875 msgid "" "Python no longer uses :file:`setup.py` to build shared C extension modules. " "Build parameters like headers and libraries are detected in ``configure`` " "script. Extensions are built by :file:`Makefile`. Most extensions use ``pkg-" -"config`` and fall back to manual detection. (Contributed by Christian Heimes " -"in :gh:`93939`.)" +"config`` and fall back to manual detection. (Contributed by Christian Heimes" +" in :gh:`93939`.)" msgstr "" +"Python ya no usa :file:`setup.py` para crear módulos de extensión C " +"compartidos. Los parámetros de compilación, como encabezados y bibliotecas, " +"se detectan en el script ``configure``. Las extensiones están construidas " +"por :file:`Makefile`. La mayoría de las extensiones usan ``pkg-config`` y " +"recurren a la detección manual. (Aportado por Christian Heimes en " +":gh:`93939`.)" #: ../Doc/whatsnew/3.12.rst:1881 msgid "" @@ -2903,61 +3916,76 @@ msgid "" "required to build Python. ``va_start()`` is no longer called with a single " "parameter. (Contributed by Kumar Aditya in :gh:`93207`.)" msgstr "" +"Ahora se requiere ``va_start()`` con dos parámetros, como ``va_start(args, " +"format),``, para compilar Python. ``va_start()`` ya no se llama con un solo " +"parámetro. (Aportado por Kumar Aditya en :gh:`93207`.)" #: ../Doc/whatsnew/3.12.rst:1886 msgid "" "CPython now uses the ThinLTO option as the default link time optimization " -"policy if the Clang compiler accepts the flag. (Contributed by Donghee Na " -"in :gh:`89536`.)" +"policy if the Clang compiler accepts the flag. (Contributed by Donghee Na in" +" :gh:`89536`.)" msgstr "" +"CPython ahora usa la opción ThinLTO como política predeterminada de " +"optimización del tiempo de enlace si el compilador Clang acepta la marca. " +"(Aportado por Donghee Na en :gh:`89536`.)" #: ../Doc/whatsnew/3.12.rst:1890 msgid "" -"Add ``COMPILEALL_OPTS`` variable in :file:`Makefile` to override :mod:" -"`compileall` options (default: ``-j0``) in ``make install``. Also merged the " -"3 ``compileall`` commands into a single command to build .pyc files for all " -"optimization levels (0, 1, 2) at once. (Contributed by Victor Stinner in :gh:" -"`99289`.)" +"Add ``COMPILEALL_OPTS`` variable in :file:`Makefile` to override " +":mod:`compileall` options (default: ``-j0``) in ``make install``. Also " +"merged the 3 ``compileall`` commands into a single command to build .pyc " +"files for all optimization levels (0, 1, 2) at once. (Contributed by Victor " +"Stinner in :gh:`99289`.)" msgstr "" +"Agregado la variable ``COMPILEALL_OPTS`` en :file:`Makefile` para anular las " +"opciones de :mod:`compileall` (predeterminada: ``-j0``) en ``make install``." +" También fusionó los 3 comandos ``compileall`` en un solo comando para crear" +" archivos .pyc para todos los niveles de optimización (0, 1, 2) a la vez. " +"(Aportado por Victor Stinner en :gh:`99289`.)" #: ../Doc/whatsnew/3.12.rst:1896 msgid "Add platform triplets for 64-bit LoongArch:" -msgstr "" +msgstr "Agregado tripletes de plataforma para LoongArch de 64 bits:" #: ../Doc/whatsnew/3.12.rst:1898 msgid "loongarch64-linux-gnusf" -msgstr "" +msgstr "loongarch64-linux-gnusf" #: ../Doc/whatsnew/3.12.rst:1899 msgid "loongarch64-linux-gnuf32" -msgstr "" +msgstr "loongarch64-linux-gnuf32" #: ../Doc/whatsnew/3.12.rst:1900 msgid "loongarch64-linux-gnu" -msgstr "" +msgstr "loongarch64-linux-gnu" #: ../Doc/whatsnew/3.12.rst:1902 msgid "(Contributed by Zhang Na in :gh:`90656`.)" -msgstr "" +msgstr "(Aportado por Zhang Na en :gh:`90656`.)" #: ../Doc/whatsnew/3.12.rst:1904 msgid "``PYTHON_FOR_REGEN`` now require Python 3.10 or newer." -msgstr "" +msgstr "``PYTHON_FOR_REGEN`` ahora requiere Python 3.10 o posterior." #: ../Doc/whatsnew/3.12.rst:1906 msgid "" -"Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate :file:`!" -"configure`. (Contributed by Christian Heimes in :gh:`89886`.)" +"Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate " +":file:`!configure`. (Contributed by Christian Heimes in :gh:`89886`.)" msgstr "" +"Ahora se requieren Autoconf 2.71 y aclocal 1.16.4 para regenerar " +":file:`!configure`. (Aportado por Christian Heimes en :gh:`89886`.)" #: ../Doc/whatsnew/3.12.rst:1910 msgid "" "Windows builds and macOS installers from python.org now use OpenSSL 3.0." msgstr "" +"Las compilaciones de Windows y los instaladores de macOS de python.org ahora" +" usan OpenSSL 3.0." #: ../Doc/whatsnew/3.12.rst:1914 msgid "C API Changes" -msgstr "" +msgstr "Cambios en la API de C" #: ../Doc/whatsnew/3.12.rst:1921 msgid "" @@ -2966,150 +3994,193 @@ msgid "" "change in each minor release of CPython without deprecation warnings. Its " "contents are marked by the ``PyUnstable_`` prefix in names." msgstr "" +":pep:`697`: presente :ref:`Unstable C API tier `, destinado " +"a herramientas de bajo nivel como depuradores y compiladores JIT. Esta API " +"puede cambiar en cada versión menor de CPython sin advertencias de " +"obsolescencia. Su contenido está marcado con el prefijo ``PyUnstable_`` en " +"los nombres." #: ../Doc/whatsnew/3.12.rst:1927 msgid "Code object constructors:" -msgstr "" +msgstr "Constructores de objetos de código:" #: ../Doc/whatsnew/3.12.rst:1929 msgid "``PyUnstable_Code_New()`` (renamed from ``PyCode_New``)" -msgstr "" +msgstr "``PyUnstable_Code_New()`` (renombrado de ``PyCode_New``)" #: ../Doc/whatsnew/3.12.rst:1930 msgid "" "``PyUnstable_Code_NewWithPosOnlyArgs()`` (renamed from " "``PyCode_NewWithPosOnlyArgs``)" msgstr "" +"``PyUnstable_Code_NewWithPosOnlyArgs()`` (renombrado de " +"``PyCode_NewWithPosOnlyArgs``)" #: ../Doc/whatsnew/3.12.rst:1932 msgid "Extra storage for code objects (:pep:`523`):" -msgstr "" +msgstr "Almacenamiento adicional para objetos de código (:pep:`523`):" #: ../Doc/whatsnew/3.12.rst:1934 msgid "" "``PyUnstable_Eval_RequestCodeExtraIndex()`` (renamed from " "``_PyEval_RequestCodeExtraIndex``)" msgstr "" +"``PyUnstable_Eval_RequestCodeExtraIndex()`` (renombrado de " +"``_PyEval_RequestCodeExtraIndex``)" #: ../Doc/whatsnew/3.12.rst:1935 msgid "``PyUnstable_Code_GetExtra()`` (renamed from ``_PyCode_GetExtra``)" -msgstr "" +msgstr "``PyUnstable_Code_GetExtra()`` (renombrado de ``_PyCode_GetExtra``)" #: ../Doc/whatsnew/3.12.rst:1936 msgid "``PyUnstable_Code_SetExtra()`` (renamed from ``_PyCode_SetExtra``)" -msgstr "" +msgstr "``PyUnstable_Code_SetExtra()`` (renombrado de ``_PyCode_SetExtra``)" #: ../Doc/whatsnew/3.12.rst:1938 msgid "" "The original names will continue to be available until the respective API " "changes." msgstr "" +"Los nombres originales seguirán estando disponibles hasta que cambie la API " +"respectiva." #: ../Doc/whatsnew/3.12.rst:1941 msgid "(Contributed by Petr Viktorin in :gh:`101101`.)" -msgstr "" +msgstr "(Aportado por Petr Viktorin en :gh:`101101`.)" #: ../Doc/whatsnew/3.12.rst:1943 msgid "" ":pep:`697`: Add an API for extending types whose instance memory layout is " "opaque:" msgstr "" +":pep:`697`: agregue una API para extender tipos cuyo diseño de memoria de " +"instancia es opaco:" #: ../Doc/whatsnew/3.12.rst:1946 msgid "" ":c:member:`PyType_Spec.basicsize` can be zero or negative to specify " "inheriting or extending the base class size." msgstr "" +":c:member:`PyType_Spec.basicsize` puede ser cero o negativo para especificar" +" heredar o ampliar el tamaño de la clase base." #: ../Doc/whatsnew/3.12.rst:1948 msgid "" -":c:func:`PyObject_GetTypeData` and :c:func:`PyType_GetTypeDataSize` added to " -"allow access to subclass-specific instance data." +":c:func:`PyObject_GetTypeData` and :c:func:`PyType_GetTypeDataSize` added to" +" allow access to subclass-specific instance data." msgstr "" +"Se agregaron :c:func:`PyObject_GetTypeData` y " +":c:func:`PyType_GetTypeDataSize` para permitir el acceso a datos de " +"instancia específicos de subclase." #: ../Doc/whatsnew/3.12.rst:1950 msgid "" ":c:macro:`Py_TPFLAGS_ITEMS_AT_END` and :c:func:`PyObject_GetItemData` added " -"to allow safely extending certain variable-sized types, including :c:var:" -"`PyType_Type`." +"to allow safely extending certain variable-sized types, including " +":c:var:`PyType_Type`." msgstr "" +"Se agregaron :c:macro:`Py_TPFLAGS_ITEMS_AT_END` y " +":c:func:`PyObject_GetItemData` para permitir extender de forma segura " +"ciertos tipos de tamaño variable, incluido :c:var:`PyType_Type`." #: ../Doc/whatsnew/3.12.rst:1953 msgid "" ":c:macro:`Py_RELATIVE_OFFSET` added to allow defining :c:type:`members " "` in terms of a subclass-specific struct." msgstr "" +"Se agregó :c:macro:`Py_RELATIVE_OFFSET` para permitir definir " +":c:type:`members ` en términos de una estructura específica de " +"subclase." #: ../Doc/whatsnew/3.12.rst:1956 msgid "(Contributed by Petr Viktorin in :gh:`103509`.)" -msgstr "" +msgstr "(Aportado por Petr Viktorin en :gh:`103509`.)" #: ../Doc/whatsnew/3.12.rst:1958 msgid "" -"Add the new :ref:`limited C API ` function :c:func:" -"`PyType_FromMetaclass`, which generalizes the existing :c:func:" -"`PyType_FromModuleAndSpec` using an additional metaclass argument. " +"Add the new :ref:`limited C API ` function " +":c:func:`PyType_FromMetaclass`, which generalizes the existing " +":c:func:`PyType_FromModuleAndSpec` using an additional metaclass argument. " "(Contributed by Wenzel Jakob in :gh:`93012`.)" msgstr "" +"Agregado la nueva función :ref:`limited C API ` " +":c:func:`PyType_FromMetaclass`, que generaliza el " +":c:func:`PyType_FromModuleAndSpec` existente utilizando un argumento de " +"metaclase adicional. (Aportado por Wenzel Jakob en :gh:`93012`.)" #: ../Doc/whatsnew/3.12.rst:1963 msgid "" "API for creating objects that can be called using :ref:`the vectorcall " "protocol ` was added to the :ref:`Limited API `:" msgstr "" +"Se agregó API para crear objetos que se pueden llamar usando :ref:`the " +"vectorcall protocol ` a :ref:`Limited API `:" #: ../Doc/whatsnew/3.12.rst:1967 msgid ":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL`" -msgstr "" +msgstr ":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL`" #: ../Doc/whatsnew/3.12.rst:1968 msgid ":c:func:`PyVectorcall_NARGS`" -msgstr "" +msgstr ":c:func:`PyVectorcall_NARGS`" #: ../Doc/whatsnew/3.12.rst:1969 msgid ":c:func:`PyVectorcall_Call`" -msgstr "" +msgstr ":c:func:`PyVectorcall_Call`" #: ../Doc/whatsnew/3.12.rst:1970 msgid ":c:type:`vectorcallfunc`" -msgstr "" +msgstr ":c:type:`vectorcallfunc`" #: ../Doc/whatsnew/3.12.rst:1972 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 " -"makes vectorcall safe to use with mutable types (i.e. heap types without the " -"immutable flag, :c:macro:`Py_TPFLAGS_IMMUTABLETYPE`). Mutable types that do " -"not override :c:member:`~PyTypeObject.tp_call` now inherit the " -"``Py_TPFLAGS_HAVE_VECTORCALL`` flag. (Contributed by Petr Viktorin in :gh:" -"`93274`.)" -msgstr "" +"makes vectorcall safe to use with mutable types (i.e. heap types without the" +" immutable flag, :c:macro:`Py_TPFLAGS_IMMUTABLETYPE`). Mutable types that do" +" not override :c:member:`~PyTypeObject.tp_call` now inherit the " +"``Py_TPFLAGS_HAVE_VECTORCALL`` flag. (Contributed by Petr Viktorin in " +":gh:`93274`.)" +msgstr "" +"El indicador :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` ahora se elimina de una " +"clase cuando se reasigna el método :py:meth:`~object.__call__` de la clase. " +"Esto hace que vectorcall sea seguro de usar con tipos mutables (es decir, " +"tipos de montón sin el indicador inmutable, " +":c:macro:`Py_TPFLAGS_IMMUTABLETYPE`). Los tipos mutables que no anulan " +":c:member:`~PyTypeObject.tp_call` ahora heredan el indicador " +"``Py_TPFLAGS_HAVE_VECTORCALL``. (Aportado por Petr Viktorin en :gh:`93274`.)" #: ../Doc/whatsnew/3.12.rst:1980 msgid "" -"The :c:macro:`Py_TPFLAGS_MANAGED_DICT` and :c:macro:" -"`Py_TPFLAGS_MANAGED_WEAKREF` flags have been added. This allows extensions " -"classes to support object ``__dict__`` and weakrefs with less bookkeeping, " -"using less memory and with faster access." +"The :c:macro:`Py_TPFLAGS_MANAGED_DICT` and " +":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` flags have been added. This allows " +"extensions classes to support object ``__dict__`` and weakrefs with less " +"bookkeeping, using less memory and with faster access." msgstr "" +"Se han agregado los indicadores :c:macro:`Py_TPFLAGS_MANAGED_DICT` y " +":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF`. Esto permite que las clases de " +"extensiones admitan el objeto ``__dict__`` y las referencias débiles con " +"menos contabilidad, usando menos memoria y con un acceso más rápido." #: ../Doc/whatsnew/3.12.rst:1985 msgid "" "API for performing calls using :ref:`the vectorcall protocol ` " "was added to the :ref:`Limited API `:" msgstr "" +"Se agregó API para realizar llamadas usando :ref:`the vectorcall protocol " +"` a :ref:`Limited API `:" #: ../Doc/whatsnew/3.12.rst:1989 msgid ":c:func:`PyObject_Vectorcall`" -msgstr "" +msgstr ":c:func:`PyObject_Vectorcall`" #: ../Doc/whatsnew/3.12.rst:1990 msgid ":c:func:`PyObject_VectorcallMethod`" -msgstr "" +msgstr ":c:func:`PyObject_VectorcallMethod`" #: ../Doc/whatsnew/3.12.rst:1991 msgid ":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`" -msgstr "" +msgstr ":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`" #: ../Doc/whatsnew/3.12.rst:1993 msgid "" @@ -3117,14 +4188,22 @@ msgid "" "protocol are now available in the :ref:`Limited API `. (Contributed " "by Wenzel Jakob in :gh:`98586`.)" msgstr "" +"Esto significa que tanto el extremo entrante como el saliente del protocolo " +"de llamada vectorial ahora están disponibles en el :ref:`Limited API " +"`. (Aportado por Wenzel Jakob en :gh:`98586`.)" #: ../Doc/whatsnew/3.12.rst:1997 msgid "" -"Add two new public functions, :c:func:`PyEval_SetProfileAllThreads` and :c:" -"func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling " -"functions in all running threads in addition to the calling one. " +"Add two new public functions, :c:func:`PyEval_SetProfileAllThreads` and " +":c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling" +" functions in all running threads in addition to the calling one. " "(Contributed by Pablo Galindo in :gh:`93503`.)" msgstr "" +"Agregado dos nuevas funciones públicas, :c:func:`PyEval_SetProfileAllThreads`" +" y :c:func:`PyEval_SetTraceAllThreads`, que permiten configurar funciones de" +" seguimiento y creación de perfiles en todos los subprocesos en ejecución " +"además del que realiza la llamada. (Aportado por Pablo Galindo en " +":gh:`93503`.)" #: ../Doc/whatsnew/3.12.rst:2003 msgid "" @@ -3132,22 +4211,32 @@ msgid "" "the vectorcall field of a given :c:type:`PyFunctionObject`. (Contributed by " "Andrew Frost in :gh:`92257`.)" msgstr "" +"Agregado la nueva función :c:func:`PyFunction_SetVectorcall` a la API de C " +"que establece el campo de llamada vectorial de un :c:type:`PyFunctionObject`" +" determinado. (Aportado por Andrew Frost en :gh:`92257`.)" #: ../Doc/whatsnew/3.12.rst:2007 msgid "" -"The C API now permits registering callbacks via :c:func:" -"`PyDict_AddWatcher`, :c:func:`PyDict_Watch` and related APIs to be called " -"whenever a dictionary is modified. This is intended for use by optimizing " -"interpreters, JIT compilers, or debuggers. (Contributed by Carl Meyer in :gh:" -"`91052`.)" +"The C API now permits registering callbacks via :c:func:`PyDict_AddWatcher`," +" :c:func:`PyDict_Watch` and related APIs to be called whenever a dictionary " +"is modified. This is intended for use by optimizing interpreters, JIT " +"compilers, or debuggers. (Contributed by Carl Meyer in :gh:`91052`.)" msgstr "" +"La API de C ahora permite registrar devoluciones de llamada a través de " +":c:func:`PyDict_AddWatcher`, :c:func:`PyDict_Watch` y API relacionadas para " +"ser llamadas cada vez que se modifica un diccionario. Está pensado para " +"optimizar intérpretes, compiladores JIT o depuradores. (Aportado por Carl " +"Meyer en :gh:`91052`.)" #: ../Doc/whatsnew/3.12.rst:2013 msgid "" "Add :c:func:`PyType_AddWatcher` and :c:func:`PyType_Watch` API to register " -"callbacks to receive notification on changes to a type. (Contributed by Carl " -"Meyer in :gh:`91051`.)" +"callbacks to receive notification on changes to a type. (Contributed by Carl" +" Meyer in :gh:`91051`.)" msgstr "" +"Agregado las API :c:func:`PyType_AddWatcher` y :c:func:`PyType_Watch` para " +"registrar devoluciones de llamadas y recibir notificaciones sobre cambios en" +" un tipo. (Aportado por Carl Meyer en :gh:`91051`.)" #: ../Doc/whatsnew/3.12.rst:2017 msgid "" @@ -3155,23 +4244,37 @@ msgid "" "register callbacks to receive notification on creation and destruction of " "code objects. (Contributed by Itamar Oren in :gh:`91054`.)" msgstr "" +"Agregado las API :c:func:`PyCode_AddWatcher` y :c:func:`PyCode_ClearWatcher` " +"para registrar devoluciones de llamadas y recibir notificaciones sobre la " +"creación y destrucción de objetos de código. (Aportado por Itamar Oren en " +":gh:`91054`.)" #: ../Doc/whatsnew/3.12.rst:2022 msgid "" -"Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString` functions to " -"get a frame variable by its name. (Contributed by Victor Stinner in :gh:" -"`91248`.)" +"Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString` functions to" +" get a frame variable by its name. (Contributed by Victor Stinner in " +":gh:`91248`.)" msgstr "" +"Agregado las funciones :c:func:`PyFrame_GetVar` y " +":c:func:`PyFrame_GetVarString` para obtener una variable de marco por su " +"nombre. (Aportado por Victor Stinner en :gh:`91248`.)" #: ../Doc/whatsnew/3.12.rst:2026 msgid "" -"Add :c:func:`PyErr_GetRaisedException` and :c:func:" -"`PyErr_SetRaisedException` for saving and restoring the current exception. " -"These functions return and accept a single exception object, rather than the " -"triple arguments of the now-deprecated :c:func:`PyErr_Fetch` and :c:func:" -"`PyErr_Restore`. This is less error prone and a bit more efficient. " -"(Contributed by Mark Shannon in :gh:`101578`.)" -msgstr "" +"Add :c:func:`PyErr_GetRaisedException` and " +":c:func:`PyErr_SetRaisedException` for saving and restoring the current " +"exception. These functions return and accept a single exception object, " +"rather than the triple arguments of the now-deprecated :c:func:`PyErr_Fetch`" +" and :c:func:`PyErr_Restore`. This is less error prone and a bit more " +"efficient. (Contributed by Mark Shannon in :gh:`101578`.)" +msgstr "" +"Agregado :c:func:`PyErr_GetRaisedException` y " +":c:func:`PyErr_SetRaisedException` para guardar y restaurar la excepción " +"actual. Estas funciones devuelven y aceptan un único objeto de excepción, en" +" lugar de los argumentos triples de los ahora obsoletos " +":c:func:`PyErr_Fetch` y :c:func:`PyErr_Restore`. Esto es menos propenso a " +"errores y un poco más eficiente. (Aportado por Mark Shannon en " +":gh:`101578`.)" #: ../Doc/whatsnew/3.12.rst:2034 msgid "" @@ -3179,14 +4282,21 @@ msgid "" "replace the legacy-API ``_PyErr_ChainExceptions``, which is now deprecated. " "(Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" +"Agregado ``_PyErr_ChainExceptions1``, que toma una instancia de excepción, " +"para reemplazar la API heredada ``_PyErr_ChainExceptions``, que ahora está " +"en desuso. (Aportado por Mark Shannon en :gh:`101578`.)" #: ../Doc/whatsnew/3.12.rst:2038 msgid "" "Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs` as " -"convenience functions for retrieving and modifying the :attr:`~BaseException." -"args` passed to the exception's constructor. (Contributed by Mark Shannon " -"in :gh:`101578`.)" +"convenience functions for retrieving and modifying the " +":attr:`~BaseException.args` passed to the exception's constructor. " +"(Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" +"Agregado :c:func:`PyException_GetArgs` y :c:func:`PyException_SetArgs` como " +"funciones convenientes para recuperar y modificar el " +":attr:`~BaseException.args` pasado al constructor de la excepción. (Aportado" +" por Mark Shannon en :gh:`101578`.)" #: ../Doc/whatsnew/3.12.rst:2043 msgid "" @@ -3194,84 +4304,112 @@ msgid "" "replace the legacy-api :c:func:`!PyErr_Display`. (Contributed by Irit " "Katriel in :gh:`102755`)." msgstr "" +"Agregado :c:func:`PyErr_DisplayException`, que toma una instancia de " +"excepción, para reemplazar la API heredada :c:func:`!PyErr_Display`. " +"(Aportado por Irit Katriel en :gh:`102755`)." #: ../Doc/whatsnew/3.12.rst:2049 msgid "" ":pep:`683`: Introduce *Immortal Objects*, which allows objects to bypass " "reference counts, and related changes to the C-API:" msgstr "" +":pep:`683`: presente *Immortal Objects*, que permite que los objetos omitan " +"los recuentos de referencias y los cambios relacionados en C-API:" #: ../Doc/whatsnew/3.12.rst:2052 msgid "``_Py_IMMORTAL_REFCNT``: The reference count that defines an object" msgstr "" +"``_Py_IMMORTAL_REFCNT``: el recuento de referencias que define un objeto" #: ../Doc/whatsnew/3.12.rst:2053 msgid "as immortal." -msgstr "" +msgstr "como inmortal." #: ../Doc/whatsnew/3.12.rst:2054 msgid "" "``_Py_IsImmortal`` Checks if an object has the immortal reference count." msgstr "" +"``_Py_IsImmortal`` Comprueba si un objeto tiene el recuento de referencia " +"inmortal." #: ../Doc/whatsnew/3.12.rst:2055 msgid "``PyObject_HEAD_INIT`` This will now initialize reference count to" msgstr "" +"``PyObject_HEAD_INIT`` Esto ahora inicializará el recuento de referencias" #: ../Doc/whatsnew/3.12.rst:2056 msgid "``_Py_IMMORTAL_REFCNT`` when used with ``Py_BUILD_CORE``." -msgstr "" +msgstr "``_Py_IMMORTAL_REFCNT`` cuando se utiliza con ``Py_BUILD_CORE``." #: ../Doc/whatsnew/3.12.rst:2057 -msgid "``SSTATE_INTERNED_IMMORTAL`` An identifier for interned unicode objects" +msgid "" +"``SSTATE_INTERNED_IMMORTAL`` An identifier for interned unicode objects" msgstr "" +"``SSTATE_INTERNED_IMMORTAL`` Un identificador para objetos Unicode internos" #: ../Doc/whatsnew/3.12.rst:2058 msgid "that are immortal." -msgstr "" +msgstr "que son inmortales." #: ../Doc/whatsnew/3.12.rst:2059 msgid "``SSTATE_INTERNED_IMMORTAL_STATIC`` An identifier for interned unicode" msgstr "" +"``SSTATE_INTERNED_IMMORTAL_STATIC`` Un identificador para Unicode interno" #: ../Doc/whatsnew/3.12.rst:2060 msgid "objects that are immortal and static" -msgstr "" +msgstr "Objetos inmortales y estáticos." #: ../Doc/whatsnew/3.12.rst:2063 -msgid "``sys.getunicodeinternedsize`` This returns the total number of unicode" +msgid "" +"``sys.getunicodeinternedsize`` This returns the total number of unicode" msgstr "" +"``sys.getunicodeinternedsize`` Esto devuelve el número total de Unicode" #: ../Doc/whatsnew/3.12.rst:2062 msgid "" "objects that have been interned. This is now needed for :file:`refleak.py` " "to correctly track reference counts and allocated blocks" msgstr "" +"objetos que han sido internados. Esto ahora es necesario para que " +":file:`refleak.py` rastree correctamente los recuentos de referencia y los " +"bloques asignados." #: ../Doc/whatsnew/3.12.rst:2065 msgid "(Contributed by Eddie Elizondo in :gh:`84436`.)" -msgstr "" +msgstr "(Contribuido por Eddie Elizondo en :gh:`84436`.)" #: ../Doc/whatsnew/3.12.rst:2067 msgid "" -":pep:`684`: Add the new :c:func:`Py_NewInterpreterFromConfig` function and :" -"c:type:`PyInterpreterConfig`, which may be used to create sub-interpreters " +":pep:`684`: Add the new :c:func:`Py_NewInterpreterFromConfig` function and " +":c:type:`PyInterpreterConfig`, which may be used to create sub-interpreters " "with their own GILs. (See :ref:`whatsnew312-pep684` for more info.) " "(Contributed by Eric Snow in :gh:`104110`.)" msgstr "" +":pep:`684`: agregue la nueva función :c:func:`Py_NewInterpreterFromConfig` y" +" :c:type:`PyInterpreterConfig`, que pueden usarse para crear subintérpretes " +"con sus propios GIL. (Consulte :ref:`whatsnew312-pep684` para obtener más " +"información). (Contribución de Eric Snow en :gh:`104110`.)" #: ../Doc/whatsnew/3.12.rst:2073 msgid "" -"In the limited C API version 3.12, :c:func:`Py_INCREF` and :c:func:" -"`Py_DECREF` functions are now implemented as opaque function calls to hide " -"implementation details. (Contributed by Victor Stinner in :gh:`105387`.)" +"In the limited C API version 3.12, :c:func:`Py_INCREF` and " +":c:func:`Py_DECREF` functions are now implemented as opaque function calls " +"to hide implementation details. (Contributed by Victor Stinner in " +":gh:`105387`.)" msgstr "" +"En la versión limitada de C API 3.12, las funciones :c:func:`Py_INCREF` y " +":c:func:`Py_DECREF` ahora se implementan como llamadas de función opacas " +"para ocultar los detalles de implementación. (Aportado por Victor Stinner en" +" :gh:`105387`.)" #: ../Doc/whatsnew/3.12.rst:2081 msgid "" "Legacy Unicode APIs based on ``Py_UNICODE*`` representation has been " "removed. Please migrate to APIs based on UTF-8 or ``wchar_t*``." msgstr "" +"Se han eliminado las API Unicode heredadas basadas en la representación " +"``Py_UNICODE*``. Migre a API basadas en UTF-8 o ``wchar_t*``." #: ../Doc/whatsnew/3.12.rst:2084 msgid "" @@ -3279,15 +4417,24 @@ msgid "" "``Py_UNICODE*`` based format (e.g. ``u``, ``Z``) anymore. Please migrate to " "other formats for Unicode like ``s``, ``z``, ``es``, and ``U``." msgstr "" +"Las funciones de análisis de argumentos como :c:func:`PyArg_ParseTuple` ya " +"no admiten el formato basado en ``Py_UNICODE*`` (por ejemplo, ``u``, ``Z``)." +" Migre a otros formatos para Unicode como ``s``, ``z``, ``es`` y ``U``." #: ../Doc/whatsnew/3.12.rst:2088 msgid "" "``tp_weaklist`` for all static builtin types is always ``NULL``. This is an " -"internal-only field on ``PyTypeObject`` but we're pointing out the change in " -"case someone happens to be accessing the field directly anyway. To avoid " +"internal-only field on ``PyTypeObject`` but we're pointing out the change in" +" case someone happens to be accessing the field directly anyway. To avoid " "breakage, consider using the existing public C-API instead, or, if " "necessary, the (internal-only) ``_PyObject_GET_WEAKREFS_LISTPTR()`` macro." msgstr "" +"``tp_weaklist`` para todos los tipos integrados estáticos siempre es " +"``NULL``. Este es un campo solo interno en ``PyTypeObject``, pero señalamos " +"el cambio en caso de que alguien acceda al campo directamente de todos " +"modos. Para evitar roturas, considere utilizar la C-API pública existente o," +" si es necesario, la macro ``_PyObject_GET_WEAKREFS_LISTPTR()`` (solo " +"interna)." #: ../Doc/whatsnew/3.12.rst:2095 msgid "" @@ -3296,74 +4443,120 @@ msgid "" "this. We mention this in case someone happens to be accessing the internal-" "only field directly." msgstr "" +"Es posible que este :c:member:`PyTypeObject.tp_subclasses` solo interno ya " +"no sea un puntero de objeto válido. Su tipo se cambió a :c:expr:`void *` " +"para reflejar esto. Mencionamos esto en caso de que alguien acceda " +"directamente al campo interno." #: ../Doc/whatsnew/3.12.rst:2100 msgid "" -"To get a list of subclasses, call the Python method :py:meth:`~class." -"__subclasses__` (using :c:func:`PyObject_CallMethod`, for example)." +"To get a list of subclasses, call the Python method " +":py:meth:`~class.__subclasses__` (using :c:func:`PyObject_CallMethod`, for " +"example)." msgstr "" +"Para obtener una lista de subclases, llame al método Python " +":py:meth:`~class.__subclasses__` (usando :c:func:`PyObject_CallMethod`, por " +"ejemplo)." #: ../Doc/whatsnew/3.12.rst:2104 msgid "" "Add support of more formatting options (left aligning, octals, uppercase " "hexadecimals, :c:type:`intmax_t`, :c:type:`ptrdiff_t`, :c:type:`wchar_t` C " -"strings, variable width and precision) in :c:func:`PyUnicode_FromFormat` " -"and :c:func:`PyUnicode_FromFormatV`. (Contributed by Serhiy Storchaka in :gh:" -"`98836`.)" +"strings, variable width and precision) in :c:func:`PyUnicode_FromFormat` and" +" :c:func:`PyUnicode_FromFormatV`. (Contributed by Serhiy Storchaka in " +":gh:`98836`.)" msgstr "" +"Agregado soporte para más opciones de formato (alineación a la izquierda, " +"octales, hexadecimales en mayúsculas, cadenas :c:type:`intmax_t`, " +":c:type:`ptrdiff_t`, :c:type:`wchar_t` C, ancho variable y precisión) en " +":c:func:`PyUnicode_FromFormat` y :c:func:`PyUnicode_FromFormatV`. (Aportado " +"por Serhiy Storchaka en :gh:`98836`.)" #: ../Doc/whatsnew/3.12.rst:2110 msgid "" -"An unrecognized format character in :c:func:`PyUnicode_FromFormat` and :c:" -"func:`PyUnicode_FromFormatV` now sets a :exc:`SystemError`. In previous " +"An unrecognized format character in :c:func:`PyUnicode_FromFormat` and " +":c:func:`PyUnicode_FromFormatV` now sets a :exc:`SystemError`. In previous " "versions it caused all the rest of the format string to be copied as-is to " -"the result string, and any extra arguments discarded. (Contributed by Serhiy " -"Storchaka in :gh:`95781`.)" +"the result string, and any extra arguments discarded. (Contributed by Serhiy" +" Storchaka in :gh:`95781`.)" msgstr "" +"Un carácter de formato no reconocido en :c:func:`PyUnicode_FromFormat` y " +":c:func:`PyUnicode_FromFormatV` ahora establece un :exc:`SystemError`. En " +"versiones anteriores, provocaba que el resto de la cadena de formato se " +"copiara tal cual en la cadena de resultado y se descartaran los argumentos " +"adicionales. (Aportado por Serhiy Storchaka en :gh:`95781`.)" #: ../Doc/whatsnew/3.12.rst:2116 msgid "" -"Fix wrong sign placement in :c:func:`PyUnicode_FromFormat` and :c:func:" -"`PyUnicode_FromFormatV`. (Contributed by Philip Georgi in :gh:`95504`.)" +"Fix wrong sign placement in :c:func:`PyUnicode_FromFormat` and " +":c:func:`PyUnicode_FromFormatV`. (Contributed by Philip Georgi in " +":gh:`95504`.)" msgstr "" +"Se corrigió la ubicación incorrecta de los letreros en " +":c:func:`PyUnicode_FromFormat` y :c:func:`PyUnicode_FromFormatV`. (Aportado " +"por Philip Georgi en :gh:`95504`.)" #: ../Doc/whatsnew/3.12.rst:2120 msgid "" "Extension classes wanting to add a ``__dict__`` or weak reference slot " -"should use :c:macro:`Py_TPFLAGS_MANAGED_DICT` and :c:macro:" -"`Py_TPFLAGS_MANAGED_WEAKREF` instead of ``tp_dictoffset`` and " +"should use :c:macro:`Py_TPFLAGS_MANAGED_DICT` and " +":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead of ``tp_dictoffset`` and " "``tp_weaklistoffset``, respectively. The use of ``tp_dictoffset`` and " "``tp_weaklistoffset`` is still supported, but does not fully support " "multiple inheritance (:gh:`95589`), and performance may be worse. Classes " -"declaring :c:macro:`Py_TPFLAGS_MANAGED_DICT` should call :c:func:`!" -"_PyObject_VisitManagedDict` and :c:func:`!_PyObject_ClearManagedDict` to " -"traverse and clear their instance's dictionaries. To clear weakrefs, call :c:" -"func:`PyObject_ClearWeakRefs`, as before." -msgstr "" +"declaring :c:macro:`Py_TPFLAGS_MANAGED_DICT` should call " +":c:func:`!_PyObject_VisitManagedDict` and " +":c:func:`!_PyObject_ClearManagedDict` to traverse and clear their instance's" +" dictionaries. To clear weakrefs, call :c:func:`PyObject_ClearWeakRefs`, as " +"before." +msgstr "" +"Las clases de extensión que deseen agregar un ``__dict__`` o una ranura de " +"referencia débil deben usar :c:macro:`Py_TPFLAGS_MANAGED_DICT` y " +":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` en lugar de ``tp_dictoffset`` y " +"``tp_weaklistoffset``, respectivamente. El uso de ``tp_dictoffset`` y " +"``tp_weaklistoffset`` aún se admite, pero no es totalmente compatible con la" +" herencia múltiple (:gh:`95589`) y el rendimiento puede ser peor. Las clases" +" que declaran :c:macro:`Py_TPFLAGS_MANAGED_DICT` deben llamar a " +":c:func:`!_PyObject_VisitManagedDict` y " +":c:func:`!_PyObject_ClearManagedDict` para recorrer y borrar los " +"diccionarios de su instancia. Para borrar referencias débiles, llame a " +":c:func:`PyObject_ClearWeakRefs`, como antes." #: ../Doc/whatsnew/3.12.rst:2132 msgid "" "The :c:func:`PyUnicode_FSDecoder` function no longer accepts bytes-like " -"paths, like :class:`bytearray` and :class:`memoryview` types: only the " -"exact :class:`bytes` type is accepted for bytes strings. (Contributed by " -"Victor Stinner in :gh:`98393`.)" +"paths, like :class:`bytearray` and :class:`memoryview` types: only the exact" +" :class:`bytes` type is accepted for bytes strings. (Contributed by Victor " +"Stinner in :gh:`98393`.)" msgstr "" +"La función :c:func:`PyUnicode_FSDecoder` ya no acepta rutas de tipo bytes, " +"como los tipos :class:`bytearray` y :class:`memoryview`: solo se acepta el " +"tipo :class:`bytes` exacto para cadenas de bytes. (Aportado por Victor " +"Stinner en :gh:`98393`.)" #: ../Doc/whatsnew/3.12.rst:2137 msgid "" "The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and :c:macro:`Py_XSETREF` " "macros now only evaluate their arguments once. If an argument has side " -"effects, these side effects are no longer duplicated. (Contributed by Victor " -"Stinner in :gh:`98724`.)" +"effects, these side effects are no longer duplicated. (Contributed by Victor" +" Stinner in :gh:`98724`.)" msgstr "" +"Las macros :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` y :c:macro:`Py_XSETREF`" +" ahora solo evalúan sus argumentos una vez. Si un argumento tiene efectos " +"secundarios, estos efectos secundarios ya no se duplican. (Aportado por " +"Victor Stinner en :gh:`98724`.)" #: ../Doc/whatsnew/3.12.rst:2142 msgid "" -"The interpreter's error indicator is now always normalized. This means that :" -"c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` and the other functions " -"that set the error indicator now normalize the exception before storing it. " -"(Contributed by Mark Shannon in :gh:`101578`.)" +"The interpreter's error indicator is now always normalized. This means that " +":c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` and the other functions" +" that set the error indicator now normalize the exception before storing it." +" (Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" +"El indicador de error del intérprete ahora siempre está normalizado. Esto " +"significa que :c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` y las " +"otras funciones que configuran el indicador de error ahora normalizan la " +"excepción antes de almacenarla. (Aportado por Mark Shannon en :gh:`101578`.)" #: ../Doc/whatsnew/3.12.rst:2147 msgid "" @@ -3372,24 +4565,30 @@ msgid "" "debug builds. If you happen to be using it then you'll need to start using " "``_Py_GetGlobalRefTotal()``." msgstr "" +"``_Py_RefTotal`` ya no tiene autoridad y solo se conserva por compatibilidad" +" con ABI. Tenga en cuenta que es un global interno y solo está disponible en" +" compilaciones de depuración. Si lo está utilizando, deberá comenzar a " +"utilizar ``_Py_GetGlobalRefTotal()``." #: ../Doc/whatsnew/3.12.rst:2152 msgid "" "The following functions now select an appropriate metaclass for the newly " "created type:" msgstr "" +"Las siguientes funciones ahora seleccionan una metaclase apropiada para el " +"tipo recién creado:" #: ../Doc/whatsnew/3.12.rst:2155 msgid ":c:func:`PyType_FromSpec`" -msgstr "" +msgstr ":c:func:`PyType_FromSpec`" #: ../Doc/whatsnew/3.12.rst:2156 msgid ":c:func:`PyType_FromSpecWithBases`" -msgstr "" +msgstr ":c:func:`PyType_FromSpecWithBases`" #: ../Doc/whatsnew/3.12.rst:2157 msgid ":c:func:`PyType_FromModuleAndSpec`" -msgstr "" +msgstr ":c:func:`PyType_FromModuleAndSpec`" #: ../Doc/whatsnew/3.12.rst:2159 msgid "" @@ -3398,13 +4597,20 @@ msgid "" "functions ignore ``tp_new`` of the metaclass, possibly allowing incomplete " "initialization." msgstr "" +"La creación de clases cuya metaclase anule :c:member:`~PyTypeObject.tp_new` " +"está en desuso y en Python 3.14+ no estará permitida. Tenga en cuenta que " +"estas funciones ignoran ``tp_new`` de la metaclase, lo que posiblemente " +"permita una inicialización incompleta." #: ../Doc/whatsnew/3.12.rst:2164 msgid "" "Note that :c:func:`PyType_FromMetaclass` (added in Python 3.12) already " -"disallows creating classes whose metaclass overrides ``tp_new`` (:meth:" -"`~object.__new__` in Python)." +"disallows creating classes whose metaclass overrides ``tp_new`` " +"(:meth:`~object.__new__` in Python)." msgstr "" +"Tenga en cuenta que :c:func:`PyType_FromMetaclass` (agregado en Python 3.12)" +" ya no permite la creación de clases cuya metaclase anule ``tp_new`` " +"(:meth:`~object.__new__` en Python)." #: ../Doc/whatsnew/3.12.rst:2168 msgid "" @@ -3414,24 +4620,36 @@ msgid "" "since (meta)classes assume that ``tp_new`` was called. There is no simple " "general workaround. One of the following may work for you:" msgstr "" +"Dado que ``tp_new`` anula casi todo lo que hacen las funciones " +"``PyType_From*``, las dos son incompatibles entre sí. El comportamiento " +"existente (ignorar la metaclase durante varios pasos de la creación de " +"tipos) no es seguro en general, ya que las (meta)clases suponen que se llamó" +" a ``tp_new``. No existe una solución general sencilla. Uno de los " +"siguientes puede funcionar para usted:" #: ../Doc/whatsnew/3.12.rst:2175 msgid "If you control the metaclass, avoid using ``tp_new`` in it:" -msgstr "" +msgstr "Si controlas la metaclase, evita usar ``tp_new`` en ella:" #: ../Doc/whatsnew/3.12.rst:2177 msgid "" -"If initialization can be skipped, it can be done in :c:member:`~PyTypeObject." -"tp_init` instead." +"If initialization can be skipped, it can be done in " +":c:member:`~PyTypeObject.tp_init` instead." msgstr "" +"Si se puede omitir la inicialización, se puede realizar en " +":c:member:`~PyTypeObject.tp_init`." #: ../Doc/whatsnew/3.12.rst:2179 msgid "" "If the metaclass doesn't need to be instantiated from Python, set its " -"``tp_new`` to ``NULL`` using the :c:macro:" -"`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag. This makes it acceptable for " -"``PyType_From*`` functions." +"``tp_new`` to ``NULL`` using the " +":c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag. This makes it acceptable " +"for ``PyType_From*`` functions." msgstr "" +"Si no es necesario crear una instancia de la metaclase desde Python, " +"configure su ``tp_new`` en ``NULL`` usando el indicador " +":c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION`. Esto lo hace aceptable para " +"funciones ``PyType_From*``." #: ../Doc/whatsnew/3.12.rst:2184 msgid "" @@ -3439,12 +4657,17 @@ msgid "" "(slots or setting the instance size), create types by :ref:`calling ` " "the metaclass." msgstr "" +"Evite las funciones ``PyType_From*``: si no necesita funciones específicas " +"de C (ranuras o configuración del tamaño de la instancia), cree tipos " +"mediante la metaclase :ref:`calling `." #: ../Doc/whatsnew/3.12.rst:2188 msgid "" "If you *know* the ``tp_new`` can be skipped safely, filter the deprecation " "warning out using :func:`warnings.catch_warnings` from Python." msgstr "" +"Si *know* puede omitir ``tp_new`` de forma segura, filtre la advertencia de " +"obsolescencia usando :func:`warnings.catch_warnings` de Python." #: ../Doc/whatsnew/3.12.rst:2191 msgid "" @@ -3453,6 +4676,11 @@ msgid "" "because clients generally rely on process-wide global state (since these " "callbacks have no way of recovering extension module state)." msgstr "" +":c:var:`PyOS_InputHook` y :c:var:`PyOS_ReadlineFunctionPointer` ya no se " +"llaman en :ref:`subinterpreters `. Esto se debe a " +"que los clientes generalmente dependen del estado global de todo el proceso " +"(ya que estas devoluciones de llamada no tienen forma de recuperar el estado" +" del módulo de extensión)." #: ../Doc/whatsnew/3.12.rst:2196 msgid "" @@ -3460,219 +4688,281 @@ msgid "" "a subinterpreter that they don't support (or haven't yet been loaded in). " "See :gh:`104668` for more info." msgstr "" +"Esto también evita situaciones en las que las extensiones pueden encontrarse" +" ejecutándose en un subintérprete que no admiten (o que aún no se han " +"cargado). Consulte :gh:`104668` para obtener más información." #: ../Doc/whatsnew/3.12.rst:2200 msgid "" ":c:struct:`PyLongObject` has had its internals changed for better " -"performance. Although the internals of :c:struct:`PyLongObject` are private, " -"they are used by some extension modules. The internal fields should no " -"longer be accessed directly, instead the API functions beginning ``PyLong_..." -"`` should be used instead. Two new *unstable* API functions are provided for " -"efficient access to the value of :c:struct:`PyLongObject`\\s which fit into " -"a single machine word:" -msgstr "" +"performance. Although the internals of :c:struct:`PyLongObject` are private," +" they are used by some extension modules. The internal fields should no " +"longer be accessed directly, instead the API functions beginning " +"``PyLong_...`` should be used instead. Two new *unstable* API functions are " +"provided for efficient access to the value of :c:struct:`PyLongObject`\\s " +"which fit into a single machine word:" +msgstr "" +":c:struct:`PyLongObject` ha tenido cambios internos para un mejor " +"rendimiento. Aunque las partes internas de :c:struct:`PyLongObject` son " +"privadas, algunos módulos de extensión las utilizan. Ya no se debe acceder " +"directamente a los campos internos, sino que se deben utilizar las funciones" +" API que comienzan con ``PyLong_...``. Se proporcionan dos nuevas funciones " +"API *unstable* para un acceso eficiente al valor de " +":c:struct:`PyLongObject`\\s que cabe en una sola palabra de máquina:" #: ../Doc/whatsnew/3.12.rst:2208 msgid ":c:func:`PyUnstable_Long_IsCompact`" -msgstr "" +msgstr ":c:func:`PyUnstable_Long_IsCompact`" #: ../Doc/whatsnew/3.12.rst:2209 msgid ":c:func:`PyUnstable_Long_CompactValue`" -msgstr "" +msgstr ":c:func:`PyUnstable_Long_CompactValue`" #: ../Doc/whatsnew/3.12.rst:2211 msgid "" -"Custom allocators, set via :c:func:`PyMem_SetAllocator`, are now required to " -"be thread-safe, regardless of memory domain. Allocators that don't have " +"Custom allocators, set via :c:func:`PyMem_SetAllocator`, are now required to" +" be thread-safe, regardless of memory domain. Allocators that don't have " "their own state, including \"hooks\", are not affected. If your custom " "allocator is not already thread-safe and you need guidance then please " "create a new GitHub issue and CC ``@ericsnowcurrently``." msgstr "" +"Ahora se requiere que los asignadores personalizados, configurados a través " +"de :c:func:`PyMem_SetAllocator`, sean seguros para subprocesos, " +"independientemente del dominio de memoria. Los asignadores que no tienen su " +"propio estado, incluidos los \"ganchos\", no se ven afectados. Si su " +"asignador personalizado aún no es seguro para subprocesos y necesita " +"orientación, cree una nueva incidencia en GitHub y CC " +"``@ericsnowcurrently``." #: ../Doc/whatsnew/3.12.rst:2221 msgid "" -"In accordance with :pep:`699`, the ``ma_version_tag`` field in :c:type:" -"`PyDictObject` is deprecated for extension modules. Accessing this field " -"will generate a compiler warning at compile time. This field will be removed " -"in Python 3.14. (Contributed by Ramvikrams and Kumar Aditya in :gh:`101193`. " -"PEP by Ken Jin.)" +"In accordance with :pep:`699`, the ``ma_version_tag`` field in " +":c:type:`PyDictObject` is deprecated for extension modules. Accessing this " +"field will generate a compiler warning at compile time. This field will be " +"removed in Python 3.14. (Contributed by Ramvikrams and Kumar Aditya in " +":gh:`101193`. PEP by Ken Jin.)" msgstr "" +"De acuerdo con :pep:`699`, el campo ``ma_version_tag`` en " +":c:type:`PyDictObject` está obsoleto para los módulos de extensión. Acceder " +"a este campo generará una advertencia del compilador en el momento de la " +"compilación. Este campo se eliminará en Python 3.14. (Contribución de " +"Ramvikrams y Kumar Aditya en :gh:`101193`. PEP de Ken Jin.)" #: ../Doc/whatsnew/3.12.rst:2226 msgid "Deprecate global configuration variable:" -msgstr "" +msgstr "Desaprobar la variable de configuración global:" #: ../Doc/whatsnew/3.12.rst:2228 ../Doc/whatsnew/3.12.rst:2313 msgid ":c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`" -msgstr "" +msgstr ":c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`" #: ../Doc/whatsnew/3.12.rst:2229 ../Doc/whatsnew/3.12.rst:2314 msgid ":c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`" -msgstr "" +msgstr ":c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`" #: ../Doc/whatsnew/3.12.rst:2230 ../Doc/whatsnew/3.12.rst:2315 msgid ":c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`" -msgstr "" +msgstr ":c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`" #: ../Doc/whatsnew/3.12.rst:2231 ../Doc/whatsnew/3.12.rst:2316 msgid ":c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`" -msgstr "" +msgstr ":c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`" #: ../Doc/whatsnew/3.12.rst:2232 ../Doc/whatsnew/3.12.rst:2317 msgid ":c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`" -msgstr "" +msgstr ":c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`" #: ../Doc/whatsnew/3.12.rst:2233 ../Doc/whatsnew/3.12.rst:2318 msgid ":c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`" -msgstr "" +msgstr ":c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`" #: ../Doc/whatsnew/3.12.rst:2234 ../Doc/whatsnew/3.12.rst:2319 msgid ":c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`" -msgstr "" +msgstr ":c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`" #: ../Doc/whatsnew/3.12.rst:2235 ../Doc/whatsnew/3.12.rst:2320 msgid ":c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`" -msgstr "" +msgstr ":c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`" #: ../Doc/whatsnew/3.12.rst:2236 ../Doc/whatsnew/3.12.rst:2321 msgid ":c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`" -msgstr "" +msgstr ":c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`" #: ../Doc/whatsnew/3.12.rst:2237 ../Doc/whatsnew/3.12.rst:2322 msgid "" ":c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`" msgstr "" +":c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`" #: ../Doc/whatsnew/3.12.rst:2238 ../Doc/whatsnew/3.12.rst:2323 msgid "" ":c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`" msgstr "" +":c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`" #: ../Doc/whatsnew/3.12.rst:2239 ../Doc/whatsnew/3.12.rst:2324 msgid "" -":c:var:`Py_NoUserSiteDirectory`: use :c:member:`PyConfig.user_site_directory`" +":c:var:`Py_NoUserSiteDirectory`: use " +":c:member:`PyConfig.user_site_directory`" msgstr "" +":c:var:`Py_NoUserSiteDirectory`: use " +":c:member:`PyConfig.user_site_directory`" #: ../Doc/whatsnew/3.12.rst:2240 ../Doc/whatsnew/3.12.rst:2325 msgid "" ":c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`" msgstr "" +":c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`" #: ../Doc/whatsnew/3.12.rst:2241 ../Doc/whatsnew/3.12.rst:2326 msgid "" ":c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed` " "and :c:member:`PyConfig.hash_seed`" msgstr "" +":c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed` y " +":c:member:`PyConfig.hash_seed`" #: ../Doc/whatsnew/3.12.rst:2243 ../Doc/whatsnew/3.12.rst:2328 msgid ":c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`" -msgstr "" +msgstr ":c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`" #: ../Doc/whatsnew/3.12.rst:2244 ../Doc/whatsnew/3.12.rst:2329 msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: use :c:member:`PyPreConfig." -"legacy_windows_fs_encoding`" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: use " +":c:member:`PyPreConfig.legacy_windows_fs_encoding`" msgstr "" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: use " +":c:member:`PyPreConfig.legacy_windows_fs_encoding`" #: ../Doc/whatsnew/3.12.rst:2245 ../Doc/whatsnew/3.12.rst:2330 msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: use :c:member:`PyConfig." -"legacy_windows_stdio`" +":c:var:`Py_LegacyWindowsStdioFlag`: use " +":c:member:`PyConfig.legacy_windows_stdio`" msgstr "" +":c:var:`Py_LegacyWindowsStdioFlag`: use " +":c:member:`PyConfig.legacy_windows_stdio`" #: ../Doc/whatsnew/3.12.rst:2246 ../Doc/whatsnew/3.12.rst:2331 msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`: use :c:member:`PyConfig." -"filesystem_encoding`" +":c:var:`!Py_FileSystemDefaultEncoding`: use " +":c:member:`PyConfig.filesystem_encoding`" msgstr "" +":c:var:`!Py_FileSystemDefaultEncoding`: use " +":c:member:`PyConfig.filesystem_encoding`" #: ../Doc/whatsnew/3.12.rst:2247 ../Doc/whatsnew/3.12.rst:2332 msgid "" -":c:var:`!Py_HasFileSystemDefaultEncoding`: use :c:member:`PyConfig." -"filesystem_encoding`" +":c:var:`!Py_HasFileSystemDefaultEncoding`: use " +":c:member:`PyConfig.filesystem_encoding`" msgstr "" +":c:var:`!Py_HasFileSystemDefaultEncoding`: use " +":c:member:`PyConfig.filesystem_encoding`" #: ../Doc/whatsnew/3.12.rst:2248 ../Doc/whatsnew/3.12.rst:2333 msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: use :c:member:`PyConfig." -"filesystem_errors`" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: use " +":c:member:`PyConfig.filesystem_errors`" msgstr "" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: use " +":c:member:`PyConfig.filesystem_errors`" #: ../Doc/whatsnew/3.12.rst:2249 ../Doc/whatsnew/3.12.rst:2334 msgid "" -":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see :c:func:" -"`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see " +":c:func:`Py_PreInitialize`)" msgstr "" +":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (ver " +":c:func:`Py_PreInitialize`)" #: ../Doc/whatsnew/3.12.rst:2251 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" -"`PyConfig` instead. (Contributed by Victor Stinner in :gh:`77782`.)" +"The :c:func:`Py_InitializeFromConfig` API should be used with " +":c:type:`PyConfig` instead. (Contributed by Victor Stinner in :gh:`77782`.)" msgstr "" +"La API :c:func:`Py_InitializeFromConfig` debe usarse con :c:type:`PyConfig` " +"en su lugar. (Aportado por Victor Stinner en :gh:`77782`.)" #: ../Doc/whatsnew/3.12.rst:2255 msgid "" "Creating :c:data:`immutable types ` with mutable " "bases is deprecated and will be disabled in Python 3.14. (:gh:`95388`)" msgstr "" +"La creación de :c:data:`immutable types ` con " +"bases mutables está obsoleta y se deshabilitará en Python 3.14. " +"(:gh:`95388`)" #: ../Doc/whatsnew/3.12.rst:2258 msgid "" "The :file:`structmember.h` header is deprecated, though it continues to be " "available and there are no plans to remove it." msgstr "" +"El encabezado :file:`structmember.h` está en desuso, aunque sigue estando " +"disponible y no hay planes para eliminarlo." #: ../Doc/whatsnew/3.12.rst:2261 msgid "" "Its contents are now available just by including :file:`Python.h`, with a " "``Py`` prefix added if it was missing:" msgstr "" +"Su contenido ahora está disponible simplemente incluyendo :file:`Python.h`, " +"con un prefijo ``Py`` agregado si faltara:" #: ../Doc/whatsnew/3.12.rst:2264 msgid "" -":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` and :c:func:" -"`PyMember_SetOne`" +":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` and " +":c:func:`PyMember_SetOne`" msgstr "" +":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` y " +":c:func:`PyMember_SetOne`" #: ../Doc/whatsnew/3.12.rst:2266 msgid "" "Type macros like :c:macro:`Py_T_INT`, :c:macro:`Py_T_DOUBLE`, etc. " "(previously ``T_INT``, ``T_DOUBLE``, etc.)" msgstr "" +"Escriba macros como :c:macro:`Py_T_INT`, :c:macro:`Py_T_DOUBLE`, etc. " +"(anteriormente ``T_INT``, ``T_DOUBLE``, etc.)" #: ../Doc/whatsnew/3.12.rst:2268 msgid "" -"The flags :c:macro:`Py_READONLY` (previously ``READONLY``) and :c:macro:" -"`Py_AUDIT_READ` (previously all uppercase)" +"The flags :c:macro:`Py_READONLY` (previously ``READONLY``) and " +":c:macro:`Py_AUDIT_READ` (previously all uppercase)" msgstr "" +"Las banderas :c:macro:`Py_READONLY` (anteriormente ``READONLY``) y " +":c:macro:`Py_AUDIT_READ` (anteriormente todas en mayúsculas)" #: ../Doc/whatsnew/3.12.rst:2271 msgid "Several items are not exposed from :file:`Python.h`:" -msgstr "" +msgstr "Varios elementos no están expuestos desde :file:`Python.h`:" #: ../Doc/whatsnew/3.12.rst:2273 msgid ":c:macro:`T_OBJECT` (use :c:macro:`Py_T_OBJECT_EX`)" -msgstr "" +msgstr ":c:macro:`T_OBJECT` (use :c:macro:`Py_T_OBJECT_EX`)" #: ../Doc/whatsnew/3.12.rst:2274 msgid ":c:macro:`T_NONE` (previously undocumented, and pretty quirky)" -msgstr "" +msgstr ":c:macro:`T_NONE` (anteriormente indocumentado y bastante peculiar)" #: ../Doc/whatsnew/3.12.rst:2275 msgid "The macro ``WRITE_RESTRICTED`` which does nothing." -msgstr "" +msgstr "La macro ``WRITE_RESTRICTED`` que no hace nada." #: ../Doc/whatsnew/3.12.rst:2276 msgid "" -"The macros ``RESTRICTED`` and ``READ_RESTRICTED``, equivalents of :c:macro:" -"`Py_AUDIT_READ`." +"The macros ``RESTRICTED`` and ``READ_RESTRICTED``, equivalents of " +":c:macro:`Py_AUDIT_READ`." msgstr "" +"Las macros ``RESTRICTED`` y ``READ_RESTRICTED``, equivalentes a " +":c:macro:`Py_AUDIT_READ`." #: ../Doc/whatsnew/3.12.rst:2278 msgid "" -"In some configurations, ```` is not included from :file:`Python." -"h`. It should be included manually when using ``offsetof()``." +"In some configurations, ```` is not included from " +":file:`Python.h`. It should be included manually when using ``offsetof()``." msgstr "" +"En algunas configuraciones, ```` no se incluye en " +":file:`Python.h`. Debe incluirse manualmente cuando se utiliza " +"``offsetof()``." #: ../Doc/whatsnew/3.12.rst:2281 msgid "" @@ -3680,279 +4970,339 @@ msgid "" "original names. Your old code can stay unchanged, unless the extra include " "and non-namespaced macros bother you greatly." msgstr "" +"El encabezado obsoleto continúa proporcionando su contenido original con los" +" nombres originales. Su código antiguo puede permanecer sin cambios, a menos" +" que las macros de inclusión y sin espacio de nombres adicionales le " +"molesten mucho." #: ../Doc/whatsnew/3.12.rst:2286 msgid "" "(Contributed in :gh:`47146` by Petr Viktorin, based on earlier work by " "Alexander Belopolsky and Matthias Braun.)" msgstr "" +"(Contribuido en :gh:`47146` por Petr Viktorin, basado en trabajos anteriores" +" de Alexander Belopolsky y Matthias Braun.)" #: ../Doc/whatsnew/3.12.rst:2289 msgid "" -":c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` are deprecated. Use :c:" -"func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException` " +":c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` are deprecated. Use " +":c:func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException` " "instead. (Contributed by Mark Shannon in :gh:`101578`.)" msgstr "" +":c:func:`PyErr_Fetch` y :c:func:`PyErr_Restore` están en desuso. Utilice " +":c:func:`PyErr_GetRaisedException` y :c:func:`PyErr_SetRaisedException` en " +"su lugar. (Aportado por Mark Shannon en :gh:`101578`.)" #: ../Doc/whatsnew/3.12.rst:2294 msgid "" -":c:func:`!PyErr_Display` is deprecated. Use :c:func:`PyErr_DisplayException` " -"instead. (Contributed by Irit Katriel in :gh:`102755`)." +":c:func:`!PyErr_Display` is deprecated. Use :c:func:`PyErr_DisplayException`" +" instead. (Contributed by Irit Katriel in :gh:`102755`)." msgstr "" +":c:func:`!PyErr_Display` está en desuso. Utilice " +":c:func:`PyErr_DisplayException` en su lugar. (Aportado por Irit Katriel en " +":gh:`102755`)." #: ../Doc/whatsnew/3.12.rst:2297 msgid "" "``_PyErr_ChainExceptions`` is deprecated. Use ``_PyErr_ChainExceptions1`` " "instead. (Contributed by Irit Katriel in :gh:`102192`.)" msgstr "" +"``_PyErr_ChainExceptions`` está en desuso. Utilice " +"``_PyErr_ChainExceptions1`` en su lugar. (Aportado por Irit Katriel en " +":gh:`102192`.)" #: ../Doc/whatsnew/3.12.rst:2300 msgid "" -"Using :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` or :c:" -"func:`PyType_FromModuleAndSpec` to create a class whose metaclass overrides :" -"c:member:`~PyTypeObject.tp_new` is deprecated. Call the metaclass instead." +"Using :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` or " +":c:func:`PyType_FromModuleAndSpec` to create a class whose metaclass " +"overrides :c:member:`~PyTypeObject.tp_new` is deprecated. Call the metaclass" +" instead." msgstr "" +"El uso de :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` o " +":c:func:`PyType_FromModuleAndSpec` para crear una clase cuya metaclase anula" +" :c:member:`~PyTypeObject.tp_new` está en desuso. En su lugar, llame a la " +"metaclase." #: ../Doc/whatsnew/3.12.rst:2308 msgid "" -"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules " -"(:pep:`699`; :gh:`101193`)." +"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules" +" (:pep:`699`; :gh:`101193`)." msgstr "" +"El campo ``ma_version_tag`` en :c:type:`PyDictObject` para módulos de " +"extensión (:pep:`699`; :gh:`101193`)." #: ../Doc/whatsnew/3.12.rst:2311 msgid "Global configuration variables:" -msgstr "" +msgstr "Variables de configuración globales:" #: ../Doc/whatsnew/3.12.rst:2336 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" -"`PyConfig` instead." +"The :c:func:`Py_InitializeFromConfig` API should be used with " +":c:type:`PyConfig` instead." msgstr "" +"La API :c:func:`Py_InitializeFromConfig` debe usarse con :c:type:`PyConfig` " +"en su lugar." #: ../Doc/whatsnew/3.12.rst:2339 msgid "" "Creating :c:data:`immutable types ` with mutable " "bases (:gh:`95388`)." msgstr "" +"Creando :c:data:`immutable types ` con bases " +"mutables (:gh:`95388`)." #: ../Doc/whatsnew/3.12.rst:2343 msgid "Pending Removal in Python 3.15" -msgstr "" +msgstr "Eliminación pendiente en Python 3.15" #: ../Doc/whatsnew/3.12.rst:2345 msgid "" ":c:func:`PyImport_ImportModuleNoBlock`: use :c:func:`PyImport_ImportModule`" msgstr "" +":c:func:`PyImport_ImportModuleNoBlock`: utilizar " +":c:func:`PyImport_ImportModule`" #: ../Doc/whatsnew/3.12.rst:2346 msgid ":c:type:`!Py_UNICODE_WIDE` type: use :c:type:`wchar_t`" -msgstr "" +msgstr "Tipo :c:type:`!Py_UNICODE_WIDE`: use :c:type:`wchar_t`" #: ../Doc/whatsnew/3.12.rst:2347 msgid ":c:type:`Py_UNICODE` type: use :c:type:`wchar_t`" -msgstr "" +msgstr "Tipo :c:type:`Py_UNICODE`: use :c:type:`wchar_t`" #: ../Doc/whatsnew/3.12.rst:2348 msgid "Python initialization functions:" -msgstr "" +msgstr "Funciones de inicialización de Python:" #: ../Doc/whatsnew/3.12.rst:2350 msgid "" -":c:func:`PySys_ResetWarnOptions`: clear :data:`sys.warnoptions` and :data:`!" -"warnings.filters`" +":c:func:`PySys_ResetWarnOptions`: clear :data:`sys.warnoptions` and " +":data:`!warnings.filters`" msgstr "" +":c:func:`PySys_ResetWarnOptions`: borrar :data:`sys.warnoptions` y " +":data:`!warnings.filters`" #: ../Doc/whatsnew/3.12.rst:2352 msgid ":c:func:`Py_GetExecPrefix`: get :data:`sys.exec_prefix`" -msgstr "" +msgstr ":c:func:`Py_GetExecPrefix`: obtener :data:`sys.exec_prefix`" #: ../Doc/whatsnew/3.12.rst:2353 msgid ":c:func:`Py_GetPath`: get :data:`sys.path`" -msgstr "" +msgstr ":c:func:`Py_GetPath`: obtener :data:`sys.path`" #: ../Doc/whatsnew/3.12.rst:2354 msgid ":c:func:`Py_GetPrefix`: get :data:`sys.prefix`" -msgstr "" +msgstr ":c:func:`Py_GetPrefix`: obtener :data:`sys.prefix`" #: ../Doc/whatsnew/3.12.rst:2355 msgid ":c:func:`Py_GetProgramFullPath`: get :data:`sys.executable`" -msgstr "" +msgstr ":c:func:`Py_GetProgramFullPath`: obtener :data:`sys.executable`" #: ../Doc/whatsnew/3.12.rst:2356 msgid ":c:func:`Py_GetProgramName`: get :data:`sys.executable`" -msgstr "" +msgstr ":c:func:`Py_GetProgramName`: obtener :data:`sys.executable`" #: ../Doc/whatsnew/3.12.rst:2357 msgid "" -":c:func:`Py_GetPythonHome`: get :c:member:`PyConfig.home` or the :envvar:" -"`PYTHONHOME` environment variable" +":c:func:`Py_GetPythonHome`: get :c:member:`PyConfig.home` or the " +":envvar:`PYTHONHOME` environment variable" msgstr "" +":c:func:`Py_GetPythonHome`: obtenga :c:member:`PyConfig.home` o la variable " +"de entorno :envvar:`PYTHONHOME`" #: ../Doc/whatsnew/3.12.rst:2363 msgid "" "The following APIs are deprecated and will be removed, although there is " "currently no date scheduled for their removal." msgstr "" +"Las siguientes API están obsoletas y se eliminarán, aunque actualmente no " +"hay una fecha programada para su eliminación." #: ../Doc/whatsnew/3.12.rst:2366 msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: unneeded since Python 3.8" -msgstr "" +msgstr ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: innecesario desde Python 3.8" #: ../Doc/whatsnew/3.12.rst:2367 msgid ":c:func:`PyErr_Fetch`: use :c:func:`PyErr_GetRaisedException`" -msgstr "" +msgstr ":c:func:`PyErr_Fetch`: utilizar :c:func:`PyErr_GetRaisedException`" #: ../Doc/whatsnew/3.12.rst:2368 msgid "" ":c:func:`PyErr_NormalizeException`: use :c:func:`PyErr_GetRaisedException`" msgstr "" +":c:func:`PyErr_NormalizeException`: utilizar " +":c:func:`PyErr_GetRaisedException`" #: ../Doc/whatsnew/3.12.rst:2369 msgid ":c:func:`PyErr_Restore`: use :c:func:`PyErr_SetRaisedException`" -msgstr "" +msgstr ":c:func:`PyErr_Restore`: utilizar :c:func:`PyErr_SetRaisedException`" #: ../Doc/whatsnew/3.12.rst:2370 msgid "" ":c:func:`PyModule_GetFilename`: use :c:func:`PyModule_GetFilenameObject`" msgstr "" +":c:func:`PyModule_GetFilename`: utilizar " +":c:func:`PyModule_GetFilenameObject`" #: ../Doc/whatsnew/3.12.rst:2371 msgid ":c:func:`PyOS_AfterFork`: use :c:func:`PyOS_AfterFork_Child`" -msgstr "" +msgstr ":c:func:`PyOS_AfterFork`: utilizar :c:func:`PyOS_AfterFork_Child`" #: ../Doc/whatsnew/3.12.rst:2372 msgid "" -":c:func:`PySlice_GetIndicesEx`: use :c:func:`PySlice_Unpack` and :c:func:" -"`PySlice_AdjustIndices`" +":c:func:`PySlice_GetIndicesEx`: use :c:func:`PySlice_Unpack` and " +":c:func:`PySlice_AdjustIndices`" msgstr "" +":c:func:`PySlice_GetIndicesEx`: utilice :c:func:`PySlice_Unpack` y " +":c:func:`PySlice_AdjustIndices`" #: ../Doc/whatsnew/3.12.rst:2373 msgid ":c:func:`!PyUnicode_AsDecodedObject`: use :c:func:`PyCodec_Decode`" msgstr "" +":c:func:`!PyUnicode_AsDecodedObject`: utilizar :c:func:`PyCodec_Decode`" #: ../Doc/whatsnew/3.12.rst:2374 msgid ":c:func:`!PyUnicode_AsDecodedUnicode`: use :c:func:`PyCodec_Decode`" msgstr "" +":c:func:`!PyUnicode_AsDecodedUnicode`: utilizar :c:func:`PyCodec_Decode`" #: ../Doc/whatsnew/3.12.rst:2375 msgid ":c:func:`!PyUnicode_AsEncodedObject`: use :c:func:`PyCodec_Encode`" msgstr "" +":c:func:`!PyUnicode_AsEncodedObject`: utilizar :c:func:`PyCodec_Encode`" #: ../Doc/whatsnew/3.12.rst:2376 msgid ":c:func:`!PyUnicode_AsEncodedUnicode`: use :c:func:`PyCodec_Encode`" msgstr "" +":c:func:`!PyUnicode_AsEncodedUnicode`: utilizar :c:func:`PyCodec_Encode`" #: ../Doc/whatsnew/3.12.rst:2377 msgid ":c:func:`PyUnicode_READY`: unneeded since Python 3.12" -msgstr "" +msgstr ":c:func:`PyUnicode_READY`: innecesario desde Python 3.12" #: ../Doc/whatsnew/3.12.rst:2378 msgid ":c:func:`!PyErr_Display`: use :c:func:`PyErr_DisplayException`" -msgstr "" +msgstr ":c:func:`!PyErr_Display`: utilizar :c:func:`PyErr_DisplayException`" #: ../Doc/whatsnew/3.12.rst:2379 msgid ":c:func:`!_PyErr_ChainExceptions`: use ``_PyErr_ChainExceptions1``" msgstr "" +":c:func:`!_PyErr_ChainExceptions`: utilizar ``_PyErr_ChainExceptions1``" #: ../Doc/whatsnew/3.12.rst:2380 msgid "" ":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " "instead" msgstr "" +"Miembro :c:member:`!PyBytesObject.ob_shash`: llame a :c:func:`PyObject_Hash`" +" en su lugar" #: ../Doc/whatsnew/3.12.rst:2382 msgid ":c:member:`!PyDictObject.ma_version_tag` member" -msgstr "" +msgstr "Miembro :c:member:`!PyDictObject.ma_version_tag`" #: ../Doc/whatsnew/3.12.rst:2383 msgid "Thread Local Storage (TLS) API:" -msgstr "" +msgstr "API de almacenamiento local de subprocesos (TLS):" #: ../Doc/whatsnew/3.12.rst:2385 msgid ":c:func:`PyThread_create_key`: use :c:func:`PyThread_tss_alloc`" -msgstr "" +msgstr ":c:func:`PyThread_create_key`: utilizar :c:func:`PyThread_tss_alloc`" #: ../Doc/whatsnew/3.12.rst:2386 msgid ":c:func:`PyThread_delete_key`: use :c:func:`PyThread_tss_free`" -msgstr "" +msgstr ":c:func:`PyThread_delete_key`: utilizar :c:func:`PyThread_tss_free`" #: ../Doc/whatsnew/3.12.rst:2387 msgid ":c:func:`PyThread_set_key_value`: use :c:func:`PyThread_tss_set`" -msgstr "" +msgstr ":c:func:`PyThread_set_key_value`: utilizar :c:func:`PyThread_tss_set`" #: ../Doc/whatsnew/3.12.rst:2388 msgid ":c:func:`PyThread_get_key_value`: use :c:func:`PyThread_tss_get`" -msgstr "" +msgstr ":c:func:`PyThread_get_key_value`: utilizar :c:func:`PyThread_tss_get`" #: ../Doc/whatsnew/3.12.rst:2389 msgid ":c:func:`PyThread_delete_key_value`: use :c:func:`PyThread_tss_delete`" msgstr "" +":c:func:`PyThread_delete_key_value`: utilizar :c:func:`PyThread_tss_delete`" #: ../Doc/whatsnew/3.12.rst:2390 msgid ":c:func:`PyThread_ReInitTLS`: unneeded since Python 3.7" -msgstr "" +msgstr ":c:func:`PyThread_ReInitTLS`: innecesario desde Python 3.7" #: ../Doc/whatsnew/3.12.rst:2395 msgid "" -"Remove the :file:`token.h` header file. There was never any public tokenizer " -"C API. The :file:`token.h` header file was only designed to be used by " +"Remove the :file:`token.h` header file. There was never any public tokenizer" +" C API. The :file:`token.h` header file was only designed to be used by " "Python internals. (Contributed by Victor Stinner in :gh:`92651`.)" msgstr "" +"Elimine el archivo de encabezado :file:`token.h`. Nunca hubo ninguna API C " +"de tokenizador público. El archivo de encabezado :file:`token.h` solo fue " +"diseñado para ser utilizado por componentes internos de Python. (Aportado " +"por Victor Stinner en :gh:`92651`.)" #: ../Doc/whatsnew/3.12.rst:2400 msgid "Legacy Unicode APIs have been removed. See :pep:`623` for detail." msgstr "" +"Se han eliminado las API Unicode heredadas. Consulte :pep:`623` para obtener" +" más detalles." #: ../Doc/whatsnew/3.12.rst:2402 msgid ":c:macro:`!PyUnicode_WCHAR_KIND`" -msgstr "" +msgstr ":c:macro:`!PyUnicode_WCHAR_KIND`" #: ../Doc/whatsnew/3.12.rst:2403 msgid ":c:func:`!PyUnicode_AS_UNICODE`" -msgstr "" +msgstr ":c:func:`!PyUnicode_AS_UNICODE`" #: ../Doc/whatsnew/3.12.rst:2404 msgid ":c:func:`!PyUnicode_AsUnicode`" -msgstr "" +msgstr ":c:func:`!PyUnicode_AsUnicode`" #: ../Doc/whatsnew/3.12.rst:2405 msgid ":c:func:`!PyUnicode_AsUnicodeAndSize`" -msgstr "" +msgstr ":c:func:`!PyUnicode_AsUnicodeAndSize`" #: ../Doc/whatsnew/3.12.rst:2406 msgid ":c:func:`!PyUnicode_AS_DATA`" -msgstr "" +msgstr ":c:func:`!PyUnicode_AS_DATA`" #: ../Doc/whatsnew/3.12.rst:2407 msgid ":c:func:`!PyUnicode_FromUnicode`" -msgstr "" +msgstr ":c:func:`!PyUnicode_FromUnicode`" #: ../Doc/whatsnew/3.12.rst:2408 msgid ":c:func:`!PyUnicode_GET_SIZE`" -msgstr "" +msgstr ":c:func:`!PyUnicode_GET_SIZE`" #: ../Doc/whatsnew/3.12.rst:2409 msgid ":c:func:`!PyUnicode_GetSize`" -msgstr "" +msgstr ":c:func:`!PyUnicode_GetSize`" #: ../Doc/whatsnew/3.12.rst:2410 msgid ":c:func:`!PyUnicode_GET_DATA_SIZE`" -msgstr "" +msgstr ":c:func:`!PyUnicode_GET_DATA_SIZE`" #: ../Doc/whatsnew/3.12.rst:2412 msgid "" "Remove the ``PyUnicode_InternImmortal()`` function macro. (Contributed by " "Victor Stinner in :gh:`85858`.)" msgstr "" +"Elimine la macro de función ``PyUnicode_InternImmortal()``. (Aportado por " +"Victor Stinner en :gh:`85858`.)" #: ../Doc/whatsnew/3.12.rst:2415 msgid "" -"Remove ``Jython`` compatibility hacks from several stdlib modules and tests. " -"(Contributed by Nikita Sobolev in :gh:`99482`.)" +"Remove ``Jython`` compatibility hacks from several stdlib modules and tests." +" (Contributed by Nikita Sobolev in :gh:`99482`.)" msgstr "" +"Elimine los trucos de compatibilidad ``Jython`` de varios módulos y pruebas " +"stdlib. (Aportado por Nikita Sobolev en :gh:`99482`.)" #: ../Doc/whatsnew/3.12.rst:2418 msgid "" -"Remove ``_use_broken_old_ctypes_structure_semantics_`` flag from :mod:" -"`ctypes` module. (Contributed by Nikita Sobolev in :gh:`99285`.)" +"Remove ``_use_broken_old_ctypes_structure_semantics_`` flag from " +":mod:`ctypes` module. (Contributed by Nikita Sobolev in :gh:`99285`.)" msgstr "" +"Elimine el indicador ``_use_broken_old_ctypes_structure_semantics_`` del " +"módulo :mod:`ctypes`. (Aportado por Nikita Sobolev en :gh:`99285`.)"