From 5e95bd0160d1721cc5b3330beee362b02cb275f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 5 Apr 2024 17:05:56 +0200 Subject: [PATCH 01/63] Traducido reference/datamodel (#2267) Closes #1901 --------- Co-authored-by: Carlos A. Crespo --- dictionaries/reference_datamodel.txt | 13 +- reference/datamodel.po | 1454 +++++++++++++------------- 2 files changed, 744 insertions(+), 723 deletions(-) diff --git a/dictionaries/reference_datamodel.txt b/dictionaries/reference_datamodel.txt index 7c3677fd9b..54eab3418d 100644 --- a/dictionaries/reference_datamodel.txt +++ b/dictionaries/reference_datamodel.txt @@ -1,3 +1,14 @@ +argcount +awaitable +classcell +consts +empaquetándolos +firstlineno +kwdefaults +lasti +nlocals objects +posonlyargcount +stacksize +varnames zero -awaitable diff --git a/reference/datamodel.po b/reference/datamodel.po index ea7c19e14d..2d183989e1 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -13,9 +13,8 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2021-12-09 23:44-0300\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" @@ -279,7 +278,7 @@ msgid "" msgstr "" "Este tipo tiene un solo valor. Hay un solo objeto con este valor. Se accede " "a este objeto a través del nombre integrado ``NotImplemented``. Los métodos " -"numéricos y los métodos de comparación enriquecidos deben devolver este " +"numéricos y los métodos de comparación enriquecidos deben retornar este " "valor si no implementan la operación para los operandos proporcionados. (El " "intérprete intentará entonces la operación reflejada, o alguna otra " "alternativa, dependiendo del operador). No debe evaluarse en un contexto " @@ -334,14 +333,14 @@ msgstr "" "numérica en las computadoras." #: ../Doc/reference/datamodel.rst:200 -#, fuzzy msgid "" "The string representations of the numeric classes, computed by :meth:" "`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" -"Las representaciones de cadena de las clases numéricas, calculadas por :meth:" -"`__repr__` y :meth:`__str__`, tienen las siguientes propiedades:" +"Las representaciones de cadena de caracteres de las clases numéricas, " +"calculadas por :meth:`~object.__repr__` y :meth:`~object.__str__`, tienen " +"las siguientes propiedades:" #: ../Doc/reference/datamodel.rst:204 msgid "" @@ -571,6 +570,17 @@ msgid "" "`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " "to achieve the opposite." msgstr "" +"Una cadena es una secuencia de valores que representan puntos de código " +"Unicode. Todos los puntos de código en el rango ``U+0000 - U+10FFFF`` se " +"pueden representar en una cadena. Python no tiene un tipo :c:expr:`char`; en " +"su lugar, cada punto de código de la cadena se representa como un objeto de " +"cadena con una longitud ``1``. La función integrada :func:`ord` convierte un " +"punto de código de su forma de cadena a un entero en el rango ``0 - " +"10FFFF``; :func:`chr` convierte un entero en el rango ``0 - 10FFFF`` al " +"objeto de cadena ``1`` de longitud correspondiente. :meth:`str.encode` se " +"puede usar para convertir un :class:`str` a :class:`bytes` usando la " +"codificación de texto dada, y :meth:`bytes.decode` se puede usar para lograr " +"lo contrario." #: ../Doc/reference/datamodel.rst:366 msgid "Tuples" @@ -630,6 +640,8 @@ msgid "" "The :mod:`collections` and :mod:`array` module provide additional examples " "of mutable sequence types." msgstr "" +"Los módulos :mod:`collections` y :mod:`array` proporcionan ejemplos " +"adicionales de tipos de secuencias mutables." #: ../Doc/reference/datamodel.rst:399 msgid "There are currently two intrinsic mutable sequence types:" @@ -997,15 +1009,16 @@ msgstr "" "palabras clave." #: ../Doc/reference/datamodel.rst:613 ../Doc/reference/datamodel.rst:954 -#, fuzzy msgid ":attr:`__type_params__`" -msgstr ":attr:`__name__`" +msgstr ":attr:`__type_params__`" #: ../Doc/reference/datamodel.rst:613 msgid "" "A tuple containing the :ref:`type parameters ` of a :ref:" "`generic function `." msgstr "" +"Una tupla que contiene el :ref:`type parameters ` de un :ref:" +"`generic function `." #: ../Doc/reference/datamodel.rst:620 msgid "" @@ -1178,7 +1191,6 @@ msgid "Generator functions" msgstr "Funciones generadoras" #: ../Doc/reference/datamodel.rst:710 -#, fuzzy msgid "" "A function or method which uses the :keyword:`yield` statement (see section :" "ref:`yield`) is called a :dfn:`generator function`. Such a function, when " @@ -1190,15 +1202,15 @@ msgid "" "exception is raised and the iterator will have reached the end of the set of " "values to be returned." msgstr "" -"Una función o método que utiliza la declaración :keyword:`yield` (ver " -"sección :ref:`yield`) se llama :dfn:`generator function`. Dicha función, " -"cuando es invocada, siempre retorna un objeto iterador que puede ser " -"utilizado para ejecutar el cuerpo de la función: invocando el método " -"iterador :meth:`iterator.__next__` hará que la función se ejecute hasta " -"proporcionar un valor utilizando la declaración :keyword:`!yield`. Cuando " -"la función ejecuta una declaración :keyword:`return` o llega hasta el final, " -"una excepción :exc:`StopIteration` es lanzada y el iterador habrá llegado al " -"final del conjunto de valores a ser retornados." +"Una función o método que utiliza la instrucción :keyword:`yield` (consulte " +"la sección :ref:`yield`) se denomina :dfn:`función generadora`. Una función " +"de este tipo, cuando se llama, siempre retorna un objeto :term:`iterator` " +"que se puede usar para ejecutar el cuerpo de la función: llamar al método :" +"meth:`iterator.__next__` del iterador hará que la función se ejecute hasta " +"que proporcione un valor usando la instrucción :keyword:`!yield`. Cuando la " +"función ejecuta una instrucción :keyword:`return` o se sale del final, se " +"genera una excepción :exc:`StopIteration` y el iterador habrá llegado al " +"final del conjunto de valores que se retornarán." #: ../Doc/reference/datamodel.rst:722 msgid "Coroutine functions" @@ -1223,7 +1235,6 @@ msgid "Asynchronous generator functions" msgstr "Funciones generadoras asincrónicas" #: ../Doc/reference/datamodel.rst:741 -#, fuzzy msgid "" "A function or method which is defined using :keyword:`async def` and which " "uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator " @@ -1231,14 +1242,13 @@ msgid "" "iterator` object which can be used in an :keyword:`async for` statement to " "execute the body of the function." msgstr "" -"Una función o método que es definido usando :keyword:`async def` y que " -"utiliza la declaración :keyword:`yield` se llama :dfn:`asynchronous " -"generator function`. Dicha función, al ser invocada, retorna un objeto " -"iterador asincrónico que puede ser utilizado en una declaración :keyword:" +"Una función o método que se define usando :keyword:`async def` y que usa la " +"declaración :keyword:`yield` se llama :dfn:`función generadora asíncrona`. " +"Una función de este tipo, cuando se llama, retorna un objeto :term:" +"`asynchronous iterator` que se puede utilizar en una instrucción :keyword:" "`async for` para ejecutar el cuerpo de la función." #: ../Doc/reference/datamodel.rst:747 -#, fuzzy msgid "" "Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will " @@ -1248,12 +1258,12 @@ msgid "" "asynchronous iterator will have reached the end of the set of values to be " "yielded." msgstr "" -"Invocando el método del iterador asincrónico :meth:`aiterator.__anext__` " -"retornará un :term:`awaitable` que al ser esperado se ejecutará hasta " -"proporcionar un valor utilizando la expresión :keyword:`yield`. Cuando la " -"función ejecuta una declaración :keyword:`return` vacía o llega a su final, " -"una excepción :exc:`StopAsyncIteration` es lanzada y el iterador asincrónico " -"habrá llegado al final del conjunto de valores a ser producidos." +"Llamar al método :meth:`aiterator.__anext__ ` del iterador " +"asíncrono retornará un :term:`awaitable` que, cuando se espere, se ejecutará " +"hasta que proporcione un valor utilizando la expresión :keyword:`yield`. " +"Cuando la función ejecuta una instrucción :keyword:`return` vacía o se sale " +"del final, se genera una excepción :exc:`StopAsyncIteration` y el iterador " +"asincrónico habrá llegado al final del conjunto de valores que se generarán." #: ../Doc/reference/datamodel.rst:758 msgid "Built-in functions" @@ -1305,7 +1315,6 @@ msgid "Classes" msgstr "Clases" #: ../Doc/reference/datamodel.rst:793 -#, fuzzy msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " @@ -1313,24 +1322,23 @@ msgid "" "meth:`__new__` and, in the typical case, to :meth:`~object.__init__` to " "initialize the new instance." msgstr "" -"Las clases son invocables. Estos objetos normalmente actúan como fábricas " -"de nuevas instancias de ellos mismos, pero las variaciones son posibles para " -"los tipos de clases que anulan :meth:`__new__`. Los argumentos de la " -"invocación son pasados a :meth:`__new__` y, en el caso típico, a :meth:" -"`__init__` para iniciar la nueva instancia." +"Las clases son invocables. Estos objetos normalmente actúan como fábricas " +"para nuevas instancias de sí mismos, pero son posibles variaciones para los " +"tipos de clases que anulan :meth:`~object.__new__`. Los argumentos de la " +"llamada se pasan a :meth:`__new__` y, en el caso típico, a :meth:`~object." +"__init__` para inicializar la nueva instancia." #: ../Doc/reference/datamodel.rst:801 msgid "Class Instances" msgstr "Instancias de clases" #: ../Doc/reference/datamodel.rst:803 -#, fuzzy msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`~object.__call__` method in their class." msgstr "" "Las instancias de clases arbitrarias se pueden hacer invocables definiendo " -"el método :meth:`__call__` en su clase." +"un método :meth:`~object.__call__` en su clase." #: ../Doc/reference/datamodel.rst:808 msgid "Modules" @@ -1554,13 +1562,14 @@ msgid "" "A tuple containing the :ref:`type parameters ` of a :ref:" "`generic class `." msgstr "" +"Una tupla que contiene el :ref:`type parameters ` de un :ref:" +"`generic class `." #: ../Doc/reference/datamodel.rst:957 msgid "Class instances" msgstr "Instancias de clase" #: ../Doc/reference/datamodel.rst:965 -#, fuzzy msgid "" "A class instance is created by calling a class object (see above). A class " "instance has a namespace implemented as a dictionary which is the first " @@ -1576,34 +1585,33 @@ msgid "" "class attribute is found, and the object's class has a :meth:`~object." "__getattr__` method, that is called to satisfy the lookup." msgstr "" -"Una instancia de clase es creado al invocar un objeto de clase (ver " -"arriba). Una instancia de clase tiene implementado un espacio de nombres " -"como diccionario que es el primer lugar en el que se buscan referencias de " -"atributos. Cuando un atributo no es encontrado ahí, y la clase de instancia " -"tiene un atributo con ese nombre, la búsqueda continúa con los atributos de " -"clase. Si se encuentra que un atributo de clase es un objeto de función " -"definido por el usuario, es transformado en un objeto de método de instancia " -"cuyo atributo :attr:`__self__` es la instancia. Los objetos de método y " -"método de clase estáticos también son transformados; ver más adelante debajo " -"de “Clases”. Ver sección :ref:`descriptors` para otra forma en la que los " -"atributos de una clase obtenida a través de sus instancias puede diferir de " -"los objetos realmente almacenados en el :attr:`~object.__dict__` de la " -"clase. Si no se encuentra ningún atributo de clase, y la clase del objeto " -"tiene un método :meth:`__getattr__`, éste es llamado para satisfacer la " -"búsqueda." +"Una instancia de clase se crea llamando a un objeto de clase (ver arriba). " +"Una instancia de clase tiene un espacio de nombres implementado como un " +"diccionario, que es el primer lugar en el que se buscan las referencias de " +"atributos. Cuando no se encuentra un atributo allí y la clase de la " +"instancia tiene un atributo con ese nombre, la búsqueda continúa con los " +"atributos de la clase. Si se encuentra un atributo de clase que es un objeto " +"de función definido por el usuario, se transforma en un objeto de método de " +"instancia cuyo atributo :attr:`__self__` es la instancia. Los objetos de " +"métodos estáticos y de clases también se transforman; consulte más arriba en " +"\"Clases\". Consulte la sección :ref:`descriptors` para conocer otra forma " +"en la que los atributos de una clase recuperados a través de sus instancias " +"pueden diferir de los objetos realmente almacenados en el :attr:`~object." +"__dict__` de la clase. Si no se encuentra ningún atributo de clase y la " +"clase del objeto tiene un método :meth:`~object.__getattr__`, se llama para " +"satisfacer la búsqueda." #: ../Doc/reference/datamodel.rst:981 -#, fuzzy msgid "" "Attribute assignments and deletions update the instance's dictionary, never " "a class's dictionary. If the class has a :meth:`~object.__setattr__` or :" "meth:`~object.__delattr__` method, this is called instead of updating the " "instance dictionary directly." msgstr "" -"Asignación y eliminación de atributos actualizan el diccionario de la " -"instancia, nunca el diccionario de la clase. Si la clase tiene un método :" -"meth:`__setattr__` o :meth:`__delattr__`, éste es invocado en lugar de " -"actualizar el diccionario de la instancia directamente." +"Las asignaciones y eliminaciones de atributos actualizan el diccionario de " +"la instancia, nunca el diccionario de una clase. Si la clase tiene un " +"método :meth:`~object.__setattr__` o :meth:`~object.__delattr__`, se llama a " +"este en lugar de actualizar el diccionario de instancia directamente." #: ../Doc/reference/datamodel.rst:991 msgid "" @@ -1694,7 +1702,6 @@ msgstr "" "objetos mutables." #: ../Doc/reference/datamodel.rst:1078 -#, fuzzy msgid "" "Special read-only attributes: :attr:`co_name` gives the function name; :attr:" "`co_qualname` gives the fully qualified function name; :attr:`co_argcount` " @@ -1719,28 +1726,31 @@ msgid "" "the required stack size; :attr:`co_flags` is an integer encoding a number of " "flags for the interpreter." msgstr "" -"Atributos especiales de solo lectura: :attr:`co_name` da el nombre de la " +"Atributos especiales de solo lectura: :attr:`co_name` proporciona el nombre " +"de la función; :attr:`co_qualname` proporciona el nombre completo de la " "función; :attr:`co_argcount` es el número total de argumentos posicionales " -"(incluyendo argumentos únicamente posicionales y argumentos con valores por " -"default); :attr:`co_posonlyargcount` es el número de argumentos únicamente " -"posicionales (incluyendo argumentos con valores por default); :attr:" -"`co_kwonlyargcountp` es el número de argumentos solo de palabra clave " -"(incluyendo argumentos con valores por default); :attr:`co_nlocals` es el " -"número de variables usadas por la función (incluyendo argumentos); :attr:" -"`co_varnames` es una tupla que contiene los nombres con las variables " -"locales (empezando con los nombres de argumento); :attr:`co_cellvars` es una " -"tupla que contiene los nombres de variables locales que son referenciadas " -"por funciones anidadas; :attr:`co_freevars` es una tupla que contiene los " -"nombres de variables libres; :attr:`co_code` es una cadena que representa la " -"secuencia de instrucciones de bytecode; :attr:`co_consts` es una tupla que " -"contiene las literales usadas por el bytecode; :attr:`co_names` es una tupla " -"que contiene los nombres usados por el bytecode; :attr:`co_filename` es el " -"nombre de archivo de donde el código fue compilado; :attr:`co_firstlineno` " -"es el primer número de línea de la función; :attr:`co_lnotab` es una cadena " -"codificando el mapeo desde el desplazamiento de bytecode al número de líneas " -"(ver el código fuente del intérprete para más detalles); :attr:" -"`co_stacksize` es el tamaño de pila requerido; :attr:`co_flags` es un entero " -"codificando el número de banderas para el intérprete." +"(incluidos los argumentos solo posicionales y los argumentos con valores " +"predeterminados); :attr:`co_posonlyargcount` es el número de argumentos solo " +"posicionales (incluidos los argumentos con valores predeterminados); :attr:" +"`co_kwonlyargcount` es el número de argumentos de solo palabras clave " +"(incluidos los argumentos con valores predeterminados); :attr:`co_nlocals` " +"es el número de variables locales utilizadas por la función (incluidos los " +"argumentos); :attr:`co_varnames` es una tupla que contiene los nombres de " +"las variables locales (comenzando con los nombres de los argumentos); :attr:" +"`co_cellvars` es una tupla que contiene los nombres de las variables locales " +"a las que hacen referencia las funciones anidadas; :attr:`co_freevars` es " +"una tupla que contiene los nombres de las variables libres; :attr:`co_code` " +"es una cadena que representa la secuencia de instrucciones de código de " +"bytes; :attr:`co_consts` es una tupla que contiene los literales utilizados " +"por el código de bytes; :attr:`co_names` es una tupla que contiene los " +"nombres utilizados por el código de bytes; :attr:`co_filename` es el nombre " +"del archivo a partir del cual se compiló el código; :attr:`co_firstlineno` " +"es el número de primera línea de la función; :attr:`co_lnotab` es una cadena " +"que codifica la asignación de desplazamientos de código de bytes a números " +"de línea (para obtener más detalles, consulte el código fuente del " +"intérprete, está en desuso desde 3.12 y puede eliminarse en 3.14); :attr:" +"`co_stacksize` es el tamaño de pila requerido; :attr:`co_flags` es un número " +"entero que codifica una serie de indicadores para el intérprete." #: ../Doc/reference/datamodel.rst:1104 msgid "" @@ -1790,6 +1800,8 @@ msgid "" "Returns an iterable over the source code positions of each bytecode " "instruction in the code object." msgstr "" +"Retorna un iterable sobre las posiciones del código fuente de cada " +"instrucción de código de bytes en el objeto de código." #: ../Doc/reference/datamodel.rst:1128 msgid "" @@ -1798,36 +1810,48 @@ msgid "" "the source code that compiled to the *i-th* instruction. Column information " "is 0-indexed utf-8 byte offsets on the given source line." msgstr "" +"El iterador retorna tuplas que contienen ``(start_line, end_line, " +"start_column, end_column)``. La tupla *i-th* corresponde a la posición del " +"código fuente que se compiló en la instrucción *i-th*. La información de la " +"columna son compensaciones de utf-8 bytes indexadas en 0 en la línea de " +"origen dada." #: ../Doc/reference/datamodel.rst:1134 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" msgstr "" +"Esta información posicional puede faltar. Una lista no exhaustiva de casos " +"en los que esto puede suceder:" #: ../Doc/reference/datamodel.rst:1137 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." -msgstr "" +msgstr "Ejecutando el intérprete con :option:`-X` ``no_debug_ranges``." #: ../Doc/reference/datamodel.rst:1138 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" +"Cargando un archivo pyc compilado usando :option:`-X` ``no_debug_ranges``." #: ../Doc/reference/datamodel.rst:1139 msgid "Position tuples corresponding to artificial instructions." -msgstr "" +msgstr "Tuplas de posición correspondientes a instrucciones artificiales." #: ../Doc/reference/datamodel.rst:1140 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." msgstr "" +"Números de línea y columna que no se pueden representar debido a " +"limitaciones específicas de la implementación." #: ../Doc/reference/datamodel.rst:1143 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" +"Cuando esto ocurre, algunos o todos los elementos de la tupla pueden ser :" +"const:`None`." #: ../Doc/reference/datamodel.rst:1149 msgid "" @@ -1838,6 +1862,13 @@ msgid "" "``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` " "environment variable can be used." msgstr "" +"Esta función requiere el almacenamiento de posiciones de columna en objetos " +"de código, lo que puede resultar en un pequeño aumento del uso del disco de " +"archivos de Python compilados o del uso de la memoria del intérprete. Para " +"evitar almacenar la información extra y/o desactivar la impresión de la " +"información extra de seguimiento, se puede usar el indicador de línea de " +"comando :option:`-X` ``no_debug_ranges`` o la variable de entorno :envvar:" +"`PYTHONNODEBUGRANGES`." #: ../Doc/reference/datamodel.rst:1160 msgid "Frame objects" @@ -2041,13 +2072,12 @@ msgid "Slice objects" msgstr "Objetos de segmento (Slice objects)" #: ../Doc/reference/datamodel.rst:1294 -#, fuzzy msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." msgstr "" -"Los objetos de segmento son utilizados para representar segmentos para " -"métodos :meth:`__getitem__`. También son creados por la función incorporada :" +"Los objetos de sector se utilizan para representar sectores para métodos :" +"meth:`~object.__getitem__`. También son creados por la función integrada :" "func:`slice`." #: ../Doc/reference/datamodel.rst:1303 @@ -2130,7 +2160,6 @@ msgid "Special method names" msgstr "Nombres especiales de método" #: ../Doc/reference/datamodel.rst:1350 -#, fuzzy msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " @@ -2143,20 +2172,19 @@ msgid "" "appropriate method is defined (typically :exc:`AttributeError` or :exc:" "`TypeError`)." msgstr "" -"Una clase puede implementar ciertas operaciones que son invocadas por " -"sintaxis especiales (como operaciones aritméticas o de sub-índice y " -"segmentación) definiendo métodos con nombres especiales. Este es el enfoque " -"de Python hacia :dfn:`operator overloading`, permitiendo a las clases " -"definir su propio comportamiento con respecto a los operadores del lenguaje. " -"Por ejemplo, si una clase define un método llamado :meth:`__getitem__`, y " -"``x`` es una instancia de esta clase, entonces ``x[i]`` es aproximadamente " -"equivalente a ``type(x).__getitem__(x, i)``. A excepción de donde se " -"menciona, los intentos por ejecutar una operación lanzan una excepción " -"cuando no es definido un método apropiado (normalmente :exc:`AttributeError` " -"o :exc:`TypeError`)." +"Una clase puede implementar ciertas operaciones que se invocan mediante una " +"sintaxis especial (como operaciones aritméticas o subíndices y divisiones) " +"definiendo métodos con nombres especiales. Este es el enfoque de Python " +"para :dfn:`sobrecarga de operadores`, permitiendo a las clases definir su " +"propio comportamiento con respecto a los operadores del lenguaje. Por " +"ejemplo, si una clase define un método denominado :meth:`~object." +"__getitem__` y ``x`` es una instancia de esta clase, entonces ``x[i]`` es " +"aproximadamente equivalente a ``type(x).__getitem__(x, i)``. Excepto donde " +"se mencione, los intentos de ejecutar una operación generan una excepción " +"cuando no se define ningún método apropiado (normalmente :exc:" +"`AttributeError` o :exc:`TypeError`)." #: ../Doc/reference/datamodel.rst:1361 -#, fuzzy msgid "" "Setting a special method to ``None`` indicates that the corresponding " "operation is not available. For example, if a class sets :meth:`~object." @@ -2164,11 +2192,11 @@ msgid "" "its instances will raise a :exc:`TypeError` (without falling back to :meth:" "`~object.__getitem__`). [#]_" msgstr "" -"Estableciendo un método especial a ``None`` indica que la operación " -"correspondiente no se encuentra disponible. Por ejemplo, si una clase " -"establece :meth:`__iter__` a ``None``, la clase no es iterable, así que " -"llamando :func:`iter` en sus instancias lanzará un :exc:`TypeError` (sin " -"volver a :meth:`__getitem__`). [#]_" +"Establecer un método especial en ``None`` indica que la operación " +"correspondiente no está disponible. Por ejemplo, si una clase establece :" +"meth:`~object.__iter__` en ``None``, la clase no es iterable, por lo que " +"llamar a :func:`iter` en sus instancias generará un :exc:`TypeError` (sin " +"recurrir a :meth:`~object.__getitem__`). [#]_" #: ../Doc/reference/datamodel.rst:1367 msgid "" @@ -2209,17 +2237,16 @@ msgstr "" "(normalmente una instancia de *cls*)." #: ../Doc/reference/datamodel.rst:1391 -#, fuzzy msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " "with appropriate arguments and then modifying the newly created instance as " "necessary before returning it." msgstr "" -"Implementaciones típicas crean una nueva instancia de la clase invocando el " -"método :meth:`__new__` de la súper clase utilizando ``super().__new__(cls[, " -"…])`` con argumentos apropiados y después modificando la recién creada " -"instancia como necesaria antes de retornarla." +"Las implementaciones típicas crean una nueva instancia de la clase invocando " +"el método :meth:`__new__` de la superclase usando ``super()." +"__new__(cls[, ...])`` con los argumentos apropiados y luego modificando la " +"instancia recién creada según sea necesario antes de retornarla." #: ../Doc/reference/datamodel.rst:1396 msgid "" @@ -2343,6 +2370,14 @@ msgid "" "references its own traceback, which references the locals of all frames " "caught in the traceback." msgstr "" +"Es posible que un ciclo de referencia evite que el recuento de referencia de " +"un objeto llegue a cero. En este caso, el ciclo será posteriormente " +"detectado y eliminado por el :term:`cyclic garbage collector `. Una causa común de los ciclos de referencia es cuando se " +"detecta una excepción en una variable local. Luego, los locales del marco " +"hacen referencia a la excepción, que hace referencia a su propio rastreo, " +"que hace referencia a los locales de todos los marcos capturados en el " +"rastreo." #: ../Doc/reference/datamodel.rst:1466 msgid "Documentation for the :mod:`gc` module." @@ -2595,7 +2630,6 @@ msgstr "" "consideradas." #: ../Doc/reference/datamodel.rst:1622 -#, fuzzy msgid "" "Called by built-in function :func:`hash` and for operations on members of " "hashed collections including :class:`set`, :class:`frozenset`, and :class:" @@ -2605,13 +2639,13 @@ msgid "" "the object that also play a part in comparison of objects by packing them " "into a tuple and hashing the tuple. Example::" msgstr "" -"Llamado por la función incorporada :func:`hash` y por operaciones en " -"miembros de colecciones *hash* incluyendo :class:`set`, :class:`frozenset`, " -"and :class:`dict`. :meth:`__hash__` debe retornar un entero. La única " -"propiedad requerida es que los objetos que se comparen igual tienen el mismo " -"valor *hash*; se recomienda mezclar los valores *hash* de los componentes de " -"los objetos que juegan un papel en la comparación de objetos al colocarlos " -"en una tupla y calcular el *hash* de la tupla. Por ejemplo::" +"Lo llama la función integrada :func:`hash` y para operaciones en miembros de " +"colecciones hash, incluidas :class:`set`, :class:`frozenset` y :class:" +"`dict`. El método ``__hash__()`` debería retornar un número entero. La única " +"propiedad requerida es que los objetos que se comparan iguales tengan el " +"mismo valor hash; Se recomienda mezclar los valores hash de los componentes " +"del objeto que también desempeñan un papel en la comparación de objetos " +"empaquetándolos en una tupla y aplicando hash a la tupla. Ejemplo::" #: ../Doc/reference/datamodel.rst:1635 msgid "" @@ -2631,7 +2665,6 @@ msgstr "" "“import sys; print(sys.hash_info.width)”``." #: ../Doc/reference/datamodel.rst:1643 -#, fuzzy msgid "" "If a class does not define an :meth:`__eq__` method it should not define a :" "meth:`__hash__` operation either; if it defines :meth:`__eq__` but not :meth:" @@ -2642,14 +2675,14 @@ msgid "" "value is immutable (if the object's hash value changes, it will be in the " "wrong hash bucket)." msgstr "" -"Si una clase no define un método :meth:`__eq__`, tampoco debe definir una " -"operación :meth:`__hash__`; si define a :meth:`__eq__` pero no a :meth:" -"`__hash__`, sus instancias no serán utilizables como elementos en " -"colecciones *hash*. Si la clase define objetos mutables e implementa un " -"método :meth:`__eq__`, éste no deberá implementar :meth:`__hash__`, ya que " -"la implementación de colecciones *hash* requiere que la llave de un valor " -"*hash* no sea mutable (si el valor del objeto *hash* cambia, estará en el " -"cubo de *hash* equivocado)." +"Si una clase no define un método :meth:`__eq__` tampoco debería definir una " +"operación :meth:`__hash__`; si define :meth:`__eq__` pero no :meth:" +"`__hash__`, sus instancias no se podrán utilizar como elementos en " +"colecciones hash. Si una clase define objetos mutables e implementa un " +"método :meth:`__eq__`, no debería implementar :meth:`__hash__`, ya que la " +"implementación de colecciones :term:`hashable` requiere que el valor hash de " +"una clave sea inmutable (si el valor hash del objeto cambia, estará en el " +"depósito hash incorrecto)." #: ../Doc/reference/datamodel.rst:1652 msgid "" @@ -2717,18 +2750,16 @@ msgstr "" "invocaciones repetidas de Python." #: ../Doc/reference/datamodel.rst:1682 -#, fuzzy msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " "insertion, O(n\\ :sup:`2`) complexity. See http://ocert.org/advisories/" "ocert-2011-003.html for details." msgstr "" -"Esto tiene la intención de proveer protección contra una negación de " -"servicio causada por entradas cautelosamente elegidas y que explotan el peor " -"caso de rendimiento en la inserción de un diccionario, complejidad O(n\\ :" -"sup:`2`). Ver http://www.ocert.org/advisories/ocert-2011-003.html para más " -"detalles." +"Esto tiene como objetivo brindar protección contra una denegación de " +"servicio causada por entradas cuidadosamente elegidas que explotan el peor " +"rendimiento de una inserción de dict, complejidad O(n\\ :sup:`2`). Consulte " +"http://ocert.org/advisories/ocert-2011-003.html para obtener más detalles." #: ../Doc/reference/datamodel.rst:1687 msgid "" @@ -2749,7 +2780,6 @@ msgid "Hash randomization is enabled by default." msgstr "La aleatorización de hash es habilitada por defecto." #: ../Doc/reference/datamodel.rst:1701 -#, fuzzy msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " @@ -2757,12 +2787,12 @@ msgid "" "is considered true if its result is nonzero. If a class defines neither :" "meth:`!__len__` nor :meth:`!__bool__`, all its instances are considered true." msgstr "" -"Es llamado para implementar pruebas de valores de verdad y la operación " -"incorporada ``bool()``; debe retornar ``False`` o ``True``. Cuando este " -"método no es definido, :meth:`__len__` es llamado, si es definido, y el " -"objeto es considerado verdadero (*true*) si el resultado es diferente de " -"zero. Si la clase no define :meth:`__len__` ni :meth:`__bool__`, todas sus " -"instancias son consideradas verdaderas (*true*)." +"Llamado a implementar pruebas de valor de verdad y la operación incorporada " +"``bool()``; debería retornar ``False`` o ``True``. Cuando este método no " +"está definido, se llama a :meth:`~object.__len__`, si está definido, y el " +"objeto se considera verdadero si su resultado es distinto de cero. Si una " +"clase no define ni :meth:`!__len__` ni :meth:`!__bool__`, todas sus " +"instancias se consideran verdaderas." #: ../Doc/reference/datamodel.rst:1712 msgid "Customizing attribute access" @@ -3122,7 +3152,6 @@ msgid "Invoking Descriptors" msgstr "Invocando descriptores" #: ../Doc/reference/datamodel.rst:1913 -#, fuzzy msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " @@ -3130,11 +3159,11 @@ msgid "" "`~object.__delete__`. If any of those methods are defined for an object, it " "is said to be a descriptor." msgstr "" -"De manera general, un descriptor es un atributo de objeto con " -"“comportamiento enlazado”, cuyo atributo de acceso ha sido anulado por " -"métodos en el protocolo del descriptor: :meth:`__get__`, :meth:`__set__`, y :" -"meth:`__delete__`. Si cualquiera de esos métodos son definidos por un " -"objeto, se dice que es un descriptor." +"En general, un descriptor es un atributo de objeto con \"comportamiento " +"vinculante\", uno cuyo acceso al atributo ha sido anulado por métodos en el " +"protocolo del descriptor: :meth:`~object.__get__`, :meth:`~object.__set__` " +"y :meth:`~object.__delete__`. Si alguno de esos métodos está definido para " +"un objeto, se dice que es un descriptor." #: ../Doc/reference/datamodel.rst:1919 msgid "" @@ -3216,9 +3245,12 @@ msgid "" "for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." "__get__(a, A)``. If not a descriptor, ``x`` is returned unchanged." msgstr "" +"Una búsqueda punteada como ``super(A, a).x`` busca en ``a.__class__." +"__mro__`` una clase base ``B`` después de ``A`` y luego retorna ``B." +"__dict__['x'].__get__(a, A)``. Si no es un descriptor, ``x`` se retorna sin " +"cambios." #: ../Doc/reference/datamodel.rst:1982 -#, fuzzy msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " @@ -3234,23 +3266,22 @@ msgid "" "redefinition in an instance dictionary. In contrast, non-data descriptors " "can be overridden by instances." msgstr "" -"Para enlace de instancias, la precedencia de la invocación de descriptor " -"depende de qué métodos de descriptor son definidos. Un descriptor puede " -"definir cualquier combinación de :meth:`__get__`, :meth:`__set__` y :meth:" -"`__delete__`. Si no define :meth:`__get__`, entonces el acceso al atributo " -"retornará el objeto de descriptor a menos que exista un valor en el " -"diccionario de instancias del objeto. Si el descriptor define :meth:" +"Por ejemplo, enlaces, la precedencia de la invocación de descriptores " +"depende de qué métodos de descriptores están definidos. Un descriptor puede " +"definir cualquier combinación de :meth:`~object.__get__`, :meth:`~object." +"__set__` y :meth:`~object.__delete__`. Si no define :meth:`__get__`, acceder " +"al atributo retornará el objeto descriptor en sí, a menos que haya un valor " +"en el diccionario de instancia del objeto. Si el descriptor define :meth:" "`__set__` y/o :meth:`__delete__`, es un descriptor de datos; si no define " -"ninguno, es un descriptor sin datos. Normalmente los descriptores de datos " -"definen ambos :meth:`__get__` y :meth:`__set__`, mientras que los " -"descriptores sin datos solo tienen el método :meth:`__get__`. Descriptores " -"de datos con :meth:`__set__` y :meth:`__get__` (y/o :meth:`__delete__`) " -"definidos siempre anulan una re-definición en el diccionario de instancias. " -"Por el contrario, los descriptores sin datos pueden ser anulados por " -"instancias." +"ninguno de los dos, es un descriptor que no es de datos. Normalmente, los " +"descriptores de datos definen tanto :meth:`__get__` como :meth:`__set__`, " +"mientras que los descriptores que no son de datos tienen solo el método :" +"meth:`__get__`. Los descriptores de datos con :meth:`__get__` y :meth:" +"`__set__` (y/o :meth:`__delete__`) definidos siempre anulan una redefinición " +"en un diccionario de instancia. Por el contrario, las instancias pueden " +"anular los descriptores que no son datos." #: ../Doc/reference/datamodel.rst:1996 -#, fuzzy msgid "" "Python methods (including those decorated with :func:`@staticmethod " "` and :func:`@classmethod `) are implemented as " @@ -3258,11 +3289,11 @@ msgid "" "methods. This allows individual instances to acquire behaviors that differ " "from other instances of the same class." msgstr "" -"Métodos de Python (que incluyen :func:`staticmethod` y :func:`classmethod`) " -"son implementados como descriptores sin datos. Por consiguiente, las " -"instancias pueden redefinir y anular métodos. Esto permite que instancias " -"individuales adquieran comportamientos que pueden diferir de otras " -"instancias de la misma clase." +"Los métodos de Python (incluidos los decorados con :func:`@staticmethod " +"` y :func:`@classmethod `) se implementan como " +"descriptores sin datos. En consecuencia, las instancias pueden redefinir y " +"anular métodos. Esto permite que las instancias individuales adquieran " +"comportamientos que difieren de otras instancias de la misma clase." #: ../Doc/reference/datamodel.rst:2002 msgid "" @@ -3277,57 +3308,52 @@ msgid "__slots__" msgstr "__slots__" #: ../Doc/reference/datamodel.rst:2011 -#, fuzzy msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " "explicitly declared in *__slots__* or available in a parent.)" msgstr "" -"*__slots__* nos permiten declarar de manera explícita miembros de datos " -"(como propiedades) y negar la creación de *__dict__* y *__weakref__* (a " -"menos que se declare explícitamente en *__slots__* o se encuentre disponible " -"en un elemento padre.)" +"*__slots__* nos permite declarar explícitamente miembros de datos (como " +"propiedades) y denegar la creación de :attr:`~object.__dict__` y " +"*__weakref__* (a menos que se declare explícitamente en *__slots__* o esté " +"disponible en un padre)." #: ../Doc/reference/datamodel.rst:2015 -#, fuzzy msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." msgstr "" -"El espacio ganado al usar *__dict__* puede ser importante. La velocidad de " -"búsqueda de atributos también puede mejorar significativamente." +"El espacio ahorrado al usar :attr:`~object.__dict__` puede ser " +"significativo. La velocidad de búsqueda de atributos también se puede " +"mejorar significativamente." #: ../Doc/reference/datamodel.rst:2020 -#, fuzzy msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " "for the declared variables and prevents the automatic creation of :attr:" "`~object.__dict__` and *__weakref__* for each instance." msgstr "" -"Esta variable de clase se le puede asignar una cadena de caracteres, un " -"elemento iterable o una secuencia de cadena de caracteres con nombres de " -"variables utilizados por instancias. *__slots__* reserva espacio para las " -"variables declaradas y previene la creación automática de *__dict__* y " -"*__weakref__* para cada instancia." +"A esta variable de clase se le puede asignar una cadena, un iterable o una " +"secuencia de cadenas con nombres de variables utilizados por las instancias. " +"*__slots__* reserva espacio para las variables declaradas y evita la " +"creación automática de :attr:`~object.__dict__` y *__weakref__* para cada " +"instancia." #: ../Doc/reference/datamodel.rst:2029 -#, fuzzy msgid "Notes on using *__slots__*:" msgstr "Notas sobre el uso de *__slots__*" #: ../Doc/reference/datamodel.rst:2031 -#, fuzzy msgid "" "When inheriting from a class without *__slots__*, the :attr:`~object." "__dict__` and *__weakref__* attribute of the instances will always be " "accessible." msgstr "" -"Cuando se hereda de una clase sin *__slots__*, los atributos *__dict__* y " -"*__weakref__* de las instancias siempre serán accesibles." +"Al heredar de una clase sin *__slots__*, los atributos :attr:`~object." +"__dict__` y *__weakref__* de las instancias siempre estarán accesibles." #: ../Doc/reference/datamodel.rst:2035 -#, fuzzy msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -3335,43 +3361,39 @@ msgid "" "assignment of new variables is desired, then add ``'__dict__'`` to the " "sequence of strings in the *__slots__* declaration." msgstr "" -"Sin una variable *__dict__*, no se puede asignar a instancias nuevas " -"variables que no se encuentren listadas en la definición de *__slots__*. " -"Intentos de asignación a una variable no listada lanza una excepción :exc:" -"`AttributeError`. Si se desea hacer una asignación dinámica a variables " -"nuevas, se debe agregar ``’__dict__’`` a la secuencia de cadena de " -"caracteres en la declaración de *__slots__*." +"Sin una variable :attr:`~object.__dict__`, a las instancias no se les pueden " +"asignar nuevas variables que no figuran en la definición *__slots__*. Los " +"intentos de asignar un nombre de variable no listado generan :exc:" +"`AttributeError`. Si desea una asignación dinámica de nuevas variables, " +"agregue ``'__dict__'`` a la secuencia de cadenas en la declaración " +"*__slots__*." #: ../Doc/reference/datamodel.rst:2042 -#, fuzzy msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " "instances. If weak reference support is needed, then add ``'__weakref__'`` " "to the sequence of strings in the *__slots__* declaration." msgstr "" -"Sin una variable *__weakref__* por cada instancia, las clases que definen " -"*__slots__* no soportan “referencias débiles” (*weak references*) a sus " -"instancias. Si se desea el soporte de dichas referencias, se debe agregar " -"``’__weakref__’`` a la secuencia de cadena de caracteres en la declaración " -"de *__slots__*." +"Sin una variable *__weakref__* para cada instancia, las clases que definen " +"*__slots__* no admiten :mod:`weak references ` en sus instancias. " +"Si se necesita soporte de referencia débil, agregue ``'__weakref__'`` a la " +"secuencia de cadenas en la declaración *__slots__*." #: ../Doc/reference/datamodel.rst:2048 -#, fuzzy msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " "be used to set default values for instance variables defined by *__slots__*; " "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" -"*__slots__* son implementados a nivel de clase al crear descriptores (:ref:" -"`descriptors`) para cada nombre de variable. Como resultado, los atributos " -"de clase no pueden ser utilizados para establecer valores por defecto a " -"variables de instancia definidos por *__slots__*; de lo contrario, el " -"atributo de clase sobrescribirá la asignación del descriptor." +"*__slots__* se implementa a nivel de clase creando :ref:`descriptors " +"` para cada nombre de variable. Como resultado, los atributos " +"de clase no se pueden utilizar para establecer valores predeterminados, por " +"ejemplo, variables definidas por *__slots__*; de lo contrario, el atributo " +"de clase sobrescribiría la asignación del descriptor." #: ../Doc/reference/datamodel.rst:2054 -#, fuzzy msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -3379,11 +3401,11 @@ msgid "" "*__weakref__* unless they also define *__slots__* (which should only contain " "names of any *additional* slots)." msgstr "" -"La acción de una declaración *__slots__* no está limitada a la clase donde " -"fue definida. *__slots__* declarado en padres, se vuelven disponibles en " -"clases hijas. Sin embargo, subclases hijas tendrán un *__dict__* y " -"*__weakref__* a menos que también se defina *__slots__* (el cual solo debe " -"contener nombres de espacios o *slots* *adicionales*)." +"La acción de una declaración *__slots__* no se limita a la clase donde se " +"define. *__slots__* declarado en padres está disponible en clases " +"secundarias. Sin embargo, las subclases secundarias obtendrán :attr:`~object." +"__dict__` y *__weakref__* a menos que también definan *__slots__* (que solo " +"debe contener nombres de cualquier ranura *additional*)." #: ../Doc/reference/datamodel.rst:2060 msgid "" @@ -3400,20 +3422,22 @@ msgstr "" "futuro se podría agregar una verificación para prevenir esto." #: ../Doc/reference/datamodel.rst:2065 -#, fuzzy msgid "" ":exc:`TypeError` will be raised if nonempty *__slots__* are defined for a " "class derived from a :c:member:`\"variable-length\" built-in type " "` such as :class:`int`, :class:`bytes`, and :class:" "`tuple`." msgstr "" -"*__slots__* no vacíos no funcionan para clases derivadas de tipos " -"incorporados de “longitud variable” como :class:`int`, :class:`bytes` y :" -"class:`tuple`." +":exc:`TypeError` se generará si se definen *__slots__* no vacíos para una " +"clase derivada de un :c:member:`\"variable-length\" built-in type " +"` como :class:`int`, :class:`bytes` y :class:" +"`tuple`." #: ../Doc/reference/datamodel.rst:2070 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" +"Cualquier :term:`iterable` que no sea una cadena se puede asignar a " +"*__slots__*." #: ../Doc/reference/datamodel.rst:2072 msgid "" @@ -3422,46 +3446,47 @@ msgid "" "can be used to provide per-attribute docstrings that will be recognised by :" "func:`inspect.getdoc` and displayed in the output of :func:`help`." msgstr "" +"Si se utiliza un :class:`dictionary ` para asignar *__slots__*, las " +"claves del diccionario se utilizarán como nombres de ranura. Los valores del " +"diccionario se pueden usar para proporcionar cadenas de documentos por " +"atributo que :func:`inspect.getdoc` reconocerá y mostrará en la salida de :" +"func:`help`." #: ../Doc/reference/datamodel.rst:2077 -#, fuzzy msgid "" ":attr:`~instance.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" -"La asignación *__class__* funciona solo si ambas clases tienen el mismo " -"*__slots__*." +"La asignación de :attr:`~instance.__class__` solo funciona si ambas clases " +"tienen el mismo *__slots__*." #: ../Doc/reference/datamodel.rst:2080 -#, fuzzy msgid "" ":ref:`Multiple inheritance ` with multiple slotted parent " "classes can be used, but only one parent is allowed to have attributes " "created by slots (the other bases must have empty slot layouts) - violations " "raise :exc:`TypeError`." msgstr "" -"Herencia múltiple con múltiples clases de padres con espacios (*slots*) " -"puede ser utilizada, pero solo un padre es permitido que tenga atributos " -"creados por espacios (las otras bases deben tener diseños de espacios " -"vacíos) - violaciones lanzan una excepción :exc:`TypeError`." +"Se puede usar :ref:`Multiple inheritance ` con varias clases " +"principales con ranuras, pero solo a una de las clases principales se le " +"permite tener atributos creados por ranuras (las otras bases deben tener " +"diseños de ranuras vacías); las infracciones generan :exc:`TypeError`." #: ../Doc/reference/datamodel.rst:2086 -#, fuzzy msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " "attribute will be an empty iterator." msgstr "" -"Si un iterados es utilizado por *__slots__*, entonces un descriptor es " -"creado para cada uno de los valores del iterador. Sin embargo, el atributo " -"*__slots__* será un iterador vacío." +"Si se utiliza un :term:`iterator` para *__slots__*, entonces se crea un :" +"term:`descriptor` para cada uno de los valores del iterador. Sin embargo, el " +"atributo *__slots__* será un iterador vacío." #: ../Doc/reference/datamodel.rst:2094 msgid "Customizing class creation" msgstr "Personalización de creación de clases" #: ../Doc/reference/datamodel.rst:2096 -#, fuzzy msgid "" "Whenever a class inherits from another class, :meth:`~object." "__init_subclass__` is called on the parent class. This way, it is possible " @@ -3470,12 +3495,13 @@ msgid "" "specific class they're applied to, ``__init_subclass__`` solely applies to " "future subclasses of the class defining the method." msgstr "" -"Siempre que una clase hereda de otra clase, *__init_subclass__* es llamado " -"en esa clase. De esta manera, es posible escribir clases que cambian el " -"comportamiento de las subclases. Esto está estrechamente relacionado con los " -"decoradores de clase, pero solo donde los decoradores de clase afectan a la " -"clase específica a la que son aplicados, ``__init_subclass__`` solo aplica a " -"futuras subclases de la clase que define el método." +"Siempre que una clase hereda de otra clase, se llama a :meth:`~object." +"__init_subclass__` en la clase principal. De esta forma, es posible escribir " +"clases que cambien el comportamiento de las subclases. Esto está " +"estrechamente relacionado con los decoradores de clases, pero mientras los " +"decoradores de clases solo afectan la clase específica a la que se aplican, " +"``__init_subclass__`` solo se aplica a futuras subclases de la clase que " +"define el método." #: ../Doc/reference/datamodel.rst:2105 msgid "" @@ -3522,14 +3548,13 @@ msgstr "" "explícita) puede ser accedida como ``type(cls)``." #: ../Doc/reference/datamodel.rst:2136 -#, fuzzy msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" "Cuando se crea una clase, :meth:`type.__new__` escanea las variables de " -"clase y realiza retornos de llamada a aquellas con un gancho :meth:" -"`__set_name__`." +"clase y realiza la retrollamada a aquellas con un enlace :meth:`~object." +"__set_name__`." #: ../Doc/reference/datamodel.rst:2141 msgid "" @@ -3618,7 +3643,6 @@ msgid "Resolving MRO entries" msgstr "Resolviendo entradas de la Orden de Resolución de Métodos (MRU)" #: ../Doc/reference/datamodel.rst:2208 -#, fuzzy msgid "" "If a base that appears in a class definition is not an instance of :class:" "`type`, then an :meth:`!__mro_entries__` method is searched on the base. If " @@ -3629,39 +3653,42 @@ msgid "" "the base. The returned tuple may be empty: in these cases, the original base " "is ignored." msgstr "" -"Si una base que aparece en la definición de una clase no es una instancia " -"de :class:`type`, entonces el método ``__mro_entries__`` se busca en ella. " -"Si es encontrado, se llama con la tupla de bases originales. Este método " -"debe retornar una tupla de clases que será utilizado en lugar de esta base. " -"La tupla puede estar vacía, en cuyo caso la base original es ignorada." +"Si una base que aparece en una definición de clase no es una instancia de :" +"class:`type`, entonces se busca un método :meth:`!__mro_entries__` en la " +"base. Si se encuentra un método :meth:`!__mro_entries__`, la base se " +"sustituye por el resultado de una llamada a :meth:`!__mro_entries__` al " +"crear la clase. El método se llama con la tupla de bases original pasada al " +"parámetro *bases* y debe retornar una tupla de clases que se utilizará en " +"lugar de la base. La tupla retornada puede estar vacía: en estos casos, se " +"ignora la base original." #: ../Doc/reference/datamodel.rst:2220 msgid ":func:`types.resolve_bases`" -msgstr "" +msgstr ":func:`types.resolve_bases`" #: ../Doc/reference/datamodel.rst:2220 msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" +msgstr "Resuelva dinámicamente bases que no sean instancias de :class:`type`." #: ../Doc/reference/datamodel.rst:2224 msgid ":func:`types.get_original_bases`" -msgstr "" +msgstr ":func:`types.get_original_bases`" #: ../Doc/reference/datamodel.rst:2223 msgid "" "Retrieve a class's \"original bases\" prior to modifications by :meth:" "`~object.__mro_entries__`." msgstr "" +"Recupera las \"bases originales\" de una clase antes de las modificaciones " +"realizadas por :meth:`~object.__mro_entries__`." #: ../Doc/reference/datamodel.rst:2226 msgid ":pep:`560`" -msgstr "" +msgstr ":pep:`560`" #: ../Doc/reference/datamodel.rst:2227 -#, fuzzy msgid "Core support for typing module and generic types." -msgstr "" -":pep:`560` - Soporte central para módulos de clasificación y tipos genéricos" +msgstr "Soporte principal para módulos de escritura y tipos genéricos." #: ../Doc/reference/datamodel.rst:2231 msgid "Determining the appropriate metaclass" @@ -3714,7 +3741,6 @@ msgid "Preparing the class namespace" msgstr "Preparando el espacio de nombres de la clase" #: ../Doc/reference/datamodel.rst:2258 -#, fuzzy msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -3725,14 +3751,14 @@ msgid "" "``__new__``, but when the final class object is created the namespace is " "copied into a new ``dict``." msgstr "" -"Una vez que se ha identificado la metaclase apropiada, entonces se prepara " -"el espacio de nombres de la clase. Si la metaclase tiene un atributo " -"``__prepare__``, es llamado como ``namespace = metaclass.__prepare__(name, " -"bases, **kwds)`` (donde los argumentos de palabra clave adicionales, de " -"existir, provienen de la definición de la clase). El método ``__prepare__`` " -"debe ser implementado como :func:`classmethod`. El espacio de nombres " -"retornado por ``__prepare__`` es pasado a ``__new__``, pero cuando el objeto " -"de clase final es creado, el espacio de nombres es copiado en un ``dict``." +"Una vez que se ha identificado la metaclase adecuada, se prepara el espacio " +"de nombres de la clase. Si la metaclase tiene un atributo ``__prepare__``, " +"se llama ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (donde " +"los argumentos de palabras clave adicionales, si los hay, provienen de la " +"definición de clase). El método ``__prepare__`` debe implementarse como :" +"func:`classmethod `. El espacio de nombres retornado por " +"``__prepare__`` se pasa a ``__new__``, pero cuando se crea el objeto de " +"clase final, el espacio de nombres se copia en un nuevo ``dict``." #: ../Doc/reference/datamodel.rst:2267 msgid "" @@ -4000,40 +4026,52 @@ msgid "" "notation. For example, the annotation ``list[int]`` might be used to signify " "a :class:`list` in which all the elements are of type :class:`int`." msgstr "" +"Cuando se usa :term:`type annotations`, a menudo es útil " +"*parameterize* a :term:`generic type` usando la notación de corchetes de " +"Python. Por ejemplo, la anotación ``list[int]`` podría usarse para indicar " +"un :class:`list` en el que todos los elementos son del tipo :class:`int`." #: ../Doc/reference/datamodel.rst:2411 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Sugerencias de tipo" #: ../Doc/reference/datamodel.rst:2411 msgid "Introducing Python's framework for type annotations" -msgstr "" +msgstr "Presentamos el marco de trabajo de Python para las anotaciones de tipo" #: ../Doc/reference/datamodel.rst:2414 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Generic Alias Types`" #: ../Doc/reference/datamodel.rst:2414 msgid "Documentation for objects representing parameterized generic classes" msgstr "" +"Documentación para objetos que representan clases genéricas parametrizadas" #: ../Doc/reference/datamodel.rst:2417 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`user-defined generics` y :" +"class:`typing.Generic`" #: ../Doc/reference/datamodel.rst:2417 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Documentación sobre cómo implementar clases genéricas que se pueden " +"parametrizar en tiempo de ejecución y que los verificadores de tipos " +"estáticos pueden entender." #: ../Doc/reference/datamodel.rst:2420 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." msgstr "" +"Una clase *generally* solo se puede parametrizar si define el método de " +"clase especial ``__class_getitem__()``." #: ../Doc/reference/datamodel.rst:2425 msgid "" @@ -4049,10 +4087,13 @@ msgid "" "method. As such, there is no need for it to be decorated with :func:" "`@classmethod` when it is defined." msgstr "" +"Cuando se define en una clase, ``__class_getitem__()`` es automáticamente un " +"método de clase. Como tal, no es necesario decorarlo con :func:" +"`@classmethod` cuando se define." #: ../Doc/reference/datamodel.rst:2434 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "El propósito de *__class_getitem__*" #: ../Doc/reference/datamodel.rst:2436 msgid "" @@ -4060,6 +4101,10 @@ msgid "" "parameterization of standard-library generic classes in order to more easily " "apply :term:`type hints` to these classes." msgstr "" +"El propósito de :meth:`~object.__class_getitem__` es permitir la " +"parametrización en tiempo de ejecución de clases genéricas de biblioteca " +"estándar para aplicar :term:`type hints` a estas clases con mayor " +"facilidad." #: ../Doc/reference/datamodel.rst:2440 msgid "" @@ -4069,6 +4114,12 @@ msgid "" "__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " "own implementation of ``__class_getitem__()``." msgstr "" +"Para implementar clases genéricas personalizadas que se puedan parametrizar " +"en tiempo de ejecución y que los verificadores de tipos estáticos las " +"entiendan, los usuarios deben heredar de una clase de biblioteca estándar " +"que ya implementa :meth:`~object.__class_getitem__`, o heredar de :class:" +"`typing.Generic`, que tiene su propia implementación de " +"``__class_getitem__()``." #: ../Doc/reference/datamodel.rst:2446 msgid "" @@ -4077,10 +4128,15 @@ msgid "" "type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " "purposes other than type hinting is discouraged." msgstr "" +"Es posible que los verificadores de tipos de terceros, como mypy, no " +"entiendan las implementaciones personalizadas de :meth:`~object." +"__class_getitem__` en clases definidas fuera de la biblioteca estándar. Se " +"desaconseja el uso de ``__class_getitem__()`` en cualquier clase para fines " +"distintos a la sugerencia de tipo." #: ../Doc/reference/datamodel.rst:2456 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* frente a *__getitem__*" #: ../Doc/reference/datamodel.rst:2458 msgid "" @@ -4091,6 +4147,13 @@ msgid "" "instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." msgstr "" +"Por lo general, el :ref:`subscription` de un objeto que usa " +"corchetes llamará al método de instancia :meth:`~object.__getitem__` " +"definido en la clase del objeto. Sin embargo, si el objeto que se suscribe " +"es en sí mismo una clase, se puede llamar al método de clase :meth:`~object." +"__class_getitem__` en su lugar. ``__class_getitem__()`` debería retornar un " +"objeto :ref:`GenericAlias` si está definido " +"correctamente." #: ../Doc/reference/datamodel.rst:2465 msgid "" @@ -4098,6 +4161,9 @@ msgid "" "follows something like the following process to decide whether :meth:" "`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" msgstr "" +"Presentado con el :term:`expression` ``obj[x]``, el intérprete de Python " +"sigue un proceso similar al siguiente para decidir si se debe llamar a :meth:" +"`~object.__getitem__` o :meth:`~object.__class_getitem__`:" #: ../Doc/reference/datamodel.rst:2493 msgid "" @@ -4108,6 +4174,12 @@ msgid "" "``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." "__class_getitem__` being called::" msgstr "" +"En Python, todas las clases son en sí mismas instancias de otras clases. La " +"clase de una clase se conoce como :term:`metaclass` de esa clase, y la " +"mayoría de las clases tienen la clase :class:`type` como su metaclase. :" +"class:`type` no define :meth:`~object.__getitem__`, lo que significa que " +"expresiones como ``list[int]``, ``dict[str, float]`` y ``tuple[str, bytes]`` " +"dan como resultado que se llame a :meth:`~object.__class_getitem__`:" #: ../Doc/reference/datamodel.rst:2512 msgid "" @@ -4115,12 +4187,15 @@ msgid "" "__getitem__`, subscribing the class may result in different behaviour. An " "example of this can be found in the :mod:`enum` module::" msgstr "" +"Sin embargo, si una clase tiene una metaclase personalizada que define :meth:" +"`~object.__getitem__`, la suscripción de la clase puede generar un " +"comportamiento diferente. Un ejemplo de esto se puede encontrar en el " +"módulo :mod:`enum`:" #: ../Doc/reference/datamodel.rst:2537 -#, fuzzy msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" -":pep:`560` - Soporte central para módulos de clasificación y tipos genéricos" +":pep:`560`: soporte principal para módulo de escritura y tipos genéricos" #: ../Doc/reference/datamodel.rst:2536 msgid "" @@ -4128,6 +4203,9 @@ msgid "" "`subscription` results in ``__class_getitem__()`` being " "called instead of :meth:`~object.__getitem__`" msgstr "" +"Presentamos :meth:`~object.__class_getitem__` y describimos cuándo un :ref:" +"`subscription` da como resultado que se llame a " +"``__class_getitem__()`` en lugar de :meth:`~object.__getitem__`" #: ../Doc/reference/datamodel.rst:2544 msgid "Emulating callable objects" @@ -4148,7 +4226,6 @@ msgid "Emulating container types" msgstr "Emulando tipos de contenedores" #: ../Doc/reference/datamodel.rst:2560 -#, fuzzy msgid "" "The following methods can be defined to implement container objects. " "Containers usually are :term:`sequences ` (such as :class:`lists " @@ -4183,52 +4260,54 @@ msgid "" "iterate through the object's keys; for sequences, it should iterate through " "the values." msgstr "" -"Los siguientes métodos pueden ser definidos para implementar objetos " -"contenedores. Los contenedores son generalmente secuencias (como listas o " -"tuplas) o mapeos (como diccionarios), pero también pueden representar otros " -"contenedores. La primera colección de métodos es utilizada ya sea para " -"emular una secuencia o para emular un mapeo; la diferencia es que para una " -"secuencia, las llaves permitidas deben ser los enteros *k* por lo que ``0 <= " -"k < N`` donde *N* es la longitud de la secuencia, o secciones de objetos, " -"los cuales definen un rango de elementos. También es recomendado que los " -"mapeos proporcionen los métodos :meth:`keys`, :meth:`values`, :meth:" -"`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :meth:`pop`, :meth:" -"`popitem`, :meth:`!copy`, y :meth:`update` comportándose de manera similar a " -"aquellos para los objetos de diccionario estándar de Python. El módulo :mod:" -"`collections.abc` proporciona una clase base abstracta :class:`~collections." -"abc.MutableMapping` que ayuda a crear aquellos métodos desde un conjunto " -"base de :meth:`__getitem__`, :meth:`__setitem__`, :meth:`__delitem__`, y :" -"meth:`keys`. Secuencias mutables deben proporcionar métodos :meth:`append`, :" -"meth:`count`, :meth:`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :" -"meth:`remove`, :meth:`reverse` y :meth:`sort`, como objetos de lista " -"estándar de Python. Por último, tipos de secuencia deben implementar adición " -"(concatenación) y multiplicación (repetición) al definir los métodos :meth:" -"`__add__`, :meth:`__radd__`, :meth:`__iadd__`, :meth:`__mul__`, :meth:" -"`__rmul__` y :meth:`__imul__` descritos a continuación; no deben definir " -"otros operadores numéricos. Es recomendado que ambos mapeos y secuencias " -"implementen el método :meth:`__contains__` para permitir el uso eficiente " -"del operador ``in``; para mapeos, ``in`` debe buscar las llaves de los " -"mapeos; para secuencias, debe buscar a través de los valores. Además es " -"recomendado que tanto mapeos como secuencias implementen el método :meth:" -"`__iter__` para permitir una iteración eficiente por el contenedor; para " -"mapeos, :meth:`__iter__` debe iterar a través de las llaves del objeto; para " -"secuencias, debe iterar a través de los valores." +"Se pueden definir los siguientes métodos para implementar objetos " +"contenedores. Los contenedores suelen ser :term:`sequences ` " +"(como :class:`lists ` o :class:`tuples `) o :term:`mappings " +"` (como :class:`dictionaries `), pero también pueden " +"representar otros contenedores. El primer conjunto de métodos se utiliza " +"para emular una secuencia o un mapeo; la diferencia es que para una " +"secuencia, las claves permitidas deben ser los números enteros *k* para los " +"cuales ``0 <= k < N`` donde *N* es la longitud de la secuencia, u objetos :" +"class:`slice`, que definen un rango de elementos. También se recomienda que " +"las asignaciones proporcionen los métodos :meth:`keys`, :meth:`values`, :" +"meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :meth:`pop`, :" +"meth:`popitem`, :meth:`!copy` y :meth:`update` que se comportan de manera " +"similar a los de los objetos :class:`dictionary ` estándar de Python. " +"El módulo :mod:`collections.abc` proporciona un :class:`~collections.abc." +"MutableMapping` :term:`abstract base class` para ayudar a crear esos métodos " +"a partir de un conjunto básico de :meth:`~object.__getitem__`, :meth:" +"`~object.__setitem__`, :meth:`~object.__delitem__` y :meth:`keys`. Las " +"secuencias mutables deben proporcionar los métodos :meth:`append`, :meth:" +"`count`, :meth:`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:" +"`remove`, :meth:`reverse` y :meth:`sort`, como los objetos :class:`list` " +"estándar de Python. Finalmente, los tipos de secuencia deben implementar la " +"suma (es decir, concatenación) y la multiplicación (es decir, repetición) " +"definiendo los métodos :meth:`~object.__add__`, :meth:`~object.__radd__`, :" +"meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " +"y :meth:`~object.__imul__` que se describen a continuación; no deben definir " +"otros operadores numéricos. Se recomienda que tanto las asignaciones como " +"las secuencias implementen el método :meth:`~object.__contains__` para " +"permitir el uso eficiente del operador ``in``; para asignaciones, ``in`` " +"debería buscar las claves de la asignación; para secuencias, debe buscar " +"entre los valores. Se recomienda además que tanto las asignaciones como las " +"secuencias implementen el método :meth:`~object.__iter__` para permitir una " +"iteración eficiente a través del contenedor; para asignaciones, :meth:" +"`__iter__` debe iterar a través de las claves del objeto; para secuencias, " +"debe iterar a través de los valores." #: ../Doc/reference/datamodel.rst:2600 -#, fuzzy msgid "" "Called to implement the built-in function :func:`len`. Should return the " "length of the object, an integer ``>=`` 0. Also, an object that doesn't " "define a :meth:`~object.__bool__` method and whose :meth:`!__len__` method " "returns zero is considered to be false in a Boolean context." msgstr "" -"Es llamado para implementar la función incorporada :func:`len`. Debe " -"retornar la longitud del objeto, un entero ``>=`` 0. También, un objeto que " -"no define un método :meth:`__bool__` y cuyo método :meth:`__len__` retorna " -"cero, es considerado como falso en un contexto booleano." +"Llamado para implementar la función incorporada :func:`len`. Debería " +"retornar la longitud del objeto, un número entero ``>=`` 0. Además, un " +"objeto que no define un método :meth:`~object.__bool__` y cuyo método :meth:" +"`!__len__` retorna cero se considera falso en un contexto booleano." #: ../Doc/reference/datamodel.rst:2607 -#, fuzzy msgid "" "In CPython, the length is required to be at most :data:`sys.maxsize`. If the " "length is larger than :data:`!sys.maxsize` some features (such as :func:" @@ -4236,12 +4315,11 @@ msgid "" "OverflowError` by truth value testing, an object must define a :meth:" "`~object.__bool__` method." msgstr "" -"En CPython, se requiere que la longitud sea como mucho :attr:`sys.maxsize`. " -"Si la longitud es más grande que :attr:`!sys.maxsize` algunas " -"características (como :func:`len`) pueden lanzar una excepción :exc:" -"`OverflowError`. Para prevenir lanzar una excepción :exc:`!OverflowError` al " -"validar la verdad de un valor, un objeto debe definir un método :meth:" -"`__bool__`." +"En CPython, se requiere que la longitud sea como máximo :data:`sys.maxsize`. " +"Si la longitud es mayor que :data:`!sys.maxsize`, algunas funciones (como :" +"func:`len`) pueden generar :exc:`OverflowError`. Para evitar que se genere :" +"exc:`!OverflowError` mediante pruebas de valor de verdad, un objeto debe " +"definir un método :meth:`~object.__bool__`." #: ../Doc/reference/datamodel.rst:2616 msgid "" @@ -4276,7 +4354,6 @@ msgstr "" "etcétera. Elementos faltantes de segmentos siempre son llenados con ``None``." #: ../Doc/reference/datamodel.rst:2643 -#, fuzzy msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " "the accepted keys should be integers and slice objects. Note that the " @@ -4288,16 +4365,16 @@ msgid "" "term:`mapping` types, if *key* is missing (not in the container), :exc:" "`KeyError` should be raised." msgstr "" -"Es llamado para implementar la evaluación de ``self[key]``. Para tipos de " -"secuencia, las llaves aceptadas deben ser enteros y objetos de segmento. Se " -"debe tomar en cuenta que la interpretación especial de índices negativos (si " -"la clase desea emular un tipo de secuencia) depende del método :meth:" -"`__getitem__`. Si *key* es de un tipo apropiado, se puede lanzar una " -"excepción :exc:`TypeError`; si es de un valor afuera de la colección de " -"índices para la secuencia (después de alguna interpretación especial de " -"valores negativos), se debe lanzar una excepción :exc:`IndexError`. Para " -"tipos de mapeos, si falta *key* (no en el contenedor), la excepción :exc:" -"`KeyError` debe ser lanzada." +"Llamado a implementar evaluación de ``self[key]``. Para los tipos :term:" +"`sequence`, las claves aceptadas deben ser números enteros y objetos de " +"segmento. Tenga en cuenta que la interpretación especial de los índices " +"negativos (si la clase desea emular un tipo :term:`sequence`) depende del " +"método :meth:`__getitem__`. Si *key* es de un tipo inadecuado, es posible " +"que se genere :exc:`TypeError`; si se trata de un valor fuera del conjunto " +"de índices de la secuencia (después de cualquier interpretación especial de " +"valores negativos), se debe generar :exc:`IndexError`. Para los tipos :term:" +"`mapping`, si falta *key* (no en el contenedor), se debe generar :exc:" +"`KeyError`." #: ../Doc/reference/datamodel.rst:2655 msgid "" @@ -4314,6 +4391,9 @@ msgid "" "meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " "See :ref:`classgetitem-versus-getitem` for more details." msgstr "" +"Cuando :ref:`subscripting` a *class*, se puede llamar al " +"método de clase especial :meth:`~object.__class_getitem__` en lugar de " +"``__getitem__()``. Ver :ref:`classgetitem-versus-getitem` para más detalles." #: ../Doc/reference/datamodel.rst:2668 msgid "" @@ -4355,17 +4435,16 @@ msgstr "" "en el diccionario." #: ../Doc/reference/datamodel.rst:2692 -#, fuzzy msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " "the objects in the container. For mappings, it should iterate over the keys " "of the container." msgstr "" -"Este método es llamado cuando se requiere un iterador para un contenedor. " -"Este método debe retornar un nuevo objeto iterador que pueda iterar todos " -"los objetos del contenedor. Para mapeos, debe iterar sobre las llaves del " -"contenedor." +"Se llama a este método cuando se requiere un :term:`iterator` para un " +"contenedor. Este método debería retornar un nuevo objeto iterador que pueda " +"iterar sobre todos los objetos del contenedor. Para las asignaciones, debe " +"iterar sobre las claves del contenedor." #: ../Doc/reference/datamodel.rst:2700 msgid "" @@ -4446,7 +4525,6 @@ msgstr "" "enteros) se deben dejar sin definir." #: ../Doc/reference/datamodel.rst:2759 -#, fuzzy msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -4459,16 +4537,16 @@ msgid "" "optional third argument if the ternary version of the built-in :func:`pow` " "function is to be supported." msgstr "" -"Estos métodos son llamados para implementar las operaciones aritméticas " +"Estos métodos se llaman para implementar las operaciones aritméticas " "binarias (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :" "func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). Por ejemplo, para " -"evaluar la expresión ``x + y``, donde *x* es instancia de una clase que " -"tiene un método :meth:`__add__`, ``x.__add__(y)`` es llamado. El método :" -"meth:`__divmod__` debe ser el equivalente a usar :meth:`__floordiv__` y :" -"meth:`__mod__`; no debe ser relacionado a :meth:`__truediv__`. Se debe tomar " -"en cuenta que :meth:`__pow__` debe ser definido para aceptar un tercer " -"argumento opcional si la versión ternaria de la función incorporada :func:" -"`pow` es soportada." +"evaluar la expresión ``x + y``, donde *x* es una instancia de una clase que " +"tiene un método :meth:`__add__`, se llama a ``type(x).__add__(x, y)``. El " +"método :meth:`__divmod__` debería ser equivalente al uso de :meth:" +"`__floordiv__` y :meth:`__mod__`; no debería estar relacionado con :meth:" +"`__truediv__`. Tenga en cuenta que :meth:`__pow__` debe definirse para " +"aceptar un tercer argumento opcional si se va a admitir la versión ternaria " +"de la función incorporada :func:`pow`." #: ../Doc/reference/datamodel.rst:2770 msgid "" @@ -4479,7 +4557,6 @@ msgstr "" "suministrados, debe retornar ``NotImplemented``." #: ../Doc/reference/datamodel.rst:2793 -#, fuzzy msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -4491,15 +4568,15 @@ msgid "" "__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns " "*NotImplemented*." msgstr "" -"Estos métodos son llamados para implementar las operaciones aritméticas " +"Estos métodos se llaman para implementar las operaciones aritméticas " "binarias (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :" "func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) con operandos " -"reflejados (intercambiados). Estas funciones son llamadas únicamente si el " -"operando izquierdo no soporta la operación correspondiente [#]_ y los " -"operandos son de tipos diferentes. [#]_ Por ejemplo, para evaluar la " -"expresión ``x - y``, donde *y* es instancia de una clase que tiene un " -"método :meth:`__rsub__`, ``y.__rsub__(x)`` es llamado si ``x.__sub__(y)`` " -"retorna *NotImplemented*." +"reflejados (intercambiados). Estas funciones solo se llaman si el operando " +"izquierdo no admite la operación correspondiente [#]_ y los operandos son de " +"diferentes tipos. [#]_ Por ejemplo, para evaluar la expresión ``x - y``, " +"donde *y* es una instancia de una clase que tiene un método :meth:" +"`__rsub__`, se llama a ``type(y).__rsub__(y, x)`` si ``type(x).__sub__(x, " +"y)`` retorna *NotImplemented*." #: ../Doc/reference/datamodel.rst:2805 msgid "" @@ -4612,10 +4689,12 @@ msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" +"La función integrada :func:`int` recurre a :meth:`__trunc__` si no se " +"definen ni :meth:`__int__` ni :meth:`__index__`." #: ../Doc/reference/datamodel.rst:2899 msgid "The delegation of :func:`int` to :meth:`__trunc__` is deprecated." -msgstr "" +msgstr "La delegación de :func:`int` a :meth:`__trunc__` está obsoleta." #: ../Doc/reference/datamodel.rst:2906 msgid "With Statement Context Managers" @@ -4715,18 +4794,17 @@ msgstr "" "clase" #: ../Doc/reference/datamodel.rst:2958 -#, fuzzy msgid "" "When using a class name in a pattern, positional arguments in the pattern " "are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " "without special support in ``MyClass``. To be able to use that kind of " "pattern, the class needs to define a *__match_args__* attribute." msgstr "" -"Cuando se usa un nombre de clase en un patrón, los argumentos posicionales " -"en el patrón no están permitidos de forma predeterminada, es decir, ``case " -"MyClass(x, y)`` generalmente no es válido sin soporte especial en " -"``MyClass``. Para poder usar ese tipo de patrones, la clase necesita definir " -"un atributo *__match_args__*." +"Cuando se utiliza un nombre de clase en un patrón, los argumentos " +"posicionales en el patrón no están permitidos de forma predeterminada, es " +"decir, ``case MyClass(x, y)`` normalmente no es válido sin un soporte " +"especial en ``MyClass``. Para poder utilizar ese tipo de patrón, la clase " +"necesita definir un atributo *__match_args__*." #: ../Doc/reference/datamodel.rst:2965 msgid "" @@ -4767,9 +4845,8 @@ msgid "The specification for the Python ``match`` statement." msgstr "La especificación para la declaración ``match`` de Python." #: ../Doc/reference/datamodel.rst:2988 -#, fuzzy msgid "Emulating buffer types" -msgstr "Emulando tipos numéricos" +msgstr "Emulando tipos de búfer" #: ../Doc/reference/datamodel.rst:2990 msgid "" @@ -4778,12 +4855,19 @@ msgid "" "implemented by builtin types such as :class:`bytes` and :class:`memoryview`, " "and third-party libraries may define additional buffer types." msgstr "" +":ref:`buffer protocol ` proporciona una forma para que los " +"objetos Python expongan un acceso eficiente a una matriz de memoria de bajo " +"nivel. Este protocolo se implementa mediante tipos integrados como :class:" +"`bytes` y :class:`memoryview`, y bibliotecas de terceros pueden definir " +"tipos de búfer adicionales." #: ../Doc/reference/datamodel.rst:2995 msgid "" "While buffer types are usually implemented in C, it is also possible to " "implement the protocol in Python." msgstr "" +"Si bien los tipos de búfer generalmente se implementan en C, también es " +"posible implementar el protocolo en Python." #: ../Doc/reference/datamodel.rst:3000 msgid "" @@ -4794,6 +4878,12 @@ msgid "" "convenient way to interpret the flags. The method must return a :class:" "`memoryview` object." msgstr "" +"Se llama cuando se solicita un búfer desde *self* (por ejemplo, por el " +"constructor :class:`memoryview`). El argumento *flags* es un número entero " +"que representa el tipo de búfer solicitado y afecta, por ejemplo, si el " +"búfer retornado es de solo lectura o de escritura. :class:`inspect." +"BufferFlags` proporciona una manera conveniente de interpretar las banderas. " +"El método debe retornar un objeto :class:`memoryview`." #: ../Doc/reference/datamodel.rst:3009 msgid "" @@ -4803,23 +4893,29 @@ msgid "" "buffer. This method should return ``None``. Buffer objects that do not need " "to perform any cleanup are not required to implement this method." msgstr "" +"Se llama cuando ya no se necesita un búfer. El argumento *buffer* es un " +"objeto :class:`memoryview` que :meth:`~object.__buffer__` retornó " +"anteriormente. El método debe liberar todos los recursos asociados con el " +"búfer. Este método debería retornar ``None``. Los objetos de búfer que no " +"necesitan realizar ninguna limpieza no son necesarios para implementar este " +"método." #: ../Doc/reference/datamodel.rst:3021 msgid ":pep:`688` - Making the buffer protocol accessible in Python" -msgstr "" +msgstr ":pep:`688`: hacer accesible el protocolo de búfer en Python" #: ../Doc/reference/datamodel.rst:3021 msgid "" "Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." -msgstr "" +msgstr "Presenta los métodos Python ``__buffer__`` y ``__release_buffer__``." #: ../Doc/reference/datamodel.rst:3023 msgid ":class:`collections.abc.Buffer`" -msgstr "" +msgstr ":class:`collections.abc.Buffer`" #: ../Doc/reference/datamodel.rst:3024 msgid "ABC for buffer types." -msgstr "" +msgstr "ABC para tipos de buffer." #: ../Doc/reference/datamodel.rst:3029 msgid "Special method lookup" @@ -4839,7 +4935,6 @@ msgstr "" "excepción::" #: ../Doc/reference/datamodel.rst:3046 -#, fuzzy msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -4847,11 +4942,11 @@ msgid "" "of these methods used the conventional lookup process, they would fail when " "invoked on the type object itself::" msgstr "" -"La razón fundamental detrás de este comportamiento yace en una serie de " -"métodos especiales como :meth:`__hash__` y :meth:`__repr__` que son " -"implementados por todos los objetos, incluyendo objetos de tipo. Si la " -"búsqueda implícita de estos métodos usaran el proceso de búsqueda " -"convencional, fallarían al ser invocados en el objeto de tipo mismo::" +"La razón detrás de este comportamiento radica en una serie de métodos " +"especiales, como :meth:`~object.__hash__` y :meth:`~object.__repr__`, que " +"implementan todos los objetos, incluidos los objetos de tipo. Si la búsqueda " +"implícita de estos métodos utilizara el proceso de búsqueda convencional, " +"fallarían cuando se invocaran en el objeto de tipo mismo:" #: ../Doc/reference/datamodel.rst:3060 msgid "" @@ -4864,19 +4959,16 @@ msgstr "" "sobrepasando la instancia al buscar métodos especiales::" #: ../Doc/reference/datamodel.rst:3069 -#, fuzzy msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" "meth:`~object.__getattribute__` method even of the object's metaclass::" msgstr "" -"Además de sobrepasar cualquier atributo de instancia en aras de lo " -"apropiado, la búsqueda implícita del método especial generalmente también " -"sobrepasa al método :meth:`__getattribute__` incluso de la metaclase del " -"objeto::" +"Además de omitir cualquier atributo de instancia en aras de la corrección, " +"la búsqueda implícita de métodos especiales generalmente también omite el " +"método :meth:`~object.__getattribute__` incluso de la metaclase del objeto::" #: ../Doc/reference/datamodel.rst:3095 -#, fuzzy msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -4884,11 +4976,11 @@ msgid "" "special method *must* be set on the class object itself in order to be " "consistently invoked by the interpreter)." msgstr "" -"Sobrepasar el mecanismo de :meth:`__getattribute__` de esta forma " -"proporciona un alcance importante para optimizaciones de velocidad dentro " -"del intérprete, a costa de cierta flexibilidad en el manejo de métodos " -"especiales (el método especial *debe* ser establecido en el objeto de clase " -"mismo para ser invocado consistentemente por el intérprete)." +"Omitir la maquinaria :meth:`~object.__getattribute__` de esta manera " +"proporciona un margen significativo para optimizar la velocidad dentro del " +"intérprete, a costa de cierta flexibilidad en el manejo de métodos " +"especiales (el método especial *must* debe configurarse en el propio objeto " +"de clase para que el intérprete lo invoque consistentemente). )." #: ../Doc/reference/datamodel.rst:3106 msgid "Coroutines" @@ -4899,26 +4991,24 @@ msgid "Awaitable Objects" msgstr "Objetos esperables" #: ../Doc/reference/datamodel.rst:3112 -#, fuzzy msgid "" "An :term:`awaitable` object generally implements an :meth:`~object." "__await__` method. :term:`Coroutine objects ` returned from :" "keyword:`async def` functions are awaitable." msgstr "" -"Un objeto :term:`awaitable` generalmente implementa a un método :meth:" -"`__await__`. :term:`Objetos Coroutine ` retornados a partir de " -"funciones :keyword:`async def` son esperables." +"Un objeto :term:`awaitable` generalmente implementa un método :meth:`~object." +"__await__`. :term:`Coroutine objects ` retornado por las " +"funciones :keyword:`async def` están a la espera." #: ../Doc/reference/datamodel.rst:3118 -#, fuzzy msgid "" "The :term:`generator iterator` objects returned from generators decorated " "with :func:`types.coroutine` are also awaitable, but they do not implement :" "meth:`~object.__await__`." msgstr "" -"Los objetos :term:`generator iterator` retornados a partir de generadores " -"decorados con :func:`types.coroutine` o :func:`asyncio.coroutine` también " -"son esperables, pero no implementan :meth:`__await__`." +"Los objetos :term:`generator iterator` retornados por generadores decorados " +"con :func:`types.coroutine` también están a la espera, pero no implementan :" +"meth:`~object.__await__`." #: ../Doc/reference/datamodel.rst:3124 msgid "" @@ -4937,6 +5027,10 @@ msgid "" "specific to the implementation of the asynchronous execution framework (e." "g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." msgstr "" +"El lenguaje no impone ninguna restricción sobre el tipo o valor de los " +"objetos generados por el iterador retornado por ``__await__``, ya que esto " +"es específico de la implementación del marco de ejecución asincrónica (por " +"ejemplo, :mod:`asyncio`) que administrará el objeto :term:`awaitable`." #: ../Doc/reference/datamodel.rst:3138 msgid ":pep:`492` for additional information about awaitable objects." @@ -4947,7 +5041,6 @@ msgid "Coroutine Objects" msgstr "Objetos de corrutina" #: ../Doc/reference/datamodel.rst:3146 -#, fuzzy msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " @@ -4957,14 +5050,14 @@ msgid "" "coroutine raises an exception, it is propagated by the iterator. Coroutines " "should not directly raise unhandled :exc:`StopIteration` exceptions." msgstr "" -":term:`Objetos Coroutine ` son objetos :term:`awaitable`. La " -"ejecución de una corrutina puede ser controlada llamando :meth:`__await__` e " -"iterando sobre el resultado. Cuando la corrutina ha terminado de ejecutar y " -"retorna, el iterados lanza una excepción :exc:`StopIteration`, y el " -"atributo :attr:`~StopIteration.value` de dicha excepción mantiene el valor " -"de retorno. Si la corrutina lanza una excepción, ésta es propagada por el " -"iterador. Las corrutinas no deben lanzar directamente excepciones :exc:" -"`StopIteration` no manejadas." +":term:`Coroutine objects ` son objetos :term:`awaitable`. La " +"ejecución de una corrutina se puede controlar llamando a :meth:`~object." +"__await__` e iterando sobre el resultado. Cuando la rutina termina de " +"ejecutarse y regresa, el iterador genera :exc:`StopIteration` y el atributo :" +"attr:`~StopIteration.value` de la excepción contiene el valor de retorno. Si " +"la rutina genera una excepción, el iterador la propaga. Las corrutinas no " +"deberían generar directamente excepciones :exc:`StopIteration` no " +"controladas." #: ../Doc/reference/datamodel.rst:3154 msgid "" @@ -4983,7 +5076,6 @@ msgstr "" "Es un error :exc:`RuntimeError` esperar a una corrutina más de una vez." #: ../Doc/reference/datamodel.rst:3164 -#, fuzzy msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -4993,16 +5085,15 @@ msgid "" "exception) is the same as when iterating over the :meth:`__await__` return " "value, described above." msgstr "" -"Inicia o continua la ejecución de una corrutina. Si *value* es ``None``, " -"esto es equivalente a avanzar al iterador retornado por :meth:`__await__`. " -"Si *value* no es ``None``, este método delega al método :meth:`~generator." -"send` del iterador que causó la suspensión de la corrutina. El resultado (el " -"valor de retorno, :exc:`StopIteration`, u otra excepción) es el mismo que " -"cuando se itera sobre el valor de retorno de :meth:`__await__`, descrito " +"Inicia o reanuda la ejecución de la corrutina. Si *value* es ``None``, esto " +"equivale a avanzar el iterador retornado por :meth:`~object.__await__`. Si " +"*value* no es ``None``, este método delega en el método :meth:`~generator." +"send` del iterador que provocó la suspensión de la rutina. El resultado " +"(valor de retorno, :exc:`StopIteration` u otra excepción) es el mismo que " +"cuando se itera sobre el valor de retorno :meth:`__await__`, descrito " "anteriormente." #: ../Doc/reference/datamodel.rst:3175 -#, fuzzy msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -5012,19 +5103,21 @@ msgid "" "meth:`~object.__await__` return value, described above. If the exception is " "not caught in the coroutine, it propagates back to the caller." msgstr "" -"Lanza la excepción especificada en la corrutina. Este método delega a :meth:" -"`~generator.throw` del iterador que causó la suspensión de la corrutina, si " -"dicho método existe. De lo contrario, la excepción es lanzada al punto de la " -"suspensión. El resultado (valor de retorno, :exc:`StopIteration`, u otra " -"excepción) es el mismo que cuando se itera sobre el valor de retorno de :" -"meth:`__await__` descrito anteriormente. Si la excepción no es obtenida en " -"la corrutina, ésta se propaga de regreso a quien realizó el llamado." +"Genera la excepción especificada en la corrutina. Este método delega al " +"método :meth:`~generator.throw` del iterador que provocó la suspensión de la " +"rutina, si tiene dicho método. En caso contrario, la excepción se plantea en " +"el punto de suspensión. El resultado (valor de retorno, :exc:`StopIteration` " +"u otra excepción) es el mismo que cuando se itera sobre el valor de retorno :" +"meth:`~object.__await__`, descrito anteriormente. Si la excepción no queda " +"atrapada en la rutina, se propaga de nuevo a la persona que llama." #: ../Doc/reference/datamodel.rst:3186 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." msgstr "" +"La segunda firma \\(type\\[, value\\[, traceback\\]\\]\\) está obsoleta y " +"puede eliminarse en una versión futura de Python." #: ../Doc/reference/datamodel.rst:3191 msgid "" @@ -5087,25 +5180,24 @@ msgid "An example of an asynchronous iterable object::" msgstr "Un ejemplo de objeto iterable asíncrono::" #: ../Doc/reference/datamodel.rst:3238 -#, fuzzy msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator `." msgstr "" -"Antes de Python 3.7, ``__aiter__`` podía retornar un *esperable* que se " -"resolvería en un :term:`asynchronous iterator `." +"Antes de Python 3.7, :meth:`~object.__aiter__` podía retornar un *awaitable* " +"que se resolvería en un :term:`asynchronous iterator `." #: ../Doc/reference/datamodel.rst:3243 -#, fuzzy msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " "asynchronous iterator object. Returning anything else will result in a :exc:" "`TypeError` error." msgstr "" -"A partir de Python 3.7, ``__aiter__`` debe retornar un objeto iterador " -"asíncrono. Retornar cualquier otra cosa resultará en un error :exc:" -"`TypeError`." +"A partir de Python 3.7, :meth:`~object.__aiter__` debe retornar un objeto " +"iterador asincrónico. Retornar cualquier otra cosa resultará en un error :" +"exc:`TypeError`." #: ../Doc/reference/datamodel.rst:3251 msgid "Asynchronous Context Managers" @@ -5162,17 +5254,17 @@ msgstr "" "llevar a un comportamiento bastante extraño de no ser tratado correctamente." #: ../Doc/reference/datamodel.rst:3286 -#, fuzzy msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, and :meth:`~object.__contains__` methods have special " "handling for this; others will still raise a :exc:`TypeError`, but may do so " "by relying on the behavior that ``None`` is not callable." msgstr "" -"Los métodos :meth:`__hash__`, :meth:`__iter__`, :meth:`__reversed__`, y :" -"meth:`__contains__` tienen manejo especial para esto; otros lanzarán un " -"error :exc:`TypeError`, pero lo harán dependiendo del comportamiento de que " -"``None`` no se puede llamar." +"Los métodos :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:" +"`~object.__reversed__` y :meth:`~object.__contains__` tienen un manejo " +"especial para esto; otros seguirán generando un :exc:`TypeError`, pero " +"pueden hacerlo confiando en el comportamiento de que ``None`` no es " +"invocable." #: ../Doc/reference/datamodel.rst:3292 msgid "" @@ -5188,15 +5280,14 @@ msgstr "" "retroceso." #: ../Doc/reference/datamodel.rst:3298 -#, fuzzy msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method -- such as :meth:`~object.__add__` -- fails then the overall " "operation is not supported, which is why the reflected method is not called." msgstr "" -"Para operandos del mismo tipo, se asume que si el método no reflejado (como :" -"meth:`__add__`) falla, la operación no es soportada, por lo cual el método " -"reflejado no es llamado." +"Para operandos del mismo tipo, se supone que si el método no reflejado " +"(como :meth:`~object.__add__`) falla, entonces la operación general no es " +"compatible, razón por la cual no se llama al método reflejado." #: ../Doc/reference/datamodel.rst:14 ../Doc/reference/datamodel.rst:148 #: ../Doc/reference/datamodel.rst:159 ../Doc/reference/datamodel.rst:180 @@ -5215,13 +5306,12 @@ msgstr "" #: ../Doc/reference/datamodel.rst:1048 ../Doc/reference/datamodel.rst:1102 #: ../Doc/reference/datamodel.rst:1162 ../Doc/reference/datamodel.rst:1227 #: ../Doc/reference/datamodel.rst:1618 ../Doc/reference/datamodel.rst:2626 -#, fuzzy msgid "object" -msgstr "Objetos de código" +msgstr "Objetos" #: ../Doc/reference/datamodel.rst:14 ../Doc/reference/datamodel.rst:122 msgid "data" -msgstr "" +msgstr "datos" #: ../Doc/reference/datamodel.rst:23 ../Doc/reference/datamodel.rst:292 #: ../Doc/reference/datamodel.rst:336 ../Doc/reference/datamodel.rst:420 @@ -5233,1001 +5323,921 @@ msgstr "" #: ../Doc/reference/datamodel.rst:2789 ../Doc/reference/datamodel.rst:2803 #: ../Doc/reference/datamodel.rst:2850 ../Doc/reference/datamodel.rst:2860 #: ../Doc/reference/datamodel.rst:2888 -#, fuzzy msgid "built-in function" msgstr "Funciones incorporadas" #: ../Doc/reference/datamodel.rst:23 msgid "id" -msgstr "" +msgstr "identificación" #: ../Doc/reference/datamodel.rst:23 ../Doc/reference/datamodel.rst:122 #: ../Doc/reference/datamodel.rst:2168 -#, fuzzy msgid "type" -msgstr "Tipos de conjuntos" +msgstr "Tipos" #: ../Doc/reference/datamodel.rst:23 msgid "identity of an object" -msgstr "" +msgstr "identidad de un objeto" #: ../Doc/reference/datamodel.rst:23 msgid "value of an object" -msgstr "" +msgstr "valor de un objeto" #: ../Doc/reference/datamodel.rst:23 -#, fuzzy msgid "type of an object" -msgstr "Objetos de marco" +msgstr "Tipos de objeto" #: ../Doc/reference/datamodel.rst:23 -#, fuzzy msgid "mutable object" -msgstr "Objetos esperables" +msgstr "Objetos mutables" #: ../Doc/reference/datamodel.rst:23 -#, fuzzy msgid "immutable object" -msgstr "Objetos esperables" +msgstr "Objetos inmutables" #: ../Doc/reference/datamodel.rst:60 msgid "garbage collection" -msgstr "" +msgstr "recolección de basura" #: ../Doc/reference/datamodel.rst:60 msgid "reference counting" -msgstr "" +msgstr "conteo de referencias" #: ../Doc/reference/datamodel.rst:60 -#, fuzzy msgid "unreachable object" -msgstr "Objetos esperables" +msgstr "objetos que no se pueden acceder" #: ../Doc/reference/datamodel.rst:95 ../Doc/reference/datamodel.rst:891 -#, fuzzy msgid "container" -msgstr "Corrutinas" +msgstr "contenedores" #: ../Doc/reference/datamodel.rst:122 msgid "hierarchy" -msgstr "" +msgstr "jerarquía" #: ../Doc/reference/datamodel.rst:122 msgid "extension" -msgstr "" +msgstr "extensión" #: ../Doc/reference/datamodel.rst:122 ../Doc/reference/datamodel.rst:393 #: ../Doc/reference/datamodel.rst:394 ../Doc/reference/datamodel.rst:495 #: ../Doc/reference/datamodel.rst:810 ../Doc/reference/datamodel.rst:829 #: ../Doc/reference/datamodel.rst:1005 -#, fuzzy msgid "module" -msgstr "Módulos" +msgstr "Módulo" #: ../Doc/reference/datamodel.rst:122 ../Doc/reference/datamodel.rst:261 #: ../Doc/reference/datamodel.rst:760 msgid "C" -msgstr "" +msgstr "C" #: ../Doc/reference/datamodel.rst:122 ../Doc/reference/datamodel.rst:261 #: ../Doc/reference/datamodel.rst:760 msgid "language" -msgstr "" +msgstr "lenguaje" #: ../Doc/reference/datamodel.rst:135 ../Doc/reference/datamodel.rst:891 #: ../Doc/reference/datamodel.rst:908 ../Doc/reference/datamodel.rst:959 #: ../Doc/reference/datamodel.rst:979 -#, fuzzy msgid "attribute" -msgstr "Atributo" +msgstr "atributo" #: ../Doc/reference/datamodel.rst:135 msgid "special" -msgstr "" +msgstr "especial" #: ../Doc/reference/datamodel.rst:135 msgid "generic" -msgstr "" +msgstr "genérico" #: ../Doc/reference/datamodel.rst:180 msgid "..." -msgstr "" +msgstr "..." #: ../Doc/reference/datamodel.rst:180 -#, fuzzy msgid "ellipsis literal" -msgstr "Elipsis" +msgstr "elipsis literal" #: ../Doc/reference/datamodel.rst:192 ../Doc/reference/datamodel.rst:986 msgid "numeric" -msgstr "" +msgstr "numérico" #: ../Doc/reference/datamodel.rst:225 ../Doc/reference/datamodel.rst:231 #: ../Doc/reference/datamodel.rst:336 msgid "integer" -msgstr "" +msgstr "entero" #: ../Doc/reference/datamodel.rst:231 msgid "representation" -msgstr "" +msgstr "representación" #: ../Doc/reference/datamodel.rst:246 msgid "Boolean" -msgstr "" +msgstr "booleano" #: ../Doc/reference/datamodel.rst:246 msgid "False" -msgstr "" +msgstr "Falso" #: ../Doc/reference/datamodel.rst:246 -#, fuzzy msgid "True" -msgstr "Atributo" +msgstr "Verdad" #: ../Doc/reference/datamodel.rst:261 msgid "floating point" -msgstr "" +msgstr "punto flotante" #: ../Doc/reference/datamodel.rst:261 ../Doc/reference/datamodel.rst:279 msgid "number" -msgstr "" +msgstr "número" #: ../Doc/reference/datamodel.rst:261 msgid "Java" -msgstr "" +msgstr "Java" #: ../Doc/reference/datamodel.rst:279 ../Doc/reference/datamodel.rst:2860 msgid "complex" -msgstr "" +msgstr "complejo" #: ../Doc/reference/datamodel.rst:292 ../Doc/reference/datamodel.rst:420 #: ../Doc/reference/datamodel.rst:459 ../Doc/reference/datamodel.rst:2596 msgid "len" -msgstr "" +msgstr "len" #: ../Doc/reference/datamodel.rst:292 ../Doc/reference/datamodel.rst:986 -#, fuzzy msgid "sequence" msgstr "Secuencias" #: ../Doc/reference/datamodel.rst:292 msgid "index operation" -msgstr "" +msgstr "operación de índice" #: ../Doc/reference/datamodel.rst:292 msgid "item selection" -msgstr "" +msgstr "selección de artículos" #: ../Doc/reference/datamodel.rst:292 ../Doc/reference/datamodel.rst:381 #: ../Doc/reference/datamodel.rst:459 msgid "subscription" -msgstr "" +msgstr "suscripción" #: ../Doc/reference/datamodel.rst:304 ../Doc/reference/datamodel.rst:381 msgid "slicing" -msgstr "" +msgstr "rebanar" #: ../Doc/reference/datamodel.rst:321 -#, fuzzy msgid "immutable sequence" -msgstr "Secuencias inmutables" +msgstr "Secuencia inmutable" #: ../Doc/reference/datamodel.rst:321 -#, fuzzy msgid "immutable" -msgstr "Escribible" +msgstr "inmutable" #: ../Doc/reference/datamodel.rst:332 ../Doc/reference/datamodel.rst:1507 #: ../Doc/reference/datamodel.rst:1537 -#, fuzzy msgid "string" -msgstr "Cadenas de caracteres" +msgstr "cadenas de caracteres" #: ../Doc/reference/datamodel.rst:332 -#, fuzzy msgid "immutable sequences" -msgstr "Secuencias inmutables" +msgstr "secuencias inmutables" #: ../Doc/reference/datamodel.rst:336 msgid "chr" -msgstr "" +msgstr "chr" #: ../Doc/reference/datamodel.rst:336 msgid "ord" -msgstr "" +msgstr "ord" #: ../Doc/reference/datamodel.rst:336 msgid "character" -msgstr "" +msgstr "caracter" #: ../Doc/reference/datamodel.rst:336 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: ../Doc/reference/datamodel.rst:356 -#, fuzzy msgid "tuple" -msgstr "Tuplas" +msgstr "tupla" #: ../Doc/reference/datamodel.rst:356 msgid "singleton" -msgstr "" +msgstr "único" #: ../Doc/reference/datamodel.rst:356 msgid "empty" -msgstr "" +msgstr "vacío" #: ../Doc/reference/datamodel.rst:369 ../Doc/reference/datamodel.rst:1532 -#, fuzzy msgid "bytes" -msgstr "Bytes" +msgstr "bytes" #: ../Doc/reference/datamodel.rst:369 -#, fuzzy msgid "byte" -msgstr "Bytes" +msgstr "byte" #: ../Doc/reference/datamodel.rst:381 -#, fuzzy msgid "mutable sequence" -msgstr "Secuencias mutables" +msgstr "secuencia mutable" #: ../Doc/reference/datamodel.rst:381 -#, fuzzy msgid "mutable" -msgstr "Escribible" +msgstr "mutable" #: ../Doc/reference/datamodel.rst:381 ../Doc/reference/datamodel.rst:908 #: ../Doc/reference/datamodel.rst:979 msgid "assignment" -msgstr "" +msgstr "asignación" #: ../Doc/reference/datamodel.rst:381 ../Doc/reference/datamodel.rst:810 #: ../Doc/reference/datamodel.rst:1259 ../Doc/reference/datamodel.rst:1428 #: ../Doc/reference/datamodel.rst:2915 msgid "statement" -msgstr "" +msgstr "declaración" #: ../Doc/reference/datamodel.rst:393 -#, fuzzy msgid "array" -msgstr "Colecciones de bytes" +msgstr "arreglo" #: ../Doc/reference/datamodel.rst:394 -#, fuzzy msgid "collections" -msgstr "Funciones de corrutina" +msgstr "colecciones" #: ../Doc/reference/datamodel.rst:402 -#, fuzzy msgid "list" -msgstr "Listas" +msgstr "lista" #: ../Doc/reference/datamodel.rst:409 -#, fuzzy msgid "bytearray" -msgstr "Colecciones de bytes" +msgstr "arreglo de bytes" #: ../Doc/reference/datamodel.rst:420 -#, fuzzy msgid "set type" -msgstr "Tipos de conjuntos" +msgstr "tipo conjunto" #: ../Doc/reference/datamodel.rst:440 -#, fuzzy msgid "set" -msgstr "Conjuntos" +msgstr "conjunto" #: ../Doc/reference/datamodel.rst:448 -#, fuzzy msgid "frozenset" -msgstr "Conjuntos congelados" +msgstr "conjunto congelado" #: ../Doc/reference/datamodel.rst:459 ../Doc/reference/datamodel.rst:986 -#, fuzzy msgid "mapping" -msgstr "Mapeos" +msgstr "mapeos" #: ../Doc/reference/datamodel.rst:476 ../Doc/reference/datamodel.rst:891 #: ../Doc/reference/datamodel.rst:1618 -#, fuzzy msgid "dictionary" -msgstr "Diccionarios" +msgstr "diccionario" #: ../Doc/reference/datamodel.rst:495 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" #: ../Doc/reference/datamodel.rst:495 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" #: ../Doc/reference/datamodel.rst:512 -#, fuzzy msgid "callable" -msgstr "Tipos invocables" +msgstr "invocable" #: ../Doc/reference/datamodel.rst:512 ../Doc/reference/datamodel.rst:525 #: ../Doc/reference/datamodel.rst:706 ../Doc/reference/datamodel.rst:724 #: ../Doc/reference/datamodel.rst:737 ../Doc/reference/datamodel.rst:760 -#, fuzzy msgid "function" -msgstr "Funciones incorporadas" +msgstr "función" #: ../Doc/reference/datamodel.rst:512 ../Doc/reference/datamodel.rst:891 #: ../Doc/reference/datamodel.rst:913 ../Doc/reference/datamodel.rst:2549 msgid "call" -msgstr "" +msgstr "llamada" #: ../Doc/reference/datamodel.rst:512 msgid "invocation" -msgstr "" +msgstr "invocación" #: ../Doc/reference/datamodel.rst:512 msgid "argument" -msgstr "" +msgstr "argumento" #: ../Doc/reference/datamodel.rst:525 ../Doc/reference/datamodel.rst:640 -#, fuzzy msgid "user-defined" -msgstr "Funciones definidas por el usuario" +msgstr "definida por el usuario" #: ../Doc/reference/datamodel.rst:525 -#, fuzzy msgid "user-defined function" -msgstr "Funciones definidas por el usuario" +msgstr "función definida por el usuario" #: ../Doc/reference/datamodel.rst:539 msgid "__doc__ (function attribute)" -msgstr "" +msgstr "__doc__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__name__ (function attribute)" -msgstr "" +msgstr "__name__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__module__ (function attribute)" -msgstr "" +msgstr "__module__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__dict__ (function attribute)" -msgstr "" +msgstr "__dict__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__defaults__ (function attribute)" -msgstr "" +msgstr "__defaults__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__closure__ (function attribute)" -msgstr "" +msgstr "__closure__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__code__ (function attribute)" -msgstr "" +msgstr "__code__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__globals__ (function attribute)" -msgstr "" +msgstr "__globals__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__annotations__ (function attribute)" -msgstr "" +msgstr "__annotations__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__kwdefaults__ (function attribute)" -msgstr "" +msgstr "__kwdefaults__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__type_params__ (function attribute)" -msgstr "" +msgstr "__type_params__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "global" -msgstr "" +msgstr "global" #: ../Doc/reference/datamodel.rst:539 ../Doc/reference/datamodel.rst:829 msgid "namespace" -msgstr "" +msgstr "espacio de nombre" #: ../Doc/reference/datamodel.rst:640 ../Doc/reference/datamodel.rst:778 msgid "method" -msgstr "" +msgstr "método" #: ../Doc/reference/datamodel.rst:640 -#, fuzzy msgid "user-defined method" -msgstr "Funciones definidas por el usuario" +msgstr "método definido por el usuario" #: ../Doc/reference/datamodel.rst:648 msgid "__func__ (method attribute)" -msgstr "" +msgstr "__func__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__self__ (method attribute)" -msgstr "" +msgstr "__self__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__doc__ (method attribute)" -msgstr "" +msgstr "__doc__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__name__ (method attribute)" -msgstr "" +msgstr "__name__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__module__ (method attribute)" -msgstr "" +msgstr "__module__ (atributo método)" #: ../Doc/reference/datamodel.rst:706 ../Doc/reference/datamodel.rst:1102 -#, fuzzy msgid "generator" -msgstr "Funciones generadoras" +msgstr "generador" #: ../Doc/reference/datamodel.rst:706 msgid "iterator" -msgstr "" +msgstr "iterador" #: ../Doc/reference/datamodel.rst:724 ../Doc/reference/datamodel.rst:3102 -#, fuzzy msgid "coroutine" -msgstr "Corrutinas" +msgstr "corrutina" #: ../Doc/reference/datamodel.rst:737 -#, fuzzy msgid "asynchronous generator" -msgstr "Iteradores asíncronos" +msgstr "generador asíncrono" #: ../Doc/reference/datamodel.rst:737 -#, fuzzy msgid "asynchronous iterator" -msgstr "Iteradores asíncronos" +msgstr "iterador asíncrono" #: ../Doc/reference/datamodel.rst:778 -#, fuzzy msgid "built-in method" -msgstr "Métodos incorporados" +msgstr "método incorporado" #: ../Doc/reference/datamodel.rst:778 -#, fuzzy msgid "built-in" -msgstr "Métodos incorporados" +msgstr "incorporado" #: ../Doc/reference/datamodel.rst:810 msgid "import" -msgstr "" +msgstr "importar" #: ../Doc/reference/datamodel.rst:829 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:829 -#, fuzzy msgid "__doc__ (module attribute)" -msgstr "El atributo de módulo ``__class__`` es ahora escribible." +msgstr "__doc__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:829 msgid "__file__ (module attribute)" -msgstr "" +msgstr "__file__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:829 msgid "__annotations__ (module attribute)" -msgstr "" +msgstr "__annotations__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:860 -#, fuzzy msgid "__dict__ (module attribute)" -msgstr "Personalizando acceso a atributos de módulo" +msgstr "__dict__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:908 #: ../Doc/reference/datamodel.rst:959 ../Doc/reference/datamodel.rst:1411 #: ../Doc/reference/datamodel.rst:2279 -#, fuzzy msgid "class" -msgstr "Clases" +msgstr "clase" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:959 #: ../Doc/reference/datamodel.rst:979 -#, fuzzy msgid "class instance" -msgstr "Instancias de clase" +msgstr "instancia de clase" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:959 #: ../Doc/reference/datamodel.rst:2549 -#, fuzzy msgid "instance" -msgstr "Instancias de clase" +msgstr "instancia" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:913 -#, fuzzy msgid "class object" -msgstr "Objetos de método de clase" +msgstr "objeto de clase" #: ../Doc/reference/datamodel.rst:917 msgid "__name__ (class attribute)" -msgstr "" +msgstr "__name__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__module__ (class attribute)" -msgstr "" +msgstr "__module__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__dict__ (class attribute)" -msgstr "" +msgstr "__dict__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 -#, fuzzy msgid "__bases__ (class attribute)" -msgstr "Atributos especiales:" +msgstr "__bases__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__doc__ (class attribute)" -msgstr "" +msgstr "__doc__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__annotations__ (class attribute)" -msgstr "" +msgstr "__annotations__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__type_params__ (class attribute)" -msgstr "" +msgstr "__type_params__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:994 msgid "__dict__ (instance attribute)" -msgstr "" +msgstr "__dict__ (atributo de instancia)" #: ../Doc/reference/datamodel.rst:994 -#, fuzzy msgid "__class__ (instance attribute)" -msgstr "Instancias de clase" +msgstr "__class__ (atributo de instancia)" #: ../Doc/reference/datamodel.rst:1005 msgid "open" -msgstr "" +msgstr "abrir" #: ../Doc/reference/datamodel.rst:1005 msgid "io" -msgstr "" +msgstr "io" #: ../Doc/reference/datamodel.rst:1005 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (en el módulo os)" #: ../Doc/reference/datamodel.rst:1005 msgid "makefile() (socket method)" -msgstr "" +msgstr "makefile() (método de socket)" #: ../Doc/reference/datamodel.rst:1005 msgid "sys.stdin" -msgstr "" +msgstr "sys.stdin" #: ../Doc/reference/datamodel.rst:1005 msgid "sys.stdout" -msgstr "" +msgstr "sys.stdout" #: ../Doc/reference/datamodel.rst:1005 msgid "sys.stderr" -msgstr "" +msgstr "sys.stderr" #: ../Doc/reference/datamodel.rst:1005 msgid "stdio" -msgstr "" +msgstr "stdio" #: ../Doc/reference/datamodel.rst:1005 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1005 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1005 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1034 -#, fuzzy msgid "internal type" -msgstr "Tipos internos" +msgstr "tipo interno" #: ../Doc/reference/datamodel.rst:1034 msgid "types, internal" -msgstr "" +msgstr "tipos, interno" #: ../Doc/reference/datamodel.rst:1048 -#, fuzzy msgid "bytecode" -msgstr "Bytes" +msgstr "bytecode" #: ../Doc/reference/datamodel.rst:1048 msgid "code" -msgstr "" +msgstr "code" #: ../Doc/reference/datamodel.rst:1048 -#, fuzzy msgid "code object" -msgstr "Objetos de código" +msgstr "objeto de código" #: ../Doc/reference/datamodel.rst:1059 msgid "co_argcount (code object attribute)" -msgstr "" +msgstr "co_argcount (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_posonlyargcount (code object attribute)" -msgstr "" +msgstr "co_posonlyargcount (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_kwonlyargcount (code object attribute)" -msgstr "" +msgstr "co_kwonlyargcount (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_code (code object attribute)" -msgstr "" +msgstr "co_code (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_consts (code object attribute)" -msgstr "" +msgstr "co_consts (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_filename (code object attribute)" -msgstr "" +msgstr "co_filename (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_firstlineno (code object attribute)" -msgstr "" +msgstr "co_firstlineno (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_flags (code object attribute)" -msgstr "" +msgstr "co_flags (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_lnotab (code object attribute)" -msgstr "" +msgstr "co_lnotab (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_name (code object attribute)" -msgstr "" +msgstr "co_name (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_names (code object attribute)" -msgstr "" +msgstr "co_names (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_nlocals (code object attribute)" -msgstr "" +msgstr "co_nlocals (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_stacksize (code object attribute)" -msgstr "" +msgstr "co_stacksize (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_varnames (code object attribute)" -msgstr "" +msgstr "co_varnames (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_cellvars (code object attribute)" -msgstr "" +msgstr "co_cellvars (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_freevars (code object attribute)" -msgstr "" +msgstr "co_freevars (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_qualname (code object attribute)" -msgstr "" +msgstr "co_qualname (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1118 msgid "documentation string" -msgstr "" +msgstr "cadena de caracteres de documentación" #: ../Doc/reference/datamodel.rst:1162 msgid "frame" -msgstr "" +msgstr "frame" #: ../Doc/reference/datamodel.rst:1167 msgid "f_back (frame attribute)" -msgstr "" +msgstr "f_back (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_code (frame attribute)" -msgstr "" +msgstr "f_code (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_globals (frame attribute)" -msgstr "" +msgstr "f_globals (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_locals (frame attribute)" -msgstr "" +msgstr "f_locals (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_lasti (frame attribute)" -msgstr "" +msgstr "f_lasti (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_builtins (frame attribute)" -msgstr "" +msgstr "f_builtins (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 msgid "f_trace (frame attribute)" -msgstr "" +msgstr "f_trace (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 -#, fuzzy msgid "f_trace_lines (frame attribute)" -msgstr "Atributos predefinidos (escribibles):" +msgstr "f_trace_lines (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 msgid "f_trace_opcodes (frame attribute)" -msgstr "" +msgstr "f_trace_opcodes (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 -#, fuzzy msgid "f_lineno (frame attribute)" -msgstr "Atributos predefinidos (escribibles):" +msgstr "f_lineno (atributo de frame)" #: ../Doc/reference/datamodel.rst:1227 -#, fuzzy msgid "traceback" -msgstr "Objetos de seguimiento de pila (traceback)" +msgstr "traceback" #: ../Doc/reference/datamodel.rst:1227 msgid "stack" -msgstr "" +msgstr "stack" #: ../Doc/reference/datamodel.rst:1227 msgid "trace" -msgstr "" +msgstr "trace" #: ../Doc/reference/datamodel.rst:1227 msgid "exception" -msgstr "" +msgstr "excepción" #: ../Doc/reference/datamodel.rst:1227 msgid "handler" -msgstr "" +msgstr "manejador" #: ../Doc/reference/datamodel.rst:1227 msgid "execution" -msgstr "" +msgstr "execution" #: ../Doc/reference/datamodel.rst:1227 msgid "exc_info (in module sys)" -msgstr "" +msgstr "exc_info (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1227 msgid "last_traceback (in module sys)" -msgstr "" +msgstr "last_traceback (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1227 msgid "sys.exc_info" -msgstr "" +msgstr "sys.exc_info" #: ../Doc/reference/datamodel.rst:1227 msgid "sys.exception" -msgstr "" +msgstr "sys.exception" #: ../Doc/reference/datamodel.rst:1227 msgid "sys.last_traceback" -msgstr "" +msgstr "sys.last_traceback" #: ../Doc/reference/datamodel.rst:1259 msgid "tb_frame (traceback attribute)" -msgstr "" +msgstr "tb_frame (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1259 msgid "tb_lineno (traceback attribute)" -msgstr "" +msgstr "tb_lineno (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1259 msgid "tb_lasti (traceback attribute)" -msgstr "" +msgstr "tb_lasti (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1259 msgid "try" -msgstr "" +msgstr "try" #: ../Doc/reference/datamodel.rst:1277 msgid "tb_next (traceback attribute)" -msgstr "" +msgstr "tb_next (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1292 ../Doc/reference/datamodel.rst:2626 msgid "slice" -msgstr "" +msgstr "slice" #: ../Doc/reference/datamodel.rst:1298 msgid "start (slice object attribute)" -msgstr "" +msgstr "comienzo (atributo de objeto slice)" #: ../Doc/reference/datamodel.rst:1298 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (atributo de objeto slice)" #: ../Doc/reference/datamodel.rst:1298 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (atributo de objeto slice)" #: ../Doc/reference/datamodel.rst:1346 msgid "operator" -msgstr "" +msgstr "operador" #: ../Doc/reference/datamodel.rst:1346 msgid "overloading" -msgstr "" +msgstr "sobrecarga" #: ../Doc/reference/datamodel.rst:1346 msgid "__getitem__() (mapping object method)" -msgstr "" +msgstr "__getitem__() (método de objeto mapping)" #: ../Doc/reference/datamodel.rst:1382 -#, fuzzy msgid "subclassing" -msgstr "Enlace de clase" +msgstr "subclase" #: ../Doc/reference/datamodel.rst:1382 -#, fuzzy msgid "immutable types" -msgstr "Secuencias inmutables" +msgstr "tipos inmutables" #: ../Doc/reference/datamodel.rst:1411 msgid "constructor" -msgstr "" +msgstr "constructor" #: ../Doc/reference/datamodel.rst:1428 msgid "destructor" -msgstr "" +msgstr "destructor" #: ../Doc/reference/datamodel.rst:1428 msgid "finalizer" -msgstr "" +msgstr "finalizador" #: ../Doc/reference/datamodel.rst:1428 msgid "del" -msgstr "" +msgstr "del" #: ../Doc/reference/datamodel.rst:1490 -#, fuzzy msgid "repr() (built-in function)" -msgstr "Funciones incorporadas" +msgstr "repr() (función incorporada)" #: ../Doc/reference/datamodel.rst:1490 msgid "__repr__() (object method)" -msgstr "" +msgstr "__repr__() (método objeto)" #: ../Doc/reference/datamodel.rst:1507 msgid "__str__() (object method)" -msgstr "" +msgstr "__str__() (método objeto)" #: ../Doc/reference/datamodel.rst:1507 -#, fuzzy msgid "format() (built-in function)" -msgstr "Funciones incorporadas" +msgstr "format() (función incorporada)" #: ../Doc/reference/datamodel.rst:1507 -#, fuzzy msgid "print() (built-in function)" -msgstr "Funciones incorporadas" +msgstr "print() (función incorporada)" #: ../Doc/reference/datamodel.rst:1537 msgid "__format__() (object method)" -msgstr "" +msgstr "__format__() (método objeto)" #: ../Doc/reference/datamodel.rst:1537 msgid "conversion" -msgstr "" +msgstr "conversión" #: ../Doc/reference/datamodel.rst:1537 msgid "print" -msgstr "" +msgstr "print" #: ../Doc/reference/datamodel.rst:1576 msgid "comparisons" -msgstr "" +msgstr "comparaciones" #: ../Doc/reference/datamodel.rst:1618 msgid "hash" -msgstr "" +msgstr "hash" #: ../Doc/reference/datamodel.rst:1699 msgid "__len__() (mapping object method)" -msgstr "" +msgstr "__len__() (método objeto mapping)" #: ../Doc/reference/datamodel.rst:1802 -#, fuzzy msgid "__getattr__ (module attribute)" -msgstr "Atributos de módulo ``__getattr__`` y ``__dir__``." +msgstr "__getattr__ (atributo de módulo)" #: ../Doc/reference/datamodel.rst:1802 -#, fuzzy msgid "__dir__ (module attribute)" -msgstr "Atributos de módulo ``__getattr__`` y ``__dir__``." +msgstr "__dir__ (atributo de módulo)" #: ../Doc/reference/datamodel.rst:1802 -#, fuzzy msgid "__class__ (module attribute)" -msgstr "El atributo de módulo ``__class__`` es ahora escribible." +msgstr "__class__ (atributo de módulo)" #: ../Doc/reference/datamodel.rst:2168 -#, fuzzy msgid "metaclass" -msgstr "Metaclases" +msgstr "metaclases" #: ../Doc/reference/datamodel.rst:2168 msgid "= (equals)" -msgstr "" +msgstr "= (es igual a)" #: ../Doc/reference/datamodel.rst:2168 -#, fuzzy msgid "class definition" -msgstr "Enlace de clase" +msgstr "definición de clase" #: ../Doc/reference/datamodel.rst:2232 -#, fuzzy msgid "metaclass hint" -msgstr "Metaclases" +msgstr "pista de metaclase" #: ../Doc/reference/datamodel.rst:2255 msgid "__prepare__ (metaclass method)" -msgstr "" +msgstr "__prepare__ (método de metaclase)" #: ../Doc/reference/datamodel.rst:2279 msgid "body" -msgstr "" +msgstr "cuerpo" #: ../Doc/reference/datamodel.rst:2299 -#, fuzzy msgid "__class__ (method cell)" -msgstr "Objetos de método de clase" +msgstr "__class__ (celda de método)" #: ../Doc/reference/datamodel.rst:2299 msgid "__classcell__ (class namespace entry)" -msgstr "" +msgstr "__classcell;__ (entrada de espacio de nombre de clase)" #: ../Doc/reference/datamodel.rst:2596 msgid "__bool__() (object method)" -msgstr "" +msgstr "__bool__() (método objeto)" #: ../Doc/reference/datamodel.rst:2754 ../Doc/reference/datamodel.rst:2789 msgid "divmod" -msgstr "" +msgstr "divmod" #: ../Doc/reference/datamodel.rst:2754 ../Doc/reference/datamodel.rst:2789 #: ../Doc/reference/datamodel.rst:2803 msgid "pow" -msgstr "" +msgstr "pow" #: ../Doc/reference/datamodel.rst:2850 msgid "abs" -msgstr "" +msgstr "abs" #: ../Doc/reference/datamodel.rst:2860 msgid "int" -msgstr "" +msgstr "int" #: ../Doc/reference/datamodel.rst:2860 msgid "float" -msgstr "" +msgstr "float" #: ../Doc/reference/datamodel.rst:2888 msgid "round" -msgstr "" +msgstr "round" #: ../Doc/reference/datamodel.rst:2915 msgid "with" -msgstr "" +msgstr "with" #: ../Doc/reference/datamodel.rst:2915 -#, fuzzy msgid "context manager" -msgstr "Gestores de contexto asíncronos" - -#~ msgid "" -#~ "The extension module :mod:`array` provides an additional example of a " -#~ "mutable sequence type, as does the :mod:`collections` module." -#~ msgstr "" -#~ "El módulo de extensión :mod:`array` proporciona un ejemplo adicional de " -#~ "un tipo de secuencia mutable, al igual que el módulo :mod:`collections`." - -#~ msgid ":pep:`560` - Core support for typing module and generic types" -#~ msgstr "" -#~ ":pep:`560` - Soporte central para módulos de clasificación y tipos " -#~ "genéricos" +msgstr "gestor de contexto" From 2de62094f11b9bb6f18afcb59471a34d94d87636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 5 Apr 2024 17:06:41 +0200 Subject: [PATCH 02/63] Traducido library/asyncio-task (#2268) Closes #1874 --------- Co-authored-by: Carlos A. Crespo Co-authored-by: Andrea Alegre Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- dictionaries/library_asyncio-task.txt | 6 +- library/asyncio-task.po | 331 +++++++++++++++++++------- 2 files changed, 251 insertions(+), 86 deletions(-) diff --git a/dictionaries/library_asyncio-task.txt b/dictionaries/library_asyncio-task.txt index 69df8e2489..551990c2da 100644 --- a/dictionaries/library_asyncio-task.txt +++ b/dictionaries/library_asyncio-task.txt @@ -1,3 +1,7 @@ -threadpool gather kwargs +reprogramar +reprogramarse +reúnalas +sincrónicamente +threadpool diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 7112d61773..5168140893 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -13,9 +13,8 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2021-08-04 13:41+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" @@ -39,10 +38,9 @@ msgstr "Corrutinas" #: ../Doc/library/asyncio-task.rst:21 msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/coroutines.py`" #: ../Doc/library/asyncio-task.rst:25 -#, fuzzy msgid "" ":term:`Coroutines ` declared with the async/await syntax is the " "preferred way of writing asyncio applications. For example, the following " @@ -50,8 +48,8 @@ msgid "" msgstr "" ":term:`Coroutines ` declarado con la sintaxis async/await es la " "forma preferida de escribir aplicaciones asyncio. Por ejemplo, el siguiente " -"fragmento de código (requiere Python 3.7+) imprime \"hola\", espera 1 " -"segundo y, a continuación, imprime \"mundo\"::" +"fragmento de código imprime \"hola\", espera 1 segundo y luego imprime " +"\"mundo\"::" #: ../Doc/library/asyncio-task.rst:41 msgid "" @@ -61,11 +59,10 @@ msgstr "" "que se ejecute::" #: ../Doc/library/asyncio-task.rst:47 -#, fuzzy msgid "To actually run a coroutine, asyncio provides the following mechanisms:" msgstr "" -"Para ejecutar realmente una corrutina, asyncio proporciona tres mecanismos " -"principales:" +"Para ejecutar realmente una corutina, asyncio proporciona los siguientes " +"mecanismos:" #: ../Doc/library/asyncio-task.rst:49 msgid "" @@ -118,14 +115,17 @@ msgid "" "The :class:`asyncio.TaskGroup` class provides a more modern alternative to :" "func:`create_task`. Using this API, the last example becomes::" msgstr "" +"La clase :class:`asyncio.TaskGroup` proporciona una alternativa más moderna " +"a :func:`create_task`. Usando esta API, el último ejemplo se convierte en:" #: ../Doc/library/asyncio-task.rst:128 msgid "The timing and output should be the same as for the previous version." msgstr "" +"El tiempo y la salida deben ser los mismos que para la versión anterior." #: ../Doc/library/asyncio-task.rst:130 msgid ":class:`asyncio.TaskGroup`." -msgstr "" +msgstr ":class:`asyncio.TaskGroup`." #: ../Doc/library/asyncio-task.rst:137 msgid "Awaitables" @@ -251,7 +251,7 @@ msgstr "Creando Tareas" #: ../Doc/library/asyncio-task.rst:237 msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/tasks.py`" #: ../Doc/library/asyncio-task.rst:243 msgid "" @@ -275,6 +275,9 @@ msgid "" "class:`contextvars.Context` for the *coro* to run in. The current context " "copy is created when no *context* is provided." msgstr "" +"Un argumento *context* opcional de solo palabra clave permite especificar " +"un :class:`contextvars.Context` personalizado para que se ejecute el *coro*. " +"La copia de contexto actual se crea cuando no se proporciona *context*." #: ../Doc/library/asyncio-task.rst:253 msgid "" @@ -291,6 +294,8 @@ msgid "" "structural concurrency; it allows for waiting for a group of related tasks " "with strong safety guarantees." msgstr "" +":meth:`asyncio.TaskGroup.create_task` es una alternativa más nueva que " +"permite una espera conveniente para un grupo de tareas relacionadas." #: ../Doc/library/asyncio-task.rst:265 msgid "" @@ -300,26 +305,34 @@ msgid "" "any time, even before it's done. For reliable \"fire-and-forget\" background " "tasks, gather them in a collection::" msgstr "" +"Guarde una referencia al resultado de esta función, para evitar que una " +"tarea desaparezca en medio de la ejecución. El bucle de eventos solo " +"mantiene referencias débiles a las tareas. Una tarea a la que no se hace " +"referencia en ningún otro lugar puede ser recolectada por el recolector de " +"basura en cualquier momento, incluso antes de que se complete. Para tareas " +"confiables en segundo plano, de tipo \"lanzar y olvidar\", reúnalas en una " +"colección:" #: ../Doc/library/asyncio-task.rst:287 ../Doc/library/asyncio-task.rst:1076 -#, fuzzy msgid "Added the *name* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *name*." #: ../Doc/library/asyncio-task.rst:290 ../Doc/library/asyncio-task.rst:1083 -#, fuzzy msgid "Added the *context* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *context*." #: ../Doc/library/asyncio-task.rst:295 msgid "Task Cancellation" -msgstr "" +msgstr "Cancelación de tareas" #: ../Doc/library/asyncio-task.rst:297 msgid "" "Tasks can easily and safely be cancelled. When a task is cancelled, :exc:" "`asyncio.CancelledError` will be raised in the task at the next opportunity." msgstr "" +"Las tareas se pueden cancelar de forma fácil y segura. Cuando se cancela una " +"tarea, se generará :exc:`asyncio.CancelledError` en la tarea en la próxima " +"oportunidad." #: ../Doc/library/asyncio-task.rst:301 msgid "" @@ -329,6 +342,12 @@ msgid "" "`asyncio.CancelledError` directly subclasses :exc:`BaseException` so most " "code will not need to be aware of it." msgstr "" +"Se recomienda que las corrutinas utilicen bloques ``try/finally`` para " +"realizar de forma sólida la lógica de limpieza. En caso de que :exc:`asyncio." +"CancelledError` se detecte explícitamente, generalmente debería propagarse " +"cuando se complete la limpieza. :exc:`asyncio.CancelledError` subclasifica " +"directamente a :exc:`BaseException`, por lo que la mayor parte del código no " +"necesitará tenerlo en cuenta." #: ../Doc/library/asyncio-task.rst:307 msgid "" @@ -340,16 +359,27 @@ msgid "" "exc:`asyncio.CancelledError` is truly desired, it is necessary to also call " "``uncancel()`` to completely remove the cancellation state." msgstr "" +"Los componentes asyncio que permiten la simultaneidad estructurada, como :" +"class:`asyncio.TaskGroup` y :func:`asyncio.timeout`, se implementan mediante " +"cancelación internamente y podrían comportarse mal si una rutina traga :exc:" +"`asyncio.CancelledError`. De manera similar, el código de usuario " +"generalmente no debería llamar a :meth:`uncancel `. " +"Sin embargo, en los casos en los que realmente se desea suprimir :exc:" +"`asyncio.CancelledError`, es necesario llamar también a ``uncancel()`` para " +"eliminar completamente el estado de cancelación." #: ../Doc/library/asyncio-task.rst:319 msgid "Task Groups" -msgstr "" +msgstr "Grupos de tareas" #: ../Doc/library/asyncio-task.rst:321 msgid "" "Task groups combine a task creation API with a convenient and reliable way " "to wait for all tasks in the group to finish." msgstr "" +"Los grupos de tareas combinan una API de creación de tareas con una forma " +"conveniente y confiable de esperar a que finalicen todas las tareas del " +"grupo." #: ../Doc/library/asyncio-task.rst:326 msgid "" @@ -357,12 +387,18 @@ msgid "" "group of tasks. Tasks can be added to the group using :meth:`create_task`. " "All tasks are awaited when the context manager exits." msgstr "" +"Un :ref:`asynchronous context manager ` que contiene " +"un grupo de tareas. Las tareas se pueden agregar al grupo usando :meth:" +"`create_task`. Se esperan todas las tareas cuando sale el administrador de " +"contexto." #: ../Doc/library/asyncio-task.rst:335 msgid "" "Create a task in this task group. The signature matches that of :func:" "`asyncio.create_task`." msgstr "" +"Cree una tarea en este grupo de tareas. La firma coincide con la de :func:" +"`asyncio.create_task`." #: ../Doc/library/asyncio-task.rst:338 ../Doc/library/asyncio-task.rst:472 #: ../Doc/library/asyncio-task.rst:645 ../Doc/library/asyncio-task.rst:703 @@ -379,6 +415,11 @@ msgid "" "in that coroutine). Once the last task has finished and the ``async with`` " "block is exited, no new tasks may be added to the group." msgstr "" +"La instrucción ``async with`` esperará a que finalicen todas las tareas del " +"grupo. Mientras espera, aún se pueden agregar nuevas tareas al grupo (por " +"ejemplo, pasando ``tg`` a una de las corrutinas y llamando a ``tg." +"create_task()`` en esa corrutina). Una vez finalizada la última tarea y " +"salido del bloque ``async with``, no se podrán añadir nuevas tareas al grupo." #: ../Doc/library/asyncio-task.rst:353 msgid "" @@ -391,6 +432,14 @@ msgid "" "exc:`asyncio.CancelledError` will interrupt an ``await``, but it will not " "bubble out of the containing ``async with`` statement." msgstr "" +"La primera vez que alguna de las tareas pertenecientes al grupo falla con " +"una excepción que no sea :exc:`asyncio.CancelledError`, las tareas restantes " +"del grupo se cancelan. No se pueden añadir más tareas al grupo. En este " +"punto, si el cuerpo de la instrucción ``async with`` aún está activo (es " +"decir, aún no se ha llamado a :meth:`~object.__aexit__`), la tarea que " +"contiene directamente la instrucción ``async with`` también se cancela. El :" +"exc:`asyncio.CancelledError` resultante interrumpirá un ``await``, pero no " +"saldrá de la instrucción ``async with`` que lo contiene." #: ../Doc/library/asyncio-task.rst:363 msgid "" @@ -399,6 +448,10 @@ msgid "" "an :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup` (as appropriate; see " "their documentation) which is then raised." msgstr "" +"Una vez que todas las tareas han finalizado, si alguna tarea ha fallado con " +"una excepción que no sea :exc:`asyncio.CancelledError`, esas excepciones se " +"combinan en un :exc:`ExceptionGroup` o :exc:`BaseExceptionGroup` (según " +"corresponda; consulte su documentación) que luego se genera." #: ../Doc/library/asyncio-task.rst:370 msgid "" @@ -408,6 +461,11 @@ msgid "" "`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead of :exc:" "`ExceptionGroup` or :exc:`BaseExceptionGroup`." msgstr "" +"Dos excepciones básicas se tratan de manera especial: si alguna tarea falla " +"con :exc:`KeyboardInterrupt` o :exc:`SystemExit`, el grupo de tareas aún " +"cancela las tareas restantes y las espera, pero luego se vuelve a generar " +"el :exc:`KeyboardInterrupt` o :exc:`SystemExit` inicial en lugar de :exc:" +"`ExceptionGroup` o :exc:`BaseExceptionGroup`." #: ../Doc/library/asyncio-task.rst:376 msgid "" @@ -420,6 +478,15 @@ msgid "" "the exception group. The same special case is made for :exc:" "`KeyboardInterrupt` and :exc:`SystemExit` as in the previous paragraph." msgstr "" +"Si el cuerpo de la instrucción ``async with`` finaliza con una excepción " +"(por lo que se llama a :meth:`~object.__aexit__` con un conjunto de " +"excepciones), esto se trata igual que si una de las tareas fallara: las " +"tareas restantes se cancelan y luego se esperan, y las excepciones de no " +"cancelación se agrupan en un grupo de excepción y se generan. La excepción " +"pasada a :meth:`~object.__aexit__`, a menos que sea :exc:`asyncio." +"CancelledError`, también se incluye en el grupo de excepciones. Se hace el " +"mismo caso especial para :exc:`KeyboardInterrupt` y :exc:`SystemExit` que en " +"el párrafo anterior." #: ../Doc/library/asyncio-task.rst:390 msgid "Sleeping" @@ -466,9 +533,8 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:620 ../Doc/library/asyncio-task.rst:767 #: ../Doc/library/asyncio-task.rst:797 ../Doc/library/asyncio-task.rst:849 #: ../Doc/library/asyncio-task.rst:875 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "El parámetro *loop*." +msgstr "Se quitó el parámetro *loop*." #: ../Doc/library/asyncio-task.rst:431 msgid "Running Tasks Concurrently" @@ -549,6 +615,8 @@ msgid "" "*TaskGroup* will, while *gather* will not, cancel the remaining scheduled " "tasks)." msgstr "" +"Una forma más moderna de crear y ejecutar tareas simultáneamente y esperar a " +"que se completen es :class:`asyncio.TaskGroup`." #: ../Doc/library/asyncio-task.rst:510 msgid "" @@ -585,11 +653,11 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:533 msgid "Eager Task Factory" -msgstr "" +msgstr "Fábrica de tareas ansiosas" #: ../Doc/library/asyncio-task.rst:537 msgid "A task factory for eager task execution." -msgstr "" +msgstr "Una fábrica de tareas para una ejecución entusiasta de tareas." #: ../Doc/library/asyncio-task.rst:539 msgid "" @@ -600,12 +668,22 @@ msgid "" "overhead of loop scheduling is avoided for coroutines that complete " "synchronously." msgstr "" +"Cuando se utiliza esta fábrica (a través de :meth:`loop." +"set_task_factory(asyncio.eager_task_factory) `), las " +"corrutinas comienzan a ejecutarse sincrónicamente durante la construcción " +"de :class:`Task`. Las tareas sólo se programan en el bucle de eventos si se " +"bloquean. Esto puede suponer una mejora del rendimiento, ya que se evita la " +"sobrecarga de la programación del bucle para las corrutinas que se completan " +"sincrónicamente." #: ../Doc/library/asyncio-task.rst:545 msgid "" "A common example where this is beneficial is coroutines which employ caching " "or memoization to avoid actual I/O when possible." msgstr "" +"Un ejemplo común en el que esto resulta beneficioso son las rutinas que " +"emplean almacenamiento en caché o memorización para evitar E/S reales cuando " +"sea posible." #: ../Doc/library/asyncio-task.rst:550 msgid "" @@ -615,6 +693,12 @@ msgid "" "change may introduce behavior changes to existing applications. For example, " "the application's task execution order is likely to change." msgstr "" +"La ejecución inmediata de la corrutina es un cambio semántico. Si la rutina " +"regresa o se activa, la tarea nunca se programa en el bucle de eventos. Si " +"la ejecución de la rutina se bloquea, la tarea se programa en el bucle de " +"eventos. Este cambio puede introducir cambios de comportamiento en las " +"aplicaciones existentes. Por ejemplo, es probable que cambie el orden de " +"ejecución de las tareas de la aplicación." #: ../Doc/library/asyncio-task.rst:561 msgid "" @@ -622,6 +706,9 @@ msgid "" "the provided *custom_task_constructor* when creating a new task instead of " "the default :class:`Task`." msgstr "" +"Cree una fábrica de tareas entusiastas, similar a :func:" +"`eager_task_factory`, utilizando el *custom_task_constructor* proporcionado " +"al crear una nueva tarea en lugar del :class:`Task` predeterminado." #: ../Doc/library/asyncio-task.rst:565 msgid "" @@ -629,6 +716,9 @@ msgid "" "the signature of :class:`Task.__init__ `. The callable must return a :" "class:`asyncio.Task`-compatible object." msgstr "" +"*custom_task_constructor* debe ser un *callable* con la firma que coincida " +"con la firma de :class:`Task.__init__ `. El invocable debe devolver un " +"objeto compatible con :class:`asyncio.Task`." #: ../Doc/library/asyncio-task.rst:569 msgid "" @@ -636,6 +726,9 @@ msgid "" "an event loop via :meth:`loop.set_task_factory(factory) `)." msgstr "" +"Esta función devuelve un *callable* destinado a ser utilizado como fábrica " +"de tareas de un bucle de eventos a través de :meth:`loop." +"set_task_factory(factory) `)." #: ../Doc/library/asyncio-task.rst:576 msgid "Shielding From Cancellation" @@ -700,6 +793,11 @@ msgid "" "tasks. A task that isn't referenced elsewhere may get garbage collected at " "any time, even before it's done." msgstr "" +"Guarde una referencia a las tareas pasadas a esta función, para evitar que " +"una tarea desaparezca a mitad de la ejecución. El bucle de eventos solo " +"mantiene referencias débiles a las tareas. Una tarea a la que no se hace " +"referencia en ningún otro lugar puede ser recolectada por el recolector de " +"basura en cualquier momento, incluso antes de que se complete." #: ../Doc/library/asyncio-task.rst:623 msgid "" @@ -718,6 +816,8 @@ msgid "" "Return an :ref:`asynchronous context manager ` that " "can be used to limit the amount of time spent waiting on something." msgstr "" +"Un :ref:`asynchronous context manager ` que se puede " +"usar para limitar la cantidad de tiempo que se pasa esperando algo." #: ../Doc/library/asyncio-task.rst:637 msgid "" @@ -725,12 +825,18 @@ msgid "" "*delay* is ``None``, no time limit will be applied; this can be useful if " "the delay is unknown when the context manager is created." msgstr "" +"*delay* puede ser ``None`` o un número flotante/int de segundos de espera. " +"Si *delay* es ``None``, no se aplicará ningún límite de tiempo; esto puede " +"ser útil si se desconoce el retraso cuando se crea el administrador de " +"contexto." #: ../Doc/library/asyncio-task.rst:642 msgid "" "In either case, the context manager can be rescheduled after creation using :" "meth:`Timeout.reschedule`." msgstr "" +"En cualquier caso, el administrador de contexto se puede reprogramar después " +"de la creación mediante :meth:`Timeout.reschedule`." #: ../Doc/library/asyncio-task.rst:651 msgid "" @@ -739,6 +845,10 @@ msgid "" "CancelledError` internally, transforming it into a :exc:`TimeoutError` which " "can be caught and handled." msgstr "" +"Si ``long_running_task`` tarda más de 10 segundos en completarse, el " +"administrador de contexto cancelará la tarea actual y manejará internamente " +"el :exc:`asyncio.CancelledError` resultante, transformándolo en un :exc:" +"`asyncio.TimeoutError` que se puede capturar y manejar." #: ../Doc/library/asyncio-task.rst:658 msgid "" @@ -746,61 +856,81 @@ msgid "" "`asyncio.CancelledError` into a :exc:`TimeoutError`, which means the :exc:" "`TimeoutError` can only be caught *outside* of the context manager." msgstr "" +"El administrador de contexto :func:`asyncio.timeout` es lo que transforma " +"el :exc:`asyncio.CancelledError` en un :exc:`asyncio.TimeoutError`, lo que " +"significa que el :exc:`asyncio.TimeoutError` solo puede capturarse *outside* " +"del administrador de contexto." #: ../Doc/library/asyncio-task.rst:663 msgid "Example of catching :exc:`TimeoutError`::" -msgstr "" +msgstr "Ejemplo de captura de :exc:`TimeoutError`::" #: ../Doc/library/asyncio-task.rst:674 msgid "" "The context manager produced by :func:`asyncio.timeout` can be rescheduled " "to a different deadline and inspected." msgstr "" +"El administrador de contexto producido por :func:`asyncio.timeout` puede " +"reprogramarse para una fecha límite diferente e inspeccionarse." #: ../Doc/library/asyncio-task.rst:679 msgid "" "An :ref:`asynchronous context manager ` for " "cancelling overdue coroutines." msgstr "" +"Un :ref:`asynchronous context manager ` para " +"cancelar corrutinas vencidas." #: ../Doc/library/asyncio-task.rst:682 msgid "" "``when`` should be an absolute time at which the context should time out, as " "measured by the event loop's clock:" msgstr "" +"``when`` debe ser un tiempo absoluto en el que el contexto debe expirar, " +"según lo medido por el reloj del bucle de eventos:" #: ../Doc/library/asyncio-task.rst:685 msgid "If ``when`` is ``None``, the timeout will never trigger." -msgstr "" +msgstr "Si ``when`` es ``None``, el tiempo de espera nunca se activará." #: ../Doc/library/asyncio-task.rst:686 msgid "" "If ``when < loop.time()``, the timeout will trigger on the next iteration of " "the event loop." msgstr "" +"Si ``when < loop.time()``, el tiempo de espera se activará en la próxima " +"iteración del bucle de eventos" #: ../Doc/library/asyncio-task.rst:691 msgid "" "Return the current deadline, or ``None`` if the current deadline is not set." msgstr "" +"Retorna la fecha límite actual, o ``None`` si la fecha límite actual no está " +"establecida." #: ../Doc/library/asyncio-task.rst:696 msgid "Reschedule the timeout." -msgstr "" +msgstr "Reprogramar el tiempo de espera." #: ../Doc/library/asyncio-task.rst:700 msgid "Return whether the context manager has exceeded its deadline (expired)." msgstr "" +"Retorna si el administrador de contexto ha excedido su fecha límite " +"(caducada)." #: ../Doc/library/asyncio-task.rst:720 msgid "Timeout context managers can be safely nested." msgstr "" +"Los administradores de contexto de tiempo de espera se pueden anidar de " +"forma segura." #: ../Doc/library/asyncio-task.rst:726 msgid "" "Similar to :func:`asyncio.timeout`, except *when* is the absolute time to " "stop waiting, or ``None``." msgstr "" +"Similar a :func:`asyncio.timeout`, excepto que *when* es el tiempo absoluto " +"para dejar de esperar, o ``None``." #: ../Doc/library/asyncio-task.rst:746 msgid "" @@ -819,12 +949,11 @@ msgstr "" "a esperar. Si *timeout* es ``None``, se bloquea hasta que Future se completa." #: ../Doc/library/asyncio-task.rst:755 -#, fuzzy msgid "" "If a timeout occurs, it cancels the task and raises :exc:`TimeoutError`." msgstr "" -"Si se produce un agotamiento de tiempo, cancela la tarea y genera :exc:" -"`asyncio.TimeoutError`." +"Si se agota el tiempo de espera, cancela la tarea y lanza :exc:" +"`TimeoutError`." #: ../Doc/library/asyncio-task.rst:758 msgid "" @@ -849,28 +978,27 @@ msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si se cancela la espera, el Future *aw* también se cancela." #: ../Doc/library/asyncio-task.rst:792 -#, fuzzy msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`TimeoutError` immediately." msgstr "" -"Cuando *aw* se cancela debido a un agotamiento de tiempo, ``wait_for`` " -"espera a que se cancele *aw*. Anteriormente, se lanzó inmediatamente :exc:" -"`asyncio.TimeoutError`." +"Cuando se cancela *aw* debido a un tiempo de espera, ``wait_for`` espera a " +"que se cancele *aw*. Anteriormente, lanzaba :exc:`TimeoutError` " +"inmediatamente." #: ../Doc/library/asyncio-task.rst:802 msgid "Waiting Primitives" msgstr "Esperando primitivas" #: ../Doc/library/asyncio-task.rst:806 -#, fuzzy msgid "" "Run :class:`~asyncio.Future` and :class:`~asyncio.Task` instances in the " "*aws* iterable concurrently and block until the condition specified by " "*return_when*." msgstr "" -"Ejecuta :ref:`objetos en espera ` en el *aws* iterable " -"simultáneamente y bloquee hasta la condición especificada por *return_when*." +"Ejecuta instancias :class:`~asyncio.Future` y :class:`~asyncio.Task` en el " +"iterable *aws* simultáneamente y bloquea hasta la condición especificada por " +"*return_when*." #: ../Doc/library/asyncio-task.rst:810 msgid "The *aws* iterable must not be empty." @@ -894,15 +1022,14 @@ msgstr "" "retornar." #: ../Doc/library/asyncio-task.rst:821 -#, fuzzy msgid "" "Note that this function does not raise :exc:`TimeoutError`. Futures or Tasks " "that aren't done when the timeout occurs are simply returned in the second " "set." msgstr "" -"Tenga en cuenta que esta función no lanza :exc:`asyncio.TimeoutError`. Los " -"Futures o Tareas que no terminan cuando se agota el tiempo simplemente se " -"retornan en el segundo conjunto." +"Tenga en cuenta que esta función no lanza :exc:`TimeoutError`. Los futuros o " +"las tareas que no se realizan cuando se agota el tiempo de espera " +"simplemente se retornan en el segundo conjunto." #: ../Doc/library/asyncio-task.rst:825 msgid "" @@ -959,13 +1086,12 @@ msgstr "" "cuando se produce un agotamiento de tiempo." #: ../Doc/library/asyncio-task.rst:852 -#, fuzzy msgid "Passing coroutine objects to ``wait()`` directly is forbidden." -msgstr "El paso de objetos corrutina a ``wait()`` directamente está en desuso." +msgstr "Está prohibido pasar objetos de rutina a ``wait()`` directamente." #: ../Doc/library/asyncio-task.rst:855 ../Doc/library/asyncio-task.rst:882 msgid "Added support for generators yielding tasks." -msgstr "" +msgstr "Se agregó soporte para generadores que generan tareas." #: ../Doc/library/asyncio-task.rst:861 msgid "" @@ -975,17 +1101,16 @@ msgid "" "remaining awaitables." msgstr "" "Ejecuta :ref:`objetos en espera ` en el *aws* iterable " -"al mismo tiempo. Devuelve un iterador de corrutinas. Se puede esperar a cada " -"corrutina devuelta para obtener el siguiente resultado más temprano del " +"al mismo tiempo. Retorna un iterador de corrutinas. Se puede esperar a cada " +"corrutina retornada para obtener el siguiente resultado más temprano del " "iterable de los esperables restantes." #: ../Doc/library/asyncio-task.rst:866 -#, fuzzy msgid "" "Raises :exc:`TimeoutError` if the timeout occurs before all Futures are done." msgstr "" -"Lanza :exc:`asyncio.TimeoutError` si el agotamiento de tiempo ocurre antes " -"que todos los Futures terminen." +"Lanza :exc:`TimeoutError` si el tiempo de espera se agota antes de que " +"finalicen todos los futuros." #: ../Doc/library/asyncio-task.rst:878 msgid "" @@ -1024,42 +1149,40 @@ msgstr "" "de *func*." #: ../Doc/library/asyncio-task.rst:900 -#, fuzzy msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " "were run in the main thread. For example::" msgstr "" -"Esta función de corrutina está destinada principalmente a ser utilizada para " -"ejecutar funciones/métodos vinculados a IO que de otro modo bloquearían el " -"bucle de eventos si se ejecutaran en el hilo principal. Por ejemplo::" +"Esta función de rutina está diseñada principalmente para ejecutar funciones/" +"métodos vinculados a IO que, de otro modo, bloquearían el bucle de eventos " +"si se ejecutaran en el subproceso principal. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:930 -#, fuzzy msgid "" "Directly calling ``blocking_io()`` in any coroutine would block the event " "loop for its duration, resulting in an additional 1 second of run time. " "Instead, by using ``asyncio.to_thread()``, we can run it in a separate " "thread without blocking the event loop." msgstr "" -"Llamando directamente a `blocking_io()` en cualquier corrutina bloquearía el " -"bucle de eventos por su duración, lo que daría como resultado 1 segundo " -"adicional de tiempo de ejecución. En cambio, usando `asyncio.to_thread()`, " -"podemos ejecutarlo en un hilo separado sin bloquear el bucle de eventos." +"Llamar directamente a ``blocking_io()`` en cualquier rutina bloquearía el " +"bucle de eventos durante su duración, lo que daría como resultado 1 segundo " +"adicional de tiempo de ejecución. En cambio, al usar ``asyncio." +"to_thread()``, podemos ejecutarlo en un subproceso separado sin bloquear el " +"ciclo de eventos." #: ../Doc/library/asyncio-task.rst:937 -#, fuzzy msgid "" "Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " "to make IO-bound functions non-blocking. However, for extension modules that " "release the GIL or alternative Python implementations that don't have one, " "``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -"Debido al :term:`GIL`, `asyncio.to_thread()` normalmente solo se puede usar " -"para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, para " -"los módulos de extensión que lanzan GIL o implementaciones alternativas de " -"Python que no tienen una, `asyncio.to_thread()` también se puede usar para " -"funciones vinculadas a la CPU." +"Debido a :term:`GIL`, ``asyncio.to_thread()`` generalmente solo se puede " +"usar para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, " +"para los módulos de extensión que lanzan GIL o implementaciones alternativas " +"de Python que no tienen uno, ``asyncio.to_thread()`` también se puede usar " +"para funciones vinculadas a la CPU." #: ../Doc/library/asyncio-task.rst:946 msgid "Scheduling From Other Threads" @@ -1145,9 +1268,8 @@ msgstr "" "bucle actual." #: ../Doc/library/asyncio-task.rst:1018 -#, fuzzy msgid "Return ``True`` if *obj* is a coroutine object." -msgstr "Retorna ``True`` si la Tarea está *finalizada*." +msgstr "Retorna ``True`` si *obj* es un objeto corutina." #: ../Doc/library/asyncio-task.rst:1024 msgid "Task Object" @@ -1213,7 +1335,7 @@ msgid "" "`CancelledError` exception and was actually cancelled." msgstr "" ":meth:`cancelled` se puede utilizar para comprobar si la Tarea fue " -"cancelada. El método devuelve ``True`` si la corrutina contenida no suprimió " +"cancelada. El método retorna ``True`` si la corrutina contenida no suprimió " "la excepción :exc:`CancelledError` y se canceló realmente." #: ../Doc/library/asyncio-task.rst:1057 @@ -1231,6 +1353,10 @@ msgid "" "provided, the Task copies the current context and later runs its coroutine " "in the copied context." msgstr "" +"Un argumento *context* opcional de solo palabra clave permite especificar " +"un :class:`contextvars.Context` personalizado para que se ejecute *coro*. Si " +"no se proporciona ningún *context*, la tarea copia el contexto actual y " +"luego ejecuta su rutina en el contexto copiado." #: ../Doc/library/asyncio-task.rst:1066 msgid "" @@ -1241,6 +1367,13 @@ msgid "" "coroutine returns or raises without blocking, the task will be finished " "eagerly and will skip scheduling to the event loop." msgstr "" +"Un argumento *eager_start* opcional de solo palabra clave permite iniciar " +"con entusiasmo la ejecución de :class:`asyncio.Task` en el momento de la " +"creación de la tarea. Si se establece en ``True`` y el bucle de eventos se " +"está ejecutando, la tarea comenzará a ejecutar la corrutina inmediatamente, " +"hasta la primera vez que la corrutina se bloquee. Si la rutina regresa o se " +"activa sin bloquearse, la tarea finalizará con entusiasmo y saltará la " +"programación al bucle de eventos." #: ../Doc/library/asyncio-task.rst:1073 msgid "Added support for the :mod:`contextvars` module." @@ -1255,9 +1388,8 @@ msgstr "" "hay un bucle de eventos en ejecución." #: ../Doc/library/asyncio-task.rst:1086 -#, fuzzy msgid "Added the *eager_start* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *eager_start*." #: ../Doc/library/asyncio-task.rst:1091 msgid "Return ``True`` if the Task is *done*." @@ -1280,7 +1412,7 @@ msgid "" "If the Task is *done*, the result of the wrapped coroutine is returned (or " "if the coroutine raised an exception, that exception is re-raised.)" msgstr "" -"Si la tarea está *terminada*, se devuelve el resultado de la corrutina " +"Si la tarea está *terminada*, se retorna el resultado de la corrutina " "contenida (o si la corrutina lanzó una excepción, esa excepción se vuelve a " "relanzar.)" @@ -1383,9 +1515,9 @@ msgid "" msgstr "" "El argumento opcional *limit* establece el número máximo de marcos que se " "retornarán; de forma predeterminada se retornan todos los marcos " -"disponibles. El orden de la lista devuelta varía en función de si se retorna " -"una pila o un *traceback*: se devuelven los marcos más recientes de una " -"pila, pero se devuelven los marcos más antiguos de un *traceback*. (Esto " +"disponibles. El orden de la lista retornada varía en función de si se " +"retorna una pila o un *traceback*: se retornan los marcos más recientes de " +"una pila, pero se retornan los marcos más antiguos de un *traceback*. (Esto " "coincide con el comportamiento del módulo traceback.)ss" #: ../Doc/library/asyncio-task.rst:1165 @@ -1405,13 +1537,12 @@ msgid "The *limit* argument is passed to :meth:`get_stack` directly." msgstr "El argumento *limit* se pasa directamente a :meth:`get_stack`." #: ../Doc/library/asyncio-task.rst:1172 -#, fuzzy msgid "" "The *file* argument is an I/O stream to which the output is written; by " "default output is written to :data:`sys.stdout`." msgstr "" "El argumento *file* es un flujo de E/S en el que se escribe la salida; por " -"defecto, la salida se escribe en :data:`sys.stderr`." +"defecto, la salida se escribe en :data:`sys.stdout`." #: ../Doc/library/asyncio-task.rst:1177 msgid "Return the coroutine object wrapped by the :class:`Task`." @@ -1422,15 +1553,19 @@ msgid "" "This will return ``None`` for Tasks which have already completed eagerly. " "See the :ref:`Eager Task Factory `." msgstr "" +"Esto devolverá ``None`` para las tareas que ya se han completado con " +"entusiasmo. Consulte el :ref:`Eager Task Factory `." #: ../Doc/library/asyncio-task.rst:1188 msgid "Newly added eager task execution means result may be ``None``." msgstr "" +"La ejecución ansiosa de la tarea recientemente agregada significa que el " +"resultado puede ser ``None``." #: ../Doc/library/asyncio-task.rst:1192 msgid "" "Return the :class:`contextvars.Context` object associated with the task." -msgstr "" +msgstr "Devuelve el objeto :class:`contextvars.Context` asociado con la tarea." #: ../Doc/library/asyncio-task.rst:1199 msgid "Return the name of the Task." @@ -1477,7 +1612,6 @@ msgstr "" "contenida en el próximo ciclo del bucle de eventos." #: ../Doc/library/asyncio-task.rst:1226 -#, fuzzy msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -1488,21 +1622,22 @@ msgid "" "suppress the cancellation, it needs to call :meth:`Task.uncancel` in " "addition to catching the exception." msgstr "" -"La corrutina entonces tiene la oportunidad de limpiar o incluso denegar la " -"solicitud suprimiendo la excepción con un bloque :keyword:`try` ... ..." -"``except CancelledError`` ... :keyword:`finally`. Por lo tanto, a diferencia " -"de :meth:`Future.cancel`, :meth:`Task.cancel` no garantiza que la tarea será " -"cancelada, aunque suprimir la cancelación por completo no es común y se " -"desalienta activamente." +"Luego, la corrutina tiene la oportunidad de limpiar o incluso denegar la " +"solicitud suprimiendo la excepción con un bloque :keyword:`try`... ... " +"``except CancelledError``... :keyword:`finally`. Por lo tanto, a diferencia " +"de :meth:`Future.cancel`, :meth:`Task.cancel` no garantiza que la tarea se " +"cancelará, aunque suprimir la cancelación por completo no es común y se " +"desaconseja activamente. Sin embargo, si la rutina decide suprimir la " +"cancelación, debe llamar a :meth:`Task.uncancel` además de detectar la " +"excepción." #: ../Doc/library/asyncio-task.rst:1236 -#, fuzzy msgid "Added the *msg* parameter." -msgstr "Se agregó el parámetro ``msg``." +msgstr "Se agregó el parámetro *msg*." #: ../Doc/library/asyncio-task.rst:1239 msgid "The ``msg`` parameter is propagated from cancelled task to its awaiter." -msgstr "" +msgstr "El parámetro ``msg`` se propaga desde la tarea cancelada a su espera." #: ../Doc/library/asyncio-task.rst:1244 msgid "" @@ -1528,17 +1663,19 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:1291 msgid "Decrement the count of cancellation requests to this Task." -msgstr "" +msgstr "Disminuye el recuento de solicitudes de cancelación a esta tarea." #: ../Doc/library/asyncio-task.rst:1293 msgid "Returns the remaining number of cancellation requests." -msgstr "" +msgstr "Retorna el número restante de solicitudes de cancelación." #: ../Doc/library/asyncio-task.rst:1295 msgid "" "Note that once execution of a cancelled task completed, further calls to :" "meth:`uncancel` are ineffective." msgstr "" +"Tenga en cuenta que una vez que se completa la ejecución de una tarea " +"cancelada, las llamadas posteriores a :meth:`uncancel` no son efectivas." #: ../Doc/library/asyncio-task.rst:1300 msgid "" @@ -1548,6 +1685,11 @@ msgid "" "func:`asyncio.timeout` to continue running, isolating cancellation to the " "respective structured block. For example::" msgstr "" +"Este método lo usan los componentes internos de asyncio y no se espera que " +"lo use el código del usuario final. En particular, si una Tarea se cancela " +"con éxito, esto permite que elementos de concurrencia estructurada como :ref:" +"`taskgroups` y :func:`asyncio.timeout` continúen ejecutándose, aislando la " +"cancelación al bloque estructurado respectivo. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:1318 msgid "" @@ -1557,6 +1699,11 @@ msgid "" "`uncancel`. :class:`TaskGroup` context managers use :func:`uncancel` in a " "similar fashion." msgstr "" +"Si bien el bloque con ``make_request()`` y ``make_another_request()`` podría " +"cancelarse debido al tiempo de espera, ``unrelated_code()`` debería " +"continuar ejecutándose incluso en caso de que se agote el tiempo de espera. " +"Esto se implementa con :meth:`uncancel`. Los administradores de contexto :" +"class:`TaskGroup` usan :func:`uncancel` de manera similar." #: ../Doc/library/asyncio-task.rst:1324 msgid "" @@ -1564,12 +1711,18 @@ msgid "" "exc:`CancelledError`, it needs to call this method to remove the " "cancellation state." msgstr "" +"Si el código del usuario final, por algún motivo, suprime la cancelación al " +"detectar :exc:`CancelledError`, debe llamar a este método para eliminar el " +"estado de cancelación." #: ../Doc/library/asyncio-task.rst:1330 msgid "" "Return the number of pending cancellation requests to this Task, i.e., the " "number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." msgstr "" +"Retorna el número de solicitudes de cancelación pendientes a esta Tarea, es " +"decir, el número de llamadas a :meth:`cancel` menos el número de llamadas a :" +"meth:`uncancel`." #: ../Doc/library/asyncio-task.rst:1334 msgid "" @@ -1579,12 +1732,20 @@ msgid "" "the task not being cancelled after all if the cancellation requests go down " "to zero." msgstr "" +"Tenga en cuenta que si este número es mayor que cero pero la tarea aún se " +"está ejecutando, :meth:`cancelled` aún retornará ``False``. Esto se debe a " +"que este número se puede reducir llamando a :meth:`uncancel`, lo que puede " +"provocar que la tarea no se cancele después de todo si las solicitudes de " +"cancelación se reducen a cero." #: ../Doc/library/asyncio-task.rst:1340 msgid "" "This method is used by asyncio's internals and isn't expected to be used by " "end-user code. See :meth:`uncancel` for more details." msgstr "" +"Este método lo utilizan las partes internas de asyncio y no se espera que lo " +"utilice el código del usuario final. Consulte :meth:`uncancel` para obtener " +"más detalles." #~ msgid "" #~ "Tasks support the :mod:`contextvars` module. When a Task is created it " From 2b9599d5feb6bb8e67cbd00973a54cab5f7f4409 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Sat, 6 Apr 2024 09:07:28 -0500 Subject: [PATCH 03/63] traduccion library/asyncio-runner (#2787) Closes #2539 Sorry por la inactividad amigos diciembre ha sido un mes agitado. Feliz navidad a todos --------- Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- library/asyncio-runner.po | 98 ++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/library/asyncio-runner.po b/library/asyncio-runner.po index a853697229..e3cbe1ea33 100644 --- a/library/asyncio-runner.po +++ b/library/asyncio-runner.po @@ -9,19 +9,20 @@ msgstr "" "Project-Id-Version: Python en Español 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-12-10 14:55+0100\n" +"PO-Revision-Date: 2024-03-05 22:16-0500\n" "Last-Translator: Andrea ALEGRE \n" -"Language: es_ES\n" "Language-Team: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/asyncio-runner.rst:6 msgid "Runners" -msgstr "Ejecutores" +msgstr "Runners" #: ../Doc/library/asyncio-runner.rst:8 msgid "**Source code:** :source:`Lib/asyncio/runners.py`" @@ -31,7 +32,7 @@ msgstr "**Código fuente:** :source:`Lib/asyncio/runners.py`" msgid "" "This section outlines high-level asyncio primitives to run asyncio code." msgstr "" -"Esta sección muestra las primitivas asyncio de alto nivel para ejecutar " +"Esta sección describe las primitivas asyncio de alto nivel para ejecutar " "código asyncio." #: ../Doc/library/asyncio-runner.rst:13 @@ -52,14 +53,13 @@ msgid "Execute the :term:`coroutine` *coro* and return the result." msgstr "Ejecutar el :term:`coroutine` *coro* y retornar el resultado." #: ../Doc/library/asyncio-runner.rst:29 -#, fuzzy msgid "" "This function runs the passed coroutine, taking care of managing the asyncio " "event loop, *finalizing asynchronous generators*, and closing the executor." msgstr "" -"Esta función ejecuta la co-rutina pasada, teniendo cuidado de manejar el " -"bucle de eventos asyncio, *terminando los generadores asíncronos* y cerrando " -"el pool de hilos." +"Esta función ejecuta la co-rutina pasada, encargándose de gestionar el bucle " +"de eventos asyncio, *finalizando los generadores asíncronos*, y cerrando el " +"ejecutor." #: ../Doc/library/asyncio-runner.rst:33 ../Doc/library/asyncio-runner.rst:113 msgid "" @@ -69,18 +69,15 @@ msgstr "" "Esta función no puede ser llamada cuando otro bucle de eventos asyncio está " "corriendo en el mismo hilo." -# is used to respect the global : -# =>se usa para respetar la configuración global -# (la traducción directa me parece poco clara) #: ../Doc/library/asyncio-runner.rst:36 ../Doc/library/asyncio-runner.rst:83 msgid "" "If *debug* is ``True``, the event loop will be run in debug mode. ``False`` " "disables debug mode explicitly. ``None`` is used to respect the global :ref:" "`asyncio-debug-mode` settings." msgstr "" -"Si *debug* es ``True``, el bucle de eventos se ejecutará en modo debug. " -"``False`` deshabilita el modo debug de manera explícita. ``None`` se usa " -"para respetar la configuración global :ref:`asyncio-debug-mode`." +"Si *debug* es ``True``, el bucle de eventos se ejecutará en modo depuración. " +"``False`` deshabilita el modo depuración de manera explícita. ``None`` se " +"usa para respetar la configuración global :ref:`asyncio-debug-mode`." #: ../Doc/library/asyncio-runner.rst:40 msgid "" @@ -90,6 +87,12 @@ msgid "" "programs, and should ideally only be called once. It is recommended to use " "*loop_factory* to configure the event loop instead of policies." msgstr "" +"Si *loop_factory* no es ``None``, se utiliza para crear un nuevo bucle de " +"eventos; en caso contrario se utiliza :func:`asyncio.new_event_loop`. El " +"bucle se cierra al final. Esta función debería usarse como punto de entrada " +"principal para los programas asyncio, e idealmente sólo debería llamarse una " +"vez. Se recomienda usar *loop_factory* para configurar el bucle de eventos " +"en lugar de políticas." #: ../Doc/library/asyncio-runner.rst:46 msgid "" @@ -97,6 +100,9 @@ msgid "" "executor hasn't finished within that duration, a warning is emitted and the " "executor is closed." msgstr "" +"Al ejecutor se le da un tiempo de espera de 5 minutos para apagarse. Si el " +"ejecutor no ha finalizado en ese tiempo, se emite una advertencia y se " +"cierra el ejecutor." #: ../Doc/library/asyncio-runner.rst:50 msgid "Example::" @@ -111,32 +117,31 @@ msgid "" "*debug* is ``None`` by default to respect the global debug mode settings." msgstr "" "*debug* es ``None`` por defecto para respetar la configuración global del " -"modo debug." +"modo depuración." #: ../Doc/library/asyncio-runner.rst:69 msgid "Added *loop_factory* parameter." -msgstr "" +msgstr "Añadido el parámetro *loop_factory*." #: ../Doc/library/asyncio-runner.rst:73 msgid "Runner context manager" -msgstr "Administrador de contexto del ejecutor" +msgstr "Gestor de contexto del runner" #: ../Doc/library/asyncio-runner.rst:77 msgid "" "A context manager that simplifies *multiple* async function calls in the " "same context." msgstr "" -"Un administrador de contexto que simplifica *multiples* llamadas asíncronas " -"en el mismo contexto." +"Un gestor de contexto que simplifica *múltiples* llamadas a funciones " +"asíncronas en el mismo contexto." #: ../Doc/library/asyncio-runner.rst:80 msgid "" "Sometimes several top-level async functions should be called in the same :" "ref:`event loop ` and :class:`contextvars.Context`." msgstr "" -"A veces varias funciones asíncronas de alto nivel deberían ser llamadas en " -"el mismo :ref:`bucle de eventos ` y :class:`contextvars." -"Context`." +"A veces varias funciones asíncronas de alto nivel deben ser llamadas en el " +"mismo :ref:`event loop ` y :class:`contextvars.Context`." #: ../Doc/library/asyncio-runner.rst:87 msgid "" @@ -146,10 +151,10 @@ msgid "" "event loop with :func:`asyncio.set_event_loop` if *loop_factory* is ``None``." msgstr "" "*loop_factory* puede ser usado para redefinir la creación de bucles. Es " -"responsabilidad de la *loop_factory* configurar el bucle creado como el " -"bucle actual. Por defecto :func:`asyncio.new_event_loop` es usado y " -"configura el nuevo bucle de eventos como el actual con :func:`asyncio." -"set_event_loop` si *loop_factory* es ``None``." +"responsabilidad del *loop_factory* establecer el bucle creado como el " +"actual. Por defecto :func:`asyncio.new_event_loop` es usado y configura el " +"nuevo bucle de eventos como el actual con :func:`asyncio.set_event_loop` si " +"*loop_factory* es ``None``." #: ../Doc/library/asyncio-runner.rst:92 msgid "" @@ -161,7 +166,8 @@ msgstr "" #: ../Doc/library/asyncio-runner.rst:105 msgid "Run a :term:`coroutine ` *coro* in the embedded loop." -msgstr "Ejecuta una :term:`co-rutina ` *coro* en el bucle embebido." +msgstr "" +"Ejecuta una :term:`co-rutina ` *coro* en el bucle incrustado." # más info sobre el origen de la excepción #: ../Doc/library/asyncio-runner.rst:107 @@ -169,22 +175,20 @@ msgid "Return the coroutine's result or raise its exception." msgstr "" "Retorna el resultado de la co-rutina o lanza excepción de dicha co-rutina." -# - hice un poco más clara la segunda oración -# - corrijo traduccion de keyboard-only -> keyword-only #: ../Doc/library/asyncio-runner.rst:109 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *coro* to run in. The runner's default " "context is used if ``None``." msgstr "" -"Un argumento opcional del *contexto* que consiste en una palabra clave " +"Un argumento opcional del *context* que consiste en una palabra clave " "permite especificar un :class:`contextvars.Context` personalizado donde " "correr la *coro* . El contexto por defecto del ejecutor es usado si el modo " "debug es ``None``." #: ../Doc/library/asyncio-runner.rst:118 msgid "Close the runner." -msgstr "Cierra el ejecutor." +msgstr "Cierra el runner." #: ../Doc/library/asyncio-runner.rst:120 msgid "" @@ -196,7 +200,7 @@ msgstr "" #: ../Doc/library/asyncio-runner.rst:125 msgid "Return the event loop associated with the runner instance." -msgstr "Retorna el bucle de eventos asociado a la instancia del ejecutor." +msgstr "Retorna el bucle de eventos asociado a la instancia del runner." #: ../Doc/library/asyncio-runner.rst:129 msgid "" @@ -211,8 +215,8 @@ msgid "" "Embedded *loop* and *context* are created at the :keyword:`with` body " "entering or the first call of :meth:`run` or :meth:`get_loop`." msgstr "" -"El *bucle* y el *contexto* embebidos son creados al entrar al cuerpo :" -"keyword:`with` o en la primera llamada a :meth:`run` o a :meth:`get_loop`." +"El *loop* y el *context* embebidos son creados al entrar al cuerpo :keyword:" +"`with` o en la primera llamada a :meth:`run` o a :meth:`get_loop`." #: ../Doc/library/asyncio-runner.rst:137 msgid "Handling Keyboard Interruption" @@ -227,11 +231,10 @@ msgid "" "However this doesn't work with :mod:`asyncio` because it can interrupt " "asyncio internals and can hang the program from exiting." msgstr "" -"Cuando la excepción :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, la " -"excepción :exc:`KeyboardInterrupt` es lanzada en el hilo principal por " -"defecto. Sin embargo, esto no siempre funciona con :mod:`asyncio` porque " -"puede interrumpir llamadas internas a asyncio e impedir la salida del " -"programa." +"Cuando :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, la excepción :" +"exc:`KeyboardInterrupt` es lanzada en el hilo principal por defecto. Sin " +"embargo, esto no funciona con :mod:`asyncio` porque puede interrumpir las " +"funciones internas a asyncio e impedir la salida del programa." #: ../Doc/library/asyncio-runner.rst:146 msgid "" @@ -260,7 +263,6 @@ msgstr "" "rutina para su ejecución." #: ../Doc/library/asyncio-runner.rst:152 -#, fuzzy msgid "" "When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, the custom signal " "handler cancels the main task by calling :meth:`asyncio.Task.cancel` which " @@ -269,13 +271,13 @@ msgid "" "used for resource cleanup. After the main task is cancelled, :meth:`asyncio." "Runner.run` raises :exc:`KeyboardInterrupt`." msgstr "" -"Cuando :const:`signal.SIGINT` es lanzado por :kbd:`Ctrl-C`, el administrador " -"de señales personalizado cancela la tarea principal llamando :meth:`asyncio." -"Task.cancel` que lanza :exc:`asyncio.CancelledError` dentro de la tarea " -"principal. Esto hace que la pila de Python se desenvuelva, los bloques``try/" -"except`` y ``try/finally`` pueden ser usados para liberar recursos. Luego de " -"que la tarea principal es cancelada, :meth:`asyncio.Runner.run` lanza :exc:" -"`KeyboardInterrupt`." +"Cuando :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, el administrador " +"de señales personalizado cancela la tarea principal llamando a :meth:" +"`asyncio.Task.cancel` que lanza :exc:`asyncio.CancelledError` dentro de la " +"tarea principal. Esto hace que la pila de Python se desenrolle, los bloques " +"``try/except`` y ``try/finally`` se pueden utilizar para la limpieza de " +"recursos. Luego que la tarea principal es cancelada, :meth:`asyncio.Runner." +"run` lanza :exc:`KeyboardInterrupt`." #: ../Doc/library/asyncio-runner.rst:158 msgid "" From 8c558f4f5f4c626e21fc2c30f4b4438d7e776d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=8Dcaro=20Abreu?= <136408366+oicaroabreu@users.noreply.github.com> Date: Sat, 6 Apr 2024 11:12:12 -0300 Subject: [PATCH 04/63] Traducido archivo library/idle (#2788) closes #2573 --- library/idle.po | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/library/idle.po b/library/idle.po index a7f918dd31..ebfde9808e 100755 --- a/library/idle.po +++ b/library/idle.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-27 17:00-0500\n" +"PO-Revision-Date: 2024-01-28 22:51-0300\n" "Last-Translator: José Luis Salgado Banda \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/idle.rst:4 ../Doc/library/idle.rst:10 msgid "IDLE" @@ -1130,7 +1131,6 @@ msgid "Search and Replace" msgstr "Buscar y reemplazar" #: ../Doc/library/idle.rst:480 -#, fuzzy msgid "" "Any selection becomes a search target. However, only selections within a " "line work because searches are only performed within lines with the terminal " @@ -1140,8 +1140,8 @@ msgstr "" "Cualquier selección se convierte en un objetivo de búsqueda. Sin embargo, " "solo funcionan las selecciones dentro de una línea porque las búsquedas solo " "se realizan dentro de las líneas con la nueva línea de terminal eliminada. " -"Si se marca la ``Expresión regular [x]``, el objetivo se interpreta de " -"acuerdo al módulo re de Python." +"Si se marca la ``[x] Expresión regular``, el objetivo se interpreta de " +"acuerdo al módulo `re` de Python." #: ../Doc/library/idle.rst:488 msgid "Completions" @@ -2243,40 +2243,33 @@ msgstr "" "pueden ser portados (consultar :pep:`434`)." #: ../Doc/library/idle.rst:10 -#, fuzzy msgid "Python Editor" -msgstr "Documentación de Python" +msgstr "Python Editor" #: ../Doc/library/idle.rst:10 -#, fuzzy msgid "Integrated Development Environment" -msgstr "IDLE es el entorno de desarrollo integrado de Python." +msgstr "Integrated Development Environment" #: ../Doc/library/idle.rst:70 -#, fuzzy msgid "Module browser" -msgstr "Navegador de módulo" +msgstr "Module browser" #: ../Doc/library/idle.rst:70 -#, fuzzy msgid "Path browser" -msgstr "Navegador de ruta" +msgstr "Path browser" #: ../Doc/library/idle.rst:212 msgid "Run script" -msgstr "" +msgstr "Run script" #: ../Doc/library/idle.rst:279 -#, fuzzy msgid "debugger" -msgstr "Depurador (alternar)" +msgstr "debugger" #: ../Doc/library/idle.rst:279 -#, fuzzy msgid "stack viewer" -msgstr "Visualizador de pila" +msgstr "stack viewer" #: ../Doc/library/idle.rst:355 -#, fuzzy msgid "breakpoints" -msgstr "Establecer breakpoint" +msgstr "breakpoints" From 22735209538b8749e9ec72444a88fdb392c64e85 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Sat, 6 Apr 2024 09:33:48 -0500 Subject: [PATCH 05/63] traduccion library fcntl (#2765) Closes #2534 --------- Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- dictionaries/library_fcntl.txt | 1 + library/fcntl.po | 128 ++++++++++++++++----------------- 2 files changed, 64 insertions(+), 65 deletions(-) diff --git a/dictionaries/library_fcntl.txt b/dictionaries/library_fcntl.txt index 883d5425d5..cc98e53c24 100644 --- a/dictionaries/library_fcntl.txt +++ b/dictionaries/library_fcntl.txt @@ -1 +1,2 @@ fcntl +btrfs \ No newline at end of file diff --git a/library/fcntl.po b/library/fcntl.po index 0243f81703..0135ab9c5d 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-05-08 13:38-0400\n" +"PO-Revision-Date: 2024-03-05 21:56-0500\n" "Last-Translator: Francisco Mora \n" -"Language: es_ES\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/fcntl.rst:2 msgid ":mod:`fcntl` --- The ``fcntl`` and ``ioctl`` system calls" @@ -37,10 +38,7 @@ msgstr "" "`ioctl`. Para una completa descripción de estas llamadas, ver las páginas " "del manual de Unix :manpage:`fcntl(2)` y :manpage:`ioctl(2)`." -# Dejo fuzzy por que no pasa el pipeline test. Otros archivos tienen esta -# misma linea como fuzzy. #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -65,7 +63,7 @@ msgstr "" "Todas las funciones de este módulo toman un descriptor de fichero *fd* como " "su primer argumento. Puede ser un descriptor de fichero entero, como el " "retornado por ``sys.stdin.fileno()``, o un objeto :class:`io.IOBase`, como " -"``sys.stdin``, que proporciona un :meth:`~io.IOBase.fileno` que retornan un " +"``sys.stdin``, que proporciona un :meth:`~io.IOBase.fileno` que retorna un " "descriptor de fichero original." #: ../Doc/library/fcntl.rst:29 @@ -116,8 +114,8 @@ msgid "" "the latter setting ``FD_CLOEXEC`` flag in addition." msgstr "" "En FreeBSD, el módulo fcntl expone las constantes ``F_DUP2FD`` y " -"``F_DUP2FD_CLOEXEC``, que permiten duplicar un descriptor de archivo, este " -"último configurando además el indicador ``FD_CLOEXEC``." +"``F_DUP2FD_CLOEXEC``, que permiten duplicar un descriptor de fichero, esta " +"última fijando además el indicador ``FD_CLOEXEC``." #: ../Doc/library/fcntl.rst:55 msgid "" @@ -126,6 +124,11 @@ msgid "" "another file by reflinking on some filesystems (e.g., btrfs, OCFS2, and " "XFS). This behavior is commonly referred to as \"copy-on-write\"." msgstr "" +"En Linux >= 4.5, el módulo :mod:`fcntl` expone las constantes ``FICLONE`` y " +"``FICLONERANGE``, que permiten compartir algunos datos de un fichero con " +"otro fichero mediante el *reflinking* en algunos sistemas de ficheros (por " +"ejemplo, btrfs, OCFS2 y XFS). Este comportamiento se conoce comúnmente como " +"\"copy-on-write\"." #: ../Doc/library/fcntl.rst:61 msgid "The module defines the following functions:" @@ -149,17 +152,17 @@ msgid "" "the operating system is larger than 1024 bytes, this is most likely to " "result in a segmentation violation or a more subtle data corruption." msgstr "" -"Realice la operación *cmd* en el descriptor de fichero *fd* (los objetos de " -"fichero que proporcionan un método :meth:`~io.IOBase.fileno` también son " -"aceptados). Los valores utilizados para *cmd* dependen del sistema operativo " -"y están disponibles como constantes en el módulo :mod:`fcntl`, utilizando " -"los mismos nombres que se utilizan en los archivos de cabecera C relevantes. " -"El argumento *arg* puede ser un valor entero o un objeto :class:`bytes`. Con " -"un valor entero, el valor retorno de esta función es el valor entero " +"Realiza la operación *cmd* en el descriptor de fichero *fd* (también se " +"aceptan objetos de fichero que proporcionen un método :meth:`~io.IOBase." +"fileno`). Los valores utilizados para *cmd* dependen del sistema operativo y " +"están disponibles como constantes en el módulo :mod:`fcntl`, utilizando los " +"mismos nombres que se utilizan en los archivos de cabecera C relevantes. El " +"argumento *arg* puede ser un valor entero o un objeto :class:`bytes`. Con un " +"valor entero, el valor retornado en esta función es el valor entero " "retornado por la llamada en C :c:func:`fcntl` . Cuando el argumento son " "bytes representa una estructura binaria, e.g. creada por :func:`struct." "pack`. Los datos binarios se copian en un búfer cuya dirección se pasa a la " -"llamada en C ::c:func:`fcntl`. El valor de retorno después de una llamada " +"llamada en C ::c:func:`fcntl`. El valor retornado después de una llamada " "correcta es el contenido del búfer, convertido en un objeto :class:`bytes`. " "La longitud del objeto retornado será la misma que la longitud del argumento " "*arg*. Esta longitud está limitada a 1024 bytes. Si la información retornada " @@ -176,8 +179,8 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.fcntl`` with arguments " "``fd``, ``cmd``, ``arg``." msgstr "" -"Lanza un :ref:`auditing event ` ``fcntl.fcntl`` con argumentos " -"``fd``, ``cmd``, ``arg``." +"Lanza un :ref:`evento de auditoria ` ``fcntl.fcntl`` con " +"argumentos ``fd``, ``cmd``, ``arg``." #: ../Doc/library/fcntl.rst:90 msgid "" @@ -197,7 +200,7 @@ msgstr "" "El parámetro *request* se encuentra limitado a valores que encajen en 32-" "bits. Se pueden encontrar constantes adicionales de interés para usar como " "argumento *request* en el módulo :mod:`termios`, con los mismos nombres que " -"se usan en los archivos de cabecera C relevantes." +"se usan en los archivos de cabecera C correspondientes." #: ../Doc/library/fcntl.rst:98 msgid "" @@ -214,8 +217,8 @@ msgid "" "In all but the last case, behaviour is as for the :func:`~fcntl.fcntl` " "function." msgstr "" -"En todos los casos excepto en el último, el comportamiento es el de la " -"función :func:`~fcntl.fcntl`." +"En todos los casos, excepto en el último, el comportamiento es el mismo que " +"para la función :func:`~fcntl.fcntl`." #: ../Doc/library/fcntl.rst:105 msgid "" @@ -250,8 +253,8 @@ msgid "" msgstr "" "Si *mutate_flag* es verdadero (valor predeterminado), entonces el búfer se " "pasa (en efecto) a la llamada al sistema subyacente :func:`ioctl`, el código " -"de retorno de éste último se retorna al Python que llama, y el nuevo " -"contenido del búfer refleja la acción de :func:`ioctl`. Esto es una ligera " +"de retorno de este último retorna una llamada Python, y el nuevo contenido " +"del búfer refleja la acción de :func:`ioctl`. Esto es una ligera " "simplificación, porque si el búfer proporcionado tiene menos de 1024 bytes " "de longitud, primero se copia en un búfer estático de 1024 bytes de longitud " "que luego se pasa a :func:`ioctl` y se copia de nuevo en el búfer " @@ -259,7 +262,7 @@ msgstr "" #: ../Doc/library/fcntl.rst:121 msgid "If the :c:func:`ioctl` fails, an :exc:`OSError` exception is raised." -msgstr "Si :c:func:`ioctl` falla, se lanza la excepción :exc:`OSError`." +msgstr "Si :c:func:`ioctl` falla, se lanza una excepción :exc:`OSError`." #: ../Doc/library/fcntl.rst:123 msgid "An example::" @@ -270,7 +273,7 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.ioctl`` with arguments " "``fd``, ``request``, ``arg``." msgstr "" -"Lanza un evento :ref:`auditing event ` ``fcntl.ioctl`` con " +"Lanza un :ref:`evento de auditoria ` ``fcntl.ioctl`` con " "argumentos ``fd``, ``request``, ``arg``." #: ../Doc/library/fcntl.rst:141 @@ -281,10 +284,10 @@ msgid "" "function is emulated using :c:func:`fcntl`.)" msgstr "" "Realiza la operación de bloqueo *operation* sobre el descriptor de fichero " -"*fd* (los objetos de fichero que proporcionan un método :meth:`~io.IOBase." -"fileno` también son aceptados). Ver el manual de Unix :manpage:`flock(2)` " -"para más detalles. (En algunos sistemas, esta función es emulada usando :c:" -"func:`fcntl`.)" +"*fd* (también se aceptan objetos de fichero que proporcionen un método :meth:" +"`~io.IOBase.fileno`). Ver el manual de Unix :manpage:`flock(2)` para más " +"detalles. (En algunos sistemas, esta función es emulada usando :c:func:" +"`fcntl`.)" #: ../Doc/library/fcntl.rst:146 msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised." @@ -295,8 +298,8 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.flock`` with arguments " "``fd``, ``operation``." msgstr "" -"Lanza un :ref:`auditing event ` ``fcntl.flock`` con argumentos " -"``fd``, ``operation``." +"Lanza un :ref:`evento de auditoria ` ``fcntl.flock`` con " +"argumentos ``fd``, ``operation``." #: ../Doc/library/fcntl.rst:153 msgid "" @@ -306,10 +309,9 @@ msgid "" "*cmd* is one of the following values:" msgstr "" "Esto es esencialmente un \"wrapper\" de las llamadas de bloqueo :func:" -"`~fcntl.fcntl` . * fd * es el descriptor de fichero (los objetos de fichero " -"que proporcionan un método :meth:`~io.IOBase.fileno` también se aceptan) del " -"archivo para bloquear o desbloquear, y *cmd* es uno de los siguientes " -"valores:" +"`~fcntl.fcntl`. *fd* es el descriptor de fichero (también se aceptan objetos " +"de fichero que proporcionen un método :meth:`~io.IOBase.fileno`) del archivo " +"para bloquear o desbloquear, y *cmd* es uno de los siguientes valores:" #: ../Doc/library/fcntl.rst:158 msgid ":const:`LOCK_UN` -- unlock" @@ -335,13 +337,13 @@ msgid "" "for writing." msgstr "" "Cuando *cmd* es :const:`LOCK_SH` o :const:`LOCK_EX`, también se puede usar " -"OR bit a bit con :const:`LOCK_NB` para evitar el bloqueo en la adquisición " -"de bloqueos. Si se usa :const:`LOCK_NB` y no se puede adquirir el bloqueo, " -"se lanzará un :const:`LOCK_NB` y la excepción tendrá un atributo *errno* " -"establecido a :const:`EACCES` o :const:`EAGAIN` (según el sistema operativo; " -"para la portabilidad, compruebe ambos valores). En al menos algunos " -"sistemas, :const:`LOCK_EX` solo se puede usar si el descriptor de fichero se " -"refiere a un archivo abierto para escritura." +"operadores OR bit a bit con :const:`LOCK_NB` para evitar el bloqueo en la " +"adquisición de bloqueos. Si se usa :const:`LOCK_NB`, el bloqueo no puede ser " +"adquirido, se lanzará la excepción :exc:`OSError` y la excepción tendrá un " +"atributo *errno* establecido a :const:`EACCES` o :const:`EAGAIN` " +"(dependiendo del sistema operativo; por portabilidad, compruebe ambos " +"valores). En al menos algunos sistemas, :const:`LOCK_EX` solo se puede usar " +"si el descriptor de fichero se refiere a un archivo abierto para escritura." #: ../Doc/library/fcntl.rst:171 msgid "" @@ -349,25 +351,22 @@ msgid "" "the lock starts, relative to *whence*, and *whence* is as with :func:`io." "IOBase.seek`, specifically:" msgstr "" -"*len* es el número de bytes a bloquear, *start* es el byte de \"offset\" en " -"el cual comienza el bloqueo, relativo a *whence*, y *whence* es como con :" -"func:`io.IOBase.seek`, específicamente:" +"*len* es el número de bytes a bloquear, *start* es el desplazamiento de " +"bytes en el que comienza el bloqueo, relativo a *whence*, y *whence* es como " +"con :func:`io.IOBase.seek`, específicamente:" #: ../Doc/library/fcntl.rst:175 -#, fuzzy msgid "``0`` -- relative to the start of the file (:const:`os.SEEK_SET`)" -msgstr ":const:`0` -- relativo al comienzo del archivo (:data:`os.SEEK_SET`)" +msgstr "``0`` -- relativo al inicio del archivo (:const:`os.SEEK_SET`)" #: ../Doc/library/fcntl.rst:176 -#, fuzzy msgid "``1`` -- relative to the current buffer position (:const:`os.SEEK_CUR`)" msgstr "" -":const:`1` -- relativa a la posición actual del búfer (:data:`os.SEEK_CUR`)" +"``1`` -- relativo a la posición actual del buffer (:const:`os.SEEK_CUR`)" #: ../Doc/library/fcntl.rst:177 -#, fuzzy msgid "``2`` -- relative to the end of the file (:const:`os.SEEK_END`)" -msgstr ":const:`2` -- relativo al final del archivo (:data:`os.SEEK_END`)" +msgstr "``2`` -- relativo al final del archivo (:const:`os.SEEK_END`)" #: ../Doc/library/fcntl.rst:179 msgid "" @@ -384,8 +383,8 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.lockf`` with arguments " "``fd``, ``cmd``, ``len``, ``start``, ``whence``." msgstr "" -"Lanza un :ref:`auditing event ` ``fcntl.lockf`` con argumentos " -"``fd``, ``cmd``, ``len``, ``start``, ``whence``." +"Lanza un :ref:`evento de auditoria ` ``fcntl.lockf`` con " +"argumentos ``fd``, ``cmd``, ``len``, ``start``, ``whence``." #: ../Doc/library/fcntl.rst:185 msgid "Examples (all on a SVR4 compliant system)::" @@ -398,35 +397,34 @@ msgid "" "The structure lay-out for the *lockdata* variable is system dependent --- " "therefore using the :func:`flock` call may be better." msgstr "" -"Tenga en cuenta que en el primer ejemplo, la variable de valor de retorno " +"Tenga en cuenta que en el primer ejemplo, el valor de la variable retornada " "*rv* contendrá un valor entero; en el segundo ejemplo contendrá un objeto :" -"class:`bytes`. El diseño de la estructura para la variable *lockdata* " -"depende del sistema --- por lo tanto, usar la llamada :func:`flock` puede " -"ser mejor." +"class:`bytes`. La estructura para la variable *lockdata* depende del sistema " +"--- por lo tanto, usar la llamada :func:`flock` puede ser mejor." #: ../Doc/library/fcntl.rst:206 msgid "Module :mod:`os`" msgstr "Módulo :mod:`os`" #: ../Doc/library/fcntl.rst:204 -#, fuzzy msgid "" "If the locking flags :const:`~os.O_SHLOCK` and :const:`~os.O_EXLOCK` are " "present in the :mod:`os` module (on BSD only), the :func:`os.open` function " "provides an alternative to the :func:`lockf` and :func:`flock` functions." msgstr "" -"Si los flags de bloqueo :data:`~os.O_SHLOCK` y :data:`~os.O_EXLOCK` están " -"presentes en el módulo :mod:`os` (sólo en BSD), la función :func:`os.open` " -"proporciona una alternativa a las funciones :func:`lockf` y :func:`flock`." +"Si los indicadores de bloqueo :const:`~os.O_SHLOCK` y :const:`~os.O_EXLOCK` " +"están presentes en el módulo :mod:`os` (sólo en BSD), la función :func:`os." +"open` proporciona una alternativa a las funciones :func:`lockf` y :func:" +"`flock`." #: ../Doc/library/fcntl.rst:10 msgid "UNIX" -msgstr "" +msgstr "UNIX" #: ../Doc/library/fcntl.rst:10 msgid "file control" -msgstr "" +msgstr "file control" #: ../Doc/library/fcntl.rst:10 msgid "I/O control" -msgstr "" +msgstr "I/O control" From a2b3ae34451f4161f07a30cb29e66c23dfcfb858 Mon Sep 17 00:00:00 2001 From: Rafael Fontenelle Date: Sun, 21 Apr 2024 11:46:43 -0300 Subject: [PATCH 06/63] Update badges link to 3.12 branch in README.md (#2821) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12e1f2f2a9..ae8e7130b4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Traducción al Español de la Documentación de Python -![Build Status](https://github.com/python/python-docs-es/actions/workflows/main.yml/badge.svg?branch=3.11 "Build Status") -![Documentation Status](https://readthedocs.org/projects/python-docs-es/badge/?version=3.11 "Documentation Status") +![Build Status](https://github.com/python/python-docs-es/actions/workflows/main.yml/badge.svg?branch=3.12 "Build Status") +![Documentation Status](https://readthedocs.org/projects/python-docs-es/badge/?version=3.12 "Documentation Status") ## ¿Cómo contribuir? Tenemos una guía que te ayudará a contribuir. Por favor From dcc5fd45a755419b28568ffccdbc6e1567fae098 Mon Sep 17 00:00:00 2001 From: Zodac <157053546+zodacdev@users.noreply.github.com> Date: Mon, 6 May 2024 08:11:27 -0400 Subject: [PATCH 07/63] Traducido archivo library/threading (#2811) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Finaliza traducción Closes #2562 --------- Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- TRANSLATORS | 1 + library/threading.po | 196 +++++++++++++++++++------------------------ 2 files changed, 86 insertions(+), 111 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 3f433274fc..3231d3a019 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -243,3 +243,4 @@ Xavi Rambla Centellas (@xavirambla) Yennifer Paola Herrera Ariza (@Yenniferh) Yohanna Padrino (@Yo-hanaPR) zejiran +Zodac (@zodacdev) diff --git a/library/threading.po b/library/threading.po index cf8d4bfc5d..af2e254948 100644 --- a/library/threading.po +++ b/library/threading.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-26 23:05+0100\n" -"Last-Translator: Claudia Millan \n" -"Language: es_419\n" +"PO-Revision-Date: 2024-02-21 10:02-0300\n" +"Last-Translator: zodac \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/threading.rst:2 msgid ":mod:`threading` --- Thread-based parallelism" @@ -30,13 +31,12 @@ msgid "**Source code:** :source:`Lib/threading.py`" msgstr "**Código fuente:** :source:`Lib/threading.py`" #: ../Doc/library/threading.rst:11 -#, fuzzy msgid "" "This module constructs higher-level threading interfaces on top of the lower " "level :mod:`_thread` module." msgstr "" "Este módulo construye interfaces de hilado de alto nivel sobre el módulo de " -"más bajo nivel :mod:`_thread`. Ver también el módulo :mod:`queue`." +"más bajo nivel :mod:`_thread`." #: ../Doc/library/threading.rst:14 msgid "This module used to be optional, it is now always available." @@ -49,7 +49,7 @@ msgid "" "the calling thread, while still being able to retrieve their results when " "needed." msgstr "" -":class:`concurrent.futures.ThreadPoolExecutor` ofrece una interfaz a mas " +":class:`concurrent.futures.ThreadPoolExecutor` ofrece una interfaz a mas " "alto nivel para enviar tareas a un hilo en segundo plano sin bloquear la " "ejecución del hilo de llamada, pero manteniendo la capacidad de recuperar " "sus resultados cuando sea necesario." @@ -59,7 +59,7 @@ msgid "" ":mod:`queue` provides a thread-safe interface for exchanging data between " "running threads." msgstr "" -":mod:`queue` proporciona una interfaz segura a nivel de hilos intercambiar " +":mod:`queue` proporciona una interfaz segura a nivel de hilos intercambiar " "datos entre hilos en ejecución." #: ../Doc/library/threading.rst:26 @@ -102,10 +102,8 @@ msgstr "" "varias tareas vinculadas a E/S simultáneamente." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr "" -":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -113,8 +111,8 @@ msgid "" "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " "more information." msgstr "" -"Este módulo no funciona o no está disponible en las plataformas WebAssembly " -"``wasm32-emscripten`` y ``wasm32-wasi``. Consulte :ref:`wasm-availability` " +"Este módulo no funciona o no está disponible en las plataformas WebAssembly " +"``wasm32-emscripten`` y ``wasm32-wasi``. Consulte :ref:`wasm-availability` " "para obtener más información." #: ../Doc/library/threading.rst:50 @@ -159,7 +157,7 @@ msgstr "El argumento *args* posee los siguientes atributos:" #: ../Doc/library/threading.rst:77 msgid "*exc_type*: Exception type." -msgstr "*exc_type*: Tipo de la excepción." +msgstr "*exc_type*: Tipo de excepción." #: ../Doc/library/threading.rst:78 msgid "*exc_value*: Exception value, can be ``None``." @@ -213,7 +211,7 @@ msgid "" "object which is being finalized. Avoid storing *thread* after the custom " "hook completes to avoid resurrecting objects." msgstr "" -"Guarda *thread* usando un *hook* personalizado puede resucitarlo si se " +"Guardando *thread* usando un *hook* personalizado puede resucitarlo si se " "asigna a un objeto que esté siendo finalizado. Evítese que *thread* sea " "almacenado después de que el *hook* personalizado se complete para evitar " "resucitar objetos." @@ -254,19 +252,18 @@ msgid "" "after which the value may be recycled by the OS)." msgstr "" "Retorna la ID de Hilo (*Thread ID*) nativo integral del hilo actual asignado " -"por el *kernel*. Ella es un entero distinto de cero. Su valor puede " -"utilizarse para identificar de forma única a este hilo en particular a " -"través de todo el sistema (hasta que el hilo termine, luego de lo cual el " -"valor puede ser reciclado por el SO)." +"por el kernel. Este es un entero distinto de cero. Su valor puede utilizarse " +"para identificar de forma única a este hilo en particular a través de todo " +"el sistema (hasta que el hilo termine, luego de lo cual el valor puede ser " +"reciclado por el SO)." #: ../Doc/library/threading.rst:130 ../Doc/library/threading.rst:465 -#, fuzzy msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX, DragonFlyBSD." msgstr "" ":ref:`Disponibilidad `: Windows, FreeBSD, Linux, macOS, " -"OpenBSD, NetBSD, AIX." +"OpenBSD, NetBSD, AIX, DragonFlyBSD." #: ../Doc/library/threading.rst:137 msgid "" @@ -297,29 +294,26 @@ msgid "" "module. The *func* will be passed to :func:`sys.settrace` for each thread, " "before its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " +"Establece una función de seguimiento para todos los hilos iniciados desde el " "módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"cada hilo, antes de que su método :meth:`~Thread.run` sea invocado." #: ../Doc/library/threading.rst:163 -#, fuzzy msgid "" "Set a trace function for all threads started from the :mod:`threading` " "module and all Python threads that are currently executing." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " -"módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"Establece una función de seguimiento para todos los hilos iniciados desde el " +"módulo :mod:`threading` y todos los hilos de Python que se estén ejecutando " +"en ese momento." #: ../Doc/library/threading.rst:166 -#, fuzzy msgid "" "The *func* will be passed to :func:`sys.settrace` for each thread, before " "its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " -"módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"La *func* será pasada a :func:`sys.settrace` para cada hilo, antes de que su " +"método :meth:`~Thread.run` sea invocado." #: ../Doc/library/threading.rst:177 msgid "Get the trace function as set by :func:`settrace`." @@ -337,24 +331,21 @@ msgstr "" "cada hilo, antes de que se llame a su método :meth:`~Thread.run`." #: ../Doc/library/threading.rst:192 -#, fuzzy msgid "" "Set a profile function for all threads started from the :mod:`threading` " "module and all Python threads that are currently executing." msgstr "" "Establece una función de perfil para todos los hilos iniciados desde el " -"módulo :mod:`threading`. La *func* se pasará a :func:`sys.setprofile` por " -"cada hilo, antes de que se llame a su método :meth:`~Thread.run`." +"módulo :mod:`threading` y todos los hilos de Python que se estén ejecutando " +"en ese momento." #: ../Doc/library/threading.rst:195 -#, fuzzy msgid "" "The *func* will be passed to :func:`sys.setprofile` for each thread, before " "its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de perfil para todos los hilos iniciados desde el " -"módulo :mod:`threading`. La *func* se pasará a :func:`sys.setprofile` por " -"cada hilo, antes de que se llame a su método :meth:`~Thread.run`." +"La *func* se pasará a :func:`sys.setprofile` para cada hilo, antes de que se " +"llame a su método :meth:`~Thread.run`." #: ../Doc/library/threading.rst:204 msgid "Get the profiler function as set by :func:`setprofile`." @@ -398,10 +389,8 @@ msgstr "" "específica)" #: ../Doc/library/threading.rst:226 -#, fuzzy msgid ":ref:`Availability `: Windows, pthreads." -msgstr "" -":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." +msgstr ":ref:`Disponibilidad `: Windows, pthreads." #: ../Doc/library/threading.rst:228 msgid "Unix platforms with POSIX threads support." @@ -441,15 +430,15 @@ msgid "" "stopped, suspended, resumed, or interrupted. The static methods of Java's " "Thread class, when implemented, are mapped to module-level functions." msgstr "" -"El diseño de este módulo está libremente basado en el modelo de *threading* " -"de Java. Sin embargo, donde Java hace de *locks* y variables condicionales " -"el comportamiento básico de cada objeto, éstos son objetos separados en " -"Python. La clase de Python :class:`Thread` soporta un subdominio del " -"comportamiento de la clase *Thread* de Java; actualmente, no hay " -"prioridades, ni grupos de hilos, y los hilos no pueden ser destruidos, " -"detenidos, suspendidos, retomados o interrumpidos. Los métodos estáticos de " -"la clase *Thread* de Java, cuando son implementados, son mapeados a " -"funciones a nivel de módulo." +"El diseño de este módulo está vagamente basado en el modelo de hilos de " +"Java. Sin embargo, donde Java hace que los bloqueos y las variables de " +"condición sean comportamientos básicos de cada objeto, en Python son objetos " +"separados. La clase :class:`Thread` de Python soporta un subconjunto del " +"comportamiento de la clase Thread de Java; actualmente, no hay prioridades, " +"no hay grupos de hilos, y los hilos no pueden ser destruidos, detenidos, " +"suspendidos, reanudados o interrumpidos. Los métodos estáticos de la clase " +"Thread de Java, cuando se implementan, se asignan a funciones de nivel de " +"módulo." #: ../Doc/library/threading.rst:254 msgid "All of the methods described below are executed atomically." @@ -479,20 +468,18 @@ msgid "A class that represents thread-local data." msgstr "Una clase que representa datos locales de hilo." #: ../Doc/library/threading.rst:274 -#, fuzzy msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." msgstr "" "Para más detalles y ejemplos extensivos, véase la documentación del módulo :" -"mod:`_threading_local`." +"mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." #: ../Doc/library/threading.rst:281 msgid "Thread Objects" msgstr "Objetos tipo hilo" #: ../Doc/library/threading.rst:283 -#, fuzzy msgid "" "The :class:`Thread` class represents an activity that is run in a separate " "thread of control. There are two ways to specify the activity: by passing a " @@ -506,8 +493,8 @@ msgstr "" "objeto invocable al constructor, o sobrescribiendo el método :meth:`~Thread." "run` en una subclase. Ningún otro método (a excepción del constructor) " "deberá ser sobrescrito en una subclase. En otras palabras, *solo* " -"sobrescribir los métodos :meth:`~Thread.__init__` y :meth:`~Thread.run` de " -"esta clase." +"sobrescribir los métodos ``__init__()`` y :meth:`~Thread.run` de esta " +"clase." #: ../Doc/library/threading.rst:290 msgid "" @@ -537,9 +524,9 @@ msgid "" "the calling thread until the thread whose :meth:`~Thread.join` method is " "called is terminated." msgstr "" -"Otros hilos pueden llamar al método :meth:`~Thread.join` de un hilo. Esto " -"bloquea el hilo llamador hasta que el hilo cuyo método :meth:`~Thread.join` " -"ha sido llamado termine." +"Otras hilos pueden llamar al método :meth:`~Thread.join`. Esto bloquea el " +"hilo que llama hasta que el hilo cuyo método :meth:`~Hilo.join` es llamado " +"termina." #: ../Doc/library/threading.rst:303 msgid "" @@ -595,7 +582,6 @@ msgstr "" "inicial del programa de Python. No es un hilo demonio." #: ../Doc/library/threading.rst:325 -#, fuzzy msgid "" "There is the possibility that \"dummy thread objects\" are created. These " "are thread objects corresponding to \"alien threads\", which are threads of " @@ -610,8 +596,8 @@ msgstr "" "control iniciados afuera del modulo *threading*, por ejemplo directamente de " "código en C. Los objetos de hilos *dummy* tienen funcionalidad limitada; " "siempre se consideran vivos y demoníacos, y no pueden se les puede aplicar " -"el método :meth:`~Thread.join`. Nunca son eliminados, ya que es imposible " -"detectar la terminación de hilos extranjeros." +"el método :ref:`joined `. Nunca son eliminados, ya que es " +"imposible detectar la terminación de hilos extranjeros." #: ../Doc/library/threading.rst:336 msgid "" @@ -622,13 +608,12 @@ msgstr "" "Los argumentos son:" #: ../Doc/library/threading.rst:339 -#, fuzzy msgid "" "*group* should be ``None``; reserved for future extension when a :class:`!" "ThreadGroup` class is implemented." msgstr "" "*group* debe ser `None`; reservado para una futura extensión cuando se " -"implemente una clase :class:`ThreadGroup`." +"implemente una clase :class:`!ThreadGroup`." #: ../Doc/library/threading.rst:342 msgid "" @@ -651,13 +636,12 @@ msgstr "" "se especifica el argumento *target*." #: ../Doc/library/threading.rst:350 -#, fuzzy msgid "" "*args* is a list or tuple of arguments for the target invocation. Defaults " "to ``()``." msgstr "" -"*args* es la tupla de argumento para la invocación objetivo. Por defecto es " -"``()``." +"*args* es una lista o tupla de argumentos para la invocación de destino. Por " +"defecto es ``()``." #: ../Doc/library/threading.rst:352 msgid "" @@ -742,9 +726,8 @@ msgstr "" "`Thread` podría lograr el mismo efecto." #: ../Doc/library/threading.rst:392 -#, fuzzy msgid "Example::" -msgstr "Por ejemplo:" +msgstr "Ejemplo::" #: ../Doc/library/threading.rst:406 msgid "" @@ -783,9 +766,8 @@ msgstr "" "bloqueará hasta que el hilo termine." #: ../Doc/library/threading.rst:421 -#, fuzzy msgid "A thread can be joined many times." -msgstr "A un hilo se le puede aplicar :meth:`~Thread.join` muchas veces." +msgstr "Un hilo puede unirse varias veces." #: ../Doc/library/threading.rst:423 msgid "" @@ -872,7 +854,6 @@ msgstr "" "los hilos vivos." #: ../Doc/library/threading.rst:479 -#, fuzzy msgid "" "A boolean value indicating whether this thread is a daemon thread (``True``) " "or not (``False``). This must be set before :meth:`~Thread.start` is " @@ -1010,7 +991,6 @@ msgstr "" "``Falso`` inmediatamente; de otro modo, cierra el *lock* y retorna ``True``." #: ../Doc/library/threading.rst:550 -#, fuzzy msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1022,7 +1002,7 @@ msgstr "" "valor positivo, bloquea por a lo más el número de segundos especificado en " "*timeout* y mientras el *lock* no pueda ser adquirido. Un argumento " "*timeout* de \"-1\" especifica una espera ilimitada. No está admitido " -"especificar un *timeout* cuando *blocking* es falso." +"especificar un *timeout* cuando *blocking* es ``False``." #: ../Doc/library/threading.rst:556 msgid "" @@ -1073,9 +1053,8 @@ msgid "There is no return value." msgstr "No hay valor de retorno." #: ../Doc/library/threading.rst:582 -#, fuzzy msgid "Return ``True`` if the lock is acquired." -msgstr "Retorna *true* si el *lock* ha sido adquirido." +msgstr "Retorna ``True`` si se adquiere el bloqueo." #: ../Doc/library/threading.rst:589 msgid "RLock Objects" @@ -1154,37 +1133,35 @@ msgid "" "waiting until the lock is unlocked, only one at a time will be able to grab " "ownership of the lock. There is no return value in this case." msgstr "" -"Cuando se invoca sin argumentos: si este hilo ya es dueño del *lock*, " -"incrementa el nivel de recursividad en uno, y retorna inmediatamente. De " -"otro modo, si otro hilo es dueño del *lock*, bloquea hasta que se abra el " -"*lock*. Una vez que el *lock* se abra (ningún hilo sea su dueño), se adueña, " -"establece el nivel de recursividad en uno, y retorna. Si más de un hilo está " -"bloqueado esperando que sea abra el *lock*, solo uno a la vez podrá " -"apoderarse del *lock*. No hay valor de retorno en este caso." +"Cuando se invoca sin argumentos: si este subproceso ya posee el bloqueo, " +"incrementa el nivel de recursión en uno y devuelve inmediatamente. En caso " +"contrario, si el bloqueo pertenece a otro subproceso, se bloquea hasta que " +"se desbloquea el bloqueo. Una vez que se desbloquea el bloqueo (no es " +"propiedad de ningún hilo), se toma la propiedad, se establece el nivel de " +"recursividad en uno y se devuelve. Si hay más de un proceso bloqueado " +"esperando a que se desbloquee el bloqueo, sólo uno a la vez podrá hacerse " +"con la propiedad del bloqueo. En este caso no hay valor de retorno." #: ../Doc/library/threading.rst:631 -#, fuzzy msgid "" "When invoked with the *blocking* argument set to ``True``, do the same thing " "as when called without arguments, and return ``True``." msgstr "" -"Cuando se invoca con el argumento *blocking* fijado en *true*, hace lo mismo " -"que cuando se llama sin argumentos y retorna ``True``." +"Cuando se invoca con el argumento *blocking* fijado en ``True``, hace lo " +"mismo que cuando se llama sin argumentos y retorna ``True``." #: ../Doc/library/threading.rst:634 -#, fuzzy msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. " "If a call without an argument would block, return ``False`` immediately; " "otherwise, do the same thing as when called without arguments, and return " "``True``." msgstr "" -"Cuando se invoca con el argumento *blocking* fijado a falso, no bloquea. Si " -"una llamada sin argumento bloquease, retorna ``False`` inmediatamente; de " +"Cuando se invoca con el argumento *blocking* fijado a ``False``, no bloquea. " +"Si una llamada sin argumento bloquease, retorna ``False`` inmediatamente; de " "otro modo, hace lo mismo que al llamarse sin argumentos, y retorna ``True``." #: ../Doc/library/threading.rst:638 -#, fuzzy msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1193,9 +1170,8 @@ msgid "" msgstr "" "Cuando se invoca con el argumento de coma flotante *timeout* fijado a un " "valor positivo, bloquea por máximo el número de segundos especificado por " -"*timeout* y mientras el *lock* no pueda ser adquirido. Retorna ``True`` si " -"el *lock* ha sido adquirido, falso si el tiempo de espera *timeout* ha " -"caducado." +"*timeout* y mientras el lock no pueda ser adquirido. Retorna ``True`` si el " +"lock ha sido adquirido, ``False`` si el tiempo de espera ha caducado." #: ../Doc/library/threading.rst:649 msgid "" @@ -1634,15 +1610,15 @@ msgstr "" "debiese confiarse en el orden en que los hilos sean despertados." #: ../Doc/library/threading.rst:882 -#, fuzzy msgid "" "When invoked with *blocking* set to ``False``, do not block. If a call " "without an argument would block, return ``False`` immediately; otherwise, do " "the same thing as when called without arguments, and return ``True``." msgstr "" -"Cuando se invoca con *blocking* fijado en falso, no bloquea. Si una llamada " -"sin un argumento bloquease, retorna ``Falso`` inmediatamente; de otro modo, " -"hace lo mismo que cuando se llama sin argumentos, y retorna ``True``." +"Cuando se invoca con *blocking* fijado en ``False``, no bloquea. Si una " +"llamada sin un argumento bloquease, retorna ``False`` inmediatamente; de " +"otro modo, hace lo mismo que cuando se llama sin argumentos, y retorna " +"``True``." #: ../Doc/library/threading.rst:886 msgid "" @@ -1835,7 +1811,6 @@ msgstr "" "ejemplo de creación de hilos personalizados." #: ../Doc/library/threading.rst:1012 -#, fuzzy msgid "" "Timers are started, as with threads, by calling their :meth:`Timer.start " "` method. The timer can be stopped (before its action has " @@ -1844,10 +1819,10 @@ msgid "" "interval specified by the user." msgstr "" "Los temporizadores son iniciados, tal como los hilos, al llamarse su método :" -"meth:`~Timer.start`. El temporizador puede ser detenido (antes de que su " -"acción haya comenzado) al llamar al método :meth:`~Timer.cancel`. El " -"intervalo que el temporizador esperará antes de ejecutar su acción puede no " -"ser exactamente el mismo que el intervalo especificado por el usuario." +"meth:`Timer.start `. El temporizador puede ser detenido (antes " +"de que su acción haya comenzado) al llamar al método :meth:`~Timer.cancel`. " +"El intervalo que el temporizador esperará antes de ejecutar su acción puede " +"no ser exactamente el mismo que el intervalo especificado por el usuario." #: ../Doc/library/threading.rst:1018 msgid "For example::" @@ -1954,7 +1929,7 @@ msgstr "" #: ../Doc/library/threading.rst:1101 msgid "If the call times out, the barrier is put into the broken state." -msgstr "Si la llamada caduca, la barrera entra en estado *broken*." +msgstr "Si se agota el tiempo de llamada, la barrera pasa al estado roto." #: ../Doc/library/threading.rst:1103 msgid "" @@ -2030,7 +2005,6 @@ msgstr "" "Uso de *locks*, condiciones y semáforos en la declaración :keyword:`!with`" #: ../Doc/library/threading.rst:1150 -#, fuzzy msgid "" "All of the objects provided by this module that have ``acquire`` and " "``release`` methods can be used as context managers for a :keyword:`with` " @@ -2038,11 +2012,11 @@ msgid "" "and ``release`` will be called when the block is exited. Hence, the " "following snippet::" msgstr "" -"Todos los objetos provistos por este módulo que tienen métodos :meth:" -"`acquire` y :meth:`release` pueden ser utilizados como administradores de " -"contexto para una declaración :keyword:`with`. El método :meth:`acquire` " -"será llamado cuando se ingresa al bloque y el método :meth:`release` será " -"llamado cuando se abandona el bloque. De ahí que, el siguiente fragmento::" +"Todos los objetos provistos por este módulo que tienen métodos ``acquire`` y " +"``release`` pueden ser utilizados como administradores de contexto para una " +"declaración :keyword:`with`. El método ``acquire`` será llamado cuando se " +"ingresa al bloque y el método ``release`` será llamado cuando se abandona el " +"bloque. De ahí que, el siguiente fragmento::" #: ../Doc/library/threading.rst:1159 msgid "is equivalent to::" @@ -2060,15 +2034,15 @@ msgstr "" #: ../Doc/library/threading.rst:155 ../Doc/library/threading.rst:173 msgid "trace function" -msgstr "" +msgstr "trace function" #: ../Doc/library/threading.rst:173 msgid "debugger" -msgstr "" +msgstr "debugger" #: ../Doc/library/threading.rst:184 ../Doc/library/threading.rst:202 msgid "profile function" -msgstr "" +msgstr "profile function" #~ msgid "" #~ ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, " From 1c211c57b5949647e0a525fec8f6b649f6640540 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Wed, 15 May 2024 16:07:45 +0200 Subject: [PATCH 08/63] Traduccion library/urllib.parse.po (#2822) Closes #2561 --- library/urllib.parse.po | 86 ++++++++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 31 deletions(-) diff --git a/library/urllib.parse.po b/library/urllib.parse.po index a1aeb64ff1..931ce881a0 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-12-13 22:07-0300\n" -"Last-Translator: Rodrigo Tobar \n" -"Language: es\n" +"PO-Revision-Date: 2024-05-11 18:18+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/urllib.parse.rst:2 msgid ":mod:`urllib.parse` --- Parse URLs into components" @@ -44,7 +45,6 @@ msgstr "" "relativa\" a una URL absoluta a partir de una \"URL base\"." #: ../Doc/library/urllib.parse.rst:23 -#, fuzzy msgid "" "The module has been designed to match the internet RFC on Relative Uniform " "Resource Locators. It supports the following URL schemes: ``file``, ``ftp``, " @@ -54,11 +54,12 @@ msgid "" "``telnet``, ``wais``, ``ws``, ``wss``." msgstr "" "Este módulo ha sido diseñado para coincidir con el RFC de internet sobre " -"localizadores de recursos uniformes relativos. Admite los siguientes " -"esquemas URL: ``file``, ``ftp``, ``gopher``, ``hdl``, ``http``, ``https``, " -"``imap``, ``mailto``, ``mms``, ``news``, ``nntp``, ``prospero``, ``rsync``, " -"``rtsp``, ``rtspu``, ``sftp``, ``shttp``, ``sip``, ``sips``, ``snews``, " -"``svn``, ``svn+ssh``, ``telnet``, ``wais``, ``ws``, ``wss``." +"Localizadores de Recursos Uniformes Relativos (URLs relativas). Admite los " +"siguientes esquemas URL: ``file``, ``ftp``, ``gopher``, ``hdl``, ``http``, " +"``https``, ``imap``, ``mailto``, ``mms``, ``news``, ``nntp``, ``prospero``, " +"``rsync``, ``rtsp``, ``rtsps``, ``rtspu``, ``sftp``, ``shttp``, ``sip``, " +"``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``, ``wais``, ``ws``, " +"``wss``." #: ../Doc/library/urllib.parse.rst:30 msgid "" @@ -345,6 +346,8 @@ msgid "" ":func:`urlparse` does not perform validation. See :ref:`URL parsing " "security ` for details." msgstr "" +":func:`urlparse` no realiza validaciones. Mire :ref:`URL parsing security " +"` para más información." #: ../Doc/library/urllib.parse.rst:167 msgid "Added IPv6 URL parsing capabilities." @@ -531,31 +534,32 @@ msgstr "" "elementos por índice o como atributos con nombre:" #: ../Doc/library/urllib.parse.rst:331 -#, fuzzy msgid "" "Following some of the `WHATWG spec`_ that updates RFC 3986, leading C0 " "control and space characters are stripped from the URL. ``\\n``, ``\\r`` and " "tab ``\\t`` characters are removed from the URL at any position." msgstr "" -"Siguiendo la especificación `WHATWG spec`_ que actualiza RFC 3986, los " -"caracteres ASCII nueva línea ``\\n``, ``\\r`` y tab ``\\t`` se eliminan de " -"la URL." +"Siguiendo algunas de las `WHATWG spec`_ que actualizan el RFC 3986, los " +"caracteres de control C0 y de espacio se eliminan de la URL. Los caracteres " +"``\\n``, ``\\r`` y tab ``\\t`` se eliminan de la URL en cualquier posición." #: ../Doc/library/urllib.parse.rst:337 msgid "" ":func:`urlsplit` does not perform validation. See :ref:`URL parsing " "security ` for details." msgstr "" +":func:`urlsplit` no realiza validaciones. Mire :ref:`URL parsing security " +"` para más información." #: ../Doc/library/urllib.parse.rst:348 msgid "ASCII newline and tab characters are stripped from the URL." msgstr "Los caracteres ASCII de nueva línea y tab se eliminan de la URL." #: ../Doc/library/urllib.parse.rst:351 -#, fuzzy msgid "" "Leading WHATWG C0 control and space characters are stripped from the URL." -msgstr "Los caracteres ASCII de nueva línea y tab se eliminan de la URL." +msgstr "" +"Los caracteres de control WHATWG C0 y de espacio se eliminan de la URL." #: ../Doc/library/urllib.parse.rst:358 msgid "" @@ -665,9 +669,8 @@ msgstr "" "URL envuelta, se retorna sin cambios." #: ../Doc/library/urllib.parse.rst:433 -#, fuzzy msgid "URL parsing security" -msgstr "Análisis de URL" +msgstr "Análisis de seguridad de URL" #: ../Doc/library/urllib.parse.rst:435 msgid "" @@ -677,6 +680,11 @@ msgid "" "considered URLs elsewhere. Their purpose is for practical functionality " "rather than purity." msgstr "" +"Las APIs :func:`urlsplit` y :func:`urlparse` no realizan **validación** de " +"las entradas. Es posible que no produzcan errores en entradas que otras " +"aplicaciones consideren inválidas. También pueden tener éxito en algunas " +"entradas que podrían no ser consideradas URLs en otros lugares. Su " +"propósito es más la funcionalidad práctica que la pureza." #: ../Doc/library/urllib.parse.rst:441 msgid "" @@ -684,6 +692,9 @@ msgid "" "some component parts as empty strings. Or components may contain more than " "perhaps they should." msgstr "" +"En vez de generar una excepción en una entrada inusual, pueden devolver " +"algunas partes componentes como una cadenas vacías. O los componentes pueden " +"contener más de lo que deberían." #: ../Doc/library/urllib.parse.rst:445 msgid "" @@ -693,6 +704,11 @@ msgid "" "make sense? Is that a sensible ``path``? Is there anything strange about " "that ``hostname``? etc." msgstr "" +"Se recomienda que los usuarios de estas APIs, en las que los valores se " +"pueden usar en cualquier lugar con implicaciones de seguridad, codifiquen de " +"forma defensiva. Realicen algunas comprobaciones en su código antes de " +"confiar en un componente devuelto. ¿Tiene sentido ese ``scheme``? ¿Es ese " +"``path`` sensible? ¿Hay algo extraño en ese ``hostname``? etc." #: ../Doc/library/urllib.parse.rst:451 msgid "" @@ -705,6 +721,15 @@ msgid "" "behaviors predate both standards leading us to be very cautious about making " "API behavior changes." msgstr "" +"Lo que constituye una URL no está universalmente bien definido. Aplicaciones " +"diferentes tienen diferentes necesidades y restricciones deseadas. Por " +"ejemplo, la `WHATWG spec`_ describe lo que requieren los clientes web " +"orientados al usuario, como un navegador web. Mientras :rfc:`3986` es más " +"general. Estas funciones incorporan algunos aspectos de ambos, pero no se " +"puede afirmar que cumpla con ninguno de los dos. Las API y el código de " +"usuario existente con expectativas sobre comportamientos específicos son " +"anteriores a ambos estándares, lo que nos lleva a ser muy cautelosos " +"realizando cambios en el comportamiento de la API." #: ../Doc/library/urllib.parse.rst:462 msgid "Parsing ASCII Encoded Bytes" @@ -939,7 +964,7 @@ msgstr "" "está cubierta por las funciones de análisis de URL anteriores." #: ../Doc/library/urllib.parse.rst:601 -#, fuzzy, python-format +#, python-format msgid "" "Replace special characters in *string* using the :samp:`%{xx}` escape. " "Letters, digits, and the characters ``'_.-~'`` are never quoted. By default, " @@ -947,8 +972,8 @@ msgid "" "optional *safe* parameter specifies additional ASCII characters that should " "not be quoted --- its default value is ``'/'``." msgstr "" -"Reemplaza caracteres especiales en *string* con la secuencia de escape " -"``%xx``. Las letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. " +"Reemplaza caracteres especiales en *string* con la secuencia de escape :samp:" +"`%{xx}`. Las letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. " "De forma predeterminada, esta función está pensada para citar la sección de " "ruta de acceso de la dirección URL. El parámetro opcional *safe* especifica " "caracteres ASCII adicionales que no se deben citar --- su valor " @@ -1028,14 +1053,14 @@ msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." msgstr "Ejemplo: ``quote_from_bytes(b'a&\\xef')`` produce ``'a%26%EF'``." #: ../Doc/library/urllib.parse.rst:648 -#, fuzzy, python-format +#, python-format msgid "" "Replace :samp:`%{xx}` escapes with their single-character equivalent. The " "optional *encoding* and *errors* parameters specify how to decode percent-" "encoded sequences into Unicode characters, as accepted by the :meth:`bytes." "decode` method." msgstr "" -"Reemplaza secuencias de escape ``%xx`` con los caracteres individuales " +"Reemplaza secuencias de escape :samp:`%{xx}` con los caracteres individuales " "correspondientes. Los parámetros opcionales *encoding* y *errors* " "especifican cómo descodificar secuencias codificadas porcentualmente a " "caracteres Unicode, tal como lo acepta el método :meth:`bytes.decode`." @@ -1077,12 +1102,12 @@ msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "Ejemplo: ``unquote_plus('/El+Ni%C3%B1o/')`` produce ``'/El Niño/'``." #: ../Doc/library/urllib.parse.rst:679 -#, fuzzy, python-format +#, python-format msgid "" "Replace :samp:`%{xx}` escapes with their single-octet equivalent, and return " "a :class:`bytes` object." msgstr "" -"Reemplaza los escapes ``%xx`` por sus equivalentes de un solo octeto y " +"Reemplaza los escapes :samp:`%{xx}` por sus equivalentes de un solo octeto y " "retorna un objeto :class:`bytes`." #: ../Doc/library/urllib.parse.rst:684 @@ -1278,21 +1303,20 @@ msgstr "" #: ../Doc/library/urllib.parse.rst:9 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../Doc/library/urllib.parse.rst:9 msgid "World Wide Web" -msgstr "" +msgstr "World Wide Web" #: ../Doc/library/urllib.parse.rst:9 msgid "URL" -msgstr "" +msgstr "URL" #: ../Doc/library/urllib.parse.rst:9 -#, fuzzy msgid "parsing" -msgstr "Análisis de URL" +msgstr "parsing" #: ../Doc/library/urllib.parse.rst:9 msgid "relative" -msgstr "" +msgstr "relative" From 774f3ffc67ed801c25ece04113ec8b1a61cdede0 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Thu, 16 May 2024 01:06:51 +0200 Subject: [PATCH 09/63] Traduccion library/tempfile.po (#2823) Closes #2560 --- library/tempfile.po | 115 ++++++++++++++++++++++++++------------------ 1 file changed, 69 insertions(+), 46 deletions(-) diff --git a/library/tempfile.po b/library/tempfile.po index 4f3c3564cf..658c64abf9 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-02-28 10:45-0300\n" -"Last-Translator: Alfonso Areiza Guerrao \n" -"Language: es\n" +"PO-Revision-Date: 2024-05-15 21:27+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/tempfile.rst:2 msgid ":mod:`tempfile` --- Generate temporary files and directories" @@ -133,13 +134,12 @@ msgstr "" "atributo :attr:`!file` es el objeto de archivo verdadero subyacente." #: ../Doc/library/tempfile.rst:62 -#, fuzzy msgid "" "The :py:const:`os.O_TMPFILE` flag is used if it is available and works " "(Linux-specific, requires Linux kernel 3.11 or later)." msgstr "" -"El indicador :py:data:`os.O_TMPFILE` se usa si está disponible (específico " -"de Linux, requiere el kernel de Linux 3.11 o posterior)." +"El indicador :py:const:`os.O_TMPFILE` se usa si está disponible y funciona " +"(específico de Linux, requiere el kernel de Linux 3.11 o posterior)." #: ../Doc/library/tempfile.rst:65 msgid "" @@ -159,9 +159,8 @@ msgstr "" "argumento ``fullpath``." #: ../Doc/library/tempfile.rst:72 -#, fuzzy msgid "The :py:const:`os.O_TMPFILE` flag is now used if available." -msgstr "El indicador :py:data:`os.O_TMPFILE` ahora se usa si está disponible." +msgstr "El indicador :py:const:`os.O_TMPFILE` ahora se usa si está disponible." #: ../Doc/library/tempfile.rst:74 ../Doc/library/tempfile.rst:139 #: ../Doc/library/tempfile.rst:167 @@ -173,12 +172,16 @@ msgid "" "This function operates exactly as :func:`TemporaryFile` does, except the " "following differences:" msgstr "" +"Esta función opera exactamente como :func:`TemporaryFile`, excepto por las " +"siguientes diferencias:" #: ../Doc/library/tempfile.rst:83 msgid "" "This function returns a file that is guaranteed to have a visible name in " "the file system." msgstr "" +"Esta función retorna un archivo que tiene garantizado un nombre visible en " +"el sistema de archivos." #: ../Doc/library/tempfile.rst:85 msgid "" @@ -186,6 +189,9 @@ msgid "" "with *delete* and *delete_on_close* parameters that determine whether and " "how the named file should be automatically deleted." msgstr "" +"Para administrar el archivo nombrado, amplía los parámetros de :func:" +"`TemporaryFile` con los parámetros *delete* y *delete_on_close* que " +"determinan si el archivo nombrado debe eliminarse automáticamente y cómo." #: ../Doc/library/tempfile.rst:89 msgid "" @@ -197,6 +203,13 @@ msgid "" "`TemporaryFile`, the directory entry does not get unlinked immediately after " "the file creation." msgstr "" +"El objeto retornado es siempre un :term:`file-like object` cuyo atributo :" +"attr:`!file` es el objeto de archivo verdadero subyacente. Este :term:`file-" +"like object` se puede usar en una instrucción :keyword:`with`, al igual que " +"un archivo normal. El nombre del archivo temporal se puede recuperar del " +"atributo :attr:`name` del objeto similar al archivo retornado. En Unix, a " +"diferencia de :func:`TemporaryFile`, la entrada del directorio no se " +"desvincula inmediatamente después de la creación del archivo." #: ../Doc/library/tempfile.rst:97 msgid "" @@ -207,6 +220,13 @@ msgid "" "not always guaranteed in this case (see :meth:`object.__del__`). If *delete* " "is false, the value of *delete_on_close* is ignored." msgstr "" +"Si *delete* es true (el valor predeterminado) y *delete_on_close* es true " +"(el valor predeterminado), el archivo se elimina tan pronto como se cierra. " +"Si *delete* es true y *delete_on_close* es false, el archivo se elimina solo " +"al salir del administrador de contexto, o bien cuando se finaliza el :term:" +"`file-like object`. La eliminación no siempre está garantizada en este caso " +"(ver :meth:`object.__del__`). Si *delete* es false, se omite el valor de " +"*delete_on_close*." #: ../Doc/library/tempfile.rst:104 msgid "" @@ -217,32 +237,45 @@ msgid "" "false. The latter approach is recommended as it provides assistance in " "automatic cleaning of the temporary file upon the context manager exit." msgstr "" +"Por lo tanto, para usar el nombre del archivo temporal para volver a abrir " +"el archivo después de cerrarlo, asegúrese de no eliminar el archivo al " +"cerrarlo (establezca el parámetro *delete* en false) o, en caso de que el " +"archivo temporal se cree en una declaración :keyword:`with`, establezca el " +"parámetro *delete_on_close* en false. Se recomienda este último enfoque, ya " +"que proporciona asistencia en la limpieza automática del archivo temporal al " +"salir del administrador de contexto." #: ../Doc/library/tempfile.rst:111 msgid "" "Opening the temporary file again by its name while it is still open works as " "follows:" msgstr "" +"Abrir el archivo temporal de nuevo por su nombre mientras todavía está " +"abierto funciona de la siguiente forma:" #: ../Doc/library/tempfile.rst:114 msgid "On POSIX the file can always be opened again." -msgstr "" +msgstr "En POSIX el archivo siempre se puede volver a abrir." #: ../Doc/library/tempfile.rst:115 msgid "" "On Windows, make sure that at least one of the following conditions are " "fulfilled:" msgstr "" +"En Windows, asegúrese de que se cumple al menos una de las siguientes " +"condiciones:" #: ../Doc/library/tempfile.rst:118 msgid "*delete* is false" -msgstr "" +msgstr "*delete* es falso" #: ../Doc/library/tempfile.rst:119 msgid "" "additional open shares delete access (e.g. by calling :func:`os.open` with " "the flag ``O_TEMPORARY``)" msgstr "" +"la función de apertura adicional comparte el acceso de eliminación (por " +"ejemplo, llamando :func:`os.open` con la opción ``O_TEMPORARY``)" #: ../Doc/library/tempfile.rst:121 msgid "" @@ -252,6 +285,12 @@ msgid "" "func:`os.unlink` call on context manager exit will fail with a :exc:" "`PermissionError`." msgstr "" +"*delete* es verdadero, pero *delete_on_close* es falso. Tenga en cuenta que, " +"en este caso, las funciones de apertura adicional que no comparten el acceso " +"de eliminación (por ejemplo, creado mediante el tipo integrado :func:`open`) " +"deben cerrarse antes de salir del gestor de contexto, sino la llamada :func:" +"`os.unlink` al salir del gestor de contexto fallará con un :exc:" +"`PermissionError`." #: ../Doc/library/tempfile.rst:127 msgid "" @@ -262,6 +301,12 @@ msgid "" "requested by the open, which fails immediately if the requested access is " "not granted." msgstr "" +"En Windows, si *delete_on_close* es falso y el archivo se crea en un " +"directorio para el que el usuario carece de acceso de eliminación, la " +"llamada :func:`os.unlink` al salir del gestor de contexto fallará con un :" +"exc:`PermissionError`. Esto no puede suceder cuando *delete_on_close* es " +"true, porque el acceso de eliminación es solicitado por la función de " +"apertura, que falla inmediatamente si no se concede el acceso solicitado." #: ../Doc/library/tempfile.rst:134 msgid "" @@ -272,9 +317,8 @@ msgstr "" "eliminar automáticamente ningún NamedTemporaryFiles que se haya creado." #: ../Doc/library/tempfile.rst:142 -#, fuzzy msgid "Added *delete_on_close* parameter." -msgstr "Se agregó el parámetro *errors*." +msgstr "Se agregó el parámetro *delete_on_close*." #: ../Doc/library/tempfile.rst:148 msgid "" @@ -383,6 +427,11 @@ msgid "" "during debugging or when you need your cleanup behavior to be conditional " "based on other logic." msgstr "" +"El parámetro *delete* se puede utilizar para deshabilitar la limpieza del " +"árbol de directorios al salir del contexto. Aunque puede parecer inusual que " +"un administrador de contexto deshabilite la acción realizada al salir del " +"contexto, puede ser útil durante la depuración o cuando necesita que el " +"comportamiento de limpieza sea condicional en función de otra lógica." #: ../Doc/library/tempfile.rst:204 ../Doc/library/tempfile.rst:284 msgid "" @@ -397,9 +446,8 @@ msgid "Added *ignore_cleanup_errors* parameter." msgstr "Se agregó el parámetro *ignore_cleanup_errors*." #: ../Doc/library/tempfile.rst:211 -#, fuzzy msgid "Added the *delete* parameter." -msgstr "Se agregó el parámetro *errors*." +msgstr "Se agregó el parámetro *delete*." #: ../Doc/library/tempfile.rst:217 msgid "" @@ -546,11 +594,12 @@ msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." msgstr ":func:`mkdtemp` retorna la ruta absoluta del nuevo directorio." #: ../Doc/library/tempfile.rst:295 -#, fuzzy msgid "" ":func:`mkdtemp` now always returns an absolute path, even if *dir* is " "relative." -msgstr ":func:`mkdtemp` retorna la ruta absoluta del nuevo directorio." +msgstr "" +":func:`mkdtemp` no siempre retorna la ruta absoluta del nuevo directorio, " +"incluso si *dir* es relativo." #: ../Doc/library/tempfile.rst:301 msgid "" @@ -755,38 +804,12 @@ msgstr "" #: ../Doc/library/tempfile.rst:11 msgid "temporary" -msgstr "" +msgstr "temporary" #: ../Doc/library/tempfile.rst:11 msgid "file name" -msgstr "" +msgstr "file name" #: ../Doc/library/tempfile.rst:11 msgid "file" -msgstr "" - -#~ msgid "" -#~ "This function operates exactly as :func:`TemporaryFile` does, except that " -#~ "the file is guaranteed to have a visible name in the file system (on " -#~ "Unix, the directory entry is not unlinked). That name can be retrieved " -#~ "from the :attr:`name` attribute of the returned file-like object. " -#~ "Whether the name can be used to open the file a second time, while the " -#~ "named temporary file is still open, varies across platforms (it can be so " -#~ "used on Unix; it cannot on Windows). If *delete* is true (the default), " -#~ "the file is deleted as soon as it is closed. The returned object is " -#~ "always a file-like object whose :attr:`!file` attribute is the underlying " -#~ "true file object. This file-like object can be used in a :keyword:`with` " -#~ "statement, just like a normal file." -#~ msgstr "" -#~ "Esta función opera exactamente como lo hace :func:`TemporaryFile`, " -#~ "excepto que el archivo está garantizado para tener un nombre visible en " -#~ "el sistema de archivos (en Unix, el directorio de entrada no está " -#~ "desvinculado). El nombre se puede obtener del atributo :attr:`name` del " -#~ "objeto tipo archivo retornado. Aunque el nombre se puede usar para abrir " -#~ "el archivo por segunda vez, mientras el archivo temporal nombrado sigue " -#~ "abierto, esto varía según las plataformas (se puede usar en Unix; no se " -#~ "puede en Windows). Si *delete* es verdadero (por defecto), el archivo se " -#~ "elimina tan pronto como se cierra. El objeto retornado siempre es un " -#~ "objeto similar a un archivo cuyo atributo :attr:`!file` es el objeto de " -#~ "archivo verdadero subyacente. Este objeto similar a un archivo se puede " -#~ "usar con una sentencia :keyword:`with`, al igual que un archivo normal." +msgstr "file" From 723a126dce99dda2b75bb4aca11b98dc06886c91 Mon Sep 17 00:00:00 2001 From: MelchDev Date: Tue, 23 Jul 2024 23:11:49 -0500 Subject: [PATCH 10/63] Traducido archivo library/stdtypes (#2828) Closes #2827 --- library/stdtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/stdtypes.po b/library/stdtypes.po index a23e18d9b8..77afcbce6a 100755 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -1612,7 +1612,7 @@ msgstr "``s[i:j:k]``" #: ../Doc/library/stdtypes.rst:981 msgid "slice of *s* from *i* to *j* with step *k*" -msgstr "el segmento de *s* desde *i* hasta *j*, con paso *j*" +msgstr "el segmento de *s* desde *i* hasta *j*, con paso *k*" #: ../Doc/library/stdtypes.rst:981 msgid "(3)(5)" From 63847d4e8afd74bfc318b374a04562ea9d9faec7 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Wed, 24 Jul 2024 20:49:35 +0200 Subject: [PATCH 11/63] Traduccion library/logging (#2826) Closes #2563 --------- Co-authored-by: Carlos A. Crespo --- library/logging.po | 331 ++++++++++++++++++--------------------------- 1 file changed, 133 insertions(+), 198 deletions(-) diff --git a/library/logging.po b/library/logging.po index 0cf5d3d4ae..f52a4cc7cd 100644 --- a/library/logging.po +++ b/library/logging.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-01-16 09:30-0300\n" -"Last-Translator: Francisco Mora \n" -"Language: es\n" +"PO-Revision-Date: 2024-07-24 00:15+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4.4\n" #: ../Doc/library/logging.rst:2 msgid ":mod:`logging` --- Logging facility for Python" @@ -74,7 +75,6 @@ msgid "The simplest example:" msgstr "El ejemplo simple:" #: ../Doc/library/logging.rst:41 -#, fuzzy msgid "" "The module provides a lot of functionality and flexibility. If you are " "unfamiliar with logging, the best way to get to grips with it is to view the " @@ -82,7 +82,7 @@ msgid "" msgstr "" "El módulo proporciona mucha funcionalidad y flexibilidad. Si no está " "familiarizado con logging, la mejor manera de familiarizarse con él es ver " -"los tutoriales (ver los enlaces a la derecha)." +"los tutoriales (**vea los enlaces arriba a la derecha**)." #: ../Doc/library/logging.rst:45 msgid "" @@ -221,7 +221,7 @@ msgid "" "handlers only to the root logger, and to let propagation take care of the " "rest." msgstr "" -"Si adjunta un controlador a un logger *y* uno o más de sus ancestros, puede " +"Si adjunta un gestor a un logger *y* uno o más de sus ancestros, puede " "emitir el mismo registro varias veces. En general, no debería necesitar " "adjuntar un gestor a más de un logger; si solo lo adjunta al logger " "apropiado que está más arriba en la jerarquía del logger, verá todos los " @@ -355,9 +355,16 @@ msgid "" "might return a set including a logger named ``foo.bar``, but it wouldn't " "include one named ``foo.bar.baz``." msgstr "" +"Retorna un conjunto de loggers que son hijos inmediatos de este logger. Así, " +"por ejemplo, ``logging.getLogger().getChildren()`` podría retornar un " +"conjunto que contenga loggers llamados ``foo`` y ``bar``, pero un logger " +"llamado ``foo.bar`` no estaría incluido en el conjunto. Del mismo modo, " +"``logging.getLogger('foo').getChildren()`` podría retornar un conjunto que " +"incluyera un logger llamado ``foo.bar``, pero no incluiría uno llamado ``foo." +"bar.baz``." #: ../Doc/library/logging.rst:187 -#, fuzzy, python-format +#, python-format msgid "" "Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " "message format string, and the *args* are the arguments which are merged " @@ -371,7 +378,7 @@ msgstr "" "fusionan en *msg* utilizando el operador de formato de cadena. (Tenga en " "cuenta que esto significa que puede usar palabras clave en la cadena de " "formato, junto con un solo argumento de diccionario). No se realiza ninguna " -"operación de %formateo en *msg* cuando no se suministran *args*." +"operación de formateo mediante % en *msg* cuando no se proporcionan *args*." #: ../Doc/library/logging.rst:193 msgid "" @@ -473,7 +480,6 @@ msgid "would print something like" msgstr "imprimiría algo como" #: ../Doc/library/logging.rst:247 -#, fuzzy msgid "" "The keys in the dictionary passed in *extra* should not clash with the keys " "used by the logging system. (See the section on :ref:`logrecord-attributes` " @@ -481,8 +487,8 @@ msgid "" msgstr "" "Las claves en el diccionario pasado *extra* no deben entrar en conflicto con " "las claves utilizadas por el sistema de registro. (Ver la documentación de :" -"class:`Formatter` para obtener más información sobre qué claves utiliza el " -"sistema de registro)." +"ref:`logrecord-attributes` para obtener más información sobre qué claves " +"utiliza el sistema de registro)." #: ../Doc/library/logging.rst:251 msgid "" @@ -525,9 +531,9 @@ msgid "" "into account the relevant :attr:`Logger.propagate` attributes), the message " "will be sent to the handler set on :attr:`lastResort`." msgstr "" -"Si no hay ningún controlador asociado a este registrador (o cualquiera de " -"sus antepasados, teniendo en cuenta los atributos relevantes :attr:`Logger." -"propagate`), el mensaje se enviará al controlador establecido en :attr:" +"Si no hay ningún gestor asociado a este registrador (o cualquiera de sus " +"antepasados, teniendo en cuenta los atributos relevantes :attr:`Logger." +"propagate`), el mensaje se enviará al gestor establecido en :attr:" "`lastResort`." #: ../Doc/library/logging.rst:269 ../Doc/library/logging.rst:1175 @@ -691,7 +697,7 @@ msgid "" "set to false is found - that will be the last logger which is checked for " "the existence of handlers." msgstr "" -"Comprueba si este logger tiene algún controlador configurado. Esto se hace " +"Comprueba si este logger tiene algún gestor configurado. Esto se hace " "buscando gestores en este logger y sus padres en la jerarquía del logger. " "Retorna ``True`` si se encontró un gestor, de lo contrario, ``False`` . El " "método deja de buscar en la jerarquía cada vez que se encuentra un logger " @@ -732,7 +738,7 @@ msgstr "Valor numérico" #: ../Doc/library/logging.rst:401 msgid "What it means / When to use it" -msgstr "" +msgstr "Qué significa / Cuándo utilizarlo" #: ../Doc/library/logging.rst:403 msgid "0" @@ -744,6 +750,10 @@ msgid "" "determine the effective level. If that still resolves to :const:`!NOTSET`, " "then all events are logged. When set on a handler, all events are handled." msgstr "" +"Cuando se establece en un logger, indica que los loggers antecesores deben " +"ser consultados para determinar el nivel efectivo. Si el resultado sigue " +"siendo :const:`!NOTSET`, se registrarán todos los eventos. Cuando se " +"establece en un gestor, todos los eventos son gestionados." #: ../Doc/library/logging.rst:411 msgid "10" @@ -754,6 +764,8 @@ msgid "" "Detailed information, typically only of interest to a developer trying to " "diagnose a problem." msgstr "" +"Información detallada, normalmente sólo de interés para un desarrollador que " +"intenta diagnosticar un problema." #: ../Doc/library/logging.rst:415 msgid "20" @@ -761,7 +773,7 @@ msgstr "20" #: ../Doc/library/logging.rst:415 msgid "Confirmation that things are working as expected." -msgstr "" +msgstr "Confirmación de que todo funciona según lo previsto." #: ../Doc/library/logging.rst:418 msgid "30" @@ -773,6 +785,9 @@ msgid "" "occur in the near future (e.g. 'disk space low'). The software is still " "working as expected." msgstr "" +"Una indicación de que ha ocurrido algo inesperado o de que podría producirse " +"un problema en un futuro próximo (por ejemplo, \"espacio en disco bajo\"). " +"El software sigue funcionando como se esperaba." #: ../Doc/library/logging.rst:425 msgid "40" @@ -783,6 +798,8 @@ msgid "" "Due to a more serious problem, the software has not been able to perform " "some function." msgstr "" +"Debido a un problema más grave, el software no ha podido realizar alguna " +"función." #: ../Doc/library/logging.rst:429 msgid "50" @@ -793,13 +810,14 @@ msgid "" "A serious error, indicating that the program itself may be unable to " "continue running." msgstr "" +"Un error grave, que indica que es posible que el propio programa no pueda " +"seguir ejecutándose." #: ../Doc/library/logging.rst:438 msgid "Handler Objects" msgstr "Gestor de objetos" #: ../Doc/library/logging.rst:440 -#, fuzzy msgid "" "Handlers have the following attributes and methods. Note that :class:" "`Handler` is never instantiated directly; this class acts as a base for more " @@ -807,8 +825,8 @@ msgid "" "to call :meth:`Handler.__init__`." msgstr "" "Los gestores tienen los siguientes atributos y métodos. Tenga en cuenta que :" -"class:`Handler` nunca se instancia directamente; Esta clase actúa como base " -"para subclases más útiles. Sin embargo, el método :meth:`__init__` en las " +"class:`Handler` nunca se instancia directamente; esta clase actúa como base " +"para subclases más útiles. Sin embargo, el método :meth:`!__init__` en las " "subclases debe llamar a :meth:`Handler.__init__`." #: ../Doc/library/logging.rst:449 @@ -845,9 +863,9 @@ msgid "" "level is set to :const:`NOTSET` (which causes all messages to be processed)." msgstr "" "Establece el umbral para este gestor en *level*. Los mensajes de registro " -"que son menos severos que *level* serán ignorados. Cuando se crea un " -"controlador, el nivel se establece en :const:`NOTSET` (lo que hace que se " -"procesen todos los mensajes)." +"que son menos severos que *level* serán ignorados. Cuando se crea un gestor, " +"el nivel se establece en :const:`NOTSET` (lo que hace que se procesen todos " +"los mensajes)." #: ../Doc/library/logging.rst:479 msgid "" @@ -859,7 +877,7 @@ msgstr "" #: ../Doc/library/logging.rst:487 msgid "Sets the :class:`Formatter` for this handler to *fmt*." -msgstr "Establece :class:`Formatter` para este controlador en *fmt*." +msgstr "Establece :class:`Formatter` para este gestor en *fmt*." #: ../Doc/library/logging.rst:492 msgid "Adds the specified filter *filter* to this handler." @@ -880,8 +898,8 @@ msgstr "" "Aplique los filtros de este gestor al registro y retorna ``True`` si se va a " "procesar el registro. Los filtros se consultan a su vez, hasta que uno de " "ellos retorna un valor falso. Si ninguno de ellos retorna un valor falso, se " -"emitirá el registro. Si uno retorna un valor falso, el controlador no " -"emitirá el registro." +"emitirá el registro. Si uno retorna un valor falso, el gestor no emitirá el " +"registro." #: ../Doc/library/logging.rst:511 msgid "" @@ -899,7 +917,7 @@ msgid "" "from overridden :meth:`close` methods." msgstr "" "Poner en orden los recursos utilizados por el gestor. Esta versión no genera " -"salida, pero elimina el controlador de una lista interna de gestores que se " +"salida, pero elimina el gestor de una lista interna de gestores que se " "cierra cuando se llama a :func:`shutdown`. Las subclases deben garantizar " "que esto se llame desde métodos :meth:`close` sobreescritos." @@ -910,7 +928,7 @@ msgid "" "with acquisition/release of the I/O thread lock." msgstr "" "Emite condicionalmente el registro especifico, según los filtros que se " -"hayan agregado al controlador. Envuelve la actual emisión del registro con " +"hayan agregado al gestor. Envuelve la actual emisión del registro con " "*acquisition/release* del hilo de bloqueo E/S." #: ../Doc/library/logging.rst:532 @@ -978,7 +996,6 @@ msgstr "" "configuran dichos gestores." #: ../Doc/library/logging.rst:564 -#, fuzzy msgid "" "Many logging APIs lock the module-level lock. If such an API is called from " "this method, it could cause a deadlock if a configuration call is made on " @@ -1011,6 +1028,8 @@ msgid "" "Responsible for converting a :class:`LogRecord` to an output string to be " "interpreted by a human or external system." msgstr "" +"Responsable de convertir un :class:`LogRecord` en una cadena de salida para " +"ser interpretada por un humano o un sistema externo." #: ../Doc/library/logging.rst msgid "Parameters" @@ -1024,6 +1043,10 @@ msgid "" "`logrecord-attributes`. If not specified, ``'%(message)s'`` is used, which " "is just the logged message." msgstr "" +"Una cadena de formato en el *estilo* dado para la salida registrada en su " +"conjunto. Las posibles claves de mapeo se extraen de :ref:`logrecord-" +"attributes` del objeto :class:`LogRecord`. Si no se especifica, se utiliza " +"``'%(message)s'``, que es sólo el mensaje registrado." #: ../Doc/library/logging.rst:593 msgid "" @@ -1031,9 +1054,12 @@ msgid "" "output. If not specified, the default described in :meth:`formatTime` is " "used." msgstr "" +"Una cadena de formato en el *estilo* dado para la parte de fecha/hora de la " +"salida registrada. Si no se especifica, se utiliza el valor predeterminado " +"descrito en :meth:`formatTime`." #: ../Doc/library/logging.rst:598 -#, fuzzy, python-format +#, python-format msgid "" "Can be one of ``'%'``, ``'{'`` or ``'$'`` and determines how the format " "string will be merged with its data: using one of :ref:`old-string-" @@ -1043,27 +1069,28 @@ msgid "" "logging methods. However, there are :ref:`other ways ` to " "use ``{``- and ``$``-formatting for log messages." msgstr "" -"El parámetro *style* puede ser uno de '%', '{'' o '$' y determina cómo se " -"fusionará la cadena de formato con sus datos: usando uno de %-formatting, :" -"meth:`str.format` o :class:`string.Template`. Esto solo aplica al formato de " -"cadenas de caracteres *fmt* (e.j. ``'%(message)s'`` o ``{message}``), no al " -"mensaje pasado actualmente al ``Logger.debug`` etc; ver :ref:`formatting-" -"styles` para más información sobre usar {- y formateado-$ para mensajes de " -"log." +"El parámetro *style* puede ser ``'%'``, ``'{'`` o ``'$'`` y determina cómo " +"se fusionará la cadena de formato con sus datos: usando :ref:`old-string-" +"formatting` (``%``), :meth:`str.format` (``{``) o :class:`string.Template` " +"(``$``). Esto solo aplica al formato de cadenas de caracteres *fmt* y " +"*datefmt* (e.j. ``'%(message)s'`` o ``'{message}'``), no al mensaje de " +"registro real pasado a los métodos de logging. Sin embargo, hay :ref:`other " +"ways ` para usar ``{`` y ``$`` en el formateo de mensajes " +"de registro." #: ../Doc/library/logging.rst:608 -#, fuzzy, python-format +#, python-format msgid "" "If ``True`` (the default), incorrect or mismatched *fmt* and *style* will " "raise a :exc:`ValueError`; for example, ``logging.Formatter('%(asctime)s - " "%(message)s', style='{')``." msgstr "" -"Se agregó el parámetro *validate*. Si el estilo es incorrecto o no " -"coincidente, *fmt* lanzará un ``ValueError``. Por ejemplo: ``logging." -"Formatter('%(asctime)s - %(message)s', style='{')``." +"Si el parámetro *validate* es ``True`` (lo es por defecto), es incorrecto o " +"no coincidente, *fmt* y *style* lanzarán un :exc:`ValueError`; Por ejemplo, " +"``logging.Formatter('%(asctime)s - %(message)s', style='{')``." #: ../Doc/library/logging.rst:613 -#, fuzzy, python-format +#, python-format msgid "" "A dictionary with default values to use in custom fields. For example, " "``logging.Formatter('%(ip)s %(message)s', defaults={\"ip\": None})``" @@ -1073,22 +1100,18 @@ msgstr "" "%(message)s', defaults={\"ip\": None})``" #: ../Doc/library/logging.rst:618 -#, fuzzy msgid "The *style* parameter." msgstr "Se agregó el parámetro *style*." #: ../Doc/library/logging.rst:621 -#, fuzzy msgid "The *validate* parameter." -msgstr "Se agregó el parámetro *style*." +msgstr "Se agregó el parámetro *validate*." #: ../Doc/library/logging.rst:624 -#, fuzzy msgid "The *defaults* parameter." msgstr "Se agregó el parámetro *defaults*." #: ../Doc/library/logging.rst:630 -#, fuzzy msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " @@ -1108,7 +1131,7 @@ msgid "" msgstr "" "El diccionario de atributos del registro se usa como el operando de una " "operación para formateo de cadenas. Retorna la cadena resultante. Antes de " -"formatear el diccionario, se llevan a cabo un par de pasos preparatorios. El " +"formatear el diccionario, se lleva a cabo un par de pasos preparatorios. El " "atributo *message* del registro se calcula usando *msg* % *args*. Si el " "formato de la cadena contiene ``'(asctime)'``, :meth:`formatTime` se llama " "para dar formato al tiempo del evento. Si hay información sobre la " @@ -1119,9 +1142,10 @@ msgstr "" "propagarse por el cable, pero debe tener cuidado si tiene más de una " "subclase de :class:`Formatter` que personaliza el formato de la información " "de la excepción. En este caso, tendrá que borrar el valor almacenado en " -"caché después de que un formateador haya terminado su formateo, para que el " -"siguiente formateador que maneje el evento no use el valor almacenado en " -"caché sino que lo recalcule de nuevo." +"caché (estableciendo el atributo *exc_text* a ``None``) después de que un " +"formateador haya terminado su formateo, para que el siguiente formateador " +"que maneje el evento no use el valor almacenado en caché, sino que lo " +"recalcule de nuevo." #: ../Doc/library/logging.rst:646 msgid "" @@ -1227,7 +1251,6 @@ msgstr "" "entrada." #: ../Doc/library/logging.rst:701 -#, fuzzy msgid "" "A base formatter class suitable for subclassing when you want to format a " "number of records. You can pass a :class:`Formatter` instance which you want " @@ -1315,6 +1338,10 @@ msgid "" "different record instance which will replace the original log record in any " "future processing of the event." msgstr "" +"¿Debe registrarse el registro especificado? Retorna 'false' para no, 'true' " +"para sí. Los filtros pueden modificar los registros en el lugar o retornar " +"una instancia de registro completamente diferente que sustituirá al registro " +"original en cualquier procesamiento futuro del evento." #: ../Doc/library/logging.rst:755 msgid "" @@ -1366,6 +1393,10 @@ msgid "" "to a :class:`Handler` to modify the log record before it is emitted, without " "having side effects on other handlers." msgstr "" +"Ahora puedes retornar una instancia de :class:`LogRecord` desde los filtros " +"para reemplazar el registro en lugar de modificarlo. Esto permite a los " +"filtros adjuntos a un :class:`Handler` modificar el registro de log antes de " +"que se emita, sin tener efectos secundarios en otros gestores." #: ../Doc/library/logging.rst:781 msgid "" @@ -1409,17 +1440,14 @@ msgid "Contains all the information pertinent to the event being logged." msgstr "Contiene toda la información pertinente al evento que se registra." #: ../Doc/library/logging.rst:806 -#, fuzzy msgid "" "The primary information is passed in *msg* and *args*, which are combined " "using ``msg % args`` to create the :attr:`!message` attribute of the record." msgstr "" -"La información principal se pasa en :attr:`msg` y :attr:`args`, que se " -"combinan usando ``msg % args`` para crear el campo :attr:`message` del " -"registro." +"La información principal se pasa en *msg* y *args*, que se combinan usando " +"``msg % args`` para crear el atributo :attr:`!message` del registro." #: ../Doc/library/logging.rst:810 -#, fuzzy msgid "" "The name of the logger used to log the event represented by this :class:`!" "LogRecord`. Note that the logger name in the :class:`!LogRecord` will always " @@ -1427,9 +1455,9 @@ msgid "" "different (ancestor) logger." msgstr "" "El nombre del logger utilizado para registrar el evento representado por " -"este LogRecord. Tenga en cuenta que este nombre siempre tendrá este valor, " -"aunque puede ser emitido por un gestor adjunto a un logger diferente " -"(ancestro)." +"este :class:`!LogRecord`. Tenga en cuenta que el nombre del logger en el :" +"class:`!LogRecord` siempre tendrá este valor, aunque puede ser emitido por " +"un gestor adjunto a un logger diferente (ancestro)." #: ../Doc/library/logging.rst:818 msgid "" @@ -1444,7 +1472,6 @@ msgstr "" "attr:`!levelname` para el nombre del nivel correspondiente." #: ../Doc/library/logging.rst:825 -#, fuzzy msgid "" "The full string path of the source file where the logging call was made." msgstr "" @@ -1458,14 +1485,15 @@ msgstr "" "logging." #: ../Doc/library/logging.rst:833 -#, fuzzy, python-format +#, python-format msgid "" "The event description message, which can be a %-format string with " "placeholders for variable data, or an arbitrary object (see :ref:`arbitrary-" "object-messages`)." msgstr "" -"El mensaje de descripción del evento, posiblemente una cadena de %- formato " -"con marcadores de posición para datos variables." +"El mensaje de descripción del evento, que puede ser una cadena de formato %, " +"con marcadores de posición para datos variables o un objeto arbitrario (para " +"más información vea :ref:`arbitrary-object-messages`)." #: ../Doc/library/logging.rst:838 msgid "" @@ -1476,13 +1504,13 @@ msgstr "" "descripción del evento." #: ../Doc/library/logging.rst:842 -#, fuzzy msgid "" "An exception tuple with the current exception information, as returned by :" "func:`sys.exc_info`, or ``None`` if no exception information is available." msgstr "" -"Una tupla de excepción con la información de excepción actual, o ``None`` si " -"no hay información de excepción disponible." +"Una tupla de excepción con la información de excepción actual, tal como se " +"retorna por :func:`sys.exc_info` o ``None`` si no hay información de " +"excepción disponible." #: ../Doc/library/logging.rst:847 msgid "" @@ -1551,7 +1579,7 @@ msgid "LogRecord attributes" msgstr "Atributos LogRecord" #: ../Doc/library/logging.rst:894 -#, fuzzy, python-format +#, python-format msgid "" "The LogRecord has a number of attributes, most of which are derived from the " "parameters to the constructor. (Note that the names do not always correspond " @@ -1568,7 +1596,7 @@ msgstr "" "utilizarse para combinar los datos del registro en la cadena de formato. La " "siguiente tabla enumera (en orden alfabético) los nombres de los atributos, " "sus significados y el correspondiente marcador de posición en una cadena de " -"formato de %-estilo." +"formato %-style." #: ../Doc/library/logging.rst:902 msgid "" @@ -1584,7 +1612,6 @@ msgstr "" "atributo real que desea utilizar." #: ../Doc/library/logging.rst:908 -#, fuzzy msgid "" "In the case of {}-formatting, you can specify formatting flags by placing " "them after the attribute name, separated from it with a colon. For example: " @@ -1592,11 +1619,11 @@ msgid "" "as ``004``. Refer to the :meth:`str.format` documentation for full details " "on the options available to you." msgstr "" -"En el caso del formato-{}, puede especificar *flags* de formato colocándolos " -"después del nombre del atributo, separados con dos puntos. Por ejemplo: un " -"marcador de posición de ``{msecs:03d}`` formateará un valor de milisegundos " -"de ``4`` como ``004``. Consulte la documentación :meth:`str.format` para " -"obtener detalles completos sobre las opciones disponibles." +"En el caso del formato con {}, puede especificar *flags* de formato " +"colocándolos después del nombre del atributo, separados con dos puntos. Por " +"ejemplo: un marcador de posición de ``{msecs:03.0f}`` formateará un valor de " +"milisegundos de ``4`` como ``004``. Consulte la documentación :meth:`str." +"format` para obtener detalles completos sobre las opciones disponibles." #: ../Doc/library/logging.rst:915 msgid "Attribute name" @@ -1924,28 +1951,25 @@ msgid "Thread name (if available)." msgstr "Nombre del hilo (si está disponible)." #: ../Doc/library/logging.rst:987 -#, fuzzy msgid "taskName" -msgstr "threadName" +msgstr "taskName" #: ../Doc/library/logging.rst:987 -#, fuzzy, python-format +#, python-format msgid "``%(taskName)s``" -msgstr "``%(name)s``" +msgstr "``%(taskName)s``" #: ../Doc/library/logging.rst:987 -#, fuzzy msgid ":class:`asyncio.Task` name (if available)." -msgstr "Nombre del proceso (si está disponible)." +msgstr "nombre de :class:`asyncio.Task` (si está disponible)." #: ../Doc/library/logging.rst:990 msgid "*processName* was added." msgstr "*processName* fue agregado." #: ../Doc/library/logging.rst:993 -#, fuzzy msgid "*taskName* was added." -msgstr "*processName* fue agregado." +msgstr "*taskName* fue agregado." #: ../Doc/library/logging.rst:999 msgid "LoggerAdapter Objects" @@ -1986,11 +2010,11 @@ msgstr "" #: ../Doc/library/logging.rst:1020 msgid "Delegates to the underlying :attr:`!manager`` on *logger*." -msgstr "" +msgstr "Delega en el :attr:`!manager`` subyacente en *logger*." #: ../Doc/library/logging.rst:1024 msgid "Delegates to the underlying :meth:`!_log`` method on *logger*." -msgstr "" +msgstr "Delega en el método :meth:`!_log`` subyacente en *logger*." #: ../Doc/library/logging.rst:1026 msgid "" @@ -2024,13 +2048,12 @@ msgstr "" "subyacente." #: ../Doc/library/logging.rst:1043 -#, fuzzy msgid "" "Attribute :attr:`!manager` and method :meth:`!_log` were added, which " "delegate to the underlying logger and allow adapters to be nested." msgstr "" -"Se añadieron el atributo Attribute :attr:`manager` y el método :meth:`_log`, " -"que delegan al logger subyacente y permiten que los adaptadores se aniden." +"Se añadió el atributo :attr:`!manager` y el método :meth:`!_log`, que " +"delegan al logger subyacente y permiten que los adaptadores se aniden." #: ../Doc/library/logging.rst:1048 msgid "Thread Safety" @@ -2220,7 +2243,7 @@ msgid "" msgstr "" "Esta función (así como :func:`info`, :func:`warning`, :func:`error` and :" "func:`critical`) llamará a :func:`basicConfig` si el registrador raíz no " -"tiene ningún controlador conectado." +"tiene ningún gestor conectado." #: ../Doc/library/logging.rst:1180 msgid "" @@ -2395,13 +2418,13 @@ msgstr "" "correspondiente valor numérico del nivel." #: ../Doc/library/logging.rst:1274 -#, fuzzy, python-format +#, python-format msgid "" "If no matching numeric or string value is passed in, the string 'Level %s' " "% level is returned." msgstr "" -"Si no se pasa un valor numérico o de cadena que coincida, se retorna la " -"cadena de caracteres 'Level %s' % nivel." +"Si no se pasa un valor numérico o de cadena que coincida, se retorna el " +"valor de nivel de la cadena 'Level %s'." #: ../Doc/library/logging.rst:1277 #, python-format @@ -2436,10 +2459,13 @@ msgid "" "Returns a handler with the specified *name*, or ``None`` if there is no " "handler with that name." msgstr "" +"Retorna un gestor con el *name* especificado o ``None`` si no hay un gestor " +"con ese nombre." #: ../Doc/library/logging.rst:1298 msgid "Returns an immutable set of all known handler names." msgstr "" +"Retorna un conjunto inmutable del nombre de todos los gestor conocidos." #: ../Doc/library/logging.rst:1304 msgid "" @@ -2500,13 +2526,12 @@ msgid "*filename*" msgstr "*filename*" #: ../Doc/library/logging.rst:1335 -#, fuzzy msgid "" "Specifies that a :class:`FileHandler` be created, using the specified " "filename, rather than a :class:`StreamHandler`." msgstr "" -"Especifica que se cree un *FileHandler*, utilizando el nombre de archivo " -"especificado, en lugar de *StreamHandler*." +"Especifica que se cree un :class:`FileHandler`, utilizando el nombre de " +"archivo especificado, en lugar de :class:`StreamHandler`." #: ../Doc/library/logging.rst:1339 msgid "*filemode*" @@ -2621,22 +2646,20 @@ msgid "*encoding*" msgstr "*encoding*" #: ../Doc/library/logging.rst:1383 -#, fuzzy msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " "the output file." msgstr "" "Si este argumento de palabra clave se especifica junto con *filename*, su " -"valor se utiliza cuando se crea el FileHandler, y por lo tanto se utiliza al " -"abrir el archivo de salida." +"valor se utiliza cuando se crea el :class:`FileHandler`, y por lo tanto se " +"utiliza al abrir el archivo de salida." #: ../Doc/library/logging.rst:1388 msgid "*errors*" msgstr "*errors*" #: ../Doc/library/logging.rst:1388 -#, fuzzy msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " @@ -2645,11 +2668,11 @@ msgid "" "`open`, which means that it will be treated the same as passing 'errors'." msgstr "" "Si este argumento de palabra clave se especifica junto con *filename*, su " -"valor se utiliza cuando se crea el :class:`FileHandler`, y por lo tanto se " -"utiliza al abrir el archivo de salida. Si no se especifica, se utiliza el " +"valor se utiliza cuando se crea el :class:`FileHandler`, y por lo tanto " +"cuando se abre el archivo de salida. Si no se especifica, se utiliza el " "valor 'backslashreplace'. Tenga en cuenta que si se especifica ``None``, se " "pasará como tal a :func:`open`, lo que significa que se tratará igual que " -"pasar 'errores'. " +"pasar 'errors'." #: ../Doc/library/logging.rst:1399 msgid "The *style* argument was added." @@ -2695,7 +2718,6 @@ msgstr "" "hacerlo manualmente." #: ../Doc/library/logging.rst:1427 -#, fuzzy msgid "" "Tells the logging system to use the class *klass* when instantiating a " "logger. The class should define :meth:`!__init__` such that only a name " @@ -2707,11 +2729,11 @@ msgid "" "loggers." msgstr "" "Le dice al sistema de logging que use la clase *klass* al crear una " -"instancia de un logger. La clase debe definir :meth:`__init__` tal que solo " -"se requiera un argumento de nombre, y :meth:`__init__` debe llamar :meth:" -"`Logger.__init__`. Por lo general, esta función se llama antes de cualquier " -"loggers sea instanciado por las aplicaciones que necesitan utilizar un " -"comportamiento de logger personalizado. Después de esta llamada, como en " +"instancia de un logger. La clase debe definir :meth:`!__init__` tal que solo " +"se requiera un argumento de nombre, y :meth:`!__init__` debe llamar :meth:`!" +"Logger.__init__`. Por lo general, esta función se llama antes de que " +"cualquier logger sea instanciado por las aplicaciones que necesitan utilizar " +"un comportamiento de logger personalizado. Después de esta llamada, como en " "cualquier otro momento, no cree instancias de loggers directamente usando la " "subclase: continúe usando la API :func:`logging.getLogger` para obtener sus " "loggers." @@ -2935,96 +2957,9 @@ msgstr "" "estándar." #: ../Doc/library/logging.rst:12 -#, fuzzy msgid "Errors" -msgstr "*errors*" +msgstr "Errors" #: ../Doc/library/logging.rst:12 -#, fuzzy msgid "logging" -msgstr "Niveles de logging" - -#~ msgid "``CRITICAL``" -#~ msgstr "``CRITICAL``" - -#~ msgid "``ERROR``" -#~ msgstr "``ERROR``" - -#~ msgid "``WARNING``" -#~ msgstr "``WARNING``" - -#~ msgid "``INFO``" -#~ msgstr "``INFO``" - -#~ msgid "``DEBUG``" -#~ msgstr "``DEBUG``" - -#~ msgid "``NOTSET``" -#~ msgstr "``NOTSET``" - -#~ msgid "" -#~ ":class:`Formatter` objects have the following attributes and methods. " -#~ "They are responsible for converting a :class:`LogRecord` to (usually) a " -#~ "string which can be interpreted by either a human or an external system. " -#~ "The base :class:`Formatter` allows a formatting string to be specified. " -#~ "If none is supplied, the default value of ``'%(message)s'`` is used, " -#~ "which just includes the message in the logging call. To have additional " -#~ "items of information in the formatted output (such as a timestamp), keep " -#~ "reading." -#~ msgstr "" -#~ ":class:`Formatter` tiene los siguientes atributos y métodos. Son " -#~ "responsables de convertir una :class:`LogRecord` a (generalmente) una " -#~ "cadena que puede ser interpretada por un sistema humano o externo. La " -#~ "base :class:`Formatter` permite especificar una cadena de formato. Si no " -#~ "se proporciona ninguno, se utiliza el valor predeterminado de " -#~ "``'%(message)s'``, que solo incluye el mensaje en la llamada de registro. " -#~ "Para tener elementos de información adicionales en la salida formateada " -#~ "(como una marca de tiempo), siga leyendo." - -#~ msgid "" -#~ "A Formatter can be initialized with a format string which makes use of " -#~ "knowledge of the :class:`LogRecord` attributes - such as the default " -#~ "value mentioned above making use of the fact that the user's message and " -#~ "arguments are pre-formatted into a :class:`LogRecord`'s *message* " -#~ "attribute. This format string contains standard Python %-style mapping " -#~ "keys. See section :ref:`old-string-formatting` for more information on " -#~ "string formatting." -#~ msgstr "" -#~ "Un formateador se puede inicializar con una cadena de formato que utiliza " -#~ "el conocimiento de los atributos :class:`LogRecord`, como el valor " -#~ "predeterminado mencionado anteriormente, haciendo uso del hecho de que el " -#~ "mensaje y los argumentos del usuario están formateados previamente en :" -#~ "class:`LogRecord`'s con *message* como atributo. Esta cadena de formato " -#~ "contiene claves de mapeo de Python %-style estándar. Ver la sección :ref:" -#~ "`old-string-formatting` para obtener más información sobre el formato de " -#~ "cadenas." - -#~ msgid "" -#~ "The useful mapping keys in a :class:`LogRecord` are given in the section " -#~ "on :ref:`logrecord-attributes`." -#~ msgstr "" -#~ "Las claves de mapeo útiles en a :class:`LogRecord` se dan en la sección " -#~ "sobre :ref:`logrecord-attributes`." - -#~ msgid "" -#~ "Returns a new instance of the :class:`Formatter` class. The instance is " -#~ "initialized with a format string for the message as a whole, as well as a " -#~ "format string for the date/time portion of a message. If no *fmt* is " -#~ "specified, ``'%(message)s'`` is used. If no *datefmt* is specified, a " -#~ "format is used which is described in the :meth:`formatTime` documentation." -#~ msgstr "" -#~ "Retorna una nueva instancia de :class:`Formatter`. La instancia se " -#~ "inicializa con una cadena de formato para el mensaje en su conjunto, así " -#~ "como una cadena de formato para la porción fecha/hora de un mensaje. Si " -#~ "no se especifica *fmt*, se utiliza ``'%(message)s'``. Si no se especifica " -#~ "*datefmt*, se utiliza un formato que se describe en la documentación :" -#~ "meth:`formatTime`." - -#~ msgid "" -#~ "Is the specified record to be logged? Returns zero for no, nonzero for " -#~ "yes. If deemed appropriate, the record may be modified in-place by this " -#~ "method." -#~ msgstr "" -#~ "¿Se apuntará el registro especificado? Retorna cero para no, distinto de " -#~ "cero para sí. Si se considera apropiado, el registro puede modificarse in " -#~ "situ mediante este método." +msgstr "logging" From 469b4704ce1e9850f730b52b81a95a80a801ad16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 07:39:01 +0800 Subject: [PATCH 12/63] Bump tj-actions/changed-files from 44 to 45 (#2829) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 44 to 45.
Release notes

Sourced from tj-actions/changed-files's releases.

v45

Changes in v45.0.0

🔥🔥 BREAKING CHANGE 🔥🔥

  • With changes detected using GitHub's API setting output_renamed_files_as_deleted_and_added to true, would now include the previous file name in the list of deleted files instead of the current file name.

What's Changed

New Contributors

Full Changelog: https://github.com/tj-actions/changed-files/compare/v44...v45.0.0


v45.0.0

🔥🔥 BREAKING CHANGE 🔥🔥

  • With changes detected using GitHub's API setting output_renamed_files_as_deleted_and_added to true, would now include the previous file name in the list of deleted files.

What's Changed

... (truncated)

Changelog

Sourced from tj-actions/changed-files's changelog.

Changelog

45.0.0 - (2024-08-21)

🐛 Bug Fixes

  • Update test skip logic to use custom env (#2242) (b4c0974) - (Tonye Jack)
  • Remove unsupported input (#2238) (525aabb) - (Tonye Jack)
  • deps: Update dependency @​octokit/rest to v21.0.2 (3ea85a1) - (renovate[bot])

➕ Add

  • Added missing changes and modified dist assets. (598b721) - (GitHub Action)

📝 Rename

  • Renamed Files decomposed into Deleted: previous_filename and Added:filename (#2236)

Co-authored-by: Tonye Jack jtonye@ymail.com (f8034fb) - (Lukas Pfahler)

🔄 Update

  • Updated README.md (#2243)

Co-authored-by: jackton1 17484350+jackton1@users.noreply.github.com Co-authored-by: GitHub Action action@github.com (40853de) - (tj-actions[bot])

  • Update tsconfig.json (88201be) - (Tonye Jack)

📚 Documentation

  • Add Whadup as a contributor for code (#2239) (94b94fe) - (allcontributors[bot])

⚙️ Miscellaneous Tasks

  • Debug env vars (#2241) (246859d) - (Tonye Jack)
  • Conditionally skip certain test for foked prs (#2240) (46a4c02) - (Tonye Jack)
  • deps: Update dependency @​types/node to v22.4.2 (25b2562) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.4.1 (257f12c) - (renovate[bot])
  • deps: Lock file maintenance (9b7ba7b) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.4.0 (50693d8) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.3.0 (87d8f94) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.2.0 (950331d) - (renovate[bot])
  • deps: Update dependency eslint-plugin-jest to v28.8.0 (ed00b69) - (renovate[bot])
  • deps: Update dependency eslint-plugin-jest to v28.7.0 (9d768c3) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.1.0 (6b79c79) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.0.3 (99b60a2) - (renovate[bot])
  • deps: Update dependency ts-jest to v29.2.4 (8ae850f) - (renovate[bot])
  • deps: Update dependency @​types/node to v22.0.1 (03d95b0) - (renovate[bot])

... (truncated)

Commits
  • 40853de Updated README.md (#2243)
  • 94b94fe docs: add Whadup as a contributor for code (#2239)
  • f8034fb Renamed Files decomposed into Deleted: previous_filename and Added:filename (...
  • b4c0974 fix: update test skip logic to use custom env (#2242)
  • 246859d chore: debug env vars (#2241)
  • 46a4c02 chore: conditionally skip certain test for foked prs (#2240)
  • 525aabb fix: remove unsupported input (#2238)
  • 25b2562 chore(deps): update dependency @​types/node to v22.4.2
  • 257f12c chore(deps): update dependency @​types/node to v22.4.1
  • 598b721 Added missing changes and modified dist assets.
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tj-actions/changed-files&package-manager=github_actions&previous-version=44&new-version=45)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/main.yml | 2 +- .github/workflows/pr-comment.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index daebf2fbe5..0df4447290 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: - name: Obtiene la lista de archivos .po con cambios (sólo en PRs) if: github.event_name == 'pull_request' id: changed-po-files - uses: tj-actions/changed-files@v44 + uses: tj-actions/changed-files@v45 with: files: | **/*.po diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index fa993a9b61..3efa39fa58 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -37,7 +37,7 @@ jobs: python -m pip install -r base-branch/requirements.txt - name: Obtiene lista de archivos con cambios id: changed-files - uses: tj-actions/changed-files@v44 + uses: tj-actions/changed-files@v45 with: files: | **/*.po From 1bab3950c453330d251f092da09019ef6f282a5e Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Tue, 10 Sep 2024 17:43:46 +0200 Subject: [PATCH 13/63] =?UTF-8?q?Traducci=C3=B3n=20library/codecs.po=20(#2?= =?UTF-8?q?830)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2559 --- library/codecs.po | 96 +++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 57 deletions(-) diff --git a/library/codecs.po b/library/codecs.po index 6fc858c044..1092ede40b 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-12-29 00:59+0100\n" -"Last-Translator: Carlos AlMA \n" -"Language: es\n" +"PO-Revision-Date: 2024-09-09 19:28+0230\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/codecs.rst:2 msgid ":mod:`codecs` --- Codec registry and base classes" @@ -572,7 +573,6 @@ msgid "``'backslashreplace'``" msgstr "``'backslashreplace'``" #: ../Doc/library/codecs.rst:346 -#, fuzzy msgid "" "Replace with backslashed escape sequences. On encoding, use hexadecimal form " "of Unicode code point with formats :samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :" @@ -580,10 +580,10 @@ msgid "" "format :samp:`\\\\x{hh}`. Implemented in :func:`backslashreplace_errors`." msgstr "" "Reemplazar con secuencias de escape mediante barra invertida. Al codificar, " -"emplear la forma hexadecimal del punto de código Unicode con los formatos " -"``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. Al decodificar, usa la forma " -"hexadecimal del valor del byte con el formato ``\\xhh``. Implementado en :" -"func:`backslashreplace_errors`." +"emplear la forma hexadecimal del punto de código Unicode con los formatos :" +"samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :samp:`\\\\U{xxxxxxxx}`. Al " +"decodificar, usa la forma hexadecimal del valor del byte con el formato :" +"samp:`\\\\x{hh}`. Implementado en :func:`backslashreplace_errors`." #: ../Doc/library/codecs.rst:355 msgid "``'surrogateescape'``" @@ -614,14 +614,13 @@ msgid "``'xmlcharrefreplace'``" msgstr "``'xmlcharrefreplace'``" #: ../Doc/library/codecs.rst:375 -#, fuzzy msgid "" "Replace with XML/HTML numeric character reference, which is a decimal form " "of Unicode code point with format :samp:`&#{num};`. Implemented in :func:" "`xmlcharrefreplace_errors`." msgstr "" "Reemplazar con una referencia de carácter numérico XML/HTML, que es una " -"forma decimal del punto de código Unicode con formato ``&#num;`` " +"forma decimal del punto de código Unicode con formato :samp:`&#{num};`. " "Implementado en :func:`xmlcharrefreplace_errors`." #: ../Doc/library/codecs.rst:381 @@ -814,7 +813,6 @@ msgid "Implements the ``'backslashreplace'`` error handling." msgstr "Implementa el manejador de errores ``'backslashreplace'``." #: ../Doc/library/codecs.rst:481 -#, fuzzy msgid "" "Malformed data is replaced by a backslashed escape sequence. On encoding, " "use the hexadecimal form of Unicode code point with formats :samp:`\\\\x{hh}" @@ -823,9 +821,9 @@ msgid "" msgstr "" "Los datos con formato incorrecto se reemplazan por una secuencia de escape " "con barra invertida. Al codificar, emplea la forma hexadecimal del punto de " -"código Unicode con los formatos ``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. Al " -"decodificar, usa la forma hexadecimal del valor del byte con el formato " -"``\\xhh``." +"código Unicode con los formatos :samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :samp:" +"`\\\\U{xxxxxxxx}`. Al decodificar, usa la forma hexadecimal del valor del " +"byte con el formato :samp:`\\\\x{hh}`." #: ../Doc/library/codecs.rst:487 msgid "Works with decoding and translating." @@ -840,7 +838,6 @@ msgstr "" "codificar dentro de :term:`text encoding`)." #: ../Doc/library/codecs.rst:496 -#, fuzzy msgid "" "The unencodable character is replaced by an appropriate XML/HTML numeric " "character reference, which is a decimal form of Unicode code point with " @@ -848,7 +845,7 @@ msgid "" msgstr "" "El carácter no codificable se reemplaza por una referencia de carácter " "numérico XML/HTML adecuada, que es una forma decimal del punto de código " -"Unicode con formato ``&#num;``." +"Unicode con formato :samp:`&#{num};` ." #: ../Doc/library/codecs.rst:503 msgid "" @@ -2951,15 +2948,14 @@ msgid "raw_unicode_escape" msgstr "raw_unicode_escape" #: ../Doc/library/codecs.rst:1351 -#, fuzzy msgid "" "Latin-1 encoding with :samp:`\\\\u{XXXX}` and :samp:`\\\\U{XXXXXXXX}` for " "other code points. Existing backslashes are not escaped in any way. It is " "used in the Python pickle protocol." msgstr "" -"Codificación Latin-1 con ``\\uXXXX`` y ``\\UXXXXXXXX`` para otros puntos de " -"código. Las barras invertidas existentes no se escapan de ninguna manera. Se " -"usa en el protocolo Python *pickle*." +"Codificación Latin-1 con :samp:`\\\\u{XXXX}` y :samp:`\\\\U{XXXXXXXX}` para " +"otros puntos de código. Las barras invertidas existentes no se escapan de " +"ninguna manera. Se usa en el protocolo Python *pickle*." #: ../Doc/library/codecs.rst:1361 msgid "undefined" @@ -3309,7 +3305,6 @@ msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "Este módulo implementa la página de códigos ANSI (CP_ACP)." #: ../Doc/library/codecs.rst:1538 -#, fuzzy msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidad `: Windows." @@ -3345,103 +3340,90 @@ msgstr "" "datos." #: ../Doc/library/codecs.rst:13 -#, fuzzy msgid "Unicode" -msgstr "punycode" +msgstr "Unicode" #: ../Doc/library/codecs.rst:13 -#, fuzzy msgid "encode" -msgstr "Códec" +msgstr "encode" #: ../Doc/library/codecs.rst:13 -#, fuzzy msgid "decode" -msgstr "Códec" +msgstr "decode" #: ../Doc/library/codecs.rst:13 msgid "streams" -msgstr "" +msgstr "streams" #: ../Doc/library/codecs.rst:13 msgid "stackable" -msgstr "" +msgstr "stackable" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "strict" -msgstr "``'strict'``" +msgstr "strict" #: ../Doc/library/codecs.rst:312 ../Doc/library/codecs.rst:364 #: ../Doc/library/codecs.rst:387 -#, fuzzy msgid "error handler's name" -msgstr "Manejadores de errores" +msgstr "nombre de gestor de errores" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "ignore" -msgstr "``'ignore'``" +msgstr "ignore" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "replace" -msgstr "``'replace'``" +msgstr "replace" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "backslashreplace" -msgstr "``'backslashreplace'``" +msgstr "backslashreplace" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "surrogateescape" -msgstr "``'surrogateescape'``" +msgstr "surrogateescape" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "? (question mark)" -msgstr "SIGNO DE PREGUNTA INVERTIDO" +msgstr "? (signo de pregunta)" #: ../Doc/library/codecs.rst:312 msgid "replacement character" -msgstr "" +msgstr "caracter de reemplazo" #: ../Doc/library/codecs.rst:312 msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (barra inversa)" #: ../Doc/library/codecs.rst:312 ../Doc/library/codecs.rst:364 msgid "escape sequence" -msgstr "" +msgstr "secuencia de escape" #: ../Doc/library/codecs.rst:312 msgid "\\x" -msgstr "" +msgstr "\\x" #: ../Doc/library/codecs.rst:312 msgid "\\u" -msgstr "" +msgstr "\\u" #: ../Doc/library/codecs.rst:312 msgid "\\U" -msgstr "" +msgstr "\\U" #: ../Doc/library/codecs.rst:364 -#, fuzzy msgid "xmlcharrefreplace" -msgstr "``'xmlcharrefreplace'``" +msgstr "xmlcharrefreplace" #: ../Doc/library/codecs.rst:364 -#, fuzzy msgid "namereplace" -msgstr "``'namereplace'``" +msgstr "namereplace" #: ../Doc/library/codecs.rst:364 msgid "\\N" -msgstr "" +msgstr "\\N" #: ../Doc/library/codecs.rst:387 -#, fuzzy msgid "surrogatepass" -msgstr "``'surrogatepass'``" +msgstr "surrogatepass" From 0d82516850e7d3b1e89297730ba4538138a481ed Mon Sep 17 00:00:00 2001 From: Sergio Oller Date: Fri, 13 Sep 2024 12:24:41 +0200 Subject: [PATCH 14/63] contextmanager: Fix typo: aenter->enter (#2831) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrijo un error menor en una traducción de contextmanager. --- library/contextlib.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/contextlib.po b/library/contextlib.po index 7c552e83c3..f6fd45f405 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -59,7 +59,7 @@ msgid "" "the definition of :ref:`typecontextmanager`." msgstr "" "Una :term:`clase base abstracta ` para clases que " -"implementan :meth:`object.__aenter__` y :meth:`object.__exit__`. Se " +"implementan :meth:`object.__enter__` y :meth:`object.__exit__`. Se " "proporciona una implementación predeterminada para :meth:`object.__enter__` " "que retorna ``self`` mientras que :meth:`object.__exit__` es un método " "abstracto que por defecto retorna ``None``. Véase también la definición de :" From 91f4ccc0baa8c7cbeb739e696c641388264caa30 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:14:27 +0800 Subject: [PATCH 15/63] Bump thollander/actions-comment-pull-request from 2 to 3 (#2834) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [thollander/actions-comment-pull-request](https://github.com/thollander/actions-comment-pull-request) from 2 to 3.
Release notes

Sourced from thollander/actions-comment-pull-request's releases.

v3.0.0

What's Changed

Breaking changes

Parameters

  • From filePath to file-path
  • From GITHUB_TOKEN to github-token
  • From pr_number to pr-number
  • From comment_tag to comment-tag
  • From create_if_not_exists to create-if-not-exists

Mode

delete now deletes a comment immediately. To delete the comment at the end of the job, use delete-on-completion mode.

Full Changelog: https://github.com/thollander/actions-comment-pull-request/compare/v2...v3.0.0

v2.5.0 : Node 20 version support

What's Changed

Full Changelog: https://github.com/thollander/actions-comment-pull-request/compare/v2.4.3...v2.5.0

v2.4.3 : outputs variables

What's Changed

Full Changelog: https://github.com/thollander/actions-comment-pull-request/compare/v2...v2.4.3

v2.4.2 : dependencies update

What's Changed

... (truncated)

Commits
  • 65f9e5c docs: add migration guide
  • 107ab45 feat: manage delete modes in a better way
  • ce644a4 chore(deps-dev): bump @​types/node from 20.8.7 to 22.7.5 (#389)
  • 52f13cb chore(deps-dev): bump typescript from 5.3.3 to 5.6.3 (#390)
  • 77f7e42 chore(deps-dev): bump @​tsconfig/node20 from 20.1.2 to 20.1.4 (#367)
  • e5dae98 chore(deps-dev): bump prettier from 3.0.3 to 3.2.5 (#350)
  • bc14ce3 chore(deps-dev): bump typescript from 5.2.2 to 5.3.3 (#326)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thollander/actions-comment-pull-request&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: rtobar --- .github/workflows/pr-comment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index 3efa39fa58..748b6cbcc5 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -62,7 +62,7 @@ jobs: pull-requests: write steps: - name: Agregar comentario con entradas faltantes - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@v3 with: message: ${{ needs.define-comment.outputs.comment }} - comment_tag: missing-entries + comment-tag: missing-entries From e6e926c527ca2ac3ff104709078927c9ee5ccdc4 Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:09:24 -0600 Subject: [PATCH 16/63] Traducido archivo library/token (#2837) Closes #2568 --------- Co-authored-by: rtobar --- TRANSLATORS | 2 +- library/token.po | 105 ++++++++++++++++++++++++----------------------- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 3231d3a019..c9f3f441d0 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -125,8 +125,8 @@ José Carlos Álvarez González (@jcaalzago) José Daniel Gonzalez (@jdgc14) Jose Ignacio Riaño Chico José Luis Cantilo (@jcantilo) -José Luis Salgado Banda (@josephLSalgado) José Miguel Hernández Cabrera (@miguelheca) +Joseph Salgado (@xooseph) Juan Alegría (@zejiran) Juan Antonio Lagos (@alochimpasplum) Juan Biondi (@yeyeto2788) diff --git a/library/token.po b/library/token.po index b541fd6730..1b8368f195 100644 --- a/library/token.po +++ b/library/token.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-05 17:28+0200\n" +"PO-Revision-Date: 2024-10-19 16:27-0600\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/token.rst:2 msgid ":mod:`token` --- Constants used with Python parse trees" @@ -81,195 +82,195 @@ msgstr "Las constantes de token son:" #: ../Doc/library/token-list.inc:18 msgid "Token value for ``\"(\"``." -msgstr "" +msgstr "Valor de token para ``\"(\"``." #: ../Doc/library/token-list.inc:22 msgid "Token value for ``\")\"``." -msgstr "" +msgstr "Valor de token para ``\")\"``." #: ../Doc/library/token-list.inc:26 msgid "Token value for ``\"[\"``." -msgstr "" +msgstr "Valor de token para ``\"[\"``." #: ../Doc/library/token-list.inc:30 msgid "Token value for ``\"]\"``." -msgstr "" +msgstr "Valor de token para ``\"]\"``." #: ../Doc/library/token-list.inc:34 msgid "Token value for ``\":\"``." -msgstr "" +msgstr "Valor de token para ``\":\"``." #: ../Doc/library/token-list.inc:38 msgid "Token value for ``\",\"``." -msgstr "" +msgstr "Valor de token para ``\",\"``." #: ../Doc/library/token-list.inc:42 msgid "Token value for ``\";\"``." -msgstr "" +msgstr "Valor de token para ``\";\"``." #: ../Doc/library/token-list.inc:46 msgid "Token value for ``\"+\"``." -msgstr "" +msgstr "Valor de token para ``\"+\"``." #: ../Doc/library/token-list.inc:50 msgid "Token value for ``\"-\"``." -msgstr "" +msgstr "Valor de token para ``\"-\"``." #: ../Doc/library/token-list.inc:54 msgid "Token value for ``\"*\"``." -msgstr "" +msgstr "Valor de token para ``\"*\"``." #: ../Doc/library/token-list.inc:58 msgid "Token value for ``\"/\"``." -msgstr "" +msgstr "Valor de token para ``\"/\"``." #: ../Doc/library/token-list.inc:62 msgid "Token value for ``\"|\"``." -msgstr "" +msgstr "Valor de token para ``\"|\"``." #: ../Doc/library/token-list.inc:66 msgid "Token value for ``\"&\"``." -msgstr "" +msgstr "Valor de token para ``\"&\"``." #: ../Doc/library/token-list.inc:70 msgid "Token value for ``\"<\"``." -msgstr "" +msgstr "Valor de token para ``\"<\"``." #: ../Doc/library/token-list.inc:74 msgid "Token value for ``\">\"``." -msgstr "" +msgstr "Valor de token para ``\">\"``." #: ../Doc/library/token-list.inc:78 msgid "Token value for ``\"=\"``." -msgstr "" +msgstr "Valor de token para ``\"=\"``." #: ../Doc/library/token-list.inc:82 msgid "Token value for ``\".\"``." -msgstr "" +msgstr "Valor de token para ``\".\"``." #: ../Doc/library/token-list.inc:86 msgid "Token value for ``\"%\"``." -msgstr "" +msgstr "Valor de token para ``\"%\"``." #: ../Doc/library/token-list.inc:90 msgid "Token value for ``\"{\"``." -msgstr "" +msgstr "Valor de token para ``\"{\"``." #: ../Doc/library/token-list.inc:94 msgid "Token value for ``\"}\"``." -msgstr "" +msgstr "Valor de token para ``\"}\"``." #: ../Doc/library/token-list.inc:98 msgid "Token value for ``\"==\"``." -msgstr "" +msgstr "Valor de token para ``\"==\"``." #: ../Doc/library/token-list.inc:102 msgid "Token value for ``\"!=\"``." -msgstr "" +msgstr "Valor de token para ``\"!=\"``." #: ../Doc/library/token-list.inc:106 msgid "Token value for ``\"<=\"``." -msgstr "" +msgstr "Valor de token para ``\"<=\"``." #: ../Doc/library/token-list.inc:110 msgid "Token value for ``\">=\"``." -msgstr "" +msgstr "Valor de token para ``\">=\"``." #: ../Doc/library/token-list.inc:114 msgid "Token value for ``\"~\"``." -msgstr "" +msgstr "Valor de token para ``\"~\"``." #: ../Doc/library/token-list.inc:118 msgid "Token value for ``\"^\"``." -msgstr "" +msgstr "Valor de token para ``\"^\"``." #: ../Doc/library/token-list.inc:122 msgid "Token value for ``\"<<\"``." -msgstr "" +msgstr "Valor de token para ``\"<<\"``." #: ../Doc/library/token-list.inc:126 msgid "Token value for ``\">>\"``." -msgstr "" +msgstr "Valor de token para ``\">>\"``." #: ../Doc/library/token-list.inc:130 msgid "Token value for ``\"**\"``." -msgstr "" +msgstr "Valor de token para ``\"**\"``." #: ../Doc/library/token-list.inc:134 msgid "Token value for ``\"+=\"``." -msgstr "" +msgstr "Valor de token para ``\"+=\"``." #: ../Doc/library/token-list.inc:138 msgid "Token value for ``\"-=\"``." -msgstr "" +msgstr "Valor de token para ``\"-=\"``." #: ../Doc/library/token-list.inc:142 msgid "Token value for ``\"*=\"``." -msgstr "" +msgstr "Valor de token para ``\"*=\"``." #: ../Doc/library/token-list.inc:146 msgid "Token value for ``\"/=\"``." -msgstr "" +msgstr "Valor de token para ``\"/=\"``." #: ../Doc/library/token-list.inc:150 msgid "Token value for ``\"%=\"``." -msgstr "" +msgstr "Valor de token para ``\"%=\"``." #: ../Doc/library/token-list.inc:154 msgid "Token value for ``\"&=\"``." -msgstr "" +msgstr "Valor de token para ``\"&=\"``." #: ../Doc/library/token-list.inc:158 msgid "Token value for ``\"|=\"``." -msgstr "" +msgstr "Valor de token para ``\"|=\"``." #: ../Doc/library/token-list.inc:162 msgid "Token value for ``\"^=\"``." -msgstr "" +msgstr "Valor de token para ``\"^=\"``." #: ../Doc/library/token-list.inc:166 msgid "Token value for ``\"<<=\"``." -msgstr "" +msgstr "Valor de token para ``\"<<=\"``." #: ../Doc/library/token-list.inc:170 msgid "Token value for ``\">>=\"``." -msgstr "" +msgstr "Valor de token para ``\">>=\"``." #: ../Doc/library/token-list.inc:174 msgid "Token value for ``\"**=\"``." -msgstr "" +msgstr "Valor de token para ``\"**=\"``." #: ../Doc/library/token-list.inc:178 msgid "Token value for ``\"//\"``." -msgstr "" +msgstr "Valor de token para ``\"//\"``." #: ../Doc/library/token-list.inc:182 msgid "Token value for ``\"//=\"``." -msgstr "" +msgstr "Valor de token para ``\"//=\"``." #: ../Doc/library/token-list.inc:186 msgid "Token value for ``\"@\"``." -msgstr "" +msgstr "Valor de token para ``\"@\"``." #: ../Doc/library/token-list.inc:190 msgid "Token value for ``\"@=\"``." -msgstr "" +msgstr "Valor de token para ``\"@=\"``." #: ../Doc/library/token-list.inc:194 msgid "Token value for ``\"->\"``." -msgstr "" +msgstr "Valor de token para ``\"->\"``." #: ../Doc/library/token-list.inc:198 msgid "Token value for ``\"...\"``." -msgstr "" +msgstr "Valor de token para ``\"...\"``." #: ../Doc/library/token-list.inc:202 msgid "Token value for ``\":=\"``." -msgstr "" +msgstr "Valor de token para ``\":=\"``." #: ../Doc/library/token-list.inc:206 msgid "Token value for ``\"!\"``." -msgstr "" +msgstr "Valor de token para ``\"!\"``." #: ../Doc/library/token.rst:49 msgid "" @@ -277,7 +278,7 @@ msgid "" "needed for the :mod:`tokenize` module." msgstr "" "Los siguientes tipos de valores tokens no son usados por el tokenizador C " -"pero son necesarios para el modulo :mod:`tokenizador`." +"pero son necesarios para el módulo :mod:`tokenize`." #: ../Doc/library/token.rst:55 msgid "Token value used to indicate a comment." From e3cbf3befef0cfe71391ca0dd052ed6b8f41abc7 Mon Sep 17 00:00:00 2001 From: AlfonsoAreizaG <63620799+Alfareiza@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:52:10 -0300 Subject: [PATCH 17/63] Traduccion ftplib (#2839) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #2554 --------- Co-authored-by: rtobar Co-authored-by: Cristián Maureira-Fredes --- library/ftplib.po | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/library/ftplib.po b/library/ftplib.po index 9d64af972c..7663ad3703 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-02-28 10:21-0300\n" +"PO-Revision-Date: 2024-10-23 14:09-0300\n" "Last-Translator: Meta Louis-Kosmas \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/ftplib.rst:2 msgid ":mod:`ftplib` --- FTP protocol client" @@ -51,7 +52,6 @@ msgid "The default encoding is UTF-8, following :rfc:`2640`." msgstr "La codificación predeterminada es UTF-8, siguiendo :rfc:`2640`." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: ni Emscripten, ni WASI." @@ -144,18 +144,16 @@ msgstr "" "Por favor, lee :ref:`ssl-security` para conocer las mejores prácticas." #: ../Doc/library/ftplib.rst:105 -#, fuzzy msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" -"La clase ahora admite el chequeo del nombre de *host* con :attr:`ssl." -"SSLContext.check_hostname` y *Server Name Indication* (véase :data:`ssl." -"HAS_SNI`)." +"La clase ahora admite el chequeo del nombre con :attr:`ssl.SSLContext." +"check_hostname` y *Server Name Indication* (véase :const:`ssl.HAS_SNI`)." #: ../Doc/library/ftplib.rst:116 msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Se han eliminado los parámetros obsoletos *keyfile* y *certfile*." #: ../Doc/library/ftplib.rst:119 msgid "Here's a sample session using the :class:`FTP_TLS` class::" @@ -630,10 +628,9 @@ msgstr "" "objetos adicionales:" #: ../Doc/library/ftplib.rst:434 -#, fuzzy msgid "The SSL version to use (defaults to :data:`ssl.PROTOCOL_SSLv23`)." msgstr "" -"La versión SSL para usar (toma como predeterminado :attr:`ssl." +"La versión SSL para usar (toma como predeterminado :data:`ssl." "PROTOCOL_SSLv23`)." #: ../Doc/library/ftplib.rst:438 @@ -645,14 +642,12 @@ msgstr "" "qué esté especificado en el atributo :attr:`ssl_version`." #: ../Doc/library/ftplib.rst:441 -#, fuzzy msgid "" "The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" -"El método ahora admite el chequeo del nombre de *host* con :attr:`ssl." -"SSLContext.check_hostname` y *Server Name Indication* (véase :data:`ssl." -"HAS_SNI`)." +"El método ahora admite el chequeo del nombre con :attr:`ssl.SSLContext." +"check_hostname` y *Server Name Indication* (véase :const:`ssl.HAS_SNI`)." #: ../Doc/library/ftplib.rst:448 msgid "" @@ -674,15 +669,15 @@ msgstr "Configura la conexión de datos de tipo texto común." #: ../Doc/library/ftplib.rst:9 msgid "FTP" -msgstr "" +msgstr "FTP" #: ../Doc/library/ftplib.rst:9 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../Doc/library/ftplib.rst:9 msgid "ftplib (standard module)" -msgstr "" +msgstr "ftplib (módulo estándar)" #~ msgid "" #~ "*keyfile* and *certfile* are a legacy alternative to *context* -- they " From 16ce6f74e357c55b28867f793b40a60557d4dbc2 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Fri, 25 Oct 2024 03:35:33 +0200 Subject: [PATCH 18/63] =?UTF-8?q?Traducci=C3=B3n=20library/statistics.po?= =?UTF-8?q?=20(#2838)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2544 --- dictionaries/library_statistics.txt | 3 + library/statistics.po | 105 ++++++++++++++++------------ 2 files changed, 62 insertions(+), 46 deletions(-) diff --git a/dictionaries/library_statistics.txt b/dictionaries/library_statistics.txt index 5b88d9946a..47bb02a4d5 100644 --- a/dictionaries/library_statistics.txt +++ b/dictionaries/library_statistics.txt @@ -23,3 +23,6 @@ Wallnau ª μ σ +Kepler +Carlo +bayesiano diff --git a/library/statistics.po b/library/statistics.po index 4edec1e982..eb8ea989d8 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-01-20 10:50-0300\n" -"Last-Translator: Francisco Mora \n" -"Language: es_ES\n" +"PO-Revision-Date: 2024-10-24 23:58+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/statistics.rst:2 msgid ":mod:`statistics` --- Mathematical statistics functions" @@ -38,7 +39,6 @@ msgstr "" "datos numéricos (de tipo :class:`~numbers.Real`)." #: ../Doc/library/statistics.rst:24 -#, fuzzy msgid "" "The module is not intended to be a competitor to third-party libraries such " "as `NumPy `_, `SciPy `_, or " @@ -47,10 +47,10 @@ msgid "" "graphing and scientific calculators." msgstr "" "Este módulo no pretende ser competidor o sustituto de bibliotecas de " -"terceros como `NumPy `_ o `SciPy `_, ni de paquetes completos de software propietario para profesionales " -"como Minitab, SAS o Matlab. Este módulo se ubica a nivel de calculadoras " -"científicas gráficas." +"terceros como `NumPy `_ o `SciPy `_, " +"ni de paquetes completos de software propietario para estadistas " +"profesionales como Minitab, SAS o Matlab. Este módulo se ubica a nivel de " +"calculadoras científicas y gráficas." #: ../Doc/library/statistics.rst:30 msgid "" @@ -116,9 +116,9 @@ msgid ":func:`fmean`" msgstr ":func:`fmean`" #: ../Doc/library/statistics.rst:75 -#, fuzzy msgid "Fast, floating point arithmetic mean, with optional weighting." -msgstr "Media aritmética usando coma flotante, más rápida." +msgstr "" +"Media aritmética rápida usando coma flotante, con ponderación opcional." #: ../Doc/library/statistics.rst:76 msgid ":func:`geometric_mean`" @@ -260,9 +260,8 @@ msgid ":func:`correlation`" msgstr ":func:`correlation`" #: ../Doc/library/statistics.rst:107 -#, fuzzy msgid "Pearson and Spearman's correlation coefficients." -msgstr "Coeficiente de correlación de Pearson para dos variables." +msgstr "Coeficiente de correlación de Pearson y Spearman." #: ../Doc/library/statistics.rst:108 msgid ":func:`linear_regression`" @@ -1002,19 +1001,16 @@ msgstr "" "se lanza :exc:`StatisticsError`." #: ../Doc/library/statistics.rst:653 -#, fuzzy msgid "" "Return the `Pearson's correlation coefficient `_ for two inputs. Pearson's correlation " "coefficient *r* takes values between -1 and +1. It measures the strength and " "direction of a linear relationship." msgstr "" -"Retorna el `coeficiente de correlación de Pearson `_ para dos entradas. El coeficiente de " -"correlación de Pearson *r* toma valores entre -1 y +1. Mide la fuerza y " -"dirección de la relación lineal, donde +1 significa una relación muy fuerte, " -"positiva y lineal, -1 una relación muy fuerte, negativa y lineal, y 0 una " -"relación no lineal." +"Retorna el `coeficiente de correlación de Pearson `_ para dos entradas. El " +"coeficiente de correlación de Pearson *r* toma valores entre -1 y +1. Mide " +"la fuerza y dirección de la relación lineal." #: ../Doc/library/statistics.rst:659 #, python-format @@ -1025,6 +1021,12 @@ msgid "" "equal values receive the same rank. The resulting coefficient measures the " "strength of a monotonic relationship." msgstr "" +"Si *method* es \"*ranked*\", calcula `El coeficiente de correlación de " +"Spearman `_ para dos entradas. Los datos " +"se sustituyen por rangos. Los empates se promedian para que valores iguales " +"reciban el mismo rango. El coeficiente resultante mide la fuerza de una " +"relación monótona." #: ../Doc/library/statistics.rst:665 msgid "" @@ -1032,6 +1034,9 @@ msgid "" "continuous data that doesn't meet the linear proportion requirement for " "Pearson's correlation coefficient." msgstr "" +"El coeficiente de correlación de Spearman es apropiado para datos ordinales " +"o para datos continuos que no cumplen el requisito de proporción lineal para " +"el coeficiente de correlación de Pearson." #: ../Doc/library/statistics.rst:669 msgid "" @@ -1046,10 +1051,12 @@ msgid "" "Example with `Kepler's laws of planetary motion `_:" msgstr "" +"Ejemplo con 'Leyes de Kepler sobre el movimiento planetario `_ or " @@ -1313,9 +1316,9 @@ msgid "" msgstr "" "Calcula la función de distribución acumulada inversa, también conocida como " "`función cuantil `_ o " -"función `punto porcentual `_. Matemáticamente, se escribe ``x : P(X " -"<= x) = p``." +"función `punto porcentual `_. Matemáticamente, se escribe ``x : P(X <= x) = p``." #: ../Doc/library/statistics.rst:859 msgid "" @@ -1405,11 +1408,8 @@ msgid ":class:`NormalDist` Examples and Recipes" msgstr "Ejemplos de uso de :class:`NormalDist`" #: ../Doc/library/statistics.rst:927 -#, fuzzy msgid "Classic probability problems" -msgstr "" -":class:`NormalDist` permite resolver fácilmente problemas probabilísticos " -"clásicos." +msgstr "Problemas de probabilidad clásicos" #: ../Doc/library/statistics.rst:929 msgid ":class:`NormalDist` readily solves classic probability problems." @@ -1442,7 +1442,7 @@ msgstr "" #: ../Doc/library/statistics.rst:956 msgid "Monte Carlo inputs for simulations" -msgstr "" +msgstr "Entradas de Monte Carlo para simulaciones" #: ../Doc/library/statistics.rst:958 msgid "" @@ -1457,17 +1457,16 @@ msgstr "" #: ../Doc/library/statistics.rst:975 msgid "Approximating binomial distributions" -msgstr "" +msgstr "Aproximación de la distribución binomial" #: ../Doc/library/statistics.rst:977 -#, fuzzy msgid "" "Normal distributions can be used to approximate `Binomial distributions " "`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" "Las distribuciones normales se pueden utilizar para aproximar " -"`distribuciones binomiales `_ cuando el tamaño de la muestra es grande y la " "probabilidad de un ensayo exitoso es cercana al 50%." @@ -1490,7 +1489,7 @@ msgstr "" #: ../Doc/library/statistics.rst:1016 msgid "Naive bayesian classifier" -msgstr "" +msgstr "Clasificador bayesiano ingenuo" #: ../Doc/library/statistics.rst:1018 msgid "Normal distributions commonly arise in machine learning problems." @@ -1499,7 +1498,6 @@ msgstr "" "automático." #: ../Doc/library/statistics.rst:1020 -#, fuzzy msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " @@ -1507,8 +1505,8 @@ msgid "" "distributed features including height, weight, and foot size." msgstr "" "Wikipedia detalla un buen ejemplo de un `clasificador bayesiano ingenuo " -"`_. El " -"objetivo es predecir el género de una persona a partir de características " +"`_. El reto " +"consiste en predecir el género de una persona a partir de características " "físicas que siguen una distribución normal, como la altura, el peso y el " "tamaño del pie." @@ -1554,13 +1552,15 @@ msgstr "" #: ../Doc/library/statistics.rst:1073 msgid "Kernel density estimation" -msgstr "" +msgstr "Estimación de la densidad del núcleo" #: ../Doc/library/statistics.rst:1075 msgid "" "It is possible to estimate a continuous probability density function from a " "fixed number of discrete samples." msgstr "" +"Es posible estimar una función de densidad de probabilidad continua a partir " +"de un número fijo de muestras discretas." #: ../Doc/library/statistics.rst:1078 msgid "" @@ -1571,6 +1571,12 @@ msgid "" "smoothing is controlled by a single parameter, ``h``, representing the " "variance of the kernel function." msgstr "" +"La idea básica es suavizar los datos utilizando `una función de núcleo como " +"una distribución normal, una distribución triangular o una distribución " +"uniforme `_. El grado de suavizado " +"se controla mediante un único parámetro, ``h``, que representa la varianza " +"de la función del núcleo." #: ../Doc/library/statistics.rst:1097 msgid "" @@ -1579,10 +1585,17 @@ msgid "" "recipe to generate and plot a probability density function estimated from a " "small sample:" msgstr "" +"'Wikipedia tiene un ejemplo '_ donde podemos usar la " +"fórmula ``kde_normal()`` para generar y trazar una función de densidad de " +"probabilidad estimada a partir de una muestra pequeña:" #: ../Doc/library/statistics.rst:1109 msgid "The points in ``xarr`` and ``yarr`` can be used to make a PDF plot:" msgstr "" +"Los puntos de ``xarr`` y ``yarr`` pueden utilizarse para hacer una gráfica " +"de la función de densidad de probabilidad:" msgid "Scatter plot of the estimated probability density function." msgstr "" +"Diagrama de dispersión de la función de densidad de probabilidad estimada." From 2e4ceffeaab325e2b625b37a55f6dd26a25f7b31 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Fri, 25 Oct 2024 20:48:29 -0400 Subject: [PATCH 19/63] Traduccion Update _thread.po (#2835) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2526 --------- Co-authored-by: Cristián Maureira-Fredes Co-authored-by: rtobar --- library/_thread.po | 62 ++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/library/_thread.po b/library/_thread.po index aedda96087..0ffe33db1b 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-04-09 19:43-0600\n" +"PO-Revision-Date: 2024-10-24 14:13-0400\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/_thread.rst:2 msgid ":mod:`_thread` --- Low-level threading API" @@ -103,6 +104,8 @@ msgid "" "Raises an :ref:`auditing event ` ``_thread.start_new_thread`` with " "arguments ``function``, ``args``, ``kwargs``." msgstr "" +"Lanza un :ref:`evento de auditoría ` ``_thread.start_new_thread`` " +"con los argumentos ``function``, ``args``, ``kwargs``." #: ../Doc/library/_thread.rst:62 msgid ":func:`sys.unraisablehook` is now used to handle unhandled exceptions." @@ -121,22 +124,20 @@ msgstr "" "garantías de que la interrupción ocurrirá inmediatamente." #: ../Doc/library/_thread.rst:72 -#, fuzzy msgid "" "If given, *signum* is the number of the signal to simulate. If *signum* is " "not given, :const:`signal.SIGINT` is simulated." msgstr "" -"Si se da, *signum* es el número de la señal a simular. Si *signum* no se " -"da, :data:`signal.SIGINT` es simulado." +"Si es dada, *signum* es el número de la señal a simular. Si *signum* no es " +"dada, :const:`signal.SIGINT` es simulado." #: ../Doc/library/_thread.rst:75 -#, fuzzy msgid "" "If the given signal isn't handled by Python (it was set to :const:`signal." "SIG_DFL` or :const:`signal.SIG_IGN`), this function does nothing." msgstr "" -"Si la señal dada no es manejada por Python (se estableció en :data:`signal." -"SIG_DFL` o :data:`signal.SIG_IGN`), esta función no hace nada." +"Si la señal dada no es manejada por Python (se estableció en :const:`signal." +"SIG_DFL` o :const:`signal.SIG_IGN`), esta función no hace nada." #: ../Doc/library/_thread.rst:79 msgid "The *signum* argument is added to customize the signal number." @@ -196,13 +197,12 @@ msgstr "" "Operativo)." #: ../Doc/library/_thread.rst:123 -#, fuzzy msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX, DragonFlyBSD." msgstr "" ":ref:`Disponibilidad `: Windows, FreeBSD, Linux, macOS, " -"OpenBSD, NetBSD, AIX." +"OpenBSD, NetBSD, AIX, DragonFlyBSD." #: ../Doc/library/_thread.rst:130 msgid "" @@ -248,18 +248,17 @@ msgstr "" #: ../Doc/library/_thread.rst:147 msgid "Unix platforms with POSIX threads support." -msgstr "" +msgstr "Plataformas Unix con soporte para hilos POSIX." #: ../Doc/library/_thread.rst:152 -#, fuzzy msgid "" "The maximum value allowed for the *timeout* parameter of :meth:`Lock.acquire " "`. Specifying a timeout greater than this value will " "raise an :exc:`OverflowError`." msgstr "" -"El máximo valor permitido para el parámetro *timeout* de :meth:`Lock." -"acquire`. Especificar un tiempo de espera (*timeout*) mayor que este valor " -"lanzará una excepción :exc:`OverflowError`." +"El máximo valor permitido para el parámetro *timeout* de :meth:`Lock.acquire " +"`. Especificar un tiempo de espera (*timeout*) mayor " +"que este valor lanzará una excepción :exc:`OverflowError`." #: ../Doc/library/_thread.rst:159 msgid "Lock objects have the following methods:" @@ -284,9 +283,9 @@ msgid "" "as above." msgstr "" "Si el argumento *blocking* está presente, la acción depende de su valor: si " -"es False, el candado es adquirido sólo si puede ser adquirido inmediatamente " -"sin espera, en cambio si es True, el candado es adquirido incondicionalmente " -"como arriba." +"es Falso, el bloqueo solo se adquiere si se puede adquirir inmediatamente " +"sin esperar, en cambio si es Verdad, el candado es adquirido " +"incondicionalmente como arriba." #: ../Doc/library/_thread.rst:173 msgid "" @@ -365,15 +364,14 @@ msgstr "" "a invocar :func:`_thread.exit`." #: ../Doc/library/_thread.rst:220 -#, fuzzy msgid "" "It is not possible to interrupt the :meth:`~threading.Lock.acquire` method " "on a lock --- the :exc:`KeyboardInterrupt` exception will happen after the " "lock has been acquired." msgstr "" -"No es posible interrumpir el método :meth:`acquire` en un candado. La " -"excepción :exc:`KeyboardInterrupt` tendrá lugar después de que el candado " -"haya sido adquirido." +"No es posible interrumpir el método :meth:`~threading.Lock.acquire` en un " +"candado. La excepción :exc:`KeyboardInterrupt` tendrá lugar después de que " +"el candado haya sido adquirido." #: ../Doc/library/_thread.rst:224 msgid "" @@ -398,36 +396,36 @@ msgstr "" #: ../Doc/library/_thread.rst:7 msgid "light-weight processes" -msgstr "" +msgstr "light-weight processes" #: ../Doc/library/_thread.rst:7 msgid "processes, light-weight" -msgstr "" +msgstr "processes, light-weight" #: ../Doc/library/_thread.rst:7 msgid "binary semaphores" -msgstr "" +msgstr "binary semaphores" #: ../Doc/library/_thread.rst:7 msgid "semaphores, binary" -msgstr "" +msgstr "semaphores, binary" #: ../Doc/library/_thread.rst:22 msgid "pthreads" -msgstr "" +msgstr "pthreads" #: ../Doc/library/_thread.rst:22 msgid "threads" -msgstr "" +msgstr "threads" #: ../Doc/library/_thread.rst:22 msgid "POSIX" -msgstr "" +msgstr "POSIX" #: ../Doc/library/_thread.rst:211 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/library/_thread.rst:211 msgid "signal" -msgstr "" +msgstr "signal" From 841721e3b0add83a067bd9dcc2b53400ac829b2f Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Sun, 27 Oct 2024 12:38:16 -0400 Subject: [PATCH 20/63] traduccion de socketserver.po (#2840) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2513 , hola @rtobar , aqui esta la traducción con la correciones de PR #2836 para el cierre del Issues #2513, --------- Co-authored-by: rtobar --- library/socketserver.po | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/library/socketserver.po b/library/socketserver.po index d7dab53d67..a85f6e5d44 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -38,7 +38,6 @@ msgstr "" "red." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -175,7 +174,6 @@ msgstr "" "representan servidores síncronos de cuatro tipos:" #: ../Doc/library/socketserver.rst:97 -#, fuzzy msgid "" "Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " "from :class:`UnixStreamServer` --- the only difference between an IP and a " @@ -183,8 +181,7 @@ msgid "" msgstr "" "Tenga en cuenta que :class:`UnixDatagramServer` deriva de :class:" "`UDPServer`, no de :class:`UnixStreamServer` --- la única diferencia entre " -"una IP y un servidor de flujo Unix es la familia de direcciones, que " -"simplemente se repite en ambos Clases de servidor Unix." +"un servidor IP y uno Unix es la familia de direcciones." #: ../Doc/library/socketserver.rst:105 msgid "" @@ -260,6 +257,8 @@ msgid "" "The ``ForkingUnixStreamServer`` and ``ForkingUnixDatagramServer`` classes " "were added." msgstr "" +"Las clases ``ForkingUnixStreamServer`` y ``ForkingUnixDatagramServer`` " +"fueron agregadas." #: ../Doc/library/socketserver.rst:154 msgid "" @@ -327,7 +326,6 @@ msgstr "" "de solicitudes el método :meth:`~BaseRequestHandler.handle`." #: ../Doc/library/socketserver.rst:180 -#, fuzzy msgid "" "Another approach to handling multiple simultaneous requests in an " "environment that supports neither threads nor :func:`~os.fork` (or where " @@ -338,15 +336,14 @@ msgid "" "client can potentially be connected for a long time (if threads or " "subprocesses cannot be used)." msgstr "" -"Otro enfoque para manejar múltiples solicitudes simultáneas en un entorno " +"Otro enfoque para gestionar múltiples solicitudes simultáneas en un entorno " "que no admite subprocesos ni :func:`~os.fork` (o donde estos son demasiado " -"costosos o inapropiados para el servicio) es mantener una tabla explícita de " +"costosos o inadecuados para el servicio) es mantener una tabla explícita de " "solicitudes parcialmente terminadas y utilizar :mod:`selectors` para decidir " "en qué solicitud trabajar a continuación (o si manejar una nueva solicitud " "entrante). Esto es particularmente importante para los servicios de " "transmisión en los que cada cliente puede potencialmente estar conectado " -"durante mucho tiempo (si no se pueden utilizar subprocesos o subprocesos). " -"Consulte :mod:`asyncore` para ver otra forma de gestionar esto." +"durante mucho tiempo (si no se pueden utilizar subprocesos o subprocesos)." #: ../Doc/library/socketserver.rst:193 msgid "Server Objects" @@ -693,7 +690,6 @@ msgstr "" "`setup` lanza una excepción, no se llamará a esta función." #: ../Doc/library/socketserver.rst:434 -#, fuzzy msgid "" "These :class:`BaseRequestHandler` subclasses override the :meth:" "`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` methods, " @@ -704,12 +700,14 @@ msgid "" "interface, and :attr:`!wfile` attributes support the :class:`!io." "BufferedIOBase` writable interface." msgstr "" -"Estas subclases :class:`BaseRequestHandler` anulan los métodos :meth:" -"`~BaseRequestHandler.setup` y :meth:`~BaseRequestHandler.finish`, y " -"proporcionan :attr:`self.rfile` y :attr:`self.wfile` atributos. Los " +"Estas subclases de :class:`BaseRequestHandler` sobrescriben los métodos :" +"meth:`~BaseRequestHandler.setup` y :meth:`~BaseRequestHandler.finish`, y " +"proporcionan los atributos :attr:`self.rfile` y :attr:`self.wfile`. Los " "atributos :attr:`self.rfile` y :attr:`self.wfile` se pueden leer o escribir, " -"respectivamente, para obtener los datos de la solicitud o retornar los datos " -"al cliente." +"respectivamente, para obtener los datos de la solicitud o devolver datos al " +"cliente. Los atributos :attr:`!rfile` son compatibles con la interfaz de " +"lectura de :class:`io.BufferedIOBase`, y los atributos :attr:`!wfile` son " +"compatibles con la interfaz de escritura de :class:`!io.BufferedIOBase`." #: ../Doc/library/socketserver.rst:443 msgid "" From 8714f4b1f4e27208404fe0af7ec3b1987a2e0764 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Sun, 27 Oct 2024 19:02:57 -0400 Subject: [PATCH 21/63] Traduccion de asyncio-subprocess (#2842) Closes #2540 --- library/asyncio-subprocess.po | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 12eca5c30b..ec4424b411 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-30 00:19-0400\n" +"PO-Revision-Date: 2024-10-27 14:49-0400\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/asyncio-subprocess.rst:7 msgid "Subprocesses" @@ -80,7 +81,6 @@ msgstr "Crea un sub-proceso." #: ../Doc/library/asyncio-subprocess.rst:69 #: ../Doc/library/asyncio-subprocess.rst:87 -#, fuzzy msgid "" "The *limit* argument sets the buffer limit for :class:`StreamReader` " "wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :const:" @@ -88,7 +88,7 @@ msgid "" msgstr "" "El argumento *limit* establece el límite del buffer para los envoltorios :" "class:`StreamReader` para :attr:`Process.stdout` y :attr:`Process.stderr` " -"(si se pasa :attr:`subprocess.PIPE` a los argumentos *stdout* y *stderr*)." +"(si se pasa :const:`subprocess.PIPE` a los argumentos *stdout* y *stderr*)." #: ../Doc/library/asyncio-subprocess.rst:73 #: ../Doc/library/asyncio-subprocess.rst:91 @@ -250,7 +250,6 @@ msgstr "" "método :meth:`~subprocess.Popen.poll`;" #: ../Doc/library/asyncio-subprocess.rst:176 -#, fuzzy msgid "" "the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." "subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" @@ -258,7 +257,7 @@ msgid "" msgstr "" "los métodos :meth:`~asyncio.subprocess.Process.communicate` y :meth:" "`~asyncio.subprocess.Process.wait` no tienen un parámetro *timeout*: use la " -"función :func:`wait_for`;" +"función :func:`~asyncio.wait_for`;" #: ../Doc/library/asyncio-subprocess.rst:180 msgid "" @@ -318,7 +317,7 @@ msgstr "envía datos a *stdin* (si *input* no es ``None``);" #: ../Doc/library/asyncio-subprocess.rst:210 msgid "closes *stdin*;" -msgstr "" +msgstr "cierra *stdin*;" #: ../Doc/library/asyncio-subprocess.rst:211 msgid "read data from *stdout* and *stderr*, until EOF is reached;" @@ -374,7 +373,7 @@ msgstr "" #: ../Doc/library/asyncio-subprocess.rst:235 msgid "*stdin* gets closed when `input=None` too." -msgstr "" +msgstr "*stdin* se cierra cuando `input=None` también." #: ../Doc/library/asyncio-subprocess.rst:239 msgid "Sends the signal *signal* to the child process." @@ -395,12 +394,11 @@ msgid "Stop the child process." msgstr "Para al proceso hijo." #: ../Doc/library/asyncio-subprocess.rst:252 -#, fuzzy msgid "" "On POSIX systems this method sends :py:const:`signal.SIGTERM` to the child " "process." msgstr "" -"En sistemas POSIX este método envía :py:data:`signal.SIGNTERM` al proceso " +"En sistemas POSIX, este método envía :py:const:`signal.SIGNTERM` al proceso " "hijo." #: ../Doc/library/asyncio-subprocess.rst:255 From bca682235a551e4803667e23a084b65e5a0c71ef Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Sun, 27 Oct 2024 23:07:29 -0400 Subject: [PATCH 22/63] taduccion y correciones (#2843) Closes #2528 --------- Co-authored-by: rtobar --- library/signal.po | 115 +++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 67 deletions(-) diff --git a/library/signal.po b/library/signal.po index 4d9211924f..3362c8472e 100644 --- a/library/signal.po +++ b/library/signal.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-18 10:12+0800\n" +"PO-Revision-Date: 2024-10-27 19:03-0400\n" "Last-Translator: Rodrigo Tobar \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/signal.rst:2 msgid ":mod:`signal` --- Set handlers for asynchronous events" @@ -27,7 +28,7 @@ msgstr ":mod:`signal` --- Establece gestores para eventos asíncronos" #: ../Doc/library/signal.rst:7 msgid "**Source code:** :source:`Lib/signal.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/signal.py`" #: ../Doc/library/signal.rst:11 msgid "This module provides mechanisms to use signal handlers in Python." @@ -164,7 +165,6 @@ msgid "Module contents" msgstr "Contenidos del módulo" #: ../Doc/library/signal.rst:75 -#, fuzzy msgid "" "signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" "const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " @@ -174,24 +174,24 @@ msgid "" "`sigwait` functions return human-readable :class:`enums ` as :" "class:`Signals` objects." msgstr "" -"señal (SIG*), gestor (:const:`SIG_DFL`, :const:`SIG_IGN`) y 'sigmask' (:" -"const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) las clases " -"relacionadas abajo se cambian en las funciones :class:`enums `. :func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` y :" -"func:`sigwait` que retornan :class:`enums ` que pueden ser " -"leídas por humanos." +"Las constantes relacionadas con señal (SIG*), gestor (:const:`SIG_DFL`, :" +"const:`SIG_IGN`) y sigmask (:const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:" +"`SIG_SETMASK`) enumeradas a continuación fueron convertidas en :class:`enums " +"` (:class:`Signals`, :class:`Handlers` y :class:`Sigmasks`, " +"respectivamente). Las funciones :func:`getsignal`, :func:`pthread_sigmask`, :" +"func:`sigpending` y :func:`sigwait` devuelven :class:`enums ` " +"legibles por humanos como objetos :class:`Signals`." #: ../Doc/library/signal.rst:85 -#, fuzzy msgid "The signal module defines three enums:" -msgstr "El módulo :mod:`signal` define una excepción:" +msgstr "El módulo signal define tres enums:" #: ../Doc/library/signal.rst:89 msgid "" ":class:`enum.IntEnum` collection of SIG* constants and the CTRL_* constants." msgstr "" ":class:`enum.IntEnum` colección de constantes SIG* y colección de constantes " -"CTRL_*" +"CTRL_*." #: ../Doc/library/signal.rst:95 msgid "" @@ -224,14 +224,12 @@ msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." #: ../Doc/library/signal.rst:105 ../Doc/library/signal.rst:471 -#, fuzzy msgid "" "See the man page :manpage:`sigprocmask(2)` and :manpage:`pthread_sigmask(3)` " "for further information." msgstr "" -":ref:`Disponibilidd `: Unix. Consulte la página de manual :" -"manpage:`sigprocmask(2)` y :manpage:`pthread_sigmask(3)` para obtener más " -"información." +"Consulta la página del manual :manpage:`sigprocmask(2)` y :manpage:" +"`pthread_sigmask(3)` para obtener más información." #: ../Doc/library/signal.rst:111 msgid "The variables defined in the :mod:`signal` module are:" @@ -351,18 +349,16 @@ msgstr "" "esta sólo puede ser lanzada en el espacio de usuario." #: ../Doc/library/signal.rst:215 -#, fuzzy msgid ":ref:`Availability `: Linux." -msgstr ":ref:`Disponibilidad `: Unix." +msgstr ":ref:`Disponibilidad `: Linux." #: ../Doc/library/signal.rst:217 -#, fuzzy msgid "" "On architectures where the signal is available. See the man page :manpage:" "`signal(7)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`signal(2)` para obtener más información." +"En arquitecturas donde la señal está disponible. Consulta la página del " +"manual :manpage:`signal(7)` para obtener más información." #: ../Doc/library/signal.rst:224 msgid "Termination signal." @@ -524,11 +520,10 @@ msgstr "" "valor de retorno es cero, no hay ninguna alarma programada actualmente." #: ../Doc/library/signal.rst:351 -#, fuzzy msgid "See the man page :manpage:`alarm(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página de manual :" -"manpage:`alarm(2)` para obtener más información." +"Consulta la página del manual :manpage:`alarm(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:356 msgid "" @@ -549,15 +544,14 @@ msgstr "" "instaló desde Python." #: ../Doc/library/signal.rst:367 -#, fuzzy msgid "" "Returns the description of signal *signalnum*, such as \"Interrupt\" for :" "const:`SIGINT`. Returns :const:`None` if *signalnum* has no description. " "Raises :exc:`ValueError` if *signalnum* is invalid." msgstr "" -"Retorna la descripción del sistema de la señal *signalnum*, como " -"\"Interrupción\", \"Fallo de segmentación\", etc. Retorna :const:`None` si " -"no se reconoce la señal." +"Retorna la descripción de la señal *signalnum*, como \"Interrupt\" para :" +"const:`SIGINT`. Retorna :const:`None` si *signalnum* no tiene descripción. " +"Lanza :exc:`ValueError` si *signalnum* no es válido." #: ../Doc/library/signal.rst:376 msgid "" @@ -578,11 +572,10 @@ msgstr "" "llamará al manejador apropiado. No retorna nada." #: ../Doc/library/signal.rst:390 -#, fuzzy msgid "See the man page :manpage:`signal(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`signal(2)` para obtener más información." +"Consulta la página del manual :manpage:`signal(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:392 msgid "" @@ -614,9 +607,8 @@ msgstr "" "Para más información vea la página de manual :manpage:`pidfd_send_signal(2)`." #: ../Doc/library/signal.rst:412 -#, fuzzy msgid ":ref:`Availability `: Linux >= 5.1" -msgstr ":ref:`Disponibilidad `: Linux 5.1+" +msgstr ":ref:`Disponibilidad `: Linux >= 5.1" #: ../Doc/library/signal.rst:418 msgid "" @@ -665,11 +657,10 @@ msgstr "" "argumentos ``thread_id``, ``signalnum``." #: ../Doc/library/signal.rst:437 -#, fuzzy msgid "See the man page :manpage:`pthread_kill(3)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página del manual :" -"manpage:`pthread_kill(3)` para obtener más información." +"Consulta la página del manual :manpage:`pthread_kill(3)` para obtener más " +"información." #: ../Doc/library/signal.rst:439 msgid "See also :func:`os.kill`." @@ -892,14 +883,12 @@ msgstr "" "interrumpirán. No retorna nada." #: ../Doc/library/signal.rst:561 -#, fuzzy msgid "See the man page :manpage:`siginterrupt(3)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`siginterrupt(3)` para obtener más información." +"Consulta la página del manual :manpage:`siginterrupt(3)` para obtener más " +"información." #: ../Doc/library/signal.rst:563 -#, fuzzy msgid "" "Note that installing a signal handler with :func:`signal` will reset the " "restart behaviour to interruptible by implicitly calling :c:func:`!" @@ -907,7 +896,7 @@ msgid "" msgstr "" "Tenga en cuenta que la instalación de un gestor de señales con :func:" "`signal` restablecerá el comportamiento de reinicio a interrumpible llamando " -"implícitamente a :c:func:`siginterrupt` con un valor de *flag* verdadero " +"implícitamente a :c:func:`!siginterrupt` con un valor de *flag* verdadero " "para la señal dada." #: ../Doc/library/signal.rst:570 @@ -966,11 +955,10 @@ msgstr "" "bloqueadas). Retorna el conjunto de señales pendientes." #: ../Doc/library/signal.rst:603 -#, fuzzy msgid "See the man page :manpage:`sigpending(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página de manual :" -"manpage:`sigpending(2)` para obtener más información." +"Consulta la página del manual :manpage:`sigpending(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:605 msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." @@ -989,11 +977,10 @@ msgstr "" "de señal." #: ../Doc/library/signal.rst:618 -#, fuzzy msgid "See the man page :manpage:`sigwait(3)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`sigwait(3)` para obtener más información." +"Consulta la página del manual :manpage:`sigwait(3)` para obtener más " +"información." #: ../Doc/library/signal.rst:620 msgid "" @@ -1034,11 +1021,10 @@ msgstr "" "`si_band`." #: ../Doc/library/signal.rst:644 -#, fuzzy msgid "See the man page :manpage:`sigwaitinfo(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`sigwaitinfo(2)` para obtener más información." +"Consulta la página del manual :manpage:`sigwaitinfo(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:646 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." @@ -1055,23 +1041,21 @@ msgstr "" "pep:`475` para la justificación)." #: ../Doc/library/signal.rst:658 -#, fuzzy msgid "" "Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " "specifying a timeout. If *timeout* is specified as ``0``, a poll is " "performed. Returns :const:`None` if a timeout occurs." msgstr "" -"Como :func:`sigwaitinfo`, pero toma un argumento *timeout* adicional que " -"especifica un tiempo de espera. Si *timeout* se especifica como :const:`0`, " +"Similar a :func:`sigwaitinfo`, pero toma un argumento *timeout* adicional " +"que especifica un tiempo de espera. Si *timeout* se especifica como ``0``, " "se realiza una encuesta. Retorna :const:`None` si se agota el tiempo de " "espera." #: ../Doc/library/signal.rst:664 -#, fuzzy msgid "See the man page :manpage:`sigtimedwait(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página de manual :" -"manpage:`sigtimedwait(2)` para obtener más información." +"Consulta la página del manual :manpage:`sigtimedwait(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:666 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." @@ -1088,9 +1072,8 @@ msgstr "" "una excepción (ver :pep:`475` para la justificación)." #: ../Doc/library/signal.rst:679 -#, fuzzy msgid "Examples" -msgstr "Ejemplo" +msgstr "Ejemplos" #: ../Doc/library/signal.rst:681 msgid "" @@ -1129,22 +1112,20 @@ msgstr "" "siguiente manera:" #: ../Doc/library/signal.rst:734 -#, fuzzy msgid "" "Do not set :const:`SIGPIPE`'s disposition to :const:`SIG_DFL` in order to " "avoid :exc:`BrokenPipeError`. Doing that would cause your program to exit " "unexpectedly whenever any socket connection is interrupted while your " "program is still writing to it." msgstr "" -"No establezca la disposición de :const:`SIGPIPE` a :const:`SIG_DFL` para " -"evitar :exc:`BrokenPipeError`. Si lo hace, su programa se cerrará " -"inesperadamente también cuando se interrumpa cualquier conexión de socket " -"mientras su programa todavía está escribiendo en él." +"No establezcas la disposición de :const:`SIGPIPE` en :const:`SIG_DFL` para " +"evitar :exc:`BrokenPipeError`. Hacerlo causaría que tu programa se cierre " +"inesperadamente siempre que se interrumpa cualquier conexión de socket " +"mientras su programa aún esté escribiendo en él." #: ../Doc/library/signal.rst:743 -#, fuzzy msgid "Note on Signal Handlers and Exceptions" -msgstr "El módulo :mod:`signal` define una excepción:" +msgstr "Nota sobre Manejadores de Señales y Excepciones" #: ../Doc/library/signal.rst:745 msgid "" From 6f134dd7a0f67fbf8d582c3a7cddeec334500a3d Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Sun, 27 Oct 2024 23:27:22 -0400 Subject: [PATCH 23/63] taduccion de dbm.po (#2844) Closes #2488 --- library/dbm.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/library/dbm.po b/library/dbm.po index ecb770509a..0dc56e6c75 100644 --- a/library/dbm.po +++ b/library/dbm.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-03 19:56-0300\n" +"PO-Revision-Date: 2024-10-27 18:46-0400\n" "Last-Translator: Alfonso Areiza Guerra \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/dbm.rst:2 msgid ":mod:`dbm` --- Interfaces to Unix \"databases\"" @@ -597,4 +598,4 @@ msgstr "Cierra la base de datos ``dumbdbm``." #: ../Doc/library/dbm.rst:325 msgid "databases" -msgstr "" +msgstr "databases" From bddc34cb79b2222147ef60850df5a6545b620bf6 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Sun, 27 Oct 2024 23:30:12 -0400 Subject: [PATCH 24/63] traduccion de tokenize.po (#2845) Closes #2514 --- library/tokenize.po | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/library/tokenize.po b/library/tokenize.po index 2a76509610..4836c0f816 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-07-25 21:23+0200\n" +"PO-Revision-Date: 2024-10-27 18:50-0400\n" "Last-Translator: Ignasi Fosch \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/tokenize.rst:2 msgid ":mod:`tokenize` --- Tokenizer for Python source" @@ -63,6 +64,11 @@ msgid "" "**undefined** when providing invalid Python code and it can change at any " "point." msgstr "" +"Ten en cuenta que las funciones en este módulo están diseñadas únicamente " +"para analizar código Python sintácticamente válido (código que no genera " +"errores al ser analizado usando :func:`ast.parse`). El comportamiento de las " +"funciones en este módulo es **indefinido** cuando se proporciona código " +"Python no válido y puede cambiar en cualquier momento." #: ../Doc/library/tokenize.rst:35 msgid "Tokenizing Input" From c50dc6a8a0a0a48f813cd32aeed8f11add22d343 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Mon, 28 Oct 2024 21:57:45 -0400 Subject: [PATCH 25/63] Traduccion de c-api/marshal.po (#2846) Closes #2445 --- c-api/marshal.po | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/c-api/marshal.po b/c-api/marshal.po index c50197ed0f..4cc711a710 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-30 17:51-0600\n" +"PO-Revision-Date: 2024-10-28 21:01-0400\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/marshal.rst:6 msgid "Data marshalling support" @@ -73,6 +74,8 @@ msgid "" "This function can fail, in which case it sets the error indicator. Use :c:" "func:`PyErr_Occurred` to check for that." msgstr "" +"Esta función puede fallar, en cuyo caso establece el indicador de error. " +"Utiliza :c:func:`PyErr_Occurred` para comprobarlo." #: ../Doc/c-api/marshal.rst:33 msgid "" From a92137ad200043468b234d35ba452200ba599615 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Mon, 28 Oct 2024 22:31:00 -0400 Subject: [PATCH 26/63] traduccion de library/asyncio.po (#2847) Closes #2509 --- library/asyncio.po | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/asyncio.po b/library/asyncio.po index 7451b67136..5675813c78 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-01-31 11:30-0300\n" +"PO-Revision-Date: 2024-10-28 21:11-0400\n" "Last-Translator: David Revillas \n" -"Language: es_ES\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/asyncio.rst:78 msgid "High-level APIs" @@ -135,11 +136,11 @@ msgstr "" #: ../Doc/library/asyncio.rst:59 msgid "You can experiment with an ``asyncio`` concurrent context in the REPL:" msgstr "" +"Puedes experimentar con un contexto concurrente de ``asyncio`` en el REPL:" #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Availability `: no Emscripten, no WASI." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" From 0877c3a52aa9996667e81d85bb133f61890afb5e Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 31 Oct 2024 00:13:33 -0400 Subject: [PATCH 27/63] Traduccion bytearray.po (#2851) Closes #2408 --- c-api/bytearray.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/c-api/bytearray.po b/c-api/bytearray.po index e11c6047ff..3f82d0df7d 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-05 12:32-0300\n" +"PO-Revision-Date: 2024-10-29 21:11-0400\n" "Last-Translator: Sofía Denner \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" @@ -128,9 +129,8 @@ msgstr "" #: ../Doc/c-api/bytearray.rst:8 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/bytearray.rst:8 -#, fuzzy msgid "bytearray" -msgstr "Objetos de arreglos de bytes (*bytearrays*)" +msgstr "bytearray" From 23da62f59f68f8ff36b5116a6e4ee364b73b0cd0 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 31 Oct 2024 00:35:04 -0400 Subject: [PATCH 28/63] traduccion de c-api/memoryview.po (#2850) Closes #2432 --- c-api/memoryview.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/c-api/memoryview.po b/c-api/memoryview.po index b72d7af82f..272b7c415b 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-01 20:28+0200\n" +"PO-Revision-Date: 2024-10-29 21:14-0400\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" @@ -116,9 +117,8 @@ msgstr "" #: ../Doc/c-api/memoryview.rst:5 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/memoryview.rst:5 -#, fuzzy msgid "memoryview" -msgstr "Objetos de vista de memoria (*MemoryView*)" +msgstr "memoryview" From 8f812f544969ad701d14fff7aae0070207608b5c Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:02:26 -0600 Subject: [PATCH 29/63] Traducido archivo library/errno (#2853) Closes #2537 --- library/errno.po | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/library/errno.po b/library/errno.po index 5073cbcc4d..c5bb60932f 100644 --- a/library/errno.po +++ b/library/errno.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-09-14 17:19-0300\n" +"PO-Revision-Date: 2024-10-31 01:49-0600\n" "Last-Translator: Federico Jurío \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/errno.rst:2 msgid ":mod:`errno` --- Standard errno system symbols" @@ -491,9 +492,8 @@ msgid "Operation not supported on transport endpoint" msgstr "Operación no soportada en el endpoint de transporte" #: ../Doc/library/errno.rst:516 -#, fuzzy msgid "Operation not supported" -msgstr "Protocolo no soportado" +msgstr "Operación no soportada" #: ../Doc/library/errno.rst:523 msgid "Protocol family not supported" @@ -646,19 +646,17 @@ msgstr "" "`PermissionError`." #: ../Doc/library/errno.rst:673 -#, fuzzy msgid ":ref:`Availability `: WASI, FreeBSD" msgstr ":ref:`Disponibilidad `: WASI, FreeBSD" #: ../Doc/library/errno.rst:680 msgid "Operation canceled" -msgstr "" +msgstr "Operación cancelada" #: ../Doc/library/errno.rst:687 msgid "Owner died" -msgstr "" +msgstr "El propietario murió" #: ../Doc/library/errno.rst:694 -#, fuzzy msgid "State not recoverable" -msgstr "Resultado matemático no representable" +msgstr "Estado no recuperable" From 25a5882bcefd54b11ea48fbc67c9290ad3610e80 Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Thu, 31 Oct 2024 06:00:28 -0600 Subject: [PATCH 30/63] Traducido archivo library/unicodedata (#2854) Closes #2533 --- library/unicodedata.po | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/library/unicodedata.po b/library/unicodedata.po index 7194878c9c..5581fe5d45 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-04 22:02+0200\n" +"PO-Revision-Date: 2024-10-31 02:32-0600\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/unicodedata.rst:2 msgid ":mod:`unicodedata` --- Unicode Database" msgstr ":mod:`unicodedata` --- Base de datos Unicode" #: ../Doc/library/unicodedata.rst:18 -#, fuzzy msgid "" "This module provides access to the Unicode Character Database (UCD) which " "defines character properties for all Unicode characters. The data contained " @@ -36,7 +36,7 @@ msgstr "" "Este módulo proporciona acceso a la base de datos de caracteres Unicode " "(UCD), que define las propiedades de todos los caracteres Unicode. Los datos " "contenidos en esta base de datos se compilan a partir de la `UCD versión " -"13.0.0 `_." +"15.0.0 `_." #: ../Doc/library/unicodedata.rst:23 msgid "" @@ -264,23 +264,21 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/unicodedata.rst:178 -#, fuzzy msgid "https://www.unicode.org/Public/15.0.0/ucd/NameAliases.txt" -msgstr "https://www.unicode.org/Public/13.0.0/ucd/NameAliases.txt" +msgstr "https://www.unicode.org/Public/15.0.0/ucd/NameAliases.txt" #: ../Doc/library/unicodedata.rst:180 -#, fuzzy msgid "https://www.unicode.org/Public/15.0.0/ucd/NamedSequences.txt" -msgstr "https://www.unicode.org/Public/13.0.0/ucd/NamedSequences.txt" +msgstr "https://www.unicode.org/Public/15.0.0/ucd/NamedSequences.txt" #: ../Doc/library/unicodedata.rst:11 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: ../Doc/library/unicodedata.rst:11 msgid "character" -msgstr "" +msgstr "character" #: ../Doc/library/unicodedata.rst:11 msgid "database" -msgstr "" +msgstr "database" From 2c846fe4ea47ec51602f8c37aa5837f455711c44 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 31 Oct 2024 08:20:12 -0400 Subject: [PATCH 31/63] traduccion de palabras (#2857) Closes #2468 --- library/uu.po | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/uu.po b/library/uu.po index 2bfd19cbe9..3148062230 100644 --- a/library/uu.po +++ b/library/uu.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-31 09:39+0100\n" +"PO-Revision-Date: 2024-10-31 00:56-0400\n" "Last-Translator: Federico Zuccolo \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" # La codificación 'uuencode' figura como 'UUEncode' en la Wikipedia en # español. @@ -144,8 +145,8 @@ msgstr "" #: ../Doc/library/uu.rst:28 msgid "Jansen, Jack" -msgstr "" +msgstr "Jansen, Jack" #: ../Doc/library/uu.rst:28 msgid "Ellinghouse, Lance" -msgstr "" +msgstr "Ellinghouse, Lance" From d6c7de6d46b44a7a7056e88d703ec2ce23fc4fd1 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 31 Oct 2024 11:27:21 -0400 Subject: [PATCH 32/63] traduccion del archivo (#2856) Closes #2452 --------- Co-authored-by: rtobar --- c-api/apiabiversion.po | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index d10400d4fc..c5b8f4186f 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-31 21:13-0300\n" +"PO-Revision-Date: 2024-10-31 01:00-0400\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/apiabiversion.rst:7 msgid "API and ABI Versioning" @@ -182,12 +183,14 @@ msgstr "" #: ../Doc/c-api/apiabiversion.rst:61 msgid "Use this for numeric comparisons, e.g. ``#if PY_VERSION_HEX >= ...``." msgstr "" +"Use esto para comparaciones numéricas, por ejemplo ``#if PY_VERSION_HEX " +">= ...``." #: ../Doc/c-api/apiabiversion.rst:63 -#, fuzzy msgid "This version is also available via the symbol :c:var:`Py_Version`." msgstr "" -"Esta versión también está disponible a través del símbolo :data:`Py_Version`." +"Esta versión también está disponible a través del símbolo :c:var:" +"`Py_Version`." #: ../Doc/c-api/apiabiversion.rst:67 msgid "" From b8c05397cd20faa29c15154882b8a66550fc580d Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:11:38 -0600 Subject: [PATCH 33/63] Traducido archivo library/symtable (#2855) Closes #2532 --------- Co-authored-by: rtobar --- library/symtable.po | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/library/symtable.po b/library/symtable.po index 92665ce9d6..536691c997 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-29 11:17-0500\n" +"PO-Revision-Date: 2024-10-31 02:44-0600\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/symtable.rst:2 msgid ":mod:`symtable` --- Access to the compiler's symbol tables" @@ -70,12 +71,18 @@ msgid "" "alias'``, and ``'type parameter'``. The latter four refer to different " "flavors of :ref:`annotation scopes `." msgstr "" +"Retorna el tipo de la tabla de símbolos. Los valores posibles son " +"``'class'``, ``'module'``, ``'function'``, ``'annotation'``, ``'TypeVar " +"bound'``, ``'type alias'`` y ``'type parameter'``. Los cuatro últimos se " +"refieren a diferentes tipos de :ref:`annotation-scopes`." #: ../Doc/library/symtable.rst:45 msgid "" "Added ``'annotation'``, ``'TypeVar bound'``, ``'type alias'``, and ``'type " "parameter'`` as possible return values." msgstr "" +"Se agregaron ``'annotation'``, ``'TypeVar bound'``, ``'type alias'`` y " +"``'type parameter'`` como posibles valores de retorno." #: ../Doc/library/symtable.rst:51 msgid "Return the table's identifier." @@ -91,6 +98,14 @@ msgid "" "alias. For type alias scopes, it is the name of the type alias. For :class:" "`~typing.TypeVar` bound scopes, it is the name of the ``TypeVar``." msgstr "" +"Retorna el nombre de la tabla. Es el nombre de la clase si la tabla es para " +"una clase, el nombre de la función si la tabla es para una función o " +"``'top`` si la tabla es global (:meth:`get_type` retorna ``'module``). Para " +"ámbitos de parámetros de tipo (que se utilizan para clases genéricas, " +"funciones y alias de tipo), es el nombre de la clase, función o alias de " +"tipo subyacente. Para ámbitos de alias de tipo, es el nombre del alias de " +"tipo. Para ámbitos enlazados :class:`~typing.TypeVar`, es el nombre del " +"``TypeVar``." #: ../Doc/library/symtable.rst:65 msgid "Return the number of the first line in the block this table represents." From ca83c821ea0f1b80b3d840b1bde88d9032a6e41e Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 31 Oct 2024 21:14:47 -0400 Subject: [PATCH 34/63] traduccion sndhdr.po (#2859) Closes #2487 --- library/sndhdr.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/library/sndhdr.po b/library/sndhdr.po index cfda5b2c62..c6d54515fa 100644 --- a/library/sndhdr.po +++ b/library/sndhdr.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-11-14 11:58-0300\n" +"PO-Revision-Date: 2024-10-31 20:43-0400\n" "Last-Translator: \n" -"Language: en\n" "Language-Team: python-doc-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-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/sndhdr.rst:2 msgid ":mod:`sndhdr` --- Determine type of sound file" @@ -223,8 +224,8 @@ msgstr "Ejemplo:" #: ../Doc/library/sndhdr.rst:13 msgid "A-LAW" -msgstr "" +msgstr "A-LAW" #: ../Doc/library/sndhdr.rst:13 msgid "u-LAW" -msgstr "" +msgstr "u-LAW" From 73ff1c50d3e1cc5df05542f13dd583bc50f83299 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 31 Oct 2024 21:15:36 -0400 Subject: [PATCH 35/63] traduccion xdrlib.po (#2860) Closes #2476 --- library/xdrlib.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/library/xdrlib.po b/library/xdrlib.po index c3c0026c54..7b10db303d 100644 --- a/library/xdrlib.po +++ b/library/xdrlib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-03-20 16:18-0300\n" +"PO-Revision-Date: 2024-10-31 20:52-0400\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/xdrlib.rst:2 msgid ":mod:`xdrlib` --- Encode and decode XDR data" @@ -424,9 +425,8 @@ msgstr "" #: ../Doc/library/xdrlib.rst:10 msgid "XDR" -msgstr "" +msgstr "XDR" #: ../Doc/library/xdrlib.rst:10 -#, fuzzy msgid "External Data Representation" -msgstr ":rfc:`1832` - XDR: estándar de representación externa de datos" +msgstr "Representación Externa de Datos" From 2ae2d4521dea54f18ed1b2dc3fba3524430b9631 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Fri, 1 Nov 2024 02:26:59 -0400 Subject: [PATCH 36/63] =?UTF-8?q?Cumplir=20la=20traducci=C3=B3n=20de=20con?= =?UTF-8?q?textvars.po=20(#2841)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Retiré la marca de fuzzy y añadí la traducción de `../Doc/library/contextvars.rst:147` closes #2471 --- library/contextvars.po | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/contextvars.po b/library/contextvars.po index 5bb19c2154..a488e68e8d 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -178,7 +178,6 @@ msgstr "" "*token*." #: ../Doc/library/contextvars.rst:111 -#, fuzzy msgid "" "A read-only property. Set to the value the variable had before the :meth:" "`ContextVar.set` method call that created the token. It points to :attr:" @@ -236,6 +235,10 @@ msgid "" "fashion to :func:`threading.local()` when values are assigned in different " "threads." msgstr "" +"Cada hilo tendrá un objecto de nivel superior :class:`~contextvars.Context`. " +"Esto significa que un objeto :class:`ContextVar` se comporta de una manera " +"similar a :func:`threading.local()` cuando los valores están asignados desde " +"hilos diferentes" #: ../Doc/library/contextvars.rst:152 msgid "Context implements the :class:`collections.abc.Mapping` interface." From fc5ebcddf1383167f635ee8d19b43e7607910028 Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Fri, 1 Nov 2024 00:29:03 -0600 Subject: [PATCH 37/63] Traducido archivo library/http (#2858) Closes #2552 --- library/http.po | 51 ++++++++++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/library/http.po b/library/http.po index 4cf05625f0..ad591e7005 100644 --- a/library/http.po +++ b/library/http.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-29 10:15-0500\n" +"PO-Revision-Date: 2024-10-31 12:48-0600\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/http.rst:2 msgid ":mod:`http` --- HTTP modules" @@ -884,74 +885,69 @@ msgstr "" "TOO_EARLY``." #: ../Doc/library/http.rst:141 -#, fuzzy msgid "HTTP status category" -msgstr "Códigos de estado HTTP" +msgstr "Categoría de estado HTTP" #: ../Doc/library/http.rst:145 msgid "" "The enum values have several properties to indicate the HTTP status category:" msgstr "" +"Los valores enum tienen varias propiedades para indicar la categoría de " +"estado HTTP:" #: ../Doc/library/http.rst:148 msgid "Property" -msgstr "" +msgstr "Propiedad" #: ../Doc/library/http.rst:148 msgid "Indicates that" -msgstr "" +msgstr "Indica que" #: ../Doc/library/http.rst:150 -#, fuzzy msgid "``is_informational``" -msgstr "``NON_AUTHORITATIVE_INFORMATION``" +msgstr "``is_informational``" #: ../Doc/library/http.rst:150 msgid "``100 <= status <= 199``" -msgstr "" +msgstr "``100 <= status <= 199``" #: ../Doc/library/http.rst:150 ../Doc/library/http.rst:151 #: ../Doc/library/http.rst:152 ../Doc/library/http.rst:153 #: ../Doc/library/http.rst:154 -#, fuzzy msgid "HTTP/1.1 :rfc:`7231`, Section 6" -msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.6" +msgstr "HTTP/1.1 :rfc:`7231`, Sección 6" #: ../Doc/library/http.rst:151 -#, fuzzy msgid "``is_success``" -msgstr "``IM_USED``" +msgstr "``is_success``" #: ../Doc/library/http.rst:151 msgid "``200 <= status <= 299``" -msgstr "" +msgstr "``200 <= status <= 299``" #: ../Doc/library/http.rst:152 -#, fuzzy msgid "``is_redirection``" -msgstr "``TEMPORARY_REDIRECT``" +msgstr "``is_redirection``" #: ../Doc/library/http.rst:152 msgid "``300 <= status <= 399``" -msgstr "" +msgstr "``300 <= status <= 399``" #: ../Doc/library/http.rst:153 -#, fuzzy msgid "``is_client_error``" -msgstr "``INSUFFICIENT_STORAGE``" +msgstr "``is_client_error``" #: ../Doc/library/http.rst:153 msgid "``400 <= status <= 499``" -msgstr "" +msgstr "``400 <= status <= 499``" #: ../Doc/library/http.rst:154 -#, fuzzy msgid "``is_server_error``" -msgstr "``INTERNAL_SERVER_ERROR``" +msgstr "``is_server_error``" #: ../Doc/library/http.rst:154 msgid "``500 <= status <= 599``" -msgstr "" +msgstr "``500 <= status <= 599``" #: ../Doc/library/http.rst:169 msgid "" @@ -1051,13 +1047,12 @@ msgstr "HTTP/1.1 :rfc:`5789`" #: ../Doc/library/http.rst:9 msgid "HTTP" -msgstr "" +msgstr "HTTP" #: ../Doc/library/http.rst:9 msgid "protocol" -msgstr "" +msgstr "protocol" #: ../Doc/library/http.rst:9 -#, fuzzy msgid "http (standard module)" -msgstr "Códigos de estado HTTP" +msgstr "http (standard module)" From 2506aa11923e38b9cb8df1dacd798d989a280596 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Fri, 1 Nov 2024 22:04:06 -0400 Subject: [PATCH 38/63] traduccion slice.po (#2861) Closes #2443 --- c-api/slice.po | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/c-api/slice.po b/c-api/slice.po index 55954fbb27..c0ee1294b5 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -66,16 +66,15 @@ msgstr "" "*length* como errores." #: ../Doc/c-api/slice.rst:36 -#, fuzzy msgid "" "Returns ``0`` on success and ``-1`` on error with no exception set (unless " "one of the indices was not ``None`` and failed to be converted to an " "integer, in which case ``-1`` is returned with an exception set)." msgstr "" "Retorna ``0`` en caso de éxito y ``-1`` en caso de error sin excepción " -"establecida (a menos que uno de los índices no sea :const:`None` y no se " -"haya convertido a un entero, en cuyo caso ``- 1`` se retorna con una " -"excepción establecida)." +"establecida (a menos que uno de los índices no sea ``None`` y no se haya " +"convertido a un entero, en cuyo caso ``- 1`` se retorna con una excepción " +"establecida)." #: ../Doc/c-api/slice.rst:40 msgid "You probably do not want to use this function." @@ -187,16 +186,15 @@ msgid "Ellipsis Object" msgstr "Objeto elipsis" #: ../Doc/c-api/slice.rst:121 -#, fuzzy msgid "" "The Python ``Ellipsis`` object. This object has no methods. Like :c:data:" "`Py_None`, it is an `immortal `_. " "singleton object." msgstr "" -"El objeto ``Elipsis`` de Python. Este objeto no tiene métodos. Debe tratarse " -"como cualquier otro objeto con respecto a los recuentos de referencia. Como :" -"c:data:`Py_None` es un objeto singleton." +"El objeto ``Elipsis`` de Python. Este objeto no tiene métodos. Al igual que :" +"c:data:`Py_None`, es un objeto singleton `inmortal `_." #: ../Doc/c-api/slice.rst:125 msgid ":c:data:`Py_Ellipsis` is immortal." -msgstr "" +msgstr ":c:data:`Py_Ellipsis` es inmortal." From 7d376a23015a25da85ffd70e1982979e1a700f06 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Fri, 1 Nov 2024 22:05:40 -0400 Subject: [PATCH 39/63] traduccion tkinter.ttk.po (#2862) Closes #2503 --- library/tkinter.ttk.po | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 880d2ba076..2870136d33 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -186,9 +186,8 @@ msgid "Standard Options" msgstr "Opciones estándar" #: ../Doc/library/tkinter.ttk.rst:105 -#, fuzzy msgid "All the :mod:`ttk` Widgets accept the following options:" -msgstr "Todos los widgets :mod:`ttk` aceptan las siguientes opciones:" +msgstr "Todos los Widgets :mod:`ttk` aceptan las siguientes opciones:" #: ../Doc/library/tkinter.ttk.rst:110 ../Doc/library/tkinter.ttk.rst:145 #: ../Doc/library/tkinter.ttk.rst:171 ../Doc/library/tkinter.ttk.rst:214 @@ -2695,4 +2694,4 @@ msgstr "" #: ../Doc/library/tkinter.ttk.rst:11 msgid "ttk" -msgstr "" +msgstr "ttk" From b65884e1715926ad329364859ea532912236f432 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Sun, 3 Nov 2024 08:18:35 -0400 Subject: [PATCH 40/63] traduccion telnetlib.po (#2864) Closes #2456 --- library/telnetlib.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/library/telnetlib.po b/library/telnetlib.po index 392123cd3d..decef2509e 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-02-05 21:26-0600\n" +"PO-Revision-Date: 2024-11-03 07:56-0400\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/telnetlib.rst:2 msgid ":mod:`telnetlib` --- Telnet client" @@ -70,7 +71,6 @@ msgstr "" "Begin)." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -399,9 +399,8 @@ msgstr "Un ejemplo sencillo que ilustra el uso típico::" #: ../Doc/library/telnetlib.rst:12 msgid "protocol" -msgstr "" +msgstr "protocol" #: ../Doc/library/telnetlib.rst:12 -#, fuzzy msgid "Telnet" -msgstr "Objetos telnet" +msgstr "Telnet" From d4228f40adda95602278b2aea78efc96f5cbfe19 Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Sun, 3 Nov 2024 18:48:49 -0600 Subject: [PATCH 41/63] Traducido archivo library/argparse (#2852) Closes #2535 --------- Co-authored-by: rtobar --- library/argparse.po | 127 ++++++++++++++++++++++---------------------- 1 file changed, 63 insertions(+), 64 deletions(-) diff --git a/library/argparse.po b/library/argparse.po index 6fdaefc907..3e17996612 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-02 10:58-0600\n" +"PO-Revision-Date: 2024-10-30 12:17-0600\n" "Last-Translator: Diego Alberto Barriga Martínez \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/argparse.rst:2 msgid "" @@ -67,7 +68,6 @@ msgid "Core Functionality" msgstr "Funcionalidad principal" #: ../Doc/library/argparse.rst:32 -#, fuzzy msgid "" "The :mod:`argparse` module's support for command-line interfaces is built " "around an instance of :class:`argparse.ArgumentParser`. It is a container " @@ -162,9 +162,8 @@ msgid "Default value used when an argument is not provided" msgstr "Valor por defecto usado cuando un argumento no es proporcionado" #: ../Doc/library/argparse.rst:66 -#, fuzzy msgid "Defaults to ``None``" -msgstr "Por defecto a *None*" +msgstr "Por defecto a ``None``" #: ../Doc/library/argparse.rst:67 msgid "dest_" @@ -203,9 +202,8 @@ msgid "Number of times the argument can be used" msgstr "Número de veces que puede ser usado un argumento" #: ../Doc/library/argparse.rst:70 -#, fuzzy msgid ":class:`int`, ``'?'``, ``'*'``, or ``'+'``" -msgstr ":class:`int`, ``'?'``, ``'*'``, ``'+'``, o ``argparse.REMAINDER``" +msgstr ":class:`int`, ``'?'``, ``'*'``, o ``'+'``" #: ../Doc/library/argparse.rst:71 msgid "required_" @@ -221,7 +219,7 @@ msgstr "``True`` o ``False``" #: ../Doc/library/argparse.rst:72 msgid ":ref:`type `" -msgstr "" +msgstr ":ref:`type `" #: ../Doc/library/argparse.rst:72 msgid "Automatically convert an argument to the given type" @@ -384,18 +382,16 @@ msgstr "" "defecto: generado a partir de los argumentos añadidos al analizador)" #: ../Doc/library/argparse.rst:204 -#, fuzzy msgid "" "description_ - Text to display before the argument help (by default, no text)" msgstr "" -"description_ - Texto a mostrar antes del argumento ayuda (por defecto: " +"description_ - Texto a mostrar antes del argumento ayuda (por defecto, " "ninguno)" #: ../Doc/library/argparse.rst:207 -#, fuzzy msgid "epilog_ - Text to display after the argument help (by default, no text)" msgstr "" -"epilog_ - Texto a mostrar después del argumento ayuda (por defecto: ninguno)" +"epilog_ - Texto a mostrar después del argumento ayuda (por defecto, ninguno)" #: ../Doc/library/argparse.rst:209 msgid "" @@ -791,6 +787,8 @@ msgid "" ":class:`ArgumentParser` uses :term:`filesystem encoding and error handler` " "to read the file containing arguments." msgstr "" +":class:`ArgumentParser` utiliza :term:`codificación del sistema de archivos " +"y manejador de errores` para leer el archivo que contiene argumentos." #: ../Doc/library/argparse.rst:583 msgid "" @@ -809,6 +807,12 @@ msgid "" "error handler`. Arguments file should be encoded in UTF-8 instead of ANSI " "Codepage on Windows." msgstr "" +":class:`ArgumentParser` cambió la codificación y los errores para leer los " +"archivos de argumentos de los valores predeterminados (por ejemplo :func:" +"`locale.getpreferredencoding(False) ` y " +"``\"strict\"``) a :term:`codificación del sistema de archivos y manejador de " +"errores`. El archivo de argumentos debe estar codificado en UTF-8 en lugar " +"de la página de códigos ANSI en Windows." #: ../Doc/library/argparse.rst:594 msgid "argument_default" @@ -1019,9 +1023,8 @@ msgstr "" "type_ - El tipo al que debe convertirse el argumento de la línea de comandos." #: ../Doc/library/argparse.rst:768 -#, fuzzy msgid "choices_ - A sequence of the allowable values for the argument." -msgstr "choices_ - Un contenedor con los valores permitidos para el argumento." +msgstr "choices_ - Una secuencia de valores permitidos para el argumento." #: ../Doc/library/argparse.rst:770 msgid "" @@ -1246,7 +1249,6 @@ msgid "nargs" msgstr "*nargs*" #: ../Doc/library/argparse.rst:963 -#, fuzzy msgid "" "ArgumentParser objects usually associate a single command-line argument with " "a single action to be taken. The ``nargs`` keyword argument associates a " @@ -1256,7 +1258,8 @@ msgstr "" "Los objetos *ArgumentParser* suelen asociar un único argumento de línea de " "comandos con una única acción a realizar. El argumento de palabra clave " "``nargs`` asocia un número diferente de argumentos de línea de comandos con " -"una sola acción. Los valores admitidos son:" +"una única acción. También ver :ref:`specifying-ambiguous-arguments`. Los " +"valores soportados son:" #: ../Doc/library/argparse.rst:968 msgid "" @@ -1525,7 +1528,6 @@ msgstr "" "argumentos." #: ../Doc/library/argparse.rst:1191 -#, fuzzy msgid "" "For example, JSON or YAML conversions have complex error cases that require " "better reporting than can be given by the ``type`` keyword. A :exc:`~json." @@ -1535,7 +1537,7 @@ msgstr "" "Por ejemplo, las conversiones JSON o YAML tienen casos de error complejos " "que requieren mejores informes que los que puede proporcionar la palabra " "clave ``type``. Un :exc:`~json.JSONDecodeError` no estaría bien formateado y " -"una excepción :exc:`FileNotFound` no se manejaría en absoluto." +"un :exc:`FileNotFoundError` no se manejaría en absoluto." #: ../Doc/library/argparse.rst:1196 msgid "" @@ -1565,7 +1567,6 @@ msgid "choices" msgstr "*choices*" #: ../Doc/library/argparse.rst:1211 -#, fuzzy msgid "" "Some command-line arguments should be selected from a restricted set of " "values. These can be handled by passing a sequence object as the *choices* " @@ -1575,32 +1576,30 @@ msgid "" msgstr "" "Algunos argumentos de la línea de comandos deberían seleccionarse de un " "conjunto restringido de valores. Estos pueden ser manejados pasando un " -"objeto contenedor como el argumento de palabra clave *choices* a :meth:" +"objeto de secuencia como el argumento de palabra clave *choices* a :meth:" "`~ArgumentParser.add_argument`. Cuando se analiza la línea de comandos, se " "comprueban los valores de los argumentos y se muestra un mensaje de error si " "el argumento no era uno de los valores aceptables::" #: ../Doc/library/argparse.rst:1226 -#, fuzzy msgid "" "Note that inclusion in the *choices* sequence is checked after any type_ " "conversions have been performed, so the type of the objects in the *choices* " "sequence should match the type_ specified::" msgstr "" -"Ten en cuenta que la inclusión en el contenedor *choices* se comprueba " +"Tomar en cuenta que la inclusión en la secuencia *choices* se comprueba " "después de que se haya realizado cualquier conversión de type_, por lo que " -"el tipo de los objetos del contenedor *choices* debe coincidir con el type_ " +"el tipo de los objetos en la secuencia *choices* debe coincidir con el type_ " "especificado::" #: ../Doc/library/argparse.rst:1238 -#, fuzzy msgid "" "Any sequence can be passed as the *choices* value, so :class:`list` " "objects, :class:`tuple` objects, and custom sequences are all supported." msgstr "" -"Se puede pasar cualquier contenedor como el valor para *choices*, así que " -"los objetos :class:`list`, :class:`set` , y los contenedores personalizados " -"están todos soportados." +"Se puede pasar cualquier secuencia como el valor para *choices*, así que los " +"objetos :class:`list`, :class:`tuple` , y las secuencias personalizadas " +"están soportados." #: ../Doc/library/argparse.rst:1241 msgid "" @@ -1696,8 +1695,9 @@ msgid "" "As the help string supports %-formatting, if you want a literal ``%`` to " "appear in the help string, you must escape it as ``%%``." msgstr "" -"Como la cadena de caracteres de ayuda soporta el formato-%, si quieres que " -"aparezca un ``%`` literal en la ayuda, debes escribirlo como ``%%``." +"Como la cadena de caracteres de ayuda soporta el formato-%, si se quiere que " +"aparezca un ``%`` literal en la cadena de caracteres de ayuda, se debe " +"escribir como ``%%``." #: ../Doc/library/argparse.rst:1323 msgid "" @@ -1807,7 +1807,6 @@ msgid "Action classes" msgstr "Las clases *Action*" #: ../Doc/library/argparse.rst:1445 -#, fuzzy msgid "" "Action classes implement the Action API, a callable which returns a callable " "which processes arguments from the command-line. Any object which follows " @@ -1816,8 +1815,8 @@ msgid "" msgstr "" "Las clases *Action* implementan la API de *Action*, un invocable que retorna " "un invocable que procesa los argumentos de la línea de comandos. Cualquier " -"objeto que siga esta API puede ser pasado como el parámetro ``action`` a :" -"meth:`add_argument`." +"objeto que siga esta API se puede pasar como el parámetro ``action`` a :meth:" +"`~ArgumentParser.add_argument`." #: ../Doc/library/argparse.rst:1454 msgid "" @@ -2045,6 +2044,8 @@ msgid "" "See also :ref:`the argparse howto on ambiguous arguments ` for more details." msgstr "" +"También ver :ref:`la guía de argparse sobre cómo manejar argumentos ambiguos " +"` para más detalles." #: ../Doc/library/argparse.rst:1630 msgid "Argument abbreviations (prefix matching)" @@ -2128,7 +2129,6 @@ msgid "Sub-commands" msgstr "Sub-comandos" #: ../Doc/library/argparse.rst:1718 -#, fuzzy msgid "" "Many programs split up their functionality into a number of sub-commands, " "for example, the ``svn`` program can invoke sub-commands like ``svn " @@ -2152,7 +2152,7 @@ msgstr "" "creación de tales sub-comandos con el método :meth:`add_subparsers`. El " "método :meth:`add_subparsers` se llama normalmente sin argumentos y retorna " "un objeto de acción especial. Este objeto tiene un único método, :meth:" -"`~ArgumentParser.add_parser`, que toma un nombre de comando y cualquier " +"`~_SubParsersAction.add_parser`, que toma un nombre de comando y cualquier " "argumento de construcción :class:`ArgumentParser`, y retorna un objeto :" "class:`ArgumentParser` que puede ser modificado de la forma habitual." @@ -2258,7 +2258,6 @@ msgstr "" "``baz``." #: ../Doc/library/argparse.rst:1788 -#, fuzzy msgid "" "Similarly, when a help message is requested from a subparser, only the help " "for that particular parser will be printed. The help message will not " @@ -2271,7 +2270,8 @@ msgstr "" "mensaje de ayuda no incluirá mensajes del analizador principal o de " "analizadores relacionados. (Sin embargo, se puede dar un mensaje de ayuda " "para cada comando del analizador secundario suministrando el argumento " -"``help=`` a :meth:`add_parser` como se ha indicado anteriormente)." +"``help=`` a :meth:`~_SubParsersAction.add_parser` como se ha indicado " +"anteriormente)." #: ../Doc/library/argparse.rst:1824 msgid "" @@ -2348,15 +2348,14 @@ msgstr "" "`open` para más detalles)::" #: ../Doc/library/argparse.rst:1930 -#, fuzzy msgid "" "FileType objects understand the pseudo-argument ``'-'`` and automatically " "convert this into :data:`sys.stdin` for readable :class:`FileType` objects " "and :data:`sys.stdout` for writable :class:`FileType` objects::" msgstr "" "Los objetos *FileType* entienden el pseudo-argumento ``'-'`` y lo convierten " -"automáticamente en ``sys.stdin`` para objetos de lectura :class:`FileType` y " -"``sys.stdout`` para objetos de escritura :class:`FileType`::" +"automáticamente en :data:`sys.stdin` para objetos de lectura :class:" +"`FileType` y :data:`sys.stdout` para objetos de escritura :class:`FileType`::" #: ../Doc/library/argparse.rst:1939 msgid "The *encodings* and *errors* keyword arguments." @@ -2367,7 +2366,6 @@ msgid "Argument groups" msgstr "Grupos de argumentos" #: ../Doc/library/argparse.rst:1948 -#, fuzzy msgid "" "By default, :class:`ArgumentParser` groups command-line arguments into " "\"positional arguments\" and \"options\" when displaying help messages. When " @@ -2376,10 +2374,10 @@ msgid "" "method::" msgstr "" "Por defecto, :class:`ArgumentParser` agrupa los argumentos de la línea de " -"comandos en \"argumentos de posición\" y \"argumentos opcionales\" al " -"mostrar los mensajes de ayuda. Cuando hay una mejor agrupación conceptual de " -"argumentos que esta predeterminada, se pueden crear grupos apropiados usando " -"el método :meth:`add_argument_group`::" +"comandos en \"argumentos de posición\" y \"opciones\" al mostrar los " +"mensajes de ayuda. Cuando hay una mejor agrupación conceptual de argumentos " +"que esta predeterminada, se pueden crear grupos apropiados usando el método :" +"meth:`add_argument_group`::" #: ../Doc/library/argparse.rst:1965 msgid "" @@ -2445,16 +2443,17 @@ msgstr "" "mutuamente exclusivos::" #: ../Doc/library/argparse.rst:2034 -#, fuzzy msgid "" "Note that currently mutually exclusive argument groups do not support the " "*title* and *description* arguments of :meth:`~ArgumentParser." "add_argument_group`. However, a mutually exclusive group can be added to an " "argument group that has a title and description. For example::" msgstr "" -"Ten en cuenta que actualmente los grupos de argumentos mutuamente exclusivos " -"no admiten los argumentos *title* y *description* de :meth:`~ArgumentParser." -"add_argument_group`." +"Tomar en cuenta que actualmente los grupos de argumentos mutuamente " +"exclusivos no admiten los argumentos *title* y *description* de :meth:" +"`~ArgumentParser.add_argument_group`. Sin embargo, se puede agregar un grupo " +"mutuamente exclusivo a un grupo de argumentos que tenga un título y una " +"descripción. Por ejemplo::" #: ../Doc/library/argparse.rst:2057 msgid "" @@ -2595,7 +2594,6 @@ msgstr "" "argumentos de cadena de caracteres restantes." #: ../Doc/library/argparse.rst:2159 -#, fuzzy msgid "" ":ref:`Prefix matching ` rules apply to :meth:" "`~ArgumentParser.parse_known_args`. The parser may consume an option even if " @@ -2603,9 +2601,9 @@ msgid "" "remaining arguments list." msgstr "" ":ref:`Coincidencia de prefijos ` las reglas se aplican a :" -"meth:`parse_known_args`. El analizador puede consumir una opción aunque sea " -"sólo un prefijo de una de sus opciones conocidas, en lugar de dejarla en la " -"lista de argumentos restantes." +"meth:`~ArgumentParser.parse_known_args`. El analizador puede consumir una " +"opción aunque sea sólo un prefijo de una de sus opciones conocidas, en lugar " +"de dejarla en la lista de argumentos restantes." #: ../Doc/library/argparse.rst:2166 msgid "Customizing file parsing" @@ -2682,7 +2680,6 @@ msgstr "" "soportan este modo de análisis." #: ../Doc/library/argparse.rst:2219 -#, fuzzy msgid "" "These parsers do not support all the argparse features, and will raise " "exceptions if unsupported features are used. In particular, subparsers, and " @@ -2691,9 +2688,8 @@ msgid "" msgstr "" "Estos analizadores no soportan todas las capacidades de *argparse*, y " "generarán excepciones si se utilizan capacidades no soportadas. En " -"particular, los analizadores secundarios, ``argparse.REMAINDER``, y los " -"grupos mutuamente exclusivos que incluyen tanto opcionales como de posición " -"no están soportados." +"particular, los analizadores secundarios y los grupos mutuamente exclusivos " +"que incluyen tanto opcionales como de posición no están soportados." #: ../Doc/library/argparse.rst:2224 msgid "" @@ -2860,41 +2856,44 @@ msgstr "" "version>')``." #: ../Doc/library/argparse.rst:2300 -#, fuzzy msgid "Exceptions" -msgstr "*description*" +msgstr "Excepciones" #: ../Doc/library/argparse.rst:2304 msgid "An error from creating or using an argument (optional or positional)." -msgstr "" +msgstr "Un error al crear o usar un argumento (opcional o posicional)." #: ../Doc/library/argparse.rst:2306 msgid "" "The string value of this exception is the message, augmented with " "information about the argument that caused it." msgstr "" +"El valor de la cadena de caracteres de esta excepción es el mensaje, " +"ampliado con información sobre el argumento que lo causó." #: ../Doc/library/argparse.rst:2311 msgid "" "Raised when something goes wrong converting a command line string to a type." msgstr "" +"Se lanza cuando algo sale mal al convertir una cadena de caracteres de la " +"línea de comandos a un tipo." #: ../Doc/library/argparse.rst:980 msgid "? (question mark)" -msgstr "" +msgstr "? (signo de interrogación)" #: ../Doc/library/argparse.rst:980 ../Doc/library/argparse.rst:1014 #: ../Doc/library/argparse.rst:1028 msgid "in argparse module" -msgstr "" +msgstr "en el módulo argparse" #: ../Doc/library/argparse.rst:1014 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../Doc/library/argparse.rst:1028 msgid "+ (plus)" -msgstr "" +msgstr "+ (más)" #~ msgid "type_" #~ msgstr "type_" From 49689c3ce56bb62e1170286010d1f226a3ff0815 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Tue, 5 Nov 2024 01:25:04 -0500 Subject: [PATCH 42/63] =?UTF-8?q?Terminar=20con=20la=20traducci=C3=B3n=20d?= =?UTF-8?q?e=20contextlib.po=20(#2863)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #2469 --------- Co-authored-by: rtobar --- library/contextlib.po | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/library/contextlib.po b/library/contextlib.po index f6fd45f405..358bca436b 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -354,12 +354,18 @@ msgid "" "exceptions in the group are not suppressed, a group containing them is re-" "raised." msgstr "" +"Si el código dentro del bloque de :keyword:`!with` lanza una :exc:" +"`ExceptionGroup`, las excepciones suprimidas son retiradas del grupo. Si " +"algunas excepciones en el grupo no están suprimidas, un grupo que las " +"contiene se lanza." #: ../Doc/library/contextlib.rst:313 msgid "" "``suppress`` now supports suppressing exceptions raised as part of an :exc:" "`ExceptionGroup`." msgstr "" +"Ahora ``supress`` admite suprimir excepciones lanzadas como parte de un :exc:" +"`ExceptionGroup`." #: ../Doc/library/contextlib.rst:319 msgid "" From 9e127b6f9726c7ff9c5baf540b9c5d2dd5b8e0a9 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Wed, 6 Nov 2024 02:54:25 +0100 Subject: [PATCH 43/63] Traduccion library/exceptions.po (#2849) Closes #2556 --- library/exceptions.po | 157 ++++++++++++++++++++---------------------- 1 file changed, 74 insertions(+), 83 deletions(-) diff --git a/library/exceptions.po b/library/exceptions.po index 0978ca3396..b3f7a41022 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-30 21:19-0300\n" -"Last-Translator: Marco Richetta \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-05 23:29+0100\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/exceptions.rst:4 msgid "Built-in Exceptions" @@ -391,15 +392,16 @@ msgid "" "The optional *name* and *path* keyword-only arguments set the corresponding " "attributes:" msgstr "" +"Los argumentos opcionales *name* y *path* de solo palabras clave establecen " +"los atributos correspondientes:" #: ../Doc/library/exceptions.rst:228 -#, fuzzy msgid "The name of the module that was attempted to be imported." -msgstr "El nombre de la codificación que provocó el error." +msgstr "El nombre del módulo que se intentó importar." #: ../Doc/library/exceptions.rst:232 msgid "The path to any file which triggered the exception." -msgstr "" +msgstr "La ruta a cualquier archivo que provocó la excepción." #: ../Doc/library/exceptions.rst:234 msgid "Added the :attr:`name` and :attr:`path` attributes." @@ -499,8 +501,8 @@ msgid "" "attempted to be accessed." msgstr "" "El atributo :attr:`name` se puede establecer utilizando un argumento de solo " -"palabra clave para el constructor. Cuando se establece, representa el nombre " -"de la variable a la que se intentó acceder." +"palabras clave para el constructor. Cuando se establece, representa el " +"nombre de la variable a la que se intentó acceder." #: ../Doc/library/exceptions.rst:301 msgid "Added the :attr:`name` attribute." @@ -768,13 +770,12 @@ msgstr "" "generado en un generador se transforma en :exc:`RuntimeError`." #: ../Doc/library/exceptions.rst:459 -#, fuzzy msgid "" "Must be raised by :meth:`~object.__anext__` method of an :term:`asynchronous " "iterator` object to stop the iteration." msgstr "" -"Se debe lanzar mediante :meth:`__anext__` de un objeto :term:`asynchronous " -"iterator` para detener la iteración." +"Se debe lanzar mediante el método :meth:`~object.__anext__` de un objeto :" +"term:`asynchronous iterator` para detener la iteración." #: ../Doc/library/exceptions.rst:466 msgid "" @@ -1094,17 +1095,16 @@ msgstr "" "el código de error del sistema." #: ../Doc/library/exceptions.rst:666 -#, fuzzy msgid "" "Raised when an operation would block on an object (e.g. socket) set for non-" "blocking operation. Corresponds to :c:data:`errno` :py:const:`~errno." "EAGAIN`, :py:const:`~errno.EALREADY`, :py:const:`~errno.EWOULDBLOCK` and :py:" "const:`~errno.EINPROGRESS`." msgstr "" -"Se lanza cuando una operación se bloquearía en un objeto (ejemplo: socket) " +"Se lanza cuando una operación se bloquearía en un objeto (ejemplo: *socket*) " "configurado para una operación no bloqueante. Corresponde a :c:data:`errno` :" -"py:data:`~errno.EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno." -"EWOULDBLOCK` y :py:data:`~errno.EINPROGRESS`." +"py:const:`~errno.EAGAIN`, :py:const:`~errno.EALREADY`, :py:const:`~errno." +"EWOULDBLOCK` y :py:const:`~errno.EINPROGRESS`." #: ../Doc/library/exceptions.rst:671 msgid "" @@ -1125,13 +1125,12 @@ msgstr "" "las clases de E/S almacenadas en el modulo :mod:`io`." #: ../Doc/library/exceptions.rst:682 -#, fuzzy msgid "" "Raised when an operation on a child process failed. Corresponds to :c:data:" "`errno` :py:const:`~errno.ECHILD`." msgstr "" -"Se genera cuando falla una operación en un proceso secundario. Corresponde " -"a :c:data:`errno` :py:data:`~errno.ECHILD`." +"Se lanza cuando falla una operación en un proceso secundario. Corresponde a :" +"c:data:`errno` :py:const:`~errno.ECHILD`." #: ../Doc/library/exceptions.rst:687 msgid "A base class for connection-related issues." @@ -1146,76 +1145,70 @@ msgstr "" "exc:`ConnectionRefusedError` y :exc:`ConnectionResetError`." #: ../Doc/library/exceptions.rst:694 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe " "while the other end has been closed, or trying to write on a socket which " "has been shutdown for writing. Corresponds to :c:data:`errno` :py:const:" "`~errno.EPIPE` and :py:const:`~errno.ESHUTDOWN`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando se intenta " +"Una subclase de :exc:`ConnectionError`, que se lanza cuando se intenta " "escribir en una tubería mientras el otro extremo se ha cerrado, o cuando se " -"intenta escribir en un *socket* que se ha cerrado por escritura. Corresponde " -"a :c:data:`errno` :py:data:`~errno.EPIPE` y :py:data:`~errno.ESHUTDOWN`." +"intenta escribir en un *socket* que se ha cerrado para escritura. " +"Corresponde a :c:data:`errno` :py:const:`~errno.EPIPE` y :py:const:`~errno." +"ESHUTDOWN`." #: ../Doc/library/exceptions.rst:701 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " "aborted by the peer. Corresponds to :c:data:`errno` :py:const:`~errno." "ECONNABORTED`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando el par " -"interrumpe un intento de conexión. Corresponde a :c:data:`errno` :py:data:" -"`~errno.ECONNABORTED`." +"Una subclase de :exc:`ConnectionError`, que se lanza cuando el par aborta un " +"intento de conexión. Corresponde a :c:data:`errno` :py:const:`~errno." +"ECONNABORTED`." #: ../Doc/library/exceptions.rst:707 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " "refused by the peer. Corresponds to :c:data:`errno` :py:const:`~errno." "ECONNREFUSED`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando el par " -"interrumpe un intento de conexión. Corresponde a :c:data:`errno` :py:data:" -"`~errno.ECONNREFUSED`." +"Una subclase de :exc:`ConnectionError`, que se lanza cuando el par rechaza " +"un intento de conexión. Corresponde a :c:data:`errno` :py:const:`~errno." +"ECONNREFUSED`." #: ../Doc/library/exceptions.rst:713 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection is reset by " "the peer. Corresponds to :c:data:`errno` :py:const:`~errno.ECONNRESET`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando el par " -"restablece una conexión. Corresponde a :c:data:`errno` :py:data:`~errno." +"Una subclase de :exc:`ConnectionError`, que se lanza cuando el par " +"restablece una conexión. Corresponde a :c:data:`errno` :py:const:`~errno." "ECONNRESET`." #: ../Doc/library/exceptions.rst:719 -#, fuzzy msgid "" "Raised when trying to create a file or directory which already exists. " "Corresponds to :c:data:`errno` :py:const:`~errno.EEXIST`." msgstr "" -"Se genera al intentar crear un archivo o directorio que ya existe. " -"Corresponde a :c:data:`errno` :py:data:`~errno.EEXIST`." +"Se lanza al intentar crear un archivo o directorio que ya existe. " +"Corresponde a :c:data:`errno` :py:const:`~errno.EEXIST`." #: ../Doc/library/exceptions.rst:724 -#, fuzzy msgid "" "Raised when a file or directory is requested but doesn't exist. Corresponds " "to :c:data:`errno` :py:const:`~errno.ENOENT`." msgstr "" -"Se genera cuando se solicita un archivo o directorio pero no existe. " -"Corresponde a :c:data:`errno` :py:data:`~errno.ENOENT`." +"Se lanza cuando se solicita un archivo o directorio pero no existe. " +"Corresponde a :c:data:`errno` :py:const:`~errno.ENOENT`." #: ../Doc/library/exceptions.rst:729 -#, fuzzy msgid "" "Raised when a system call is interrupted by an incoming signal. Corresponds " "to :c:data:`errno` :py:const:`~errno.EINTR`." msgstr "" -"Se genera cuando una llamada entrante interrumpe una llamada del sistema. " -"Corresponde a :c:data:`errno` :py:data:`~errno.EINTR`." +"Se lanza cuando una señal entrante interrumpe una llamada del sistema. " +"Corresponde a :c:data:`errno` :py:const:`~errno.EINTR`." #: ../Doc/library/exceptions.rst:732 msgid "" @@ -1229,17 +1222,15 @@ msgstr "" "`InterruptedError`." #: ../Doc/library/exceptions.rst:739 -#, fuzzy msgid "" "Raised when a file operation (such as :func:`os.remove`) is requested on a " "directory. Corresponds to :c:data:`errno` :py:const:`~errno.EISDIR`." msgstr "" -"Se genera cuando se solicita una operación de archivo (como :func:`os." -"remove`) en un directorio. Corresponde a: :c:data:`errno` :py:data:`~errno." +"Se lanza cuando se solicita una operación de archivo (como :func:`os." +"remove`) en un directorio. Corresponde a :c:data:`errno` :py:const:`~errno." "EISDIR`." #: ../Doc/library/exceptions.rst:745 -#, fuzzy msgid "" "Raised when a directory operation (such as :func:`os.listdir`) is requested " "on something which is not a directory. On most POSIX platforms, it may also " @@ -1247,50 +1238,48 @@ msgid "" "as if it were a directory. Corresponds to :c:data:`errno` :py:const:`~errno." "ENOTDIR`." msgstr "" -"Se genera cuando se solicita una operación de directorio (como :func:`os." +"Se lanza cuando se solicita una operación de directorio (como :func:`os." "listdir`) en algo que no es un directorio. En la mayoría de las plataformas " "POSIX, también se puede lanzar si una operación intenta abrir o recorrer un " "archivo que no es de directorio como si fuera un directorio. Corresponde a :" -"c:data:`errno` :py:data:`~errno.ENOTDIR`." +"c:data:`errno` :py:const:`~errno.ENOTDIR`." #: ../Doc/library/exceptions.rst:753 -#, fuzzy msgid "" "Raised when trying to run an operation without the adequate access rights - " "for example filesystem permissions. Corresponds to :c:data:`errno` :py:const:" "`~errno.EACCES`, :py:const:`~errno.EPERM`, and :py:const:`~errno." "ENOTCAPABLE`." msgstr "" -"Se genera cuando se intenta ejecutar una operación sin los permisos de " -"acceso adecuados - por ejemplo permisos del sistema de archivos. Corresponde " -"a :c:data:`errno` :py:data:`~errno.EACCES`, :py:data:`~errno.EPERM`, y :py:" -"data:`~errno.ENOTCAPABLE`." +"Se lanza cuando se intenta ejecutar una operación sin los permisos de acceso " +"adecuados, por ejemplo permisos del sistema de archivos. Corresponde a :c:" +"data:`errno` :py:const:`~errno.EACCES`, :py:const:`~errno.EPERM` y :py:const:" +"`~errno.ENOTCAPABLE`." #: ../Doc/library/exceptions.rst:758 -#, fuzzy msgid "" "WASI's :py:const:`~errno.ENOTCAPABLE` is now mapped to :exc:" "`PermissionError`." msgstr "" -"WASI's :py:data:`~errno.ENOTCAPABLE` ahora se mapea a :exc:`PermissionError`." +"El error :py:const:`~errno.ENOTCAPABLE` de WASI ahora se mapea a :exc:" +"`PermissionError`." #: ../Doc/library/exceptions.rst:764 -#, fuzzy msgid "" "Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :" "py:const:`~errno.ESRCH`." msgstr "" -"Generado cuando un proceso dado no existe. Corresponde a :c:data:`errno` :py:" -"data:`~errno.ESRCH`." +"Se lanza cuando un proceso dado no existe. Corresponde a :c:data:`errno` :py:" +"const:`~errno.ESRCH`." #: ../Doc/library/exceptions.rst:769 -#, fuzzy msgid "" "Raised when a system function timed out at the system level. Corresponds to :" "c:data:`errno` :py:const:`~errno.ETIMEDOUT`." msgstr "" -"Se genera cuando se agota el tiempo de espera de una función del sistema a " -"nivel del sistema. Corresponde a :c:data:`errno` :py:data:`~errno.ETIMEDOUT`." +"Se lanza cuando se agota el tiempo de espera de una función del sistema a " +"nivel del sistema. Corresponde a :c:data:`errno` :py:const:`~errno." +"ETIMEDOUT`." #: ../Doc/library/exceptions.rst:772 msgid "All the above :exc:`OSError` subclasses were added." @@ -1540,17 +1529,14 @@ msgstr "" "coincide." #: ../Doc/library/exceptions.rst:945 -#, fuzzy msgid "" "Returns an exception group with the same :attr:`message`, but which wraps " "the exceptions in ``excs``." msgstr "" -"Retorna un grupo de excepción con los mismos :attr:`message`, :attr:" -"`__traceback__`, :attr:`__cause__`, :attr:`__context__` y :attr:`__notes__` " -"pero que envuelve las excepciones en ``excs``." +"Retorna un grupo de excepción con los mismos :attr:`message`, pero que " +"envuelve las excepciones en ``excs``." #: ../Doc/library/exceptions.rst:948 -#, fuzzy msgid "" "This method is used by :meth:`subgroup` and :meth:`split`. A subclass needs " "to override it in order to make :meth:`subgroup` and :meth:`split` return " @@ -1558,7 +1544,7 @@ msgid "" msgstr "" "Este método es usado por :meth:`subgroup` y :meth:`split`. Se necesita una " "subclase que lo sobrescriba para que :meth:`subgroup` y :meth:`split` " -"retornan instancias de la subclase en lugar de :exc:`ExceptionGroup`. ::" +"retornan instancias de la subclase en lugar de :exc:`ExceptionGroup`." #: ../Doc/library/exceptions.rst:953 msgid "" @@ -1567,9 +1553,12 @@ msgid "" "original exception group to the one returned by :meth:`derive`, so these " "fields do not need to be updated by :meth:`derive`. ::" msgstr "" +":meth:`subgroup` y :meth:`split` copian los campos :attr:`__traceback__`, :" +"attr:`__cause__`, :attr:`__context__` y :attr:`__notes__` del grupo de " +"excepción original al devuelto por :meth:`derive`, por lo que estos campos " +"no necesitan ser actualizados por :meth:`derive`. ::" #: ../Doc/library/exceptions.rst:982 -#, fuzzy msgid "" "Note that :exc:`BaseExceptionGroup` defines :meth:`__new__`, so subclasses " "that need a different constructor signature need to override that rather " @@ -1577,11 +1566,11 @@ msgid "" "subclass which accepts an exit_code and and constructs the group's message " "from it. ::" msgstr "" -"Nota que :exc:`BaseExceptionGroup` define :meth:`__new__`, por lo que las " -"subclases que necesiten una firma de constructor diferente deben " -"sobrescribir ese método en lugar de :`__init__`. Por ejemplo, lo siguiente " -"define una subclase de grupo de excepción que acepta un *exit_code* y " -"construye el mensaje del grupo a partir del mismo. ::" +"Tenga en cuenta que :exc:`BaseExceptionGroup` define :meth:`__new__`, por lo " +"que las subclases que necesiten una firma de constructor diferente deben " +"sobrescribir ese método en lugar de :meth:`__init__`. Por ejemplo, a " +"continuación se define una subclase de grupo de excepción que acepta un " +"*exit_code* y construye el mensaje del grupo a partir del mismo. ::" #: ../Doc/library/exceptions.rst:997 msgid "" @@ -1589,6 +1578,9 @@ msgid "" "is also a subclass of :exc:`Exception` can only wrap instances of :exc:" "`Exception`." msgstr "" +"Al igual que :exc:`ExceptionGroup`, cualquier subclase de :exc:" +"`BaseExceptionGroup` que también es una subclase de :exc:`Exception` sólo " +"puede envolver instancias de :exc:`Exception`." #: ../Doc/library/exceptions.rst:1005 msgid "Exception hierarchy" @@ -1601,32 +1593,31 @@ msgstr "La jerarquía de clases para las excepciones incorporadas es:" #: ../Doc/library/exceptions.rst:6 ../Doc/library/exceptions.rst:17 #: ../Doc/library/exceptions.rst:178 msgid "statement" -msgstr "" +msgstr "statement" #: ../Doc/library/exceptions.rst:6 msgid "try" -msgstr "" +msgstr "try" #: ../Doc/library/exceptions.rst:6 -#, fuzzy msgid "except" -msgstr "Excepciones del sistema operativo" +msgstr "except" #: ../Doc/library/exceptions.rst:17 msgid "raise" -msgstr "" +msgstr "raise" #: ../Doc/library/exceptions.rst:178 msgid "assert" -msgstr "" +msgstr "assert" #: ../Doc/library/exceptions.rst:327 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/library/exceptions.rst:327 msgid "errno" -msgstr "" +msgstr "errno" #~ msgid "" #~ "The :attr:`name` and :attr:`path` attributes can be set using keyword-" @@ -1635,7 +1626,7 @@ msgstr "" #~ "which triggered the exception, respectively." #~ msgstr "" #~ "Los atributos :attr:`name` y :attr:`path` solo se pueden establecer " -#~ "utilizando argumentos de palabra clave en el constructor. Cuando se " +#~ "utilizando argumentos de solo palabras clave en el constructor. Cuando se " #~ "establece, representan el nombre del módulo que se intentó importar y la " #~ "ruta de acceso a cualquier archivo que desencadenó la excepción, " #~ "respectivamente." From c8fc245a732c2928bdd581c328f537e2a657ee01 Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Tue, 5 Nov 2024 22:05:35 -0400 Subject: [PATCH 44/63] traduccion cmd.po (#2865) Closes #2461 --- library/cmd.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/library/cmd.po b/library/cmd.po index a306a1e078..3389573c29 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-01 18:18-0300\n" +"PO-Revision-Date: 2024-11-03 15:05-0400\n" "Last-Translator: Alfonso Areiza Guerra \n" -"Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/cmd.rst:2 msgid ":mod:`cmd` --- Support for line-oriented command interpreters" @@ -457,12 +458,12 @@ msgstr "" #: ../Doc/library/cmd.rst:64 msgid "? (question mark)" -msgstr "" +msgstr "? (signo de interrogación)" #: ../Doc/library/cmd.rst:64 msgid "in a command interpreter" -msgstr "" +msgstr "en un intérprete de comandos" #: ../Doc/library/cmd.rst:64 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamación)" From 0b87c8df04573a9a62217815fa6c4039dedc276f Mon Sep 17 00:00:00 2001 From: Joseph Salgado <49181840+xooseph@users.noreply.github.com> Date: Tue, 5 Nov 2024 22:32:42 -0600 Subject: [PATCH 45/63] Traducido archivo library/pathlib (#2848) Closes #2524 --------- Co-authored-by: rtobar --- dictionaries/library_pathlib.txt | 1 + library/pathlib.po | 196 ++++++++++++++++++++++--------- 2 files changed, 139 insertions(+), 58 deletions(-) create mode 100644 dictionaries/library_pathlib.txt diff --git a/dictionaries/library_pathlib.txt b/dictionaries/library_pathlib.txt new file mode 100644 index 0000000000..82d64c5efe --- /dev/null +++ b/dictionaries/library_pathlib.txt @@ -0,0 +1 @@ +tripletas diff --git a/library/pathlib.po b/library/pathlib.po index 9a48ba2548..9582d9f670 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-12-16 21:29-0300\n" +"PO-Revision-Date: 2024-10-29 13:06-0600\n" "Last-Translator: Carlos A. Crespo \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/pathlib.rst:3 msgid ":mod:`pathlib` --- Object-oriented filesystem paths" @@ -145,7 +146,6 @@ msgstr "" "una instancia se crea :class:`PurePosixPath` o :class:`PureWindowsPath`)::" #: ../Doc/library/pathlib.rst:108 -#, fuzzy msgid "" "Each element of *pathsegments* can be either a string representing a path " "segment, or an object implementing the :class:`os.PathLike` interface where " @@ -153,8 +153,9 @@ msgid "" "path object::" msgstr "" "Cada elemento de *pathsegments* puede ser una cadena que representa un " -"segmento de ruta, un objeto que implemente la interfaz :class:`os.PathLike` " -"la cual retorna una cadena o bien otro objeto ruta::" +"segmento de ruta o un objeto que implemente la interfaz :class:`os.PathLike` " +"donde el método :meth:`~os.PathLike.__fspath__` retorna una cadena como otro " +"objeto de ruta::" #: ../Doc/library/pathlib.rst:118 msgid "When *pathsegments* is empty, the current directory is assumed::" @@ -165,12 +166,16 @@ msgid "" "If a segment is an absolute path, all previous segments are ignored (like :" "func:`os.path.join`)::" msgstr "" +"Si un segmento es una ruta absoluta, se ignoran todos los segmentos " +"anteriores (como :func:`os.path.join`)::" #: ../Doc/library/pathlib.rst:131 msgid "" "On Windows, the drive is not reset when a rooted relative path segment (e." "g., ``r'\\foo'``) is encountered::" msgstr "" +"En Windows, la unidad no se restablece cuando se encuentra un segmento de " +"ruta relativa en la raíz (por ejemplo, ``r'\\foo'``)::" #: ../Doc/library/pathlib.rst:137 msgid "" @@ -241,15 +246,14 @@ msgid "General properties" msgstr "Propiedades generales" #: ../Doc/library/pathlib.rst:191 -#, fuzzy msgid "" "Paths are immutable and :term:`hashable`. Paths of a same flavour are " "comparable and orderable. These properties respect the flavour's case-" "folding semantics::" msgstr "" -"Las rutas son inmutables y hashables. Las rutas de una misma familia son " -"comparables y ordenables. Estas propiedades respetan el orden lexicográfico " -"definido por la familia::" +"Las rutas son inmutables y :term:`hashable`. Las rutas de una misma familia " +"son comparables y ordenables. Estas propiedades respetan el orden " +"lexicográfico definido por la familia::" #: ../Doc/library/pathlib.rst:204 msgid "Paths of a different flavour compare unequal and cannot be ordered::" @@ -266,6 +270,10 @@ msgid "" "the drive is not reset when the argument is a rooted relative path (e.g., " "``r'\\foo'``)::" msgstr "" +"El operador de barra inclinada ayuda a crear rutas hijas, como :func:`os." +"path.join`. Si el argumento es una ruta absoluta, se ignora la ruta " +"anterior. En Windows, la unidad no se restablece cuando el argumento es una " +"ruta relativa en la raíz (por ejemplo, ``r'\\foo'``)::" #: ../Doc/library/pathlib.rst:235 msgid "" @@ -474,6 +482,8 @@ msgid "" "Passing additional arguments is deprecated; if supplied, they are joined " "with *other*." msgstr "" +"Está obsoleto pasar argumentos adicionales; si se suministran, se juntan con " +"*other*." #: ../Doc/library/pathlib.rst:521 msgid "" @@ -494,13 +504,12 @@ msgstr "" "inesperadamente o tener efectos no deseados." #: ../Doc/library/pathlib.rst:536 -#, fuzzy msgid "" "Calling this method is equivalent to combining the path with each of the " "given *pathsegments* in turn::" msgstr "" "Llamar a este método es equivalente a combinar la ruta con cada uno de los " -"*other* argumentos::" +"*pathsegments* dados sucesivamente::" #: ../Doc/library/pathlib.rst:551 msgid "" @@ -531,6 +540,8 @@ msgid "" "The *pattern* may be another path object; this speeds up matching the same " "pattern against multiple files::" msgstr "" +"El *pattern* puede ser otro objeto de ruta; esto acelera la coincidencia del " +"mismo patrón con varios archivos::" #: ../Doc/library/pathlib.rst:579 msgid "As with other methods, case-sensitivity follows platform defaults::" @@ -542,21 +553,21 @@ msgstr "" msgid "" "Set *case_sensitive* to ``True`` or ``False`` to override this behaviour." msgstr "" +"Establece *case_sensitive* en ``True`` o ``False`` para invalidar este " +"comportamiento." #: ../Doc/library/pathlib.rst:588 ../Doc/library/pathlib.rst:931 #: ../Doc/library/pathlib.rst:1344 -#, fuzzy msgid "The *case_sensitive* parameter was added." -msgstr "Se agregó el parámetro *newline*." +msgstr "Se agregó el parámetro *case_sensitive*." #: ../Doc/library/pathlib.rst:594 -#, fuzzy msgid "" "Compute a version of this path relative to the path represented by *other*. " "If it's impossible, :exc:`ValueError` is raised::" msgstr "" -"Computa una versión de la ruta en relación a la ruta representada por " -"*other*. Si es imposible, se genera *ValueError*::" +"Computa una versión de esta ruta relativa a la ruta representada por " +"*other*. Si es imposible, se lanza :exc:`ValueError`::" #: ../Doc/library/pathlib.rst:609 msgid "" @@ -565,29 +576,39 @@ msgid "" "path. In all other cases, such as the paths referencing different drives, :" "exc:`ValueError` is raised.::" msgstr "" +"Cuando *walk_up* es False (por defecto), la ruta debe empezar con *other*. " +"Cuando el argumento es True, se pueden agregar entradas ``..`` para formar " +"la ruta relativa. En todos los demás casos, como las rutas que hacen " +"referencia a diferentes unidades, se lanza :exc:`ValueError`.::" #: ../Doc/library/pathlib.rst:624 -#, fuzzy msgid "" "This function is part of :class:`PurePath` and works with strings. It does " "not check or access the underlying file structure. This can impact the " "*walk_up* option as it assumes that no symlinks are present in the path; " "call :meth:`~Path.resolve` first if necessary to resolve symlinks." msgstr "" -"NOTA: Esta función es parte de :class:`PurePath` y trabaja con strings. No " -"revisa ni accede a la estructura de archivos subyacentes." +"Esta función es parte de :class:`PurePath` y trabaja con cadenas de " +"caracteres. No revisa ni accede a la estructura de archivos subyacentes. " +"Esto puede afectar la opción *walk_up* ya que supone que no hay enlaces " +"simbólicos en la ruta; si es necesario llame primero :meth:`~Path.resolve` " +"para resolver los enlaces simbólicos." #: ../Doc/library/pathlib.rst:630 msgid "" "The *walk_up* parameter was added (old behavior is the same as " "``walk_up=False``)." msgstr "" +"Se agregó el parámetro *walk_up* (el comportamiento anterior es el mismo que " +"``walk_up=False``)." #: ../Doc/library/pathlib.rst:635 msgid "" "Passing additional positional arguments is deprecated; if supplied, they are " "joined with *other*." msgstr "" +"Está obsoleto pasar argumentos posicionales adicionales; si se suministran, " +"se juntan con *other*." #: ../Doc/library/pathlib.rst:640 msgid "" @@ -622,6 +643,10 @@ msgid "" "such as from :attr:`parent` and :meth:`relative_to`. Subclasses may override " "this method to pass information to derivative paths, for example::" msgstr "" +"Crea un nuevo objeto de ruta del mismo tipo combinando los *pathsegments* " +"dados. Este método se llama siempre que se crea una ruta derivada, como :" +"attr:`parent` y :meth:`relative_to`. Las subclases pueden anular este método " +"para pasar información a las rutas derivadas, por ejemplo::" #: ../Doc/library/pathlib.rst:724 msgid "Concrete paths" @@ -764,19 +789,17 @@ msgstr "" "meth:`~Path.lchmod`." #: ../Doc/library/pathlib.rst:861 -#, fuzzy msgid "Return ``True`` if the path points to an existing file or directory." -msgstr "Si la ruta apunta a un archivo o directorio existente::" +msgstr "" +"Retorna ``True`` si la ruta apunta a un archivo o directorio existente." #: ../Doc/library/pathlib.rst:863 -#, fuzzy msgid "" "This method normally follows symlinks; to check if a symlink exists, add the " "argument ``follow_symlinks=False``." msgstr "" -"Este método normalmente sigue enlaces simbólicos; para evitar enlaces " -"simbólicos, agregue el argumento ``follow_symlinks = False``, o use :meth:`~ " -"Path.lstat`." +"Este método normalmente sigue enlaces simbólicos; para comprobar si existe " +"un enlace simbólico, agregue el argumento ``follow_symlinks=False``." #: ../Doc/library/pathlib.rst:882 msgid "" @@ -813,6 +836,12 @@ msgid "" "typically, case-sensitive on POSIX, and case-insensitive on Windows. Set " "*case_sensitive* to ``True`` or ``False`` to override this behaviour." msgstr "" +"De forma predeterminada, o cuando el argumento de sólo palabra clave " +"*case_sensitive* está configurado en ``None``, este método coincide con las " +"rutas utilizando reglas de mayúsculas y minúsculas específicas de la " +"plataforma: normalmente, distingue entre mayúsculas y minúsculas en POSIX y " +"no distingue entre mayúsculas y minúsculas en Windows. Se configura " +"*case_sensitive* en ``True`` o ``False`` para anular este comportamiento." #: ../Doc/library/pathlib.rst:922 msgid "" @@ -875,16 +904,14 @@ msgstr "" "de archivo." #: ../Doc/library/pathlib.rst:961 -#, fuzzy msgid "" "Return ``True`` if the path points to a junction, and ``False`` for any " "other type of file. Currently only Windows supports junctions." msgstr "" -"Retorna ``True`` si la ruta apunta a un enlace simbólico, ``False`` de lo " -"contrario." +"Retorna ``True`` si la ruta apunta a una unión y ``False`` para cualquier " +"otro tipo de archivo. Actualmente, solo Windows admite uniones." #: ../Doc/library/pathlib.rst:969 -#, fuzzy msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " "system where a different file system has been mounted. On POSIX, the " @@ -895,18 +922,19 @@ msgid "" "letter root (e.g. ``c:\\``), a UNC share (e.g. ``\\\\server\\share``), or a " "mounted filesystem directory." msgstr "" -"Retorna ``True`` si la ruta es un :dfn:`punto de montaje`; un punto en un " -"sistema de archivos donde otro sistema de archivo se encuentra montado. En " -"POSIX, la función comprueba si el padre de *path* , :file:`path/..`, se " -"encuentra en un dispositivo diferente que *path*, o si :file:`path/..` y " -"*path* apuntan al mismo i-nodo en el mismo dispositivo --- esto debería " -"detectar puntos de montajes para todas las variantes Unix y POSIX. No está " -"implementado en Windows." +"Retorna ``True`` si la ruta es un :dfn:`mount point`: un punto en un sistema " +"de archivos donde otro sistema de archivo se encuentra montado. En POSIX, la " +"función comprueba si el padre de *path* , :file:`path/..`, se encuentra en " +"un dispositivo diferente que *path*, o si :file:`path/..` y *path* apuntan " +"al mismo i-nodo en el mismo dispositivo --- esto debería detectar puntos de " +"montajes para todas las variantes Unix y POSIX. En Windows, se considera que " +"un punto de montaje es una letra de unidad de raíz (por ejemplo, ``c:\\``), " +"un recurso compartido UNC (por ejemplo, ``\\\\server\\share``) o un " +"directorio de sistema de archivos montado." #: ../Doc/library/pathlib.rst:980 -#, fuzzy msgid "Windows support was added." -msgstr "Se agregó el parámetro *newline*." +msgstr "Se agregó soporte para Windows." #: ../Doc/library/pathlib.rst:986 msgid "" @@ -982,6 +1010,8 @@ msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up." msgstr "" +"Genera los nombres de archivos en un árbol de directorios recorriendo el " +"árbol de arriba hacia abajo o de abajo hacia arriba." #: ../Doc/library/pathlib.rst:1054 msgid "" @@ -989,6 +1019,9 @@ msgid "" "but excluding '.' and '..'), the method yields a 3-tuple of ``(dirpath, " "dirnames, filenames)``." msgstr "" +"Para cada directorio en el árbol de directorios con raíz en *self* " +"(incluyendo *self* pero excluyendo '.' y '..'), el método produce una tupla " +"de 3 de elementos (o tripleta) ``(dirpath, dirnames, filenames)``." #: ../Doc/library/pathlib.rst:1058 msgid "" @@ -999,6 +1032,13 @@ msgid "" "begins with *self*) to a file or directory in *dirpath*, do ``dirpath / " "name``. Whether or not the lists are sorted is file system-dependent." msgstr "" +"*dirpath* es un objeto :class:`Path` al directorio que se está recorriendo " +"actualmente, *dirnames* es una lista de cadenas de caracteres para los " +"nombres de los subdirectorios en *dirpath* (excluyendo ``'.'`` y ``'..'``), " +"y *filenames* es una lista de cadenas de caracteres para los nombres de los " +"archivos que no son directorios en *dirpath*. Para obtener una ruta completa " +"(que comienza con *self*) a un archivo o directorio en *dirpath*, se ejecuta " +"``dirpath / name``. El orden de las listas depende del sistema de archivos." #: ../Doc/library/pathlib.rst:1066 msgid "" @@ -1010,6 +1050,14 @@ msgid "" "*top_down*, the list of subdirectories is retrieved before the triples for " "the directory and its subdirectories are walked." msgstr "" +"Si el argumento opcional *top_down* es verdadero (que es el valor " +"predeterminado), la tripleta de un directorio se genera antes que las " +"tripletas de cualquiera de sus subdirectorios (los directorios se recorren " +"de arriba hacia abajo). Si *top_down* es falso, la tripleta de un directorio " +"se genera después de las tripletas de todos sus subdirectorios (los " +"directorios se recorren de abajo hacia arriba). Sin importar el valor de " +"*top_down*, la lista de subdirectorios se recupera antes de que se recorran " +"las tripletas del directorio y sus subdirectorios." #: ../Doc/library/pathlib.rst:1074 msgid "" @@ -1023,6 +1071,16 @@ msgid "" "of :meth:`Path.walk()` since the directories in *dirnames* have already been " "generated by the time *dirnames* is yielded to the caller." msgstr "" +"Cuando *top_down* es verdadero, el llamador puede modificar la lista " +"*dirnames* en el lugar (por ejemplo, al usar :keyword:`del` o la asignación " +"de segmentos), y :meth:`Path.walk` solo recurrirá a los subdirectorios cuyos " +"nombres permanezcan en *dirnames*. Esto se puede usar para reducir la " +"búsqueda, o para imponer un orden específico de visita, o incluso para " +"informar a :meth:`Path.walk` sobre los directorios que el llamador crea o " +"renombra antes de que reanude :meth:`Path.walk` nuevamente. Modificar " +"*dirnames* cuando *top_down* es falso no tiene efecto en el comportamiento " +"de :meth:`Path.walk()` ya que los directorios en *dirnames* ya se han " +"generado en el momento en que *dirnames* se entrega al llamador." #: ../Doc/library/pathlib.rst:1084 msgid "" @@ -1032,6 +1090,12 @@ msgid "" "error to continue the walk or re-raise it to stop the walk. Note that the " "filename is available as the ``filename`` attribute of the exception object." msgstr "" +"De forma predeterminada, los errores de :func:`os.scandir` se ignoran. Si se " +"especifica el argumento opcional *on_error*, debe ser un objeto invocable; " +"se llamará con un argumento, una instancia de :exc:`OSError`. El objeto " +"invocable puede manejar el error para continuar la ejecución o volver a " +"generarlo para detenerla. Tenga en cuenta que el nombre del archivo está " +"disponible como el atributo ``filename`` del objeto de excepción." #: ../Doc/library/pathlib.rst:1090 msgid "" @@ -1041,6 +1105,12 @@ msgid "" "their targets, and consequently visit directories pointed to by symlinks " "(where supported)." msgstr "" +"De forma predeterminada, :meth:`Path.walk` no sigue los enlaces simbólicos, " +"sino que los agrega a la lista *filenames*. Establezca *follow_symlinks* " +"como verdadero para resolver los enlaces simbólicos y colocarlos en " +"*dirnames* y *filenames* según corresponda para sus destinos y, en " +"consecuencia, visitar los directorios a los que apuntan los enlaces " +"simbólicos (donde sea compatible)." #: ../Doc/library/pathlib.rst:1097 msgid "" @@ -1048,6 +1118,10 @@ msgid "" "recursion if a link points to a parent directory of itself. :meth:`Path." "walk` does not keep track of the directories it has already visited." msgstr "" +"Tener en cuenta que establecer *follow_symlinks* como verdadero puede " +"generar una recursión infinita si un enlace apunta a un directorio principal " +"de sí mismo. :meth:`Path.walk` no realiza un seguimiento de los directorios " +"que ya ha visitado." #: ../Doc/library/pathlib.rst:1102 msgid "" @@ -1057,18 +1131,27 @@ msgid "" "try to descend into it. To prevent such behavior, remove directories from " "*dirnames* as appropriate." msgstr "" +":meth:`Path.walk` asume que los directorios que recorre no se modifican " +"durante la ejecución. Por ejemplo, si un directorio de *dirnames* ha sido " +"reemplazado por un enlace simbólico y *follow_symlinks* es falso, :meth:" +"`Path.walk` intentará descender a él. Para evitar este comportamiento, " +"elimine los directorios de *dirnames* según corresponda." #: ../Doc/library/pathlib.rst:1110 msgid "" "Unlike :func:`os.walk`, :meth:`Path.walk` lists symlinks to directories in " "*filenames* if *follow_symlinks* is false." msgstr "" +"A diferencia de :func:`os.walk`, :meth:`Path.walk` enumera enlaces " +"simbólicos a directorios en *filenames* si *follow_symlinks* es falso." #: ../Doc/library/pathlib.rst:1113 msgid "" "This example displays the number of bytes used by all files in each " "directory, while ignoring ``__pycache__`` directories::" msgstr "" +"Este ejemplo muestra la cantidad de bytes utilizados por todos los archivos " +"en cada directorio, mientras ignora los directorios ``__pycache__``::" #: ../Doc/library/pathlib.rst:1129 msgid "" @@ -1076,6 +1159,9 @@ msgid "" "Walking the tree bottom-up is essential as :func:`rmdir` doesn't allow " "deleting a directory before it is empty::" msgstr "" +"El siguiente ejemplo es una implementación simple de :func:`shutil.rmtree`. " +"Recorrer el árbol de abajo a arriba es esencial ya que :func:`rmdir` no " +"permite eliminar un directorio antes de que esté vacío::" #: ../Doc/library/pathlib.rst:1146 msgid "" @@ -1218,6 +1304,7 @@ msgid "" "It is implemented in terms of :func:`os.rename` and gives the same " "guarantees." msgstr "" +"Se implementa en términos de :func:`os.rename` y ofrece las mismas garantías." #: ../Doc/library/pathlib.rst:1264 ../Doc/library/pathlib.rst:1278 msgid "Added return value, return the new Path instance." @@ -1272,21 +1359,19 @@ msgstr "" "`RuntimeError`." #: ../Doc/library/pathlib.rst:1317 -#, fuzzy msgid "The *strict* parameter was added (pre-3.6 behavior is strict)." msgstr "" -"El argumento *strict* (el comportamiento previo a 3.6 es *strict* = " -"``True``)." +"Se agregó el parámetro *strict* (el comportamiento previo a 3.6 es *strict*)." #: ../Doc/library/pathlib.rst:1322 -#, fuzzy msgid "" "Glob the given relative *pattern* recursively. This is like calling :func:" "`Path.glob` with \"``**/``\" added in front of the *pattern*, where " "*patterns* are the same as for :mod:`fnmatch`::" msgstr "" -"Idéntico a llamar a :func:`Path.glob` con \"``**/``\" agregado delante del " -"*pattern* relativo::" +"Agrupa el *pattern* relativo dado de forma recursiva. Esto es como llamar a :" +"func:`Path.glob` con \"``**/``\" agregado antes del *pattern*, donde los " +"*patterns* son los mismos que para :mod:`fnmatch`::" #: ../Doc/library/pathlib.rst:1338 msgid "" @@ -1552,14 +1637,12 @@ msgid ":meth:`Path.iterdir`" msgstr ":meth:`Path.iterdir`" #: ../Doc/library/pathlib.rst:1495 -#, fuzzy msgid ":func:`os.walk`" -msgstr ":func:`os.link`" +msgstr ":func:`os.walk`" #: ../Doc/library/pathlib.rst:1495 -#, fuzzy msgid ":meth:`Path.walk`" -msgstr ":meth:`Path.readlink`" +msgstr ":meth:`Path.walk`" #: ../Doc/library/pathlib.rst:1496 msgid ":func:`os.path.isdir`" @@ -1646,18 +1729,16 @@ msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" #: ../Doc/library/pathlib.rst:1508 -#, fuzzy msgid ":attr:`PurePath.name`" -msgstr ":data:`PurePath.name`" +msgstr ":attr:`PurePath.name`" #: ../Doc/library/pathlib.rst:1509 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" #: ../Doc/library/pathlib.rst:1509 -#, fuzzy msgid ":attr:`PurePath.parent`" -msgstr ":data:`PurePath.parent`" +msgstr ":attr:`PurePath.parent`" #: ../Doc/library/pathlib.rst:1510 msgid ":func:`os.path.samefile`" @@ -1672,9 +1753,8 @@ msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" #: ../Doc/library/pathlib.rst:1511 -#, fuzzy msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`" -msgstr ":data:`PurePath.stem` y :data:`PurePath.suffix`" +msgstr ":attr:`PurePath.stem` y :attr:`PurePath.suffix`" #: ../Doc/library/pathlib.rst:1516 msgid "Footnotes" @@ -1697,14 +1777,14 @@ msgstr "" ":meth:`PurePath.relative_to` requiere que ``self`` sea la ruta secundaria " "del argumento, pero :func:`os.path.relpath` no." +# Es parte del índice? #: ../Doc/library/pathlib.rst:12 msgid "path" -msgstr "" +msgstr "path" #: ../Doc/library/pathlib.rst:12 -#, fuzzy msgid "operations" -msgstr "Operadores" +msgstr "operations" #~ msgid "" #~ "When several absolute paths are given, the last is taken as an anchor " From 2e31ecaaaadca39b1fd555c13c244eff569637c1 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Thu, 7 Nov 2024 10:00:47 -0500 Subject: [PATCH 46/63] =?UTF-8?q?Terminar=20con=20la=20traducci=C3=B3n=20d?= =?UTF-8?q?e=20tuple.po=20(#2866)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #2450 --------- Co-authored-by: rtobar --- c-api/tuple.po | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/c-api/tuple.po b/c-api/tuple.po index 87d67c3a62..cbc815b42d 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -98,7 +98,6 @@ msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments." msgstr "Como :c:func:`PyTuple_GetItem`, pero no verifica sus argumentos." #: ../Doc/c-api/tuple.rst:70 -#, fuzzy msgid "" "Return the slice of the tuple pointed to by *p* between *low* and *high*, or " "``NULL`` on failure. This is the equivalent of the Python expression " @@ -106,7 +105,7 @@ msgid "" msgstr "" "Retorna la porción de la tupla señalada por *p* entre *low* y *high*, o " "``NULL`` en caso de falla. Este es el equivalente de la expresión de Python " -"``p[bajo:alto]``. La indexación desde el final de la lista no es compatible." +"``p[low:high]``. La indexación desde el final de la tupla no es compatible." #: ../Doc/c-api/tuple.rst:77 msgid "" @@ -218,29 +217,24 @@ msgstr "" "crear." #: ../Doc/c-api/tuple.rst:149 -#, fuzzy msgid "Name of the struct sequence type." -msgstr "nombre del tipo de secuencia de estructura" +msgstr "Nombre del tipo de secuencia de estructura" #: ../Doc/c-api/tuple.rst:153 -#, fuzzy msgid "Pointer to docstring for the type or ``NULL`` to omit." -msgstr "puntero al *docstring* para el tipo o ``NULL`` para omitir" +msgstr "Puntero al *docstring* para el tipo o ``NULL`` para omitir" #: ../Doc/c-api/tuple.rst:157 -#, fuzzy msgid "Pointer to ``NULL``-terminated array with field names of the new type." msgstr "" -"puntero al arreglo terminado en ``NULL`` con nombres de campo del nuevo tipo" +"Puntero al arreglo terminado en ``NULL`` con nombres de campo del nuevo tipo" #: ../Doc/c-api/tuple.rst:161 -#, fuzzy msgid "Number of fields visible to the Python side (if used as tuple)." msgstr "" -"cantidad de campos visibles para el lado de Python (si se usa como tupla)" +"Cantidad de campos visibles para el lado de Python (si se usa como tupla)" #: ../Doc/c-api/tuple.rst:166 -#, fuzzy msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " "tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :c:" @@ -250,24 +244,22 @@ msgid "" msgstr "" "Describe un campo de una secuencia de estructura. Como una secuencia de " "estructura se modela como una tupla, todos los campos se escriben como :c:" -"expr:`PyObject*`. El índice en el arreglo :attr:`fields` de :c:type:" -"`PyStructSequence_Desc` determina qué campo de la secuencia de estructura se " -"describe." +"expr:`PyObject*`. El índice en el arreglo :c:member:`~PyStructSequence_Desc." +"fields` de :c:type:`PyStructSequence_Desc` determina qué campo de la " +"secuencia de estructura se describe." #: ../Doc/c-api/tuple.rst:174 -#, fuzzy msgid "" "Name for the field or ``NULL`` to end the list of named fields, set to :c:" "data:`PyStructSequence_UnnamedField` to leave unnamed." msgstr "" -"nombre para el campo o ``NULL`` para finalizar la lista de campos con " +"Nombre para el campo o ``NULL`` para finalizar la lista de campos con " "nombre, establece en :c:data:`PyStructSequence_UnnamedField` para dejar sin " "nombre" #: ../Doc/c-api/tuple.rst:179 -#, fuzzy msgid "Field docstring or ``NULL`` to omit." -msgstr "campo *docstring* o ``NULL`` para omitir" +msgstr "Campo *docstring* o ``NULL`` para omitir" #: ../Doc/c-api/tuple.rst:184 msgid "Special value for a field name to leave it unnamed." @@ -320,13 +312,12 @@ msgstr "" "función estática inline." #: ../Doc/c-api/tuple.rst:8 -#, fuzzy msgid "object" -msgstr "Objetos tupla" +msgstr "object" #: ../Doc/c-api/tuple.rst:8 msgid "tuple" -msgstr "" +msgstr "tuple" #~ msgid "Field" #~ msgstr "Campo" From 724071ca2844b6e4fd2d17d39999dd3df4bac85e Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Thu, 7 Nov 2024 23:31:36 -0400 Subject: [PATCH 47/63] traduccion termios.po (#2867) Closes #2497 --- library/termios.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/library/termios.po b/library/termios.po index 17e47a25bb..6c739f2e75 100644 --- a/library/termios.po +++ b/library/termios.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-27 19:25-0500\n" +"PO-Revision-Date: 2024-11-07 23:03-0400\n" "Last-Translator: \n" -"Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/termios.rst:2 msgid ":mod:`termios` --- POSIX style tty control" @@ -190,12 +191,12 @@ msgstr "" #: ../Doc/library/termios.rst:8 msgid "POSIX" -msgstr "" +msgstr "POSIX" #: ../Doc/library/termios.rst:8 msgid "I/O control" -msgstr "" +msgstr "I/O control" #: ../Doc/library/termios.rst:8 msgid "tty" -msgstr "" +msgstr "tty" From 9c23aadafc622c4c3851f15f4439f6c8e8a99fde Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Fri, 8 Nov 2024 00:02:10 -0400 Subject: [PATCH 48/63] traduccion profile.po (#2869) Closes #2491 --------- Co-authored-by: rtobar --- library/profile.po | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/library/profile.po b/library/profile.po index df225cbc1e..daa2c0af66 100644 --- a/library/profile.po +++ b/library/profile.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-03-14 20:55-0500\n" +"PO-Revision-Date: 2024-11-07 23:24-0400\n" "Last-Translator: Rodrigo Tobar \n" -"Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/profile.rst:5 msgid "The Python Profilers" @@ -132,7 +133,6 @@ msgstr "" "perfil como los siguientes::" #: ../Doc/library/profile.rst:83 -#, fuzzy msgid "" "The first line indicates that 214 calls were monitored. Of those calls, 207 " "were :dfn:`primitive`, meaning that the call was not induced via recursion. " @@ -143,7 +143,7 @@ msgstr "" "La primera línea indica que 214 llamadas fueron monitoreadas. De esas " "llamadas, 207 fueron :dfn:`primitive`, lo cual significa que la llamada no " "fue inducida vía recursión. La siguiente línea: ``Ordered by: cumulative " -"name``, indica que la cadena de texto en la columna más a la derecha fue " +"time``, indica que la cadena de texto en la columna más a la derecha fue " "utilizada para ordenar la salida. Las cabeceras de la columna incluyen:" #: ../Doc/library/profile.rst:89 @@ -1334,10 +1334,9 @@ msgstr "" "(*wall-clock time*). Por ejemplo, vea :func:`time.perf_counter`." #: ../Doc/library/profile.rst:16 -#, fuzzy msgid "deterministic profiling" -msgstr "¿Qué es el perfil determinista?" +msgstr "deterministic profiling" #: ../Doc/library/profile.rst:16 msgid "profiling, deterministic" -msgstr "" +msgstr "profiling, deterministic" From 2685a7eef66a80169c40960e5757c6cfc19eb957 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Fri, 8 Nov 2024 09:53:04 -0500 Subject: [PATCH 49/63] Tranducir pickle.po (#2868) closes #2522 --------- Co-authored-by: rtobar --- library/pickle.po | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/library/pickle.po b/library/pickle.po index 5f139f6941..cab2ebb547 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -968,6 +968,8 @@ msgid "" "built-in constants (``None``, ``True``, ``False``, ``Ellipsis``, and " "``NotImplemented``);" msgstr "" +"constantes incorporadas (``None``, ``True``, ``False``, ``Ellipsis``, y " +"``NotImplemented``);" #: ../Doc/library/pickle.rst:500 msgid "integers, floating-point numbers, complex numbers;" @@ -985,13 +987,12 @@ msgstr "" "serializables con pickle;" #: ../Doc/library/pickle.rst:506 -#, fuzzy msgid "" "functions (built-in and user-defined) accessible from the top level of a " "module (using :keyword:`def`, not :keyword:`lambda`);" msgstr "" -"funciones definidas en el nivel superior de un módulo (usando :keyword:" -"`def`, no :keyword:`lambda`)" +"funciones (incorporadas y definidas por el usuario) accesibles desde el " +"nivel superior de un módulo (usando :keyword:`def`, no :keyword:`lambda`)" #: ../Doc/library/pickle.rst:509 msgid "classes accessible from the top level of a module;" @@ -1958,7 +1959,7 @@ msgstr "Bases de datos indexadas de objetos; usa :mod:`pickle`." #: ../Doc/library/pickle.rst:1200 msgid "Module :mod:`copy`" -msgstr "Module :mod:`copy`" +msgstr "Módulo :mod:`copy`" #: ../Doc/library/pickle.rst:1200 msgid "Shallow and deep object copying." @@ -2019,63 +2020,63 @@ msgstr "" #: ../Doc/library/pickle.rst:12 msgid "persistence" -msgstr "" +msgstr "persistence" #: ../Doc/library/pickle.rst:12 msgid "persistent" -msgstr "" +msgstr "persistent" #: ../Doc/library/pickle.rst:12 msgid "objects" -msgstr "" +msgstr "objects" #: ../Doc/library/pickle.rst:12 msgid "serializing" -msgstr "" +msgstr "serializing" #: ../Doc/library/pickle.rst:12 msgid "marshalling" -msgstr "" +msgstr "marshalling" #: ../Doc/library/pickle.rst:12 msgid "flattening" -msgstr "" +msgstr "flattening" #: ../Doc/library/pickle.rst:12 msgid "pickling" -msgstr "" +msgstr "pickling" #: ../Doc/library/pickle.rst:123 msgid "External Data Representation" -msgstr "" +msgstr "External Data Representation" #: ../Doc/library/pickle.rst:664 msgid "copy" -msgstr "" +msgstr "copy" #: ../Doc/library/pickle.rst:664 msgid "protocol" -msgstr "" +msgstr "protocol" #: ../Doc/library/pickle.rst:747 msgid "persistent_id (pickle protocol)" -msgstr "" +msgstr "persistent_id (pickle protocol)" #: ../Doc/library/pickle.rst:747 msgid "persistent_load (pickle protocol)" -msgstr "" +msgstr "persistent_load (pickle protocol)" #: ../Doc/library/pickle.rst:823 msgid "__getstate__() (copy protocol)" -msgstr "" +msgstr "__getstate__() (copy protocol)" #: ../Doc/library/pickle.rst:823 msgid "__setstate__() (copy protocol)" -msgstr "" +msgstr "__setstate__() (copy protocol)" #: ../Doc/library/pickle.rst:1068 msgid "find_class() (pickle protocol)" -msgstr "" +msgstr "find_class() (pickle protocol)" #~ msgid "``None``, ``True``, and ``False``;" #~ msgstr "``None``, ``True``, y ``False``;" From dc457f4f7e2c31e0981cef56def20a2ea9392df0 Mon Sep 17 00:00:00 2001 From: Julio Reyes <82628141+JulioReyes11@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:04:38 -0600 Subject: [PATCH 50/63] Traducido archivo c-api/float.po (#2833) Closes #2441 --------- Co-authored-by: rtobar --- c-api/float.po | 54 +++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/c-api/float.po b/c-api/float.po index a341e14369..0ac7aa5429 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-12-01 10:01+0400\n" +"PO-Revision-Date: 2024-09-26 15:15-0600\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.0.1\n" #: ../Doc/c-api/float.rst:6 msgid "Floating Point Objects" @@ -73,7 +74,6 @@ msgstr "" "de error." #: ../Doc/c-api/float.rst:47 -#, fuzzy msgid "" "Return a C :c:expr:`double` representation of the contents of *pyfloat*. If " "*pyfloat* is not a Python floating point object but has a :meth:`~object." @@ -84,16 +84,15 @@ msgid "" msgstr "" "Retorna una representación C :c:expr:`double` de los contenidos de " "*pyfloat*. Si *pyfloat* no es un objeto de punto flotante de Python pero " -"tiene un método :meth:`__float__`, primero se llamará a este método para " -"convertir *pyfloat* en un flotante. Si ``__float __()`` no está definido, " -"entonces recurre a :meth:`__index__`. Este método retorna ``-1.0`` en caso " -"de falla, por lo que se debe llamar a :c:func:`PyErr_Occurred` para " -"verificar si hay errores." +"tiene un método :meth:`~object.__float__`, este método será llamado primero " +"para convertir *pyfloat* en un flotante. Si :meth:`!__float __` no está " +"definido, entonces recurre a :meth:`~object.__index__`. Este método retorna " +"``-1.0`` en caso de falla, por lo que se debe llamar a :c:func:" +"`PyErr_Occurred` para verificar si hay errores." #: ../Doc/c-api/float.rst:54 -#, fuzzy msgid "Use :meth:`~object.__index__` if available." -msgstr "Utilice :meth:`__index__` si está disponible." +msgstr "Utilice :meth:`~object.__index__` si está disponible." #: ../Doc/c-api/float.rst:60 msgid "" @@ -185,7 +184,6 @@ msgid "Pack functions" msgstr "Funciones de Empaquetado" #: ../Doc/c-api/float.rst:109 -#, fuzzy msgid "" "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:" "`int` argument, non-zero if you want the bytes string in little-endian " @@ -195,12 +193,12 @@ msgid "" "to ``1`` on big endian processor, or ``0`` on little endian processor." msgstr "" "Las rutinas de empaquetado escriben 2, 4 o 8 bytes, comenzando en *p*. *le* " -"es un argumento :c:expr:`int`, distinto de cero si desea la cadena bytes con " -"criterio little-endian (exponente al final, en ``p+1``, ``p+3``, o ``p+6`` " -"``p+7``), cero si se necesita el criterio big-endian (exponente primero, en " -"*p*). La constante :c:data:`PY_BIG_ENDIAN` se puede usar para usar el endian " -"nativo: es igual a ``1`` en el procesador big endian, o ``0`` en el " -"procesador little endian." +"es un argumento :c:expr:`int`, distinto de cero si desea que la cadena de " +"bytes esté en formato little-endian (exponente al final, en ``p+1``, " +"``p+3``, o ``p+6`` ``p+7``), y cero si desea el formato big-endian " +"(exponente primero, en *p*). La constante :c:macro:`PY_BIG_ENDIAN` se puede " +"usar para emplear el endian nativo: es igual a ``1`` en el procesador big-" +"endian, o ``0`` en el procesador little-endian." #: ../Doc/c-api/float.rst:116 msgid "" @@ -242,7 +240,6 @@ msgid "Unpack functions" msgstr "Funciones de Desempaquetado" #: ../Doc/c-api/float.rst:140 -#, fuzzy msgid "" "The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:" "expr:`int` argument, non-zero if the bytes string is in little-endian format " @@ -251,13 +248,13 @@ msgid "" "be used to use the native endian: it is equal to ``1`` on big endian " "processor, or ``0`` on little endian processor." msgstr "" -"Las rutinas de desempaquetado leen 2, 4 o 8 bytes, comenzando en *p*. *le* " -"es un argumento :c:expr:`int` , distinto de cero si la cadena bytes usa el " -"criterio little-endian (exponente al final, en ``p+1``, ``p+3`` o ``p+6`` y " -"``p+7``), cero si usa el criterio big-endian (exponente primero, en *p*). La " -"constante :c:data:`PY_BIG_ENDIAN` se puede usar para usar el endian: es " -"igual a ``1`` en el procesador big endian, o ``0`` en el procesador little " -"endian." +"Las rutinas de desempaquetado leen 2, 4 u 8 bytes, comenzando en *p*. *le* " +"es un argumento :c:expr:`int` , distinto de cero si la cadena bytes está en " +"formato little-endian (exponente al final, en ``p+1``, ``p+3`` o ``p+6`` y " +"``p+7``), cero si está en formato big-endian (exponente primero, en *p*). La " +"constante :c:macro:`PY_BIG_ENDIAN` se puede usar para utilizar el endian " +"nativo: es igual a ``1`` en un procesador big endian, o ``0`` en un " +"procesador little-endian." #: ../Doc/c-api/float.rst:147 msgid "" @@ -294,9 +291,8 @@ msgstr "" #: ../Doc/c-api/float.rst:8 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/float.rst:8 -#, fuzzy msgid "floating point" -msgstr "Objetos de punto flotante" +msgstr "floating point" From de16a1a74850c88c1e053e069b7dc890c232e59b Mon Sep 17 00:00:00 2001 From: Richard Rivero Date: Fri, 8 Nov 2024 23:03:28 -0400 Subject: [PATCH 51/63] traduccion linecache.po (#2870) Closes #2477 --- library/linecache.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/library/linecache.po b/library/linecache.po index 0f7f45f154..fecb381492 100644 --- a/library/linecache.po +++ b/library/linecache.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-31 23:49+0100\n" +"PO-Revision-Date: 2024-11-08 22:27-0400\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/linecache.rst:2 msgid ":mod:`linecache` --- Random access to text lines" @@ -122,12 +123,12 @@ msgstr "Ejemplo::" #: ../Doc/library/linecache.rst:31 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/library/linecache.rst:31 msgid "search" -msgstr "" +msgstr "search" #: ../Doc/library/linecache.rst:31 msgid "path" -msgstr "" +msgstr "path" From 88c4f4c589e403630671986d8e930555df510aca Mon Sep 17 00:00:00 2001 From: rtobar Date: Fri, 15 Nov 2024 21:33:52 +0800 Subject: [PATCH 52/63] =?UTF-8?q?Peque=C3=B1as=20mejoras=20al=20proceso=20?= =?UTF-8?q?de=20construcci=C3=B3n=20(#2874)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Éstos son pequeños cambios que mejoran ligeramente el proceso de la construcción de la documentación, y hacen más mantenible el código a futuro. Primero, la lista de rutas relativas que hay que arreglar en los .rst de cpython ha sido simplificada, removiendo entradas innecesarias, y actualizando sólo los archivos que haga falta (en vez de ejecturas cada actualización sobre todos los archivos cada vez). Segundo, el target `build` del Makefile fue separado en sus sub-partes constituyentes, de tal modo que ahora en el step de CI donde antes teníamos una copia de los comandos `sed` ahora hay sólo una invocación a `make fix_relative_paths`. Finalmente, el PR que envié a `sphinx-intl` para realizar updates en paralelo [ya está aceptado](https://github.com/sphinx-doc/sphinx-intl/pull/110) y una nueva versión ya fue publicada, por lo que la lista de requisitos ahora está actualizada para usar esa última versión (y así hacer más rápido el proceso de actualización a 3.13). --------- Signed-off-by: Rodrigo Tobar --- .github/workflows/main.yml | 9 +-------- Makefile | 24 +++++++++++++----------- requirements.txt | 2 +- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0df4447290..94b71426f9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,13 +88,6 @@ jobs: # Construcción de la documentación - name: Construir documentación run: | - # FIXME: Relative paths for includes in 'cpython' - sed -i -e 's|.. include:: ../includes/wasm-notavail.rst|.. include:: ../../../../includes/wasm-notavail.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../distutils/_setuptools_disclaimer.rst|.. include:: ../../../../distutils/_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ./_setuptools_disclaimer.rst|.. include:: ../../../_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: token-list.inc|.. include:: ../../../token-list.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../using/venv-create.inc|.. include:: ../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../../using/venv-create.inc|.. include:: ../../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: /using/venv-create.inc|.. include:: ../../../../using/venv-create.inc|g' cpython/Doc/**/*.rst + make fix_relative_paths # Normal build PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html diff --git a/Makefile b/Makefile index 8c8268c20b..bd24ad4d29 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ OUTPUT_DOCTREE := $(CPYTHON_WORKDIR)/Doc/build/doctree OUTPUT_HTML := $(CPYTHON_WORKDIR)/Doc/build/html LOCALE_DIR := $(CPYTHON_WORKDIR)/locale POSPELL_TMP_DIR := .pospell +SPHINX_JOBS := auto .PHONY: help @@ -38,21 +39,22 @@ help: # before this. If passing SPHINXERRORHANDLING='', warnings will not be # treated as errors, which is good to skip simple Sphinx syntax mistakes. .PHONY: build -build: setup - # FIXME: Relative paths for includes in 'cpython' - # See more about this at https://github.com/python/python-docs-es/issues/1844 - sed -i -e 's|.. include:: ../includes/wasm-notavail.rst|.. include:: ../../../../includes/wasm-notavail.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../distutils/_setuptools_disclaimer.rst|.. include:: ../../../../distutils/_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ./_setuptools_disclaimer.rst|.. include:: ../../../_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: token-list.inc|.. include:: ../../../token-list.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../using/venv-create.inc|.. include:: ../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../../using/venv-create.inc|.. include:: ../../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: /using/venv-create.inc|.. include:: ../../../../using/venv-create.inc|g' cpython/Doc/**/*.rst +build: setup fix_relative_paths do_build + +.PHONY: do_build +do_build: # Normal build - PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning $(VENV)/bin/sphinx-build -j auto -W --keep-going -b html -d $(OUTPUT_DOCTREE) -D language=$(LANGUAGE) . $(OUTPUT_HTML) && \ + PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning $(VENV)/bin/sphinx-build -j $(SPHINX_JOBS) -W --keep-going -b html -d $(OUTPUT_DOCTREE) -D language=$(LANGUAGE) . $(OUTPUT_HTML) && \ echo "Success! Open file://`pwd`/$(OUTPUT_HTML)/index.html, " \ "or run 'make serve' to see them in http://localhost:8000"; +.PHONY: fix_relative_paths +fix_relative_paths: + # FIXME: Relative paths for includes in 'cpython' + # See more about this at https://github.com/python/python-docs-es/issues/1844 + sed -i -e 's|.. include:: ../includes/wasm-notavail.rst|.. include:: ../../../../includes/wasm-notavail.rst|g' cpython/Doc/**/*.rst + sed -i -e 's|.. include:: token-list.inc|.. include:: ../../../token-list.inc|g' cpython/Doc/library/token.rst + sed -i -e 's|.. include:: /using/venv-create.inc|.. include:: ../../../../using/venv-create.inc|g' cpython/Doc/library/venv.rst # setup: After running "venv" target, prepare that virtual environment with # a local clone of cpython repository and the translation files. diff --git a/requirements.txt b/requirements.txt index 2fcc7884a6..52096aabef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ potodo powrap python-docs-theme>=2022.1 setuptools -sphinx-intl +sphinx-intl>=2.3.0 pre-commit sphinx-autorun sphinxemoji From 875e5df36b63fad3e4efa20ece4a1deb5cf50683 Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 18 Nov 2024 20:59:25 +0800 Subject: [PATCH 53/63] Remove include:: replacements hack (#2875) We currently need to replace the include:: directives in the cpython documentation source files to fix an issue that sphinx/docutils have with relative source files after changing the app.srcdir in our conf.py. Instead of doing this, let's define the app.srcdir property as an absolute path. This removes the issue altogether, yielding a correct build without the need to modify the documentation source files. This change seems to have the nice side effect that successive builds are not incremental rather than starting from scratch. Edit: additionally, we now define sphinx's `app.srcdir` as a Path, which seems to be a requirement at least in 8.1.3, which is what we''l use for building the 3.13 docs. See https://github.com/sphinx-doc/sphinx/issues/13018. Closes #1844 --------- Signed-off-by: Rodrigo Tobar --- .github/workflows/main.yml | 1 - Makefile | 10 +--------- conf.py | 5 +++-- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 94b71426f9..2572e299e0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,6 +88,5 @@ jobs: # Construcción de la documentación - name: Construir documentación run: | - make fix_relative_paths # Normal build PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html diff --git a/Makefile b/Makefile index bd24ad4d29..581a2c196c 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ help: # before this. If passing SPHINXERRORHANDLING='', warnings will not be # treated as errors, which is good to skip simple Sphinx syntax mistakes. .PHONY: build -build: setup fix_relative_paths do_build +build: setup do_build .PHONY: do_build do_build: @@ -48,14 +48,6 @@ do_build: echo "Success! Open file://`pwd`/$(OUTPUT_HTML)/index.html, " \ "or run 'make serve' to see them in http://localhost:8000"; -.PHONY: fix_relative_paths -fix_relative_paths: - # FIXME: Relative paths for includes in 'cpython' - # See more about this at https://github.com/python/python-docs-es/issues/1844 - sed -i -e 's|.. include:: ../includes/wasm-notavail.rst|.. include:: ../../../../includes/wasm-notavail.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: token-list.inc|.. include:: ../../../token-list.inc|g' cpython/Doc/library/token.rst - sed -i -e 's|.. include:: /using/venv-create.inc|.. include:: ../../../../using/venv-create.inc|g' cpython/Doc/library/venv.rst - # setup: After running "venv" target, prepare that virtual environment with # a local clone of cpython repository and the translation files. # If the directories exists, only update the cpython repository and diff --git a/conf.py b/conf.py index 6d5a7fdb0a..f1749d3b19 100644 --- a/conf.py +++ b/conf.py @@ -16,6 +16,8 @@ import sys import os import time +from pathlib import Path + sys.path.append(os.path.abspath('cpython/Doc/tools/extensions')) sys.path.append(os.path.abspath('cpython/Doc/includes')) @@ -70,7 +72,6 @@ if os.environ.get('SPHINX_GETTEXT') is None: # Override all the files from ``.overrides`` directory - from pathlib import Path overrides_paths = Path('.overrides') for path in overrides_paths.glob('**/*.*'): @@ -129,7 +130,7 @@ def add_contributing_banner(app, doctree): document.insert(0, banner) # Change the sourcedir programmatically because Read the Docs always call it with `.` - app.srcdir = 'cpython/Doc' + app.srcdir = Path(os.getcwd() + '/cpython/Doc') app.connect('doctree-read', add_contributing_banner) From a65f03e10310f747e252f456fe9db445902a68c3 Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 18 Nov 2024 21:35:05 +0800 Subject: [PATCH 54/63] Arregla y wrapea library/re.po (#2873) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit En `library/re.po` había una entrada que no estaba delineada correctamente con comillas dobles (si ven el diff entero es la última entrada en el diff, o pueden ver simplemente el primer commit de este PR). Esto hacía que `powrap --check` se saltara el archivo y no lo validara. Esto, a su vez, ocurría porque la utilidad `msgcat` de `gettext` identificaba el error de sintaxis, y fallaba al ser ejecutada. `powrap` no consideraba esos errores al momento de calcular el exit code del proceso, y por lo tanto el archivo no sólo seguía siendo inválido, sino que tampoco era verificado. De igual forma, el archivo no podía ser wrapeado correctamente usando `powrap library/re.po`. Ya abrí un PR contra `powrap` para cambiar este comportamiento en https://git.afpy.org/AFPy/powrap/pulls/4 (actualización: el PR ya fue mergeado, y una nuevs versión de powrap fue publicada, pornlo que también actualicé en este PR nuestra dependencia de powrap, además del pre-commit hook de powrap). Por otro lado, el resto de nuestras herramientas *no* consideraban este archivo como inválido, Esto es porque `polib` no hacía la validación correspondiente, e incorrectamente parseaba la entrada. También abrí un PR contra polib para esto en https://github.com/izimobil/polib/pull/161. Actualización: en el intertanto también me di cuenta de que el paquete `babel` sufre del mismo problema, yo incorrectamente había asumido que babel dependía de polib; PR creada contra babel: https://github.com/python-babel/babel/pull/1151. Después de corregir el error de sintaxis, ejecuté powrap de tal manera que ahora `library/re.po` está bien formateado. --------- Signed-off-by: Rodrigo Tobar --- .github/workflows/main.yml | 2 +- .pre-commit-config.yaml | 4 +- library/re.po | 159 +++++++++++++++++++------------------ requirements.txt | 2 +- 4 files changed, 87 insertions(+), 80 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2572e299e0..1add2066f9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS) - name: Powrap if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' - run: powrap --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} + run: powrap --diff --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} - name: Sphinx lint if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 19cf58167f..a8e74fde4a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: -- repo: https://github.com/JulienPalard/powrap - rev: v0.4.0 +- repo: https://git.afpy.org/AFPy/powrap + rev: v1.0.2 hooks: - id: powrap - repo: local diff --git a/library/re.po b/library/re.po index ed6ef6f262..3f42a1d9d9 100644 --- a/library/re.po +++ b/library/re.po @@ -208,10 +208,10 @@ msgid "" "For example, the expression ``(?:a{6})*`` matches any multiple of six " "``'a'`` characters." msgstr "" -"Los operadores de repetición o cuantificadores (``*``, ``+``, ``?``, ``{m,n}``, etc.) " -"no pueden ser anidados directamente. Esto evita la ambigüedad con el sufijo " -"modificador no codicioso ``?``, y con otros modificadores en " -"otras implementaciones. Para aplicar una segunda repetición a una repetición " +"Los operadores de repetición o cuantificadores (``*``, ``+``, ``?``, ``{m,n}" +"``, etc.) no pueden ser anidados directamente. Esto evita la ambigüedad con " +"el sufijo modificador no codicioso ``?``, y con otros modificadores en otras " +"implementaciones. Para aplicar una segunda repetición a una repetición " "interna, se pueden usar paréntesis. Por ejemplo, la expresión ``(?:a{6})*`` " "coincide con cualquier múltiplo de seis caracteres ``'a'``." @@ -358,14 +358,14 @@ msgstr "" "permiten retroceder cuando la expresión que le sigue no coincide. Estos se " "conocen como cuantificadores :dfn:`possessive`. Por ejemplo, ``a*a`` " "coincidirá con ``'aaaa'`` porque la ``a*`` coincidirá con los 4 ``'a'``\\ s, " -"pero, cuando se encuentra la ``'a'`` final, la expresión retrocede de " -"modo que al final la ``a*`` termina coincidiendo con 3 ``'a'``\\ s total, y " -"la cuarta ``'a'`` coincide con la final ``'a'``. Sin embargo, cuando " -"``a*+a`` se usa para que coincida con ``'aaaa'``, el ``a*+`` coincidirá con " -"los 4 ``'a'``, pero cuando el ``'a'`` final no encuentra más caracteres para " -"coincidir, la expresión no puede retroceder y, por lo tanto, no " -"coincidirá. ``x*+``, ``x++`` and ``x?+`` son equivalentes a ``(?>x*)``, ``(?" -">x+)`` and ``(?>x?)`` correspondientemente." +"pero, cuando se encuentra la ``'a'`` final, la expresión retrocede de modo " +"que al final la ``a*`` termina coincidiendo con 3 ``'a'``\\ s total, y la " +"cuarta ``'a'`` coincide con la final ``'a'``. Sin embargo, cuando ``a*+a`` " +"se usa para que coincida con ``'aaaa'``, el ``a*+`` coincidirá con los 4 " +"``'a'``, pero cuando el ``'a'`` final no encuentra más caracteres para " +"coincidir, la expresión no puede retroceder y, por lo tanto, no coincidirá. " +"``x*+``, ``x++`` and ``x?+`` son equivalentes a ``(?>x*)``, ``(?>x+)`` and " +"``(?>x?)`` correspondientemente." #: ../Doc/library/re.rst:187 msgid "``{m}``" @@ -782,12 +782,12 @@ msgstr "" "separada, y si tiene éxito, continúa coincidiendo con el resto del patrón " "que la sigue. Si el patrón posterior no coincide, la pila solo se puede " "desenrollar a un punto *antes* del ``(?>...)`` Porque una vez que salió, la " -"expresión, conocida como :dfn:`grupo atomico `, ha desechado todos los puntos de pila " -"dentro de sí misma. Por lo tanto, ``(?>.*).`` nunca coincidiría con nada " -"porque primero el ``.*`` coincidiría con todos los caracteres posibles, " -"luego, al no tener nada que igualar, el ``.`` final no coincidiría. Dado que " -"no hay puntos de pila guardados en el Grupo Atómico, y no hay ningún punto " -"de pila antes de él, toda la expresión no coincidiría." +"expresión, conocida como :dfn:`grupo atomico `, ha desechado " +"todos los puntos de pila dentro de sí misma. Por lo tanto, ``(?>.*).`` nunca " +"coincidiría con nada porque primero el ``.*`` coincidiría con todos los " +"caracteres posibles, luego, al no tener nada que igualar, el ``.`` final no " +"coincidiría. Dado que no hay puntos de pila guardados en el Grupo Atómico, y " +"no hay ningún punto de pila antes de él, toda la expresión no coincidiría." #: ../Doc/library/re.rst:424 msgid "``(?P...)``" @@ -869,8 +869,8 @@ msgid "" "In :class:`bytes` patterns, group *name* can only contain bytes in the ASCII " "range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"En patrones de tipo :class:`bytes`, el nombre del grupo *name* solo puede contener " -"bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." +"En patrones de tipo :class:`bytes`, el nombre del grupo *name* solo puede " +"contener bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:430 msgid "``(?P=name)``" @@ -1006,9 +1006,9 @@ msgid "" "Group *id* can only contain ASCII digits. In :class:`bytes` patterns, group " "*name* can only contain bytes in the ASCII range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"El *id* del grupo solo puede contener dígitos ASCII. En patrones de " -"tipo :class:`bytes`, el *name* del grupo solo puede contener bytes " -"en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." +"El *id* del grupo solo puede contener dígitos ASCII. En patrones de tipo :" +"class:`bytes`, el *name* del grupo solo puede contener bytes en el rango " +"ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:506 msgid "" @@ -1208,8 +1208,9 @@ msgid "" "const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" "Coincide con los caracteres de palabras Unicode; esto incluye los caracteres " -"alfanuméricos (como se define por :meth:`str.isalnum`) así como el guión bajo " -"(``_``). Si se utiliza la bandera :const:`ASCII`, sólo coincide con ``[a-zA-Z0-9_]``." +"alfanuméricos (como se define por :meth:`str.isalnum`) así como el guión " +"bajo (``_``). Si se utiliza la bandera :const:`ASCII`, sólo coincide con " +"``[a-zA-Z0-9_]``." #: ../Doc/library/re.rst:604 msgid "" @@ -1254,8 +1255,8 @@ msgid "" "string literals are also accepted by the regular expression parser::" msgstr "" "La mayoría de las :ref:`secuencias de escape ` soportadas " -"por los literales de cadena de Python también son aceptadas por el analizador " -"de expresiones regulares::" +"por los literales de cadena de Python también son aceptadas por el " +"analizador de expresiones regulares::" #: ../Doc/library/re.rst:644 msgid "" @@ -1482,9 +1483,9 @@ msgid "" msgstr "" "Indica que no se aplica ninguna bandera, el valor es ``0``. Esta bandera " "puede ser utilizada como valor predeterminado para un argumento de palabra " -"clave de función o como un valor que será condicionalmente combinado " -"con otras banderas usando el operador binario OR. Ejemplo de uso como " -"valor predeterminado::" +"clave de función o como un valor que será condicionalmente combinado con " +"otras banderas usando el operador binario OR. Ejemplo de uso como valor " +"predeterminado::" #: ../Doc/library/re.rst:779 msgid "" @@ -1503,13 +1504,15 @@ msgid "" "include Unicode characters in matches. Since Python 3, Unicode characters " "are matched by default." msgstr "" -"En Python 2, esta bandera hacía que :ref:`secuencias especiales ` " -"incluyeran caracteres Unicode en las coincidencias. Desde Python 3, los caracteres " -"Unicode se coinciden por defecto." +"En Python 2, esta bandera hacía que :ref:`secuencias especiales ` incluyeran caracteres Unicode en las coincidencias. Desde Python " +"3, los caracteres Unicode se coinciden por defecto." #: ../Doc/library/re.rst:791 msgid "See :const:`A` for restricting matching on ASCII characters instead." -msgstr "Ver :const:`A` para restringir la coincidencia a caracteres ASCII en su lugar." +msgstr "" +"Ver :const:`A` para restringir la coincidencia a caracteres ASCII en su " +"lugar." #: ../Doc/library/re.rst:793 msgid "This flag is only kept for backward compatibility." @@ -1613,9 +1616,9 @@ msgid "" "pattern; note that this is different from finding a zero-length match at " "some point in the string." msgstr "" -"Explora la cadena de caracteres *string* en busca de la primera ubicación donde el " -"patrón *pattern* de la expresión regular produce una coincidencia, y " -"retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si ninguna " +"Explora la cadena de caracteres *string* en busca de la primera ubicación " +"donde el patrón *pattern* de la expresión regular produce una coincidencia, " +"y retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si ninguna " "posición en la cadena coincide con el patrón; nota que esto es diferente a " "encontrar una coincidencia de longitud cero en algún punto de la cadena." @@ -1626,8 +1629,8 @@ msgid "" "``None`` if the string does not match the pattern; note that this is " "different from a zero-length match." msgstr "" -"Si cero o más caracteres al principio de la cadena *string* coinciden con " -"el patrón *pattern* de la expresión regular, retorna un :class:`~re.Match` " +"Si cero o más caracteres al principio de la cadena *string* coinciden con el " +"patrón *pattern* de la expresión regular, retorna un :class:`~re.Match` " "correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; " "notar que esto es diferente de una coincidencia de longitud cero." @@ -1654,10 +1657,10 @@ msgid "" "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" -"Si toda la cadena *string* coincide con el patrón *pattern* de la " -"expresión regular, retorna un :class:`~re.Match` correspondiente. Retorna " -"``None`` si la cadena no coincide con el patrón; notar que esto es diferente " -"de una coincidencia de longitud cero." +"Si toda la cadena *string* coincide con el patrón *pattern* de la expresión " +"regular, retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si " +"la cadena no coincide con el patrón; notar que esto es diferente de una " +"coincidencia de longitud cero." #: ../Doc/library/re.rst:889 msgid "" @@ -1752,10 +1755,10 @@ msgid "" "scanned left-to-right, and matches are returned in the order found. Empty " "matches are included in the result." msgstr "" -"Retorna un :term:`iterador ` que produce objetos :class:`~re.Match` sobre " -"todas las coincidencias no superpuestas para el patrón de RE *pattern* en la " -"*string*. La *string* es examinada de izquierda a derecha, y las " -"coincidencias son retornadas en el orden en que se encuentran. Las " +"Retorna un :term:`iterador ` que produce objetos :class:`~re." +"Match` sobre todas las coincidencias no superpuestas para el patrón de RE " +"*pattern* en la *string*. La *string* es examinada de izquierda a derecha, y " +"las coincidencias son retornadas en el orden en que se encuentran. Las " "coincidencias vacías se incluyen en el resultado." #: ../Doc/library/re.rst:966 @@ -1869,9 +1872,9 @@ msgid "" "strings, group *name* can only contain bytes in the ASCII range " "(``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"El *id* del grupo solo puede contener dígitos ASCII. En las cadenas de reemplazo " -":class:`bytes`, el nombre del grupo *name* solo puede contener bytes en el rango ASCII " -"(``b'\\x00'``-``b'\\x7f'``)." +"El *id* del grupo solo puede contener dígitos ASCII. En las cadenas de " +"reemplazo :class:`bytes`, el nombre del grupo *name* solo puede contener " +"bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:1041 msgid "" @@ -1977,8 +1980,8 @@ msgid "" ":py:class:`re.Pattern` supports ``[]`` to indicate a Unicode (str) or bytes " "pattern. See :ref:`types-genericalias`." msgstr "" -":py:class:`re.Pattern` soporta ``[]`` para indicar un patrón Unicode (str) o de bytes. " -"Ver :ref:`types-genericalias`." +":py:class:`re.Pattern` soporta ``[]`` para indicar un patrón Unicode (str) o " +"de bytes. Ver :ref:`types-genericalias`." #: ../Doc/library/re.rst:1140 msgid "" @@ -1988,10 +1991,10 @@ msgid "" "this is different from finding a zero-length match at some point in the " "string." msgstr "" -"Escanea a través de la cadena *string* buscando la primera ubicación " -"donde esta expresión regular produce una coincidencia, y retorna un :class:" -"`~re.Match` correspondiente. Retorna ``None`` si ninguna posición en la " -"cadena coincide con el patrón; notar que esto es diferente a encontrar una " +"Escanea a través de la cadena *string* buscando la primera ubicación donde " +"esta expresión regular produce una coincidencia, y retorna un :class:`~re." +"Match` correspondiente. Retorna ``None`` si ninguna posición en la cadena " +"coincide con el patrón; notar que esto es diferente a encontrar una " "coincidencia de longitud cero en algún punto de la cadena." #: ../Doc/library/re.rst:1145 @@ -2031,10 +2034,10 @@ msgid "" "the string does not match the pattern; note that this is different from a " "zero-length match." msgstr "" -"Si cero o más caracteres en el comienzo *beginning* de la cadena " -"*string* coinciden con esta expresión regular, retorna un :class:`~re.Match` " -"correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; notar " -"que esto es diferente de una coincidencia de longitud cero." +"Si cero o más caracteres en el comienzo *beginning* de la cadena *string* " +"coinciden con esta expresión regular, retorna un :class:`~re.Match` " +"correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; " +"notar que esto es diferente de una coincidencia de longitud cero." #: ../Doc/library/re.rst:1171 ../Doc/library/re.rst:1189 msgid "" @@ -2059,10 +2062,10 @@ msgid "" "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" -"Si toda la cadena *string* coincide con esta expresión regular, " -"retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si la " -"cadena no coincide con el patrón; notar que esto es diferente de una " -"coincidencia de longitud cero." +"Si toda la cadena *string* coincide con esta expresión regular, retorna un :" +"class:`~re.Match` correspondiente. Retorna ``None`` si la cadena no " +"coincide con el patrón; notar que esto es diferente de una coincidencia de " +"longitud cero." #: ../Doc/library/re.rst:1203 msgid "Identical to the :func:`split` function, using the compiled pattern." @@ -2158,8 +2161,8 @@ msgid "" ":py:class:`re.Match` supports ``[]`` to indicate a Unicode (str) or bytes " "match. See :ref:`types-genericalias`." msgstr "" -":py:class:`re.Match` soporta ``[]`` para indicar una coincidencia Unicode (str) o de bytes. " -"Ver :ref:`types-genericalias`." +":py:class:`re.Match` soporta ``[]`` para indicar una coincidencia Unicode " +"(str) o de bytes. Ver :ref:`types-genericalias`." #: ../Doc/library/re.rst:1283 msgid "" @@ -2559,11 +2562,14 @@ msgstr "search() vs. match()" #: ../Doc/library/re.rst:1591 msgid "" "Python offers different primitive operations based on regular expressions:" -msgstr "Python ofrece diferentes operaciones primitivas basadas en expresiones regulares:" +msgstr "" +"Python ofrece diferentes operaciones primitivas basadas en expresiones " +"regulares:" #: ../Doc/library/re.rst:1593 msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr ":func:`re.match` verifica una coincidencia solo al principio de la cadena" +msgstr "" +":func:`re.match` verifica una coincidencia solo al principio de la cadena" #: ../Doc/library/re.rst:1594 msgid "" @@ -2575,7 +2581,8 @@ msgstr "" #: ../Doc/library/re.rst:1596 msgid ":func:`re.fullmatch` checks for entire string to be a match" -msgstr ":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" +msgstr "" +":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" #: ../Doc/library/re.rst:1608 msgid "" @@ -2697,12 +2704,12 @@ msgid "" "writer wanted to find all of the adverbs *and their positions* in some text, " "they would use :func:`finditer` in the following manner::" msgstr "" -"Si se desea obtener más información sobre todas las coincidencias de un patrón en " -"lugar del texto coincidente, :func:`finditer` es útil ya que proporciona :" -"class:`~re.Match` objetos en lugar de cadenas. " -"Continuando con el ejemplo anterior, si un escritor quisiera encontrar todos " -"los adverbios *y sus posiciones* en algún texto, usaría :func:`finditer` de " -"la siguiente manera::" +"Si se desea obtener más información sobre todas las coincidencias de un " +"patrón en lugar del texto coincidente, :func:`finditer` es útil ya que " +"proporciona :class:`~re.Match` objetos en lugar de cadenas. Continuando con " +"el ejemplo anterior, si un escritor quisiera encontrar todos los adverbios " +"*y sus posiciones* en algún texto, usaría :func:`finditer` de la siguiente " +"manera::" #: ../Doc/library/re.rst:1736 msgid "Raw String Notation" @@ -2810,7 +2817,7 @@ msgstr "$ (dólar)" #: ../Doc/library/re.rst:123 msgid "* (asterisk)" -msgstr * (asterisco)" +msgstr "* (asterisco)" #: ../Doc/library/re.rst:130 msgid "+ (plus)" diff --git a/requirements.txt b/requirements.txt index 52096aabef..1f5f71937b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ PyICU polib pospell>=1.1 potodo -powrap +powrap>=1.0.2 python-docs-theme>=2022.1 setuptools sphinx-intl>=2.3.0 From b057b69d18ae59c3891e330493eeb9e01e9fd7f2 Mon Sep 17 00:00:00 2001 From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> Date: Mon, 18 Nov 2024 15:51:17 +0100 Subject: [PATCH 55/63] Fix (many) more fuzzy entries in the library directory (#2736) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fuzzy entries everywhere! --------- Co-authored-by: rtobar Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_security_warnings.txt | 2 + library/__main__.po | 40 ++++++++---------- library/bz2.po | 31 +++++++------- library/codeop.po | 43 +++++++++---------- library/compileall.po | 25 +++++------ library/email.charset.po | 33 +++++++-------- library/email.compat32-message.po | 33 ++++++++------- library/email.generator.po | 40 +++++++++--------- library/email.headerregistry.po | 21 +++++----- library/email.message.po | 48 +++++++++++----------- library/email.mime.po | 48 ++++++++++------------ library/filecmp.po | 19 ++++----- library/graphlib.po | 31 +++++++------- library/hmac.po | 11 +++-- library/html.entities.po | 19 ++++----- library/json.po | 35 +++++++--------- library/keyword.po | 27 ++++++------ library/lzma.po | 24 +++++------ library/mailbox.po | 33 +++++++-------- library/operator.po | 22 +++++----- library/queue.po | 23 ++++------- library/secrets.po | 25 +++++------ library/security_warnings.po | 16 ++++---- library/selectors.po | 17 ++++---- library/stat.po | 20 ++++----- library/string.po | 40 +++++++++--------- library/tomllib.po | 13 ++---- 27 files changed, 345 insertions(+), 394 deletions(-) create mode 100644 dictionaries/library_security_warnings.txt diff --git a/dictionaries/library_security_warnings.txt b/dictionaries/library_security_warnings.txt new file mode 100644 index 0000000000..1d4d24bc29 --- /dev/null +++ b/dictionaries/library_security_warnings.txt @@ -0,0 +1,2 @@ +security +considerations diff --git a/library/__main__.po b/library/__main__.po index e7818e8075..a2644d70fc 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-10-28 21:47+0200\n" -"Last-Translator: Juan C. Tello \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 23:03+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/__main__.rst:2 msgid ":mod:`__main__` --- Top-level code environment" @@ -170,7 +171,6 @@ msgid "Idiomatic Usage" msgstr "Uso idiomático" #: ../Doc/library/__main__.rst:118 -#, fuzzy msgid "" "Some modules contain code that is intended for script use only, like parsing " "command-line arguments or fetching data from standard input. If a module " @@ -194,7 +194,6 @@ msgstr "" "ejecute en el entorno de máximo nivel." #: ../Doc/library/__main__.rst:127 -#, fuzzy msgid "" "Putting as few statements as possible in the block below ``if __name__ == " "'__main__'`` can improve code clarity and correctness. Most often, a " @@ -263,7 +262,6 @@ msgstr "" "implícitamente si tu función no tiene una declaración de retorno)." #: ../Doc/library/__main__.rst:180 -#, fuzzy msgid "" "By proactively following this convention ourselves, our module will have the " "same behavior when run directly (i.e. ``python echo.py``) as it will have if " @@ -272,8 +270,8 @@ msgid "" msgstr "" "Al seguir pro-activamente esta convención nosotros mismo, nuestro módulo " "tendrá el mismo comportamiento cuando se ejecuta directamente (es decir, " -"``python3 echo.py``) que si luego lo empaquetamos como un punto de entrada " -"de script de terminal en un paquete instalable mediante pip." +"``python echo.py``) que si luego lo empaquetamos como un punto de entrada de " +"script de terminal en un paquete instalable mediante pip." #: ../Doc/library/__main__.rst:185 msgid "" @@ -338,7 +336,6 @@ msgstr "" "estudiantes::" #: ../Doc/library/__main__.rst:233 -#, fuzzy msgid "" "Note that ``from .student import search_students`` is an example of a " "relative import. This import style can be used when referencing modules " @@ -351,7 +348,6 @@ msgstr "" "ref:`intra-package-references` en la sección :ref:`tut-modules` del tutorial." #: ../Doc/library/__main__.rst:241 -#, fuzzy msgid "" "The content of ``__main__.py`` typically isn't fenced with an ``if __name__ " "== '__main__'`` block. Instead, those files are kept short and import " @@ -360,9 +356,9 @@ msgid "" msgstr "" "Los contenidos de ``__main__.py`` no están típicamente acotados dentro de " "bloques ``if __name__=='__main__'``. En cambio, esos archivos se mantienen " -"cortos, funciones para ejecutar desde otros módulos. A esos otros módulos " -"se les puede fácilmente realizar pruebas unitarias y son apropiadamente re-" -"utilizables." +"cortos e importan funciones para ejecutar desde otros módulos. A esos otros " +"módulos se les puede fácilmente realizar pruebas unitarias y son " +"apropiadamente re-utilizables." #: ../Doc/library/__main__.rst:246 msgid "" @@ -375,19 +371,16 @@ msgstr "" "atributo ``__name__`` incluirá la ruta del paquete si es importado::" #: ../Doc/library/__main__.rst:254 -#, fuzzy msgid "" "This won't work for ``__main__.py`` files in the root directory of a .zip " "file though. Hence, for consistency, minimal ``__main__.py`` like the :mod:" "`venv` one mentioned below are preferred." msgstr "" -"Sin embargo, esto no funcionará para archivos ``__main__.py`` en el " -"directorio base de un archivo .zip. Por lo tanto, por consistencia, es " -"preferible un ``__main__.py`` minimalista como el :mod:`venv` mencionado " -"arriba." +"Esto no funcionará para archivos ``__main__.py`` en el directorio base de un " +"archivo .zip. Por lo tanto, por consistencia, es preferible un ``__main__." +"py`` minimalista como el :mod:`venv` mencionado abajo." #: ../Doc/library/__main__.rst:260 -#, fuzzy msgid "" "See :mod:`venv` for an example of a package with a minimal ``__main__.py`` " "in the standard library. It doesn't contain a ``if __name__ == '__main__'`` " @@ -395,7 +388,7 @@ msgid "" msgstr "" "En :mod:`venv` puedes conseguir un ejemplo de un paquete con un ``__main__." "py`` minimalista en la librería estándar. No contiene un bloque ``if " -"__name__=='__main__'``. Lo puedes invocar con ``python3 -m venv " +"__name__=='__main__'``. Lo puedes invocar con ``python -m venv " "[directorio]``." #: ../Doc/library/__main__.rst:264 @@ -471,7 +464,6 @@ msgstr "" "¿Por qué funciona esto?" #: ../Doc/library/__main__.rst:339 -#, fuzzy msgid "" "Python inserts an empty ``__main__`` module in :data:`sys.modules` at " "interpreter startup, and populates it by running top-level code. In our " @@ -483,12 +475,12 @@ msgid "" "` in the import system's reference for details on how " "this works." msgstr "" -"Python inserta un módulo ``__main__`` vacío en :attr:`sys.modules` al inicio " +"Python inserta un módulo ``__main__`` vacío en :data:`sys.modules` al inicio " "del intérprete, y lo puebla ejecutando código de máximo nivel. En nuestro " "ejemplo este es el módulo ``start`` que corre línea a línea e importa " "``namely``. A su vez, ``namely`` importa ``__main__`` (que es en verdad " "``start``). ¡Es un ciclo de importado! Afortunadamente, como el módulo " -"parcialmente poblado ``__main__`` está presente en :attr:`sys.modules`, " +"parcialmente poblado ``__main__`` está presente en :data:`sys.modules`, " "Python pasa eso a ``namely``. Ver :ref:`Special considerations for __main__ " "` en la referencia del sistema para información " "detallada de como funciona." diff --git a/library/bz2.po b/library/bz2.po index c8bad48b12..69e79f4097 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -12,15 +12,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-12-13 11:34+0800\n" -"Last-Translator: Rodrigo Tobar \n" -"Language: en_GB\n" +"PO-Revision-Date: 2023-11-06 22:18+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: English - United Kingdom \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: en_GB\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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" @@ -191,15 +192,15 @@ msgstr "" "múltiples flujos (streams) comprimidos." #: ../Doc/library/bz2.rst:89 -#, fuzzy msgid "" ":class:`BZ2File` provides all of the members specified by the :class:`io." "BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` and :meth:`~io." "IOBase.truncate`. Iteration and the :keyword:`with` statement are supported." msgstr "" ":class:`BZ2File` proporciona todos los miembros especificados por :class:`io." -"BufferedIOBase`, excepto :meth:`detach` y :meth:`truncate`. Se admite la " -"iteración y la palabra clave :keyword:`with`." +"BufferedIOBase`, excepto :meth:`~io.BufferedIOBase.detach` y :meth:`~io." +"IOBase.truncate`. La iteración y la instrucción :keyword:`with` están " +"soportadas." #: ../Doc/library/bz2.rst:94 msgid ":class:`BZ2File` also provides the following method:" @@ -401,15 +402,14 @@ msgstr "" "el atributo :attr:`~.needs_input` se establecerá en ``True``." #: ../Doc/library/bz2.rst:209 -#, fuzzy msgid "" "Attempting to decompress data after the end of stream is reached raises an :" "exc:`EOFError`. Any data found after the end of the stream is ignored and " "saved in the :attr:`~.unused_data` attribute." msgstr "" -"Intentar descomprimir datos una vez que se alcanza el final de la " -"transmisión genera un `EOFError`. Cualquier dato encontrado después del " -"final del flujo se ignora y se guarda en el atributo :attr:`~.unused_data`." +"Intentar descomprimir datos una vez que se alcanza el final del flujo genera " +"un :exc:`EOFError`. Cualquier información encontrada después del final del " +"flujo se ignora y se guarda en el atributo :attr:`~.unused_data`." #: ../Doc/library/bz2.rst:213 msgid "Added the *max_length* parameter." @@ -495,16 +495,15 @@ msgid "Using :class:`BZ2Compressor` for incremental compression:" msgstr "Usando :class:`BZ2Compressor` para compresión incremental:" #: ../Doc/library/bz2.rst:306 -#, fuzzy msgid "" "The example above uses a very \"nonrandom\" stream of data (a stream of " "``b\"z\"`` chunks). Random data tends to compress poorly, while ordered, " "repetitive data usually yields a high compression ratio." msgstr "" -"El ejemplo anterior utiliza un flujo de datos bastante \"no aleatoria\"(un " -"flujo de fragmentos `b\"z\"`). Los datos aleatorios tienden a comprimirse " -"mal, mientras que los datos ordenados y repetitivos generalmente producen " -"una alta relación de compresión." +"El ejemplo anterior utiliza un flujo de datos bastante \"no aleatorio\" (un " +"flujo de fragmentos ``b\"z\"``). Los datos aleatorios tienden a comprimirse " +"mal, mientras que los datos ordenados y repetitivos generalmente producen un " +"alto grado de compresión." #: ../Doc/library/bz2.rst:310 msgid "Writing and reading a bzip2-compressed file in binary mode:" diff --git a/library/codeop.po b/library/codeop.po index 530ad544a8..7f0f47fefe 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -11,13 +11,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "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" +"PO-Revision-Date: 2023-11-06 21:56+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/codeop.rst:2 msgid ":mod:`codeop` --- Compile Python code" @@ -47,23 +49,21 @@ msgid "There are two parts to this job:" msgstr "Esta actividad consta de dos partes:" #: ../Doc/library/codeop.rst:22 -#, fuzzy msgid "" "Being able to tell if a line of input completes a Python statement: in " "short, telling whether to print '``>>>``' or '``...``' next." msgstr "" "Ser capaz de identificar si una línea de entrada completa una sentencia de " "Python: en resumen, decir si se debe imprimir a continuación '``>>>``' o " -"'``...``' ." +"'``...``'." #: ../Doc/library/codeop.rst:25 -#, fuzzy msgid "" "Remembering which future statements the user has entered, so subsequent " "input can be compiled with these in effect." msgstr "" -"Recordar qué sentencias posteriores ha ingresado el usuario, para que estas " -"entradas sean incluidas al momento de compilar." +"Recordar qué declaraciones futuras ha ingresado el usuario, para que la " +"entrada posterior puedan ser compiladas con estas en efecto." #: ../Doc/library/codeop.rst:28 msgid "" @@ -78,7 +78,6 @@ msgid "To do just the former:" msgstr "Para hacer lo anterior:" #: ../Doc/library/codeop.rst:35 -#, fuzzy msgid "" "Tries to compile *source*, which should be a string of Python code and " "return a code object if *source* is valid Python code. In that case, the " @@ -103,7 +102,6 @@ msgstr "" "`OverflowError` o :exc:`ValueError` si hay un literal no válido." #: ../Doc/library/codeop.rst:45 -#, fuzzy msgid "" "The *symbol* argument determines whether *source* is compiled as a statement " "(``'single'``, the default), as a sequence of :term:`statement` (``'exec'``) " @@ -111,8 +109,9 @@ msgid "" "`ValueError` to be raised." msgstr "" "El argumento *symbol* determina si *source* se compila como una declaración " -"(``'single'``, el valor predeterminado) o como un :term:`expression` " -"(``'eval'``). Cualquier otro valor hará que se lance :exc:`ValueError`." +"(``'single'``, el valor predeterminado), como una secuencia de :term:" +"`statement` (``'exec'``) o como un :term:`expression` (``'eval'``). " +"Cualquier otro valor hará que se lance :exc:`ValueError`." #: ../Doc/library/codeop.rst:52 msgid "" @@ -130,7 +129,6 @@ msgstr "" "analizador sea mejor." #: ../Doc/library/codeop.rst:61 -#, fuzzy msgid "" "Instances of this class have :meth:`~object.__call__` methods identical in " "signature to the built-in function :func:`compile`, but with the difference " @@ -138,14 +136,13 @@ msgid "" "statement, the instance 'remembers' and compiles all subsequent program " "texts with the statement in force." msgstr "" -"Las instancias de esta clase tienen :meth:`__call__` métodos idénticos en " -"firma a la función incorporada :func:`compile`, pero con la diferencia de " -"que si la instancia compila el texto del programa que contiene una " -"instrucción :mod:`__future__`, la instancia 'recuerda' y compila todos los " -"textos de programa posteriores con la declaración en vigor." +"Las instancias de esta clase tienen métodos :meth:`~object.__call__` " +"idénticos en firma a la función incorporada :func:`compile`, pero con la " +"diferencia de que si la instancia compila el texto del programa que contiene " +"una instrucción :mod:`__future__`, la instancia 'recuerda' y compila todos " +"los textos de programa posteriores con la declaración en vigor." #: ../Doc/library/codeop.rst:70 -#, fuzzy msgid "" "Instances of this class have :meth:`~object.__call__` methods identical in " "signature to :func:`compile_command`; the difference is that if the instance " @@ -153,8 +150,8 @@ msgid "" "'remembers' and compiles all subsequent program texts with the statement in " "force." msgstr "" -"Las instancias de esta clase tienen :meth:`__call__` métodos idénticos en " -"firma a :func:`compile_command`; la diferencia es que si la instancia " -"compila un texto de programa que contiene una declaración ``__future__``, la " -"instancia 'recuerda' y compila todos los textos de programa posteriores con " -"la declaración en vigor." +"Las instancias de esta clase tienen métodos :meth:`~object.__call__` " +"idénticos en firma a :func:`compile_command`; la diferencia es que si la " +"instancia compila un texto de programa que contiene una declaración :mod:" +"`__future__`, la instancia 'recuerda' y compila todos los textos de programa " +"posteriores con la declaración en vigor." diff --git a/library/compileall.po b/library/compileall.po index 5c25be0e2b..124babc688 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-03-13 15:30-0300\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:39+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/compileall.rst:2 msgid ":mod:`compileall` --- Byte-compile Python libraries" @@ -46,9 +47,8 @@ msgstr "" "biblioteca." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidad `: ni Emscripten, ni WASI." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -73,7 +73,6 @@ msgstr "" "compileall`) para compilar fuentes de Python." #: ../Doc/library/compileall.rst:30 -#, fuzzy msgid "" "Positional arguments are files to compile or directories that contain source " "files, traversed recursively. If no argument is given, behave as if the " @@ -81,8 +80,8 @@ msgid "" msgstr "" "Los argumentos posicionales son archivos para compilar o directorios que " "contienen archivos fuente, recorridos recursivamente. Si no se proporciona " -"ningún argumento, se comporta como si la línea de comando fuera ``-l " -"``." +"ningún argumento, se comporta como si la línea de comando fuera :samp:`-l " +"{}`." #: ../Doc/library/compileall.rst:36 msgid "" @@ -263,16 +262,15 @@ msgstr "" "mismo ya proporciona la opción: :program:`python -O -m compileall`." #: ../Doc/library/compileall.rst:144 -#, fuzzy msgid "" "Similarly, the :func:`compile` function respects the :data:`sys." "pycache_prefix` setting. The generated bytecode cache will only be useful " "if :func:`compile` is run with the same :data:`sys.pycache_prefix` (if any) " "that will be used at runtime." msgstr "" -"De manera similar, la función :func:`compile` respeta la configuración :attr:" +"De manera similar, la función :func:`compile` respeta la configuración :data:" "`sys.pycache_prefix`. El cache de código de byte generado sólo será útil si :" -"func:`compile` se ejecuta con el mismo :attr:`sys.pycache_prefix` (si es que " +"func:`compile` se ejecuta con el mismo :data:`sys.pycache_prefix` (si es que " "existe alguno) que se utilizará en el momento de ejecución." #: ../Doc/library/compileall.rst:150 @@ -398,7 +396,6 @@ msgstr "" "generados en el momento de ejecución." #: ../Doc/library/compileall.rst:200 ../Doc/library/compileall.rst:270 -#, fuzzy msgid "" "The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " "``-s``, ``-p`` and ``-e`` options described above. They may be specified as " @@ -406,7 +403,7 @@ msgid "" msgstr "" "Los argumentos *stripdir*, *prependdir* y *limit_sl_dest* corresponden a las " "opciones ``-s``, ``-p`` y ``-e`` descritas anteriormente. Pueden " -"especificarse como ``str``, ``bytes`` o :py:class:`os.PathLike`." +"especificarse como ``str``, o :py:class:`os.PathLike`." #: ../Doc/library/compileall.rst:204 ../Doc/library/compileall.rst:274 msgid "" diff --git a/library/email.charset.po b/library/email.charset.po index eef8c24c05..22b44a2e89 100644 --- a/library/email.charset.po +++ b/library/email.charset.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 18:14+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-06 22:45+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.charset.rst:2 msgid ":mod:`email.charset`: Representing character sets" @@ -137,7 +138,6 @@ msgstr "" "ascii`` de 7 bits." #: ../Doc/library/email.charset.rst:60 -#, fuzzy msgid "" "If the character set must be encoded before it can be used in an email " "header, this attribute will be set to ``charset.QP`` (for quoted-printable), " @@ -146,12 +146,11 @@ msgid "" msgstr "" "Si el conjunto de caracteres debe codificarse antes de que pueda usarse en " "un encabezado de correo electrónico, este atributo se establecerá a " -"``Charset.QP`` (para quoted-printable), ``Charset.BASE64`` (para " -"codificación base64), o ``Charset.SHORTEST`` para la más codificación más " -"corta QP o BASE64. De lo contrario será ``None``." +"``charset.QP`` (para imprimible con comillas), ``charset.BASE64`` (para " +"codificación base64), o ``charset.SHORTEST`` para la codificación más corta " +"QP o BASE64. De lo contrario será ``None``." #: ../Doc/library/email.charset.rst:69 -#, fuzzy msgid "" "Same as *header_encoding*, but describes the encoding for the mail message's " "body, which indeed may be different than the header encoding. ``charset." @@ -159,7 +158,7 @@ msgid "" msgstr "" "Igual que *header_encoding*, pero describe la codificación del cuerpo del " "mensaje de correo, que de hecho puede ser diferente a la codificación del " -"encabezado. ``Charset.SHORTEST`` no está permitido para *body_encoding*." +"encabezado. ``charset.SHORTEST`` no está permitido para *body_encoding*." #: ../Doc/library/email.charset.rst:76 msgid "" @@ -288,13 +287,12 @@ msgstr "" "soportar operaciones estándar y funciones integradas." #: ../Doc/library/email.charset.rst:152 -#, fuzzy msgid "" "Returns *input_charset* as a string coerced to lower case. :meth:`!__repr__` " "is an alias for :meth:`!__str__`." msgstr "" "Retorna *input_charset* como una cadena de caracteres convertida a " -"minúsculas. :meth:`__repr__` es un alias para :meth:`__str__`." +"minúsculas. :meth:`!__repr__` es un alias para :meth:`!__str__`." #: ../Doc/library/email.charset.rst:158 msgid "" @@ -333,7 +331,6 @@ msgstr "" "canónico del conjunto de caracteres." #: ../Doc/library/email.charset.rst:178 -#, fuzzy msgid "" "Optional *header_enc* and *body_enc* is either ``charset.QP`` for quoted-" "printable, ``charset.BASE64`` for base64 encoding, ``charset.SHORTEST`` for " @@ -341,11 +338,11 @@ msgid "" "encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " "``None`` for no encoding." msgstr "" -"Opcional *header_enc* y *body_enc* es ``Charset.QP`` para imprimibles entre " -"comillas, ``Charset.BASE64`` para codificación base64, ``Charset.SHORTEST`` " -"para codificación más corta quoted-printable o base64, o ``None`` para no " -"codificar. ``SHORTEST`` solo es válido para *header_enc*. El valor " -"predeterminado es ``None`` para no codificar." +"Opcional *header_enc* y *body_enc* es ``charset.QP`` para imprimibles entre " +"comillas, ``charset.BASE64`` para codificación base64, ``charset.SHORTEST`` " +"para la codificación más corta entre imprimible entre comillas o base64, o " +"``None`` para no codificar. ``SHORTEST`` solo es válido para *header_enc*. " +"El valor predeterminado es ``None`` para no codificar." #: ../Doc/library/email.charset.rst:184 msgid "" diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po index e33f39c31c..035125c288 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2020-11-09 21:18+0100\n" -"Last-Translator: Álvaro Mondéjar \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:22+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.compat32-message.rst:4 msgid "" @@ -185,7 +186,6 @@ msgstr "" "(por ejemplo, límites MIME pueden ser generados o modificados)." #: ../Doc/library/email.compat32-message.rst:83 -#, fuzzy msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " @@ -196,10 +196,10 @@ msgid "" msgstr "" "Ten en cuenta que este método es proporcionado como conveniencia y puede no " "siempre formatear el mensaje de la forma que quieres. Por ejemplo, de forma " -"predeterminada no realiza la mutilación de líneas que comienzan con ``From`` " -"que es requerida por el formato unix mbox. Para mayor flexibilidad, " -"instancia un :class:`~email.generator.Generator` y utiliza su método :meth:" -"`~email.generator.Generator.flatten` directamente. Por ejemplo::" +"predeterminada no realiza la manipulación de líneas que comienzan con " +"``From`` que es requerida por el formato mbox de Unix. Para mayor " +"flexibilidad, instancia un :class:`~email.generator.Generator` y utiliza su " +"método :meth:`~email.generator.Generator.flatten` directamente. Por ejemplo::" #: ../Doc/library/email.compat32-message.rst:97 msgid "" @@ -243,7 +243,6 @@ msgstr "" "será pasado al ``BytesGenerator``." #: ../Doc/library/email.compat32-message.rst:125 -#, fuzzy msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " @@ -254,10 +253,11 @@ msgid "" msgstr "" "Ten en cuenta que este método es proporcionado como conveniencia y puede no " "siempre formatear el mensaje de la forma que quieres. Por ejemplo, de forma " -"predeterminada no realiza la mutilación de líneas que comienzan con ``From`` " -"que es requerida por el formato unix mbox. Para mayor flexibilidad, " -"instancia un :class:`~email.generator.Generator` y utiliza su método :meth:" -"`~email.generator.Generator.flatten` directamente. Por ejemplo::" +"predeterminada no realiza la manipulación de líneas que comienzan con " +"``From`` que es requerida por el formato mbox de Unix. Para mayor " +"flexibilidad, instancia un :class:`~email.generator.BytesGenerator` y " +"utiliza su método :meth:`~email.generator.BytesGenerator.flatten` " +"directamente. Por ejemplo::" #: ../Doc/library/email.compat32-message.rst:145 msgid "" @@ -547,7 +547,6 @@ msgstr "" "presente en el mensaje no está incluido en la interfaz de mapeo." #: ../Doc/library/email.compat32-message.rst:298 -#, fuzzy msgid "" "In a model generated from bytes, any header values that (in contravention of " "the RFCs) contain non-ASCII bytes will, when retrieved through this " @@ -555,9 +554,9 @@ msgid "" "charset of ``unknown-8bit``." msgstr "" "En un modelo generado desde bytes, cualesquiera valores de encabezado que " -"(en contravención de los RFCs) contienen bytes ASCII serán representados, " +"(en contravención de los RFCs) contienen bytes no ASCII serán representados, " "cuando sean obtenidos mediante esta interfaz, como objetos :class:`~email." -"header.Header` con un conjunto de caracteres `unknown-8bit`." +"header.Header` con un conjunto de caracteres ``unknown-8bit``." #: ../Doc/library/email.compat32-message.rst:306 msgid "Return the total number of headers, including duplicates." diff --git a/library/email.generator.po b/library/email.generator.po index 2d4fe47032..c3045a6a78 100644 --- a/library/email.generator.po +++ b/library/email.generator.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-10 22:33-0300\n" -"Last-Translator: \n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-06 22:14+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.generator.rst:2 msgid ":mod:`email.generator`: Generating MIME documents" @@ -118,7 +119,6 @@ msgstr "" "*outfp*. *outfp* debe soportar un método ``write`` que acepte datos binarios." #: ../Doc/library/email.generator.rst:52 ../Doc/library/email.generator.rst:153 -#, fuzzy msgid "" "If optional *mangle_from_* is ``True``, put a ``>`` character in front of " "any line in the body that starts with the exact string ``\"From \"``, that " @@ -131,14 +131,15 @@ msgid "" "length.html>`_)." msgstr "" "Si *mangle_from_* opcional es ``True``, se coloca un carácter ''>'' delante " -"de cualquier línea del cuerpo que comience con la cadena exacta ''\"From " -"\"'', es decir, ''From'' seguido de un espacio al principio de una línea. " +"de cualquier línea del cuerpo que comience con la cadena exacta ``\"From " +"\"``, es decir, ``From`` seguido de un espacio al principio de una línea. " "*mangle_from_* vuelve de forma predeterminada al valor de la configuración :" -"attr:`~email.policy.Policy.mangle_from_` de la *norma* (que es ''True'' para " -"la norma :data:`~email.policy.compat32` y ''False'' para todas las demás). " -"*mangle_from_* está diseñado para su uso cuando los mensajes se almacenan en " -"formato unix mbox (consulte :mod:`mailbox` y `WHY THE CONTENT-LENGTH FORMAT " -"IS BAD `_)." +"attr:`~email.policy.Policy.mangle_from_` de la *policy* (que es ``True`` " +"para la política :data:`~email.policy.compat32` y ``False`` para todas las " +"demás). *mangle_from_* está diseñado para su uso cuando los mensajes se " +"almacenan en formato mbox de Unix (consulte :mod:`mailbox` y `WHY THE " +"CONTENT-LENGTH FORMAT IS BAD `_)." # Aqui la palabra manheaderlen no se si es un error de la documentación en # inglés... @@ -479,7 +480,6 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/email.generator.rst:276 -#, fuzzy msgid "" "This statement assumes that you use the appropriate setting for " "``unixfrom``, and that there are no :mod:`email.policy` settings calling for " @@ -491,10 +491,10 @@ msgid "" "possible." msgstr "" "Esta instrucción supone que se utiliza la configuración adecuada para " -"``unixfrom``, y que no hay ninguna configuración :mod:`policy` que llame a " -"ajustes automáticos (por ejemplo, :attr:`~email.policy.Policy.refold_source` " -"debe ser ``none``, que es *no* es el valor predeterminado). Esto tampoco es " -"100% verdadero, ya que si el mensaje no se ajusta a los estándares RFC " -"ocasionalmente la información sobre el texto original exacto se pierde " -"durante la el análisis de recuperación de errores. Es un objetivo fijar " -"estos últimos casos extremos cuando sea posible." +"``unixfrom``, y que no hay ninguna configuración :mod:`email.policy` que " +"llame a ajustes automáticos (por ejemplo, :attr:`~email.policy.EmailPolicy." +"refold_source` debe ser ``none``, que es *no* es el valor predeterminado). " +"Esto tampoco es 100% verdadero, ya que si el mensaje no se ajusta a los " +"estándares RFC ocasionalmente la información sobre el texto original exacto " +"se pierde durante la el análisis de recuperación de errores. Es un objetivo " +"fijar estos últimos casos extremos cuando sea posible." diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index b0ffbd5d55..a77f52775e 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2020-10-17 19:47+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:11+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.headerregistry.rst:2 msgid ":mod:`email.headerregistry`: Custom Header Objects" @@ -289,7 +290,6 @@ msgstr "" "Este tipo de encabezado proporciona los siguientes atributos adicionales:" #: ../Doc/library/email.headerregistry.rst:150 -#, fuzzy msgid "" "If the header value can be recognized as a valid date of one form or " "another, this attribute will contain a :class:`~datetime.datetime` instance " @@ -306,9 +306,9 @@ msgstr "" "entrada se especifica como ``-0000`` (lo que indica que está en UTC pero no " "contiene información sobre la zona horaria de origen), entonces :attr:`." "datetime` será un ingenuo :class:`~datetime.datetime`. Si se encuentra un " -"desplazamiento de zona horaria específico (incluido `+0000`), entonces :attr:" -"`.datetime` contendrá un ``datetime`` consciente que usa :class:`datetime." -"timezone` para registrar el desplazamiento de la zona horaria." +"desplazamiento de zona horaria específico (incluido ``+0000``), entonces :" +"attr:`.datetime` contendrá un ``datetime`` consciente que usa :class:" +"`datetime.timezone` para registrar el desplazamiento de la zona horaria." #: ../Doc/library/email.headerregistry.rst:160 msgid "" @@ -384,7 +384,6 @@ msgstr "" "direcciones se \"aplana\" (*\"flattened\"*) en una lista unidimensional)." #: ../Doc/library/email.headerregistry.rst:207 -#, fuzzy msgid "" "The ``decoded`` value of the header will have all encoded words decoded to " "unicode. :class:`~encodings.idna` encoded domain names are also decoded to " @@ -395,8 +394,8 @@ msgstr "" "El valor ``decoded`` del encabezado tendrá todas las palabras codificadas " "decodificadas a Unicode. Los nombres de dominio codificados :class:" "`~encodings.idna` también se decodifican en Unicode. El valor ``decoded`` se " -"establece mediante :attr:`~str.join` del valor :class:`str` de los elementos " -"del atributo ``groups`` con ``', '``." +"establece :ref:`concatenando ` el valor :class:`str` de los " +"elementos del atributo ``groups`` con ``', '``." #: ../Doc/library/email.headerregistry.rst:213 msgid "" diff --git a/library/email.message.po b/library/email.message.po index 4b353a684d..72b1b000b9 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 18:10+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:54+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.message.rst:2 msgid ":mod:`email.message`: Representing an email message" @@ -140,7 +141,6 @@ msgstr "" "la documentación del :mod:`~email.policy`." #: ../Doc/library/email.message.rst:64 -#, fuzzy msgid "" "Return the entire message flattened as a string. When optional *unixfrom* " "is true, the envelope header is included in the returned string. *unixfrom* " @@ -156,14 +156,14 @@ msgstr "" "Retorna el mensaje entero como cadena de caracteres. Cuando la opción " "*unixform* es verdadera, la cabecera está incluida en la cadena de " "caracteres retornada. *unixform* está predeterminado con valor ``False``. " -"Por compatibilidad con versiones anteriores, la base :class:`~email.message." -"Message`, la case *maxheaderlen* es aceptada pero con valor ``None`` como " +"Por compatibilidad con versiones anteriores, la clase base :class:`~email." +"message.Message` *maxheaderlen* es aceptada pero con valor ``None`` como " "predeterminado, por lo que la longitud de línea se controla mediante :attr:" -"`~email.policy.EmailPolicy.max_line_length`. El argumento *policy* puede ser " -"usado para anular el valor predeterminado obtenido de la instancia del " -"mensaje. Esto puede ser usado para controlar parte del formato producido por " -"el método, ya que la política especificada pasará a :class:`~email.generator." -"Generator`." +"`~email.policy.Policy.max_line_length` de la política. El argumento *policy* " +"puede ser usado para sobrescribir la política predeterminada obtenida de la " +"instancia del mensaje. Esto puede ser usado para controlar parte del formato " +"producido por el método, ya que la *policy* especificada pasará a :class:" +"`~email.generator.Generator`." #: ../Doc/library/email.message.rst:76 ../Doc/library/email.message.rst:114 msgid "" @@ -400,7 +400,6 @@ msgstr "" "el mensaje con el campo 'nombre', borre el campo primero, por ejemplo::" #: ../Doc/library/email.message.rst:216 -#, fuzzy msgid "" "If the :mod:`policy ` defines certain headers to be unique (as " "the standard policies do), this method may raise a :exc:`ValueError` when an " @@ -409,11 +408,12 @@ msgid "" "as we may choose to make such assignments do an automatic deletion of the " "existing header in the future." msgstr "" -"Si el :mod:`policy` define ciertas cabeceras para ser únicos(como lo hace el " -"*standard*), este método puede generar un :exc:`ValueError` cuando se " -"intenta asignar un valor a una cabecera preexistente. Este comportamiento es " -"intencional por consistencia, pero no dependa de ello, ya que podemos optar " -"por hacer que tales asignaciones eliminen la cabecera en el futuro." +"Si el :mod:`policy ` define ciertas cabeceras para ser únicas " +"(como lo hacen las políticas estándares), este método puede generar un :exc:" +"`ValueError` cuando se intenta asignar un valor a esta cabecera si una ya " +"existe. Este comportamiento es intencional por consistencia, pero no dependa " +"de ello, ya que podemos optar por hacer que tales asignaciones eliminen la " +"cabecera en el futuro." #: ../Doc/library/email.message.rst:226 msgid "" @@ -666,16 +666,15 @@ msgstr "" "obsoleto." #: ../Doc/library/email.message.rst:380 -#, fuzzy msgid "" "Note that existing parameter values of headers may be accessed through the :" "attr:`~email.headerregistry.ParameterizedMIMEHeader.params` attribute of the " "header value (for example, ``msg['Content-Type'].params['charset']``)." msgstr "" "Tenga en cuenta que se puede acceder a los parámetros existentes de las " -"cabeceras a través del atributo :attr:`~email.headerregistry.BaseHeader." -"params` de la cabecera (por ejemplo, ``msg['Content-Type']." -"params['charset']``)." +"cabeceras a través del atributo :attr:`~email.headerregistry." +"ParameterizedMIMEHeader.params` de la cabecera (por ejemplo, ``msg['Content-" +"Type'].params['charset']``)." #: ../Doc/library/email.message.rst:384 msgid "``replace`` keyword was added." @@ -1141,13 +1140,12 @@ msgid "Remove the payload and all of the headers." msgstr "Elimina la carga útil y todas las cabeceras." #: ../Doc/library/email.message.rst:694 -#, fuzzy msgid "" "Remove the payload and all of the :mailheader:`!Content-` headers, leaving " "all other headers intact and in their original order." msgstr "" -"Elimina la carga útil y todos los :exc:`Content-` *headers*, dejando a las " -"demás cabeceras intactas y en su orden original." +"Elimina la carga útil y todos las cabeceras :mailheader:`!Content-`, dejando " +"a las demás cabeceras intactas y en su orden original." #: ../Doc/library/email.message.rst:698 msgid ":class:`EmailMessage` objects have the following instance attributes:" diff --git a/library/email.mime.po b/library/email.mime.po index c303d0b779..6702b6344c 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-21 15:54-0300\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:26+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.mime.rst:2 msgid ":mod:`email.mime`: Creating email and MIME objects from scratch" @@ -223,7 +224,6 @@ msgid "Module: :mod:`email.mime.application`" msgstr "Módulo: :mod:`email.mime.application`" #: ../Doc/library/email.mime.rst:115 -#, fuzzy msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEApplication` class is used to represent MIME message objects of major " @@ -233,10 +233,9 @@ msgid "" msgstr "" "Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " "clase :class:`MIMEApplication` se utiliza para representar objetos de " -"mensaje MIME de tipo principal :mimetype:`application`. *_data* es una " -"cadena de caracteres que contiene los datos de bytes sin procesar. " -"*_subtype* opcional especifica el subtipo MIME y el valor predeterminado es :" -"mimetype:`octet-stream`." +"mensaje MIME de tipo principal :mimetype:`application`. *_data* contiene los " +"bytes de la aplicación sin procesar. *_subtype* opcional especifica el " +"subtipo MIME y el valor predeterminado es :mimetype:`octet-stream`." #: ../Doc/library/email.mime.rst:121 msgid "" @@ -268,7 +267,6 @@ msgid "Module: :mod:`email.mime.audio`" msgstr "Módulo: :mod:`email.mime.audio`" #: ../Doc/library/email.mime.rst:146 -#, fuzzy msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEAudio` class is used to create MIME message objects of major type :" @@ -281,13 +279,13 @@ msgid "" msgstr "" "Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " "clase :class:`MIMEAudio` se utiliza para crear objetos de mensaje MIME de " -"tipo principal :mimetype:`audio`. *_audiodata* es una cadena de caracteres " -"que contiene los datos de audio sin procesar. Si estos datos pueden ser " -"decodificados como au, wav, aiff, or aifc, entonces el subtipo se incluirá " -"automáticamente en el encabezado :mailheader:`Content-Type`. De lo " -"contrario, puede especificar explícitamente el subtipo de audio mediante el " -"argumento *_subtype*. Si no se pudo adivinar el tipo secundario y no se ha " -"proporcionado *_subtype*, se lanza :exc:`TypeError`." +"tipo principal :mimetype:`audio`. *_audiodata* contiene los bytes del audio " +"sin procesar. Si estos datos pueden ser decodificados como au, wav, aiff, or " +"aifc, entonces el subtipo se incluirá automáticamente en el encabezado :" +"mailheader:`Content-Type`. De lo contrario, puede especificar explícitamente " +"el subtipo de audio mediante el argumento *_subtype*. Si no se pudo adivinar " +"el tipo secundario y no se ha proporcionado *_subtype*, se lanza :exc:" +"`TypeError`." #: ../Doc/library/email.mime.rst:155 msgid "" @@ -315,7 +313,6 @@ msgid "Module: :mod:`email.mime.image`" msgstr "Módulo: :mod:`email.mime.image`" #: ../Doc/library/email.mime.rst:180 -#, fuzzy msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEImage` class is used to create MIME message objects of major type :" @@ -329,14 +326,13 @@ msgid "" msgstr "" "Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " "clase :class:`MIMEImage` se utiliza para crear objetos de mensaje MIME de " -"tipo principal :mimetype:`image`. *_imagedata* es una cadena de caracteres " -"que contiene los datos de imagen sin procesar. Si se puede detectar el tipo " -"de dato (intentando con jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, " -"bmp, webp, y exr), entonces el subtipo se incluirá automáticamente en el " -"encabezado :mailheader:`Content-Type`. De lo contrario, puede especificar " -"explícitamente el subtipo de imagen mediante el argumento *_subtype*. Si no " -"se pudo adivinar el tipo secundario y no se ha proporcionado *_subtype*, se " -"lanza :exc:`TypeError`." +"tipo principal :mimetype:`image`. *_imagedata* contiene los bytes de la " +"imagen sin procesar. Si se puede detectar el tipo de dato (intentando con " +"jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, bmp, webp, y exr), " +"entonces el subtipo se incluirá automáticamente en el encabezado :mailheader:" +"`Content-Type`. De lo contrario, puede especificar explícitamente el subtipo " +"de imagen mediante el argumento *_subtype*. Si no se pudo adivinar el tipo " +"secundario y no se ha proporcionado *_subtype*, se lanza :exc:`TypeError`." #: ../Doc/library/email.mime.rst:190 msgid "" diff --git a/library/filecmp.po b/library/filecmp.po index 1390199a6b..61873a6614 100644 --- a/library/filecmp.po +++ b/library/filecmp.po @@ -8,18 +8,19 @@ # msgid "" msgstr "" -"Project-Id-Version: Traduccion-filecmp\n" +"Project-Id-Version: Traduccion-filecmp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-09-27 12:59-0400\n" -"Last-Translator: Enrique Giménez \n" -"Language: es_PY\n" +"PO-Revision-Date: 2023-11-06 22:09+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: Enrique Giménez\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_PY\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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/filecmp.rst:2 msgid ":mod:`filecmp` --- File and Directory Comparisons" @@ -59,7 +60,7 @@ msgid "" msgstr "" "Si *shallow* es verdadero y las firmas :func:`os.stat` (tipo de fichero, " "tamaño, y tiempo de modificación) de los dos ficheros son idénticas, los " -"ficheros se consideran iguales" +"ficheros se consideran iguales." #: ../Doc/library/filecmp.rst:29 msgid "" @@ -145,7 +146,6 @@ msgid "The :class:`dircmp` class" msgstr "La clase :class:`dircmp`" #: ../Doc/library/filecmp.rst:75 -#, fuzzy msgid "" "Construct a new directory comparison object, to compare the directories *a* " "and *b*. *ignore* is a list of names to ignore, and defaults to :const:" @@ -154,7 +154,7 @@ msgid "" msgstr "" "Construye un nuevo objeto de comparación de directorio, para comparar los " "directorios *a* y *b*. *ignore* es una lista de nombres a ignorar, y " -"predetermina a :attr:`filecmp.DEFAULT_IGNORES`. *hide* es una lista de " +"predetermina a :const:`filecmp.DEFAULT_IGNORES`. *hide* es una lista de " "nombres a ocultar, y predetermina a ``[os.curdir, os.pardir]``." #: ../Doc/library/filecmp.rst:80 @@ -198,13 +198,12 @@ msgstr "" "árboles de directorio que están siendo comparados." #: ../Doc/library/filecmp.rst:103 -#, fuzzy msgid "" "Note that via :meth:`~object.__getattr__` hooks, all attributes are computed " "lazily, so there is no speed penalty if only those attributes which are " "lightweight to compute are used." msgstr "" -"Note que vía los hooks :meth:`__getattr__`, todos los atributos son " +"Note que vía los hooks :meth:`~object.__getattr__`, todos los atributos son " "perezosamente computados, así que no hay penalización de velocidad si sólo " "esos atributos que son ligeros de computar son utilizados." diff --git a/library/graphlib.po b/library/graphlib.po index dda1319ee7..0574a9da4a 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -9,13 +9,15 @@ msgstr "" "Project-Id-Version: Python en Español 3.9\n" "Report-Msgid-Bugs-To: \n" "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-Team: LANGUAGE \n" +"PO-Revision-Date: 2023-11-06 22:55+0100\n" +"Last-Translator: Marcos Medrano \n" +"Language-Team: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/graphlib.rst:2 msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" @@ -27,12 +29,12 @@ msgid "**Source code:** :source:`Lib/graphlib.py`" msgstr "**Código fuente:** :source:`Lib/graphlib.py`" #: ../Doc/library/graphlib.rst:20 -#, fuzzy msgid "" "Provides functionality to topologically sort a graph of :term:`hashable` " "nodes." msgstr "" -"Provee una funcionalidad para ordenar topológicamente un grafo de nodos hash." +"Provee una funcionalidad para ordenar topológicamente un grafo de nodos :" +"term:`hashable`." #: ../Doc/library/graphlib.rst:22 msgid "" @@ -112,7 +114,7 @@ msgid "" msgstr "" "En caso de que sólo se requiera una ordenación inmediata de los nodos del " "grafo y no haya paralelismo, se puede utilizar directamente el método de " -"conveniencia :meth:`TopologicalSorter.static_order`" +"conveniencia :meth:`TopologicalSorter.static_order`." #: ../Doc/library/graphlib.rst:60 msgid "" @@ -123,13 +125,12 @@ msgstr "" "de los nodos a medida que estén listos. Para la instancia::" #: ../Doc/library/graphlib.rst:87 -#, fuzzy msgid "" "Add a new node and its predecessors to the graph. Both the *node* and all " "elements in *predecessors* must be :term:`hashable`." msgstr "" "Añade un nuevo nodo y sus predecesores al grafo. Tanto el *node* como todos " -"los elementos de *predecessors* deben ser hashables." +"los elementos de *predecessors* deben ser :term:`hashable`." #: ../Doc/library/graphlib.rst:90 msgid "" @@ -191,13 +192,12 @@ msgstr "" "meth:`TopologicalSorter.get_ready`." #: ../Doc/library/graphlib.rst:118 -#, fuzzy msgid "" "The :meth:`~object.__bool__` method of this class defers to this function, " "so instead of::" msgstr "" -"El método :meth:`~TopologicalSorter.__bool__` de esta clase defiere a esta " -"función, por lo que en lugar de::" +"El método :meth:`~object.__bool__` de esta clase defiere a esta función, por " +"lo que en lugar de::" #: ../Doc/library/graphlib.rst:124 msgid "it is possible to simply do::" @@ -306,7 +306,6 @@ msgstr "" "incluirá en la excepción." #: ../Doc/library/graphlib.rst:207 -#, fuzzy msgid "" "The detected cycle can be accessed via the second element in the :attr:" "`~BaseException.args` attribute of the exception instance and consists in a " @@ -315,7 +314,7 @@ msgid "" "and the last node will be the same, to make it clear that it is cyclic." msgstr "" "Se puede acceder al ciclo detectado a través del segundo elemento del " -"atributo :attr:`~CycleError.args` de la instancia de la excepción y consiste " -"en una lista de nodos, tal que cada nodo este, en el grafo, un predecesor " -"inmediato del siguiente nodo en la lista. En la lista reportada, el primer y " -"el último nodo serán el mismo, para dejar claro que es cíclico." +"atributo :attr:`~BaseException.args` de la instancia de la excepción y " +"consiste en una lista de nodos, tal que cada nodo este, en el grafo, un " +"predecesor inmediato del siguiente nodo en la lista. En la lista reportada, " +"el primer y el último nodo serán el mismo, para dejar claro que es cíclico." diff --git a/library/hmac.po b/library/hmac.po index 37c4c7c6fe..ac6c69450a 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2021-08-07 21:15+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:07+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" @@ -125,7 +126,6 @@ msgstr "" "no ASCII, incluyendo *bytes* NUL." #: ../Doc/library/hmac.rst:72 -#, fuzzy msgid "" "When comparing the output of :meth:`digest` to an externally supplied digest " "during a verification routine, it is recommended to use the :func:" @@ -149,7 +149,6 @@ msgstr "" "otros entornos no binarios." #: ../Doc/library/hmac.rst:86 -#, fuzzy msgid "" "When comparing the output of :meth:`hexdigest` to an externally supplied " "digest during a verification routine, it is recommended to use the :func:" diff --git a/library/html.entities.po b/library/html.entities.po index 2d20fb7933..2d075a02d1 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -11,13 +11,15 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "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" +"PO-Revision-Date: 2023-11-06 22:27+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/html.entities.rst:2 msgid ":mod:`html.entities` --- Definitions of HTML general entities" @@ -33,7 +35,7 @@ msgid "" "`name2codepoint`, :data:`codepoint2name`, and :data:`entitydefs`." msgstr "" "Este módulo define cuatro diccionarios :data:`html5`, :data:" -"`name2codepoint`, :data:`codepoint2name`, y :data:`entitydefs`" +"`name2codepoint`, :data:`codepoint2name`, y :data:`entitydefs`." #: ../Doc/library/html.entities.rst:19 msgid "" @@ -60,28 +62,25 @@ msgstr "" "reemplazo en ISO Latin-1." #: ../Doc/library/html.entities.rst:37 -#, fuzzy msgid "A dictionary that maps HTML4 entity names to the Unicode code points." msgstr "" -"Un diccionario que asigna nombres de entidades HTML a los puntos de código " +"Un diccionario que asigna nombres de entidades HTML4 a los puntos de código " "Unicode." #: ../Doc/library/html.entities.rst:42 -#, fuzzy msgid "A dictionary that maps Unicode code points to HTML4 entity names." msgstr "" "Un diccionario que asigna puntos de código Unicode a nombres de entidades " -"HTML." +"HTML4." #: ../Doc/library/html.entities.rst:46 msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/html.entities.rst:47 -#, fuzzy msgid "" "See https://html.spec.whatwg.org/multipage/named-characters.html#named-" "character-references" msgstr "" -"Vea https://html.spec.whatwg.org/multipage/syntax.html#named-character-" -"references" +"Vea https://html.spec.whatwg.org/multipage/named-characters.html#named-" +"character-references" diff --git a/library/json.po b/library/json.po index 50f5f2c584..51baddc4c8 100644 --- a/library/json.po +++ b/library/json.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-30 21:44+0800\n" -"Last-Translator: Juan Pablo Esparza R. \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-06 21:47+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/json.rst:2 msgid ":mod:`json` --- JSON encoder and decoder" @@ -247,16 +248,15 @@ msgstr "" "diccionarios se ordenará por llave." #: ../Doc/library/json.rst:194 -#, fuzzy msgid "" "To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the :" "meth:`~JSONEncoder.default` method to serialize additional types), specify " "it with the *cls* kwarg; otherwise :class:`JSONEncoder` is used." msgstr "" "Para usar una subclase personalizada de :class:`JSONEncoder` (por ejemplo, " -"una que sobre escriba el método :meth:`default` para serializar tipos " -"adicionales), se especifica mediante el argumento por palabra clave *cls*; " -"de lo contrario se usa :class:`JSONEncoder`." +"una que sobreescriba el método :meth:`~JSONEncoder.default` para serializar " +"tipos adicionales), se especifica mediante el argumento por palabra clave " +"*cls*; de lo contrario se usa :class:`JSONEncoder`." #: ../Doc/library/json.rst:198 ../Doc/library/json.rst:277 msgid "" @@ -650,7 +650,6 @@ msgid "Added support for int- and float-derived Enum classes." msgstr "Compatibilidad añadida con las clases Enum derivadas de int y float." #: ../Doc/library/json.rst:424 -#, fuzzy msgid "" "To extend this to recognize other objects, subclass and implement a :meth:" "`~JSONEncoder.default` method with another method that returns a " @@ -658,9 +657,9 @@ msgid "" "superclass implementation (to raise :exc:`TypeError`)." msgstr "" "A fin de extender esto para reconocer otros objetos, implementar una " -"subclase con un método :meth:`default` con otro método que retorna un objeto " -"serializable para ''o'' si es posible, de lo contrario debe llamar a la " -"implementación de superclase (para lanzar :exc:`TypeError`)." +"subclase con un método :meth:`~JSONEncoder.default` con otro método que " +"retorna un objeto serializable para ''o'' si es posible, de lo contrario " +"debe llamar a la implementación de superclase (para lanzar :exc:`TypeError`)." #: ../Doc/library/json.rst:429 msgid "" @@ -721,13 +720,12 @@ msgstr "" "exc:`TypeError`)." #: ../Doc/library/json.rst:485 -#, fuzzy msgid "" "For example, to support arbitrary iterators, you could implement :meth:" "`~JSONEncoder.default` like this::" msgstr "" "Por ejemplo, para admitir iteradores arbitrarios, podría implementar :meth:" -"`default` de esta manera::" +"`~JSONEncoder.default` de esta manera::" #: ../Doc/library/json.rst:501 msgid "" @@ -1036,13 +1034,12 @@ msgstr "" "simple para validar e imprimir objetos JSON." #: ../Doc/library/json.rst:685 -#, fuzzy msgid "" "If the optional ``infile`` and ``outfile`` arguments are not specified, :" "data:`sys.stdin` and :data:`sys.stdout` will be used respectively:" msgstr "" "Si no se especifican los argumentos opcionales ``infile`` y ``outfile``, se " -"utilizarán :attr:`sys.stdin` y :attr:`sys.stdout` respectivamente:" +"utilizarán :data:`sys.stdin` y :data:`sys.stdout` respectivamente:" #: ../Doc/library/json.rst:697 msgid "" @@ -1062,18 +1059,16 @@ msgid "The JSON file to be validated or pretty-printed:" msgstr "El archivo JSON que se va a validar o imprimir con impresión linda:" #: ../Doc/library/json.rst:724 -#, fuzzy msgid "If *infile* is not specified, read from :data:`sys.stdin`." -msgstr "Si no se especifica *infile*, lee :attr:`sys.stdin`." +msgstr "Si no se especifica *infile*, lee :data:`sys.stdin`." #: ../Doc/library/json.rst:728 -#, fuzzy msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " "to :data:`sys.stdout`." msgstr "" "Escribe la salida de *infile* en el *outfile* dado. De lo contrario, lo " -"escribe en :attr:`sys.stdout`." +"escribe en :data:`sys.stdout`." #: ../Doc/library/json.rst:733 msgid "Sort the output of dictionaries alphabetically by key." diff --git a/library/keyword.po b/library/keyword.po index 158dd5abf3..6bd0cd5081 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2021-08-04 21:36+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-06 22:30+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/keyword.rst:2 msgid ":mod:`keyword` --- Testing for Python keywords" @@ -30,13 +31,13 @@ msgid "**Source code:** :source:`Lib/keyword.py`" msgstr "**Código fuente:** :source:`Lib/keyword.py`" #: ../Doc/library/keyword.rst:11 -#, fuzzy msgid "" "This module allows a Python program to determine if a string is a :ref:" "`keyword ` or :ref:`soft keyword `." msgstr "" "Este módulo permite a un programa Python determinar si una cadena de " -"caracteres es una :ref:`palabra clave `." +"caracteres es una :ref:`palabra clave ` o :ref:`palabra clave " +"suave `." #: ../Doc/library/keyword.rst:17 msgid "Return ``True`` if *s* is a Python :ref:`keyword `." @@ -54,19 +55,19 @@ msgstr "" "estas se incluirán también." #: ../Doc/library/keyword.rst:29 -#, fuzzy msgid "Return ``True`` if *s* is a Python :ref:`soft keyword `." -msgstr "Retorna ``True`` si *s* es una :ref:`palabra clave ` Python." +msgstr "" +"Retorna ``True`` si *s* es una :ref:`palabra clave suave ` de " +"Python." #: ../Doc/library/keyword.rst:36 -#, fuzzy msgid "" "Sequence containing all the :ref:`soft keywords ` defined for " "the interpreter. If any soft keywords are defined to only be active when " "particular :mod:`__future__` statements are in effect, these will be " "included as well." msgstr "" -"Secuencia que contiene todos las :ref:`palabras clave ` definidos " -"para el intérprete. Si cualquier palabra clave es definida para estar activa " -"sólo cuando las declaraciones particulares :mod:`__future__` están vigentes, " -"estas se incluirán también." +"Secuencia que contiene todos las :ref:`palabras clave suaves ` definidas para el intérprete. Si cualquier palabra clave suave es " +"definida para estar activa sólo cuando las declaraciones particulares :mod:" +"`__future__` están vigentes, estas se incluirán también." diff --git a/library/lzma.po b/library/lzma.po index a73ccd222b..33e63284f2 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-01 21:27-0400\n" -"Last-Translator: Enrique Giménez \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:06+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/lzma.rst:2 msgid ":mod:`lzma` --- Compression using the LZMA algorithm" @@ -197,15 +198,15 @@ msgstr "" "transparentemente decodificados como un único flujo lógico." #: ../Doc/library/lzma.rst:102 -#, fuzzy msgid "" ":class:`LZMAFile` supports all the members specified by :class:`io." "BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` and :meth:`~io." "IOBase.truncate`. Iteration and the :keyword:`with` statement are supported." msgstr "" ":class:`LZMAFile` soporta todos los miembros especificados por :class:`io." -"BufferedIOBase`, excepto por :meth:`detach` y :meth:`truncate`. La " -"declaración de iteración y :keyword:`with` son soportados." +"BufferedIOBase`, excepto por :meth:`~io.BufferedIOBase.detach` y :meth:`~io." +"IOBase.truncate`. La iteración y la instrucción :keyword:`with` son " +"soportadas." #: ../Doc/library/lzma.rst:107 msgid "The following method is also provided:" @@ -533,16 +534,15 @@ msgstr "" "negativo), el atributo :attr:`~.needs_input` será establecido a ``True``." #: ../Doc/library/lzma.rst:261 -#, fuzzy msgid "" "Attempting to decompress data after the end of stream is reached raises an :" "exc:`EOFError`. Any data found after the end of the stream is ignored and " "saved in the :attr:`~.unused_data` attribute." msgstr "" -"Intentar descomprimir la información descomprimida después de que el fin del " -"flujo es alcanzado genera un `EOFError`. Cualquier información encontrada " -"después de que el fin del flujo es ignorada y guardada en el atributo :attr:" -"`~.unused_data`." +"Intentar descomprimir la información después de que el fin del flujo es " +"alcanzado genera un :exc:`EOFError`. Cualquier información encontrada " +"después del fin del flujo es ignorada y guardada en el atributo :attr:`~." +"unused_data`." #: ../Doc/library/lzma.rst:265 msgid "Added the *max_length* parameter." diff --git a/library/mailbox.po b/library/mailbox.po index eacbb296c3..84d5cd8ba1 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-04 21:38+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:58+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/mailbox.rst:2 msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" @@ -692,11 +693,10 @@ msgstr "" "abierto." #: ../Doc/library/mailbox.rst:431 -#, fuzzy msgid "" "`maildir man page from Courier `_" msgstr "" -"`pagina web maildir de Courier `_" +"`pagina web maildir de Courier `_" #: ../Doc/library/mailbox.rst:430 msgid "" @@ -789,13 +789,12 @@ msgstr "" #: ../Doc/library/mailbox.rst:479 ../Doc/library/mailbox.rst:688 #: ../Doc/library/mailbox.rst:739 -#, fuzzy msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" "func:`!flock` and :c:func:`!lockf` system calls." msgstr "" -"Se utilizan tres mecanismos de bloqueo... el bloqueo por puntos y, si está " -"disponible, las llamadas del sistema :c:func:`flock` y :c:func:`lockf`." +"Se utilizan tres mecanismos de bloqueo---el bloqueo por puntos y, si está " +"disponible, las llamadas del sistema :c:func:`!flock` y :c:func:`!lockf`." #: ../Doc/library/mailbox.rst:486 msgid "" @@ -966,7 +965,6 @@ msgstr "" "del MH de marcar un mensaje para borrarlo poniendo una coma en su nombre." #: ../Doc/library/mailbox.rst:590 -#, fuzzy msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" "func:`!flock` and :c:func:`!lockf` system calls. For MH mailboxes, locking " @@ -974,11 +972,12 @@ msgid "" "duration of any operations that affect them, locking individual message " "files." msgstr "" -"Se utilizan tres mecanismos de bloqueo... el bloqueo por puntos y, si está " -"disponible, las llamadas del sistema :c:func:`flock` y :c:func:`lockf`. Para " -"los buzones de correos MH, bloquear el buzón de correo significa bloquear el " -"archivo :file:`.mh_sequences` y, sólo durante la duración de cualquier " -"operación que les afecte, bloquear los archivos de mensajes individuales." +"Se utilizan tres mecanismos de bloqueo---el bloqueo por puntos y, si está " +"disponible, las llamadas del sistema :c:func:`!flock` y :c:func:`!lockf`. " +"Para los buzones de correos MH, bloquear el buzón de correo significa " +"bloquear el archivo :file:`.mh_sequences` y, sólo durante la duración de " +"cualquier operación que les afecte, bloquear los archivos de mensajes " +"individuales." #: ../Doc/library/mailbox.rst:599 msgid "" @@ -1005,9 +1004,8 @@ msgstr "" "este método es equivalente a :meth:`unlock`." #: ../Doc/library/mailbox.rst:618 -#, fuzzy msgid "`nmh - Message Handling System `_" -msgstr "`nmh - Sistema de Manejo de Mensajes `__" +msgstr "`nmh - Sistema de Manejo de Mensajes `__" #: ../Doc/library/mailbox.rst:618 msgid "" @@ -2332,7 +2330,6 @@ msgstr "" "esté, como cuando se elimina una carpeta que contiene mensajes." #: ../Doc/library/mailbox.rst:1511 -#, fuzzy msgid "" "Raised when some mailbox-related condition beyond the control of the program " "causes it to be unable to proceed, such as when failing to acquire a lock " diff --git a/library/operator.po b/library/operator.po index cacb9a4e6f..053c84f0cd 100644 --- a/library/operator.po +++ b/library/operator.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-03-17 20:03-0500\n" -"Last-Translator: Brian Bokser\n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:32+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/operator.rst:2 msgid ":mod:`operator` --- Standard operators as functions" @@ -92,7 +93,6 @@ msgstr "" "admiten pruebas de verdad, pruebas de identidad y operaciones booleanas:" #: ../Doc/library/operator.rst:61 -#, fuzzy msgid "" "Return the outcome of :keyword:`not` *obj*. (Note that there is no :meth:`!" "__not__` method for object instances; only the interpreter core defines this " @@ -100,9 +100,9 @@ msgid "" "`~object.__len__` methods.)" msgstr "" "Retorna el resultado de :keyword:`not` *obj*. (Tenga en cuenta que no hay " -"ningún método :meth:`__not__` para las instancias de objeto; solo el núcleo " +"ningún método :meth:`!__not__` para las instancias de objeto; solo el núcleo " "del intérprete define esta operación. El resultado se ve afectado por los " -"métodos :meth:`__bool__` y :meth:`__len__`.)" +"métodos :meth:`~object.__bool__` y :meth:`~object.__len__`.)" #: ../Doc/library/operator.rst:69 msgid "" @@ -254,13 +254,12 @@ msgid "Set the value of *a* at index *b* to *c*." msgstr "Establece el valor de *a* en el índice *b* a *c*." #: ../Doc/library/operator.rst:247 -#, fuzzy msgid "" "Return an estimated length for the object *obj*. First try to return its " "actual length, then an estimate using :meth:`object.__length_hint__`, and " "finally return the default value." msgstr "" -"Retorna un largo estimativo del objeto *o*. Primero intenta retornar su " +"Retorna un largo estimativo del objeto *obj*. Primero intenta retornar su " "largo real, luego un estimativo usando :meth:`object.__length_hint__`, y " "finalmente retorna un valor predeterminado." @@ -346,15 +345,14 @@ msgstr "" "r[5], r[3])``." #: ../Doc/library/operator.rst:329 -#, fuzzy msgid "" "The items can be any type accepted by the operand's :meth:`__getitem__` " "method. Dictionaries accept any :term:`hashable` value. Lists, tuples, and " "strings accept an index or a slice:" msgstr "" "Los ítems pueden ser de cualquier tipo aceptado por el método :meth:" -"`__getitem__` del operando. Los diccionarios aceptan cualquier valor " -"*hasheable*. Las listas, las tuplas y las cadenas de caracteres aceptan un " +"`__getitem__` del operando. Los diccionarios aceptan cualquier valor :term:" +"`hashable`. Las listas, las tuplas y las cadenas de caracteres aceptan un " "índice o un segmento:" #: ../Doc/library/operator.rst:343 diff --git a/library/queue.po b/library/queue.po index 8755a6815f..740ad8c4f4 100644 --- a/library/queue.po +++ b/library/queue.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-17 12:05-0300\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 21:40+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/queue.rst:2 msgid ":mod:`queue` --- A synchronized queue class" @@ -42,7 +43,6 @@ msgstr "" "`Queue` de este módulo implementa toda la semántica de bloqueo necesaria." #: ../Doc/library/queue.rst:16 -#, fuzzy msgid "" "The module implements three types of queue, which differ only in the order " "in which the entries are retrieved. In a :abbr:`FIFO (first-in, first-out)` " @@ -129,15 +129,14 @@ msgstr "" "*maxsize* es menor o igual a cero, el tamaño de la cola es infinito." #: ../Doc/library/queue.rst:59 -#, fuzzy msgid "" "The lowest valued entries are retrieved first (the lowest valued entry is " "the one that would be returned by ``min(entries)``). A typical pattern for " "entries is a tuple in the form: ``(priority_number, data)``." msgstr "" "Las entradas de menor valor se recuperan primero (la entrada de menor valor " -"es la retornada por ``sorted(list(entries))[0]``). Un patrón típico para " -"las entradas es una tupla en la forma: ``(número_de_prioridad, datos)``." +"es la retornada por ``min(entries)``). Un patrón típico para las entradas " +"es una tupla en la forma: ``(priority_number, data)``." #: ../Doc/library/queue.rst:63 msgid "" @@ -222,7 +221,6 @@ msgstr "" "posterior a put() no se bloquee." #: ../Doc/library/queue.rst:130 -#, fuzzy msgid "" "Put *item* into the queue. If optional args *block* is true and *timeout* " "is ``None`` (the default), block if necessary until a free slot is " @@ -235,7 +233,7 @@ msgstr "" "Pone el *item* en la cola. Si el argumento opcional *block* es verdadero y " "*timeout* es ``None`` (el predeterminado), bloquea si es necesario hasta que " "un espacio libre esté disponible. Si *timeout* es un número positivo, " -"bloquea como máximo *timeout* segundos y aumenta la excepción :exc:`Full` si " +"bloquea como máximo *timeout* segundos y lanza la excepción :exc:`Full` si " "no había ningún espacio libre disponible en ese tiempo. De lo contrario " "(*block* es falso), pone un elemento en la cola si un espacio libre está " "disponible inmediatamente, o bien lanza la excepción :exc:`Full` (*timeout* " @@ -265,7 +263,6 @@ msgstr "" "ignorado en ese caso)." #: ../Doc/library/queue.rst:153 -#, fuzzy msgid "" "Prior to 3.0 on POSIX systems, and for all versions on Windows, if *block* " "is true and *timeout* is ``None``, this operation goes into an " @@ -275,7 +272,7 @@ msgid "" msgstr "" "Antes de la 3.0 en los sistemas POSIX, y para todas las versiones en " "Windows, si *block* es verdadero y *timeout* es ``None``, esta operación " -"entra en una espera ininterrumpida en una cerradura subyacente. Esto " +"entra en una espera no interrumpible en una cerradura subyacente. Esto " "significa que no puede haber excepciones, y en particular una SIGINT no " "disparará una :exc:`KeyboardInterrupt`." @@ -328,7 +325,6 @@ msgstr "" "procesado." #: ../Doc/library/queue.rst:185 -#, fuzzy msgid "" "The count of unfinished tasks goes up whenever an item is added to the " "queue. The count goes down whenever a consumer thread calls :meth:" @@ -366,7 +362,6 @@ msgstr "" "un get() posterior no se bloquee." #: ../Doc/library/queue.rst:230 -#, fuzzy msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " "returns ``False`` it doesn't guarantee that a subsequent call to get() will " diff --git a/library/secrets.po b/library/secrets.po index 773c1f69f3..db316fb4f8 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-04 21:52+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:36+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/secrets.rst:2 msgid ":mod:`secrets` --- Generate secure random numbers for managing secrets" @@ -79,9 +80,10 @@ msgstr "" "SystemRandom` para más detalles." #: ../Doc/library/secrets.rst:47 -#, fuzzy msgid "Return a randomly chosen element from a non-empty sequence." -msgstr "Retorna un elemento aleatorio de una secuencia no vacía." +msgstr "" +"Retorna un elemento elegido aleatoriamente a partir de una secuencia no " +"vacía." #: ../Doc/library/secrets.rst:51 msgid "Return a random int in the range [0, *n*)." @@ -193,7 +195,6 @@ msgid "Other functions" msgstr "Otras funciones" #: ../Doc/library/secrets.rst:131 -#, fuzzy msgid "" "Return ``True`` if strings or :term:`bytes-like objects ` " "*a* and *b* are equal, otherwise ``False``, using a \"constant-time " @@ -201,10 +202,11 @@ msgid "" "lesson-in-timing-attacks/>`_. See :func:`hmac.compare_digest` for additional " "details." msgstr "" -"Retorna ``True`` si las cadenas de caracteres *a* y *b* son iguales, de lo " -"contrario, ``False``, de forma tal que se reduzca el riesgo de `ataques de " -"análisis temporal `_. Ver :" -"func:`hmac.compare_digest`` para detalles adicionales." +"Retorna ``True`` si las cadenas de caracteres o :term:`objetos tipo-bytes " +"` *a* y *b* son iguales, de lo contrario ``False``, " +"usando una \"comparación de tiempo constante\" para reducir el riesgo de " +"`ataques de análisis temporal `_. Ver :func:`hmac.compare_digest`` para detalles adicionales." #: ../Doc/library/secrets.rst:140 msgid "Recipes and best practices" @@ -223,7 +225,6 @@ msgid "Generate an eight-character alphanumeric password:" msgstr "Generar una contraseña alfanumérica de ocho caracteres:" #: ../Doc/library/secrets.rst:157 -#, fuzzy msgid "" "Applications should not `store passwords in a recoverable format `_, whether plain text or " diff --git a/library/security_warnings.po b/library/security_warnings.po index 30ff000496..9e53698c1a 100644 --- a/library/security_warnings.po +++ b/library/security_warnings.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-31 09:53+0100\n" -"Last-Translator: \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-06 22:03+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/security_warnings.rst:6 msgid "Security Considerations" @@ -51,14 +52,14 @@ msgstr "" "bloqueados conocidos `" #: ../Doc/library/security_warnings.rst:16 -#, fuzzy msgid "" ":mod:`http.server` is not suitable for production use, only implementing " "basic security checks. See the :ref:`security considerations `." msgstr "" ":mod:`http.server` no se recomienda para producción. Sólo implementa " -"controles de seguridad básicos" +"controles de seguridad básicos. Consulte las :ref:`consideraciones de " +"seguridad `." #: ../Doc/library/security_warnings.rst:18 msgid "" @@ -144,6 +145,5 @@ msgstr "" "actual, el directorio del script o un string vacío." #: ../Doc/library/security_warnings.rst:3 -#, fuzzy msgid "security considerations" -msgstr "Consideraciones de seguridad" +msgstr "security considerations" diff --git a/library/selectors.po b/library/selectors.po index 5a1e0623ad..56c96048e8 100644 --- a/library/selectors.po +++ b/library/selectors.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-27 20:02-0300\n" -"Last-Translator: Alfonso Areiza Guerra \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:02+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/selectors.rst:2 msgid ":mod:`selectors` --- High-level I/O multiplexing" @@ -92,9 +93,8 @@ msgid "Low-level I/O multiplexing module." msgstr "Módulo de multiplexación de E/S de bajo nivel." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidad `: ni Emscripten, ni WASI." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -250,14 +250,13 @@ msgstr "" "datos adjuntos." #: ../Doc/library/selectors.rst:135 -#, fuzzy msgid "" "This is equivalent to ``BaseSelector.unregister(fileobj)`` followed by " "``BaseSelector.register(fileobj, events, data)``, except that it can be " "implemented more efficiently." msgstr "" -"Esto es equivalente a :meth:`BaseSelector.unregister(fileobj)` seguido de :" -"meth:`BaseSelector.register(fileobj, events, data)`, excepto que se puede " +"Esto es equivalente a `BaseSelector.unregister(fileobj)` seguido de " +"`BaseSelector.register(fileobj, events, data)`, excepto que se puede " "implementar de manera más eficiente." #: ../Doc/library/selectors.rst:139 diff --git a/library/stat.po b/library/stat.po index e29198e408..aa6241d6bb 100644 --- a/library/stat.po +++ b/library/stat.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-28 08:29-0400\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:37+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/stat.rst:2 msgid ":mod:`stat` --- Interpreting :func:`~os.stat` results" @@ -30,7 +31,6 @@ msgid "**Source code:** :source:`Lib/stat.py`" msgstr "**Código fuente:** :source:`Lib/stat.py`" #: ../Doc/library/stat.rst:14 -#, fuzzy msgid "" "The :mod:`stat` module defines constants and functions for interpreting the " "results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they " @@ -40,7 +40,7 @@ msgstr "" "El módulo :mod:`stat` define constantes y funciones para interpretar los " "resultados de :func:`os.stat`, :func:`os.fstat` y :func:`os.lstat` (si " "existen). Para obtener los detalles completos sobre las llamadas a :c:func:" -"`stat`, :c:func:`fstat` y :c:func:`lstat`, consulta la documentación de tu " +"`stat`, :c:func:`!fstat` y :c:func:`!lstat`, consulta la documentación de tu " "sistema." #: ../Doc/library/stat.rst:19 @@ -120,16 +120,14 @@ msgstr "" "soporten)." #: ../Doc/library/stat.rst:91 -#, fuzzy msgid "" "Return the portion of the file's mode that describes the file type (used by " "the :func:`!S_IS\\*` functions above)." msgstr "" "Retorna la porción del modo del archivo que describe el tipo de archivo " -"(usado por las funciones :func:`S_IS\\*` de más arriba)." +"(usado por las funciones :func:`!S_IS\\*` de más arriba)." #: ../Doc/library/stat.rst:94 -#, fuzzy msgid "" "Normally, you would use the :func:`!os.path.is\\*` functions for testing the " "type of a file; the functions here are useful when you are doing multiple " @@ -138,8 +136,8 @@ msgid "" "information about a file that isn't handled by :mod:`os.path`, like the " "tests for block and character devices." msgstr "" -"Normalmente se usarían las funciones :func:`os.path.is\\*` para comprobar el " -"tipo de un archivo; estas funciones de aquí son útiles cuando se hacen " +"Normalmente se usarían las funciones :func:`!os.path.is\\*` para comprobar " +"el tipo de un archivo; estas funciones de aquí son útiles cuando se hacen " "múltiples comprobaciones sobre el mismo archivo y se desea evitar la " "sobrecarga causada por la llamada al sistema :c:func:`stat` en cada " "comprobación. También son útiles cuando se comprueba información de un " diff --git a/library/string.po b/library/string.po index 804a9b400e..2bf4b523a2 100644 --- a/library/string.po +++ b/library/string.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-10-13 11:53-0300\n" -"Last-Translator: Alfonso Areiza Guerra \n" +"PO-Revision-Date: 2023-11-06 22:01+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -372,7 +372,6 @@ msgid "See also the :ref:`formatspec` section." msgstr "Véase también la sección :ref:`formatspec`." #: ../Doc/library/string.rst:228 -#, fuzzy msgid "" "The *field_name* itself begins with an *arg_name* that is either a number or " "a keyword. If it's a number, it refers to a positional argument, and if " @@ -391,17 +390,18 @@ msgstr "" "El *field_name* (nombre de campo) comienza con un *arg_name* que es un " "número o una palabra clave. Si es un número, hace referencia a un argumento " "posicional y, si es una palabra clave, hace referencia a un argumento de " -"palabra clave. Si los *arg_names* numéricos en una cadena de caracteres de " -"formato son una secuencia como 0, 1, 2, ..., todos pueden ser omitidos (no " -"sólo algunos) y los números 0, 1, 2, ... se insertarán automáticamente en " -"ese orden. Dado que *arg_name* no está delimitado por comillas, no es " -"posible especificar claves de diccionario arbitrarias (por ejemplo, las " -"cadenas ``'10'`` or ``':-]'``) dentro de una cadena de caracteres de " -"formato. El *arg_name* puede ir seguido de cualquier número de expresiones " -"de índice o atributo. Una expresión con forma ``'.name'`` selecciona el " -"atributo con nombre mediante :func:`getattr`, mientras que una expresión con " -"forma ``'[index]'`` realiza una búsqueda de índice mediante :func:" -"`__getitem__`." +"palabra clave. Un *arg_name* se trata como un número si una llamada a :meth:" +"`str.isdecimal` sobre la cadena retorna verdadero. Si los *arg_names* " +"numéricos en una cadena de caracteres de formato son una secuencia como 0, " +"1, 2, ..., todos pueden ser omitidos (no sólo algunos) y los números 0, 1, " +"2, ... se insertarán automáticamente en ese orden. Dado que *arg_name* no " +"está delimitado por comillas, no es posible especificar claves de " +"diccionario arbitrarias (por ejemplo, las cadenas ``'10'`` or ``':-]'``) " +"dentro de una cadena de caracteres de formato. El *arg_name* puede ir " +"seguido de cualquier número de expresiones de índice o atributo. Una " +"expresión con forma ``'.name'`` selecciona el atributo con nombre mediante :" +"func:`getattr`, mientras que una expresión con forma ``'[index]'`` realiza " +"una búsqueda de índice mediante :meth:`~object.__getitem__`." #: ../Doc/library/string.rst:242 msgid "" @@ -424,7 +424,6 @@ msgid "Some simple format string examples::" msgstr "Algunos ejemplos simples de cadena de formato:" #: ../Doc/library/string.rst:258 -#, fuzzy msgid "" "The *conversion* field causes a type coercion before formatting. Normally, " "the job of formatting a value is done by the :meth:`~object.__format__` " @@ -434,11 +433,12 @@ msgid "" "`~object.__format__`, the normal formatting logic is bypassed." msgstr "" "El campo *conversion* causa una coerción de tipo antes del formateo. " -"Normalmente, el formateo es hecho el método :meth:`__format__` del valor " -"mismo. Sin embargo, en algunos es deseable forzar el tipo a ser formateado " -"como una cadena de caracteres, sobrescribiendo su propia definición de " -"formateo. Cuando se convierte el valor a una cadena de caracteres antes de " -"llamar al método :meth:`__format__`, la lógica normal de formateo es evitada." +"Normalmente, el formateo es hecho el método :meth:`~object.__format__` del " +"valor mismo. Sin embargo, en algunos es deseable forzar el tipo a ser " +"formateado como una cadena de caracteres, sobrescribiendo su propia " +"definición de formateo. Cuando se convierte el valor a una cadena de " +"caracteres antes de llamar al método :meth:`~object.__format__`, la lógica " +"normal de formateo es evitada." #: ../Doc/library/string.rst:265 msgid "" diff --git a/library/tomllib.po b/library/tomllib.po index 4757610096..7c6d574668 100644 --- a/library/tomllib.po +++ b/library/tomllib.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: Python en Español 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2022-11-16 10:39-0300\n" -"Last-Translator: Rodrigo Poblete \n" +"PO-Revision-Date: 2023-11-06 23:00+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \n" "Language: es_419\n" "MIME-Version: 1.0\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" -"X-Generator: Poedit 3.2.1\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/tomllib.rst:2 msgid ":mod:`tomllib` --- Parse TOML files" @@ -29,7 +29,6 @@ msgid "**Source code:** :source:`Lib/tomllib`" msgstr "**Código fuente:** :source:`Lib/tomllib`" #: ../Doc/library/tomllib.rst:16 -#, fuzzy msgid "" "This module provides an interface for parsing TOML (Tom's Obvious Minimal " "Language, `https://toml.io `_). This module does not " @@ -78,7 +77,6 @@ msgstr "" "Python utilizando esta :ref:`tabla de conversión `." #: ../Doc/library/tomllib.rst:43 -#, fuzzy msgid "" "*parse_float* will be called with the string of every TOML float to be " "decoded. By default, this is equivalent to ``float(num_str)``. This can be " @@ -90,7 +88,7 @@ msgstr "" "decodificará. Por defecto, esto es equivalente a ``float(num_str)``. Esto " "se puede utilizar para usar otro tipo de datos o analizador para flotantes " "TOML (por ejemplo, :class:`decimal.Decimal`). La llamada no debe devolver " -"un :class:`dict` o un :class:`list`, de lo contrario se produce un :exc:" +"un :class:`dict` o un :class:`list`, de lo contrario se lanza un :exc:" "`ValueError`." #: ../Doc/library/tomllib.rst:49 ../Doc/library/tomllib.rst:58 @@ -181,7 +179,6 @@ msgid "bool" msgstr "bool" #: ../Doc/library/tomllib.rst:108 -#, fuzzy msgid "offset date-time" msgstr "offset date-time" @@ -194,7 +191,6 @@ msgstr "" "``datetime.timezone``)" #: ../Doc/library/tomllib.rst:110 -#, fuzzy msgid "local date-time" msgstr "local date-time" @@ -203,7 +199,6 @@ msgid "datetime.datetime (``tzinfo`` attribute set to ``None``)" msgstr "datetime.datetime (atributo ``tzinfo`` establecido en ``None``)" #: ../Doc/library/tomllib.rst:112 -#, fuzzy msgid "local date" msgstr "local date" From 8d4cbf4224d8e976f9d293e38bbe5271aef60357 Mon Sep 17 00:00:00 2001 From: abgutierrez24 <154473776+abgutierrez24@users.noreply.github.com> Date: Mon, 18 Nov 2024 07:03:52 -0800 Subject: [PATCH 56/63] Translated a couple phrases for fractions.po (#2824) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I am a first-year CS student, and my professor asked me to contribute to an open source project. Please let me know if I need to do anything further. Closes #2547 --------- Co-authored-by: Cristián Maureira-Fredes --- library/fractions.po | 52 ++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/library/fractions.po b/library/fractions.po index fc8fb33baf..43f3ad0b02 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2023-02-20 10:36-0300\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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/library/fractions.rst:2 @@ -45,7 +45,6 @@ msgstr "" "número racional, o desde una cadena de caracteres." #: ../Doc/library/fractions.rst:26 -#, fuzzy msgid "" "The first version requires that *numerator* and *denominator* are instances " "of :class:`numbers.Rational` and returns a new :class:`Fraction` instance " @@ -62,17 +61,17 @@ msgid "" "below.) The last version of the constructor expects a string or unicode " "instance. The usual form for this instance is::" msgstr "" -"La primera versión necesita que *numerator* y *denominator* sean instancias " +"La primera versión requiere que *numerator* y *denominator* sean instancias " "de :class:`numbers.Rational` y retorna una nueva instancia de :class:" -"`Fraction` con valor ``numerator/denominator``. Si *denominator* es :const:" -"`0`, esto arrojará un error :exc:`ZeroDivisionError`. La segunda versión " -"necesita que *other_fraction* sea una instancia de :class:`numbers.Rational` " -"y retorna una instancia :class:`Fraction` con el mismo valor. Las restantes " -"dos versiones aceptan igualmente instancias :class:`float` o :class:`decimal." -"Decimal` y retornan una instancia :class:`Fraction` con exactamente el mismo " -"valor. Nota que debido a los problemas usuales con la representación binaria " -"en punto flotante (ver :ref:`tut-fp-issues`), el argumento de " -"``Fraction(1.1)`` no es exactamente igual a 11/10, por lo que " +"`Fraction` con valor ``numerator/denominator``. Si *denominator* es ``0``, " +"esto arrojará un error :exc:`ZeroDivisionError`. La segunda versión necesita " +"que *other_fraction* sea una instancia de :class:`numbers.Rational` y " +"retorna una instancia de :class:`Fraction` con el mismo valor. Las " +"siguientes dos versiones aceptan igualmente instancias :class:`float` o :" +"class:`decimal.Decimal` y retornan una instancia :class:`Fraction` con " +"exactamente el mismo valor. Nota que debido a los problemas usuales con la " +"representación binaria en punto flotante (ver :ref:`tut-fp-issues`), el " +"argumento de ``Fraction(1.1)`` no es exactamente igual a 11/10, por lo que " "``Fraction(1.1)`` no retorna ``Fraction(11, 10)`` como uno esperaría. (Mira " "la documentación para el método :meth:`limit_denominator` abajo.) La última " "versión del constructor espera una cadena de caracteres o una instancia " @@ -98,7 +97,6 @@ msgstr "" "espacios en blanco iniciales y / o finales. Aquí hay unos ejemplos:" #: ../Doc/library/fractions.rst:78 -#, fuzzy msgid "" "The :class:`Fraction` class inherits from the abstract base class :class:" "`numbers.Rational`, and implements all of the methods and operations from " @@ -108,9 +106,9 @@ msgid "" msgstr "" "La clase :class:`Fraction` hereda de la clase base abstracta :class:`numbers." "Rational`, e implementa todos los métodos y operaciones de esa clase. Las " -"instancias :class:`Fraction` son *hashable*, y deben ser tratadas como " -"inmutables. Adicionalmente :class:`Fraction` tiene los siguientes métodos y " -"propiedades:" +"instancias :class:`Fraction` son :term:`hashable`, y deben ser tratadas como " +"inmutables. Adicionalmente :class:`Fraction` tiene los siguientes " +"propiedades y métodos:" #: ../Doc/library/fractions.rst:84 msgid "" @@ -150,6 +148,8 @@ msgstr "" msgid "" "Space is allowed around the slash for string inputs: ``Fraction('2 / 3')``." msgstr "" +"Se permite espacio alrededor de la barra para entrada de cadena de " +"caracteres: ``Fraction('2 / 3')``." #: ../Doc/library/fractions.rst:104 msgid "" @@ -157,6 +157,9 @@ msgid "" "presentation types ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " "``\"G\"`` and ``\"%\"\"``." msgstr "" +":class:`Fraction` instancias ahora apoya formato de estilo flotante, con " +"tipos de presentación ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " +"``\"G\"`` and ``\"%\"\"``." #: ../Doc/library/fractions.rst:111 msgid "Numerator of the Fraction in lowest term." @@ -167,17 +170,17 @@ msgid "Denominator of the Fraction in lowest term." msgstr "Denominador de la fracción irreducible." #: ../Doc/library/fractions.rst:120 -#, fuzzy msgid "" "Return a tuple of two integers, whose ratio is equal to the original " "Fraction. The ratio is in lowest terms and has a positive denominator." msgstr "" -"Retorna una tupla de dos enteros, cuyo ratio es igual a la fracción y con un " +"Retorna una tupla de dos números enteros, cuyo relación es igual a la " +"fracción original.La relación está en términos más bajos y tiene un " "denominador positivo." #: ../Doc/library/fractions.rst:128 msgid "Return ``True`` if the Fraction is an integer." -msgstr "" +msgstr "Retorna ``True`` si la fracción es un número entero." #: ../Doc/library/fractions.rst:134 msgid "" @@ -268,10 +271,17 @@ msgid "" "`Fraction` object ``x`` follows the rules outlined for the :class:`float` " "type in the :ref:`formatspec` section." msgstr "" +"Provee apoyo para el formato de estilo flotante de instancias :class:" +"`Fraction` a través del método :meth:`str.format`, la función incorporada :" +"func:`format`, o :ref:`Formatted string literals `. Los tipos de " +"presentación ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " +"``\"G\"`` and ``\"%\"`` son compatibles. Para estos tipos de presentación, " +"el formato para una :class:`Fraction` object ``x`` sigue las reglas " +"descritas para el :class:`float` tipo en la :ref:`formatspec` sección." #: ../Doc/library/fractions.rst:212 msgid "Here are some examples::" -msgstr "" +msgstr "Aquí hay unos ejemplos::" #: ../Doc/library/fractions.rst:228 msgid "Module :mod:`numbers`" From 067424e61e91cca1d91b054c1f2ec7772d3660a5 Mon Sep 17 00:00:00 2001 From: Diego Date: Mon, 18 Nov 2024 22:50:56 +0100 Subject: [PATCH 57/63] Traducido archivo library/smtplib.po (#2753) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2591 --------- Co-authored-by: Cristián Maureira-Fredes --- library/smtplib.po | 71 +++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/library/smtplib.po b/library/smtplib.po index d35bf487a1..93fbdc68f6 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-17 12:38-0300\n" +"PO-Revision-Date: 2023-11-17 11:05+0100\n" "Last-Translator: Diego Cristobal Herreros \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.4.1\n" #: ../Doc/library/smtplib.rst:2 msgid ":mod:`smtplib` --- SMTP protocol client" @@ -58,7 +59,6 @@ msgstr "" "para más información." #: ../Doc/library/smtplib.rst:26 -#, fuzzy msgid "" "An :class:`SMTP` instance encapsulates an SMTP connection. It has methods " "that support a full repertoire of SMTP and ESMTP operations. If the optional " @@ -79,22 +79,23 @@ msgid "" msgstr "" "Una instancia :class:`SMTP` encapsula una conexión SMTP. Tiene métodos que " "admiten un repertorio completo de operaciones SMTP y ESMTP. Si se " -"proporcionan los parámetros de puerto y host opcionales, se llama al método " -"SMTP :meth:`connect` con esos parámetros durante la inicialización. Si se " -"especifica, *local_hostname* se utiliza como FQDN del host local en el " -"comando HELO / EHLO. De lo contrario, el nombre de host local se encuentra " +"proporcionan los parámetros de *port* y *host* opcionales, se llama al " +"método SMTP :meth:`connect` con esos parámetros durante la inicialización. " +"Si se especifica, *local_hostname* se utiliza como FQDN del host local en el " +"comando HELO /EHLO. De lo contrario, el nombre de host local se encuentra " "mediante :func:`socket.getfqdn`. Si la llamada :meth:`connect` retorna algo " "que no sea un código de éxito, se lanza un :exc:`SMTPConnectError`. El " "parámetro opcional *timeout* especifica un tiempo de espera en segundos para " "bloquear operaciones como el intento de conexión (si no se especifica, se " "utilizará la configuración de tiempo de espera global predeterminada). Si " "expira el tiempo de espera, se lanza :exc:`TimeoutError`. El parámetro " -"opcional source_address permite la vinculación a alguna dirección de origen " -"específica en una máquina con múltiples interfaces de red y/o algún puerto " -"TCP de origen específico. Se necesita una tupla de 2 (host, puerto), para " -"que el socket se vincule como su dirección de origen antes de conectarse. Si " -"se omite (o si el host o el puerto son ``''`` y / o 0 respectivamente), se " -"utilizará el comportamiento predeterminado del sistema operativo." +"opcional *source_address* permite la vinculación a alguna dirección de " +"origen específica en una máquina con múltiples interfaces de red y/o algún " +"puerto TCP de origen específico. Se necesita una tupla de 2 (host, port), " +"para que el socket se vincule como su dirección de origen antes de " +"conectarse. Si se omite (o si el *host* o el *port* son ``''`` y/o 0 " +"respectivamente), se utilizará el comportamiento predeterminado del sistema " +"operativo." #: ../Doc/library/smtplib.rst:44 msgid "" @@ -137,22 +138,20 @@ msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó soporte para la sentencia :keyword:`with`." #: ../Doc/library/smtplib.rst:68 -#, fuzzy msgid "*source_address* argument was added." -msgstr "se agrego el argumento source_address." +msgstr "Se agregó el argumento *source_address*." #: ../Doc/library/smtplib.rst:71 msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." msgstr "La extensión SMTPUTF8 (:rfc:`6531`) ahora es compatible." #: ../Doc/library/smtplib.rst:74 -#, fuzzy msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" -"Si el parámetro *timeout* se mantiene en cero, lanzará un :class:" -"`ValueError` para evitar la creación de un socket no bloqueante" +"Si el parámetro *timeout* se define a cero, lanzará un :class:`ValueError` " +"para evitar la creación de un socket no bloqueado." #: ../Doc/library/smtplib.rst:81 msgid "" @@ -183,12 +182,10 @@ msgid "*context* was added." msgstr "se agregó *contexto*." #: ../Doc/library/smtplib.rst:95 -#, fuzzy msgid "The *source_address* argument was added." -msgstr "se agrego el argumento source_address." +msgstr "Se agregó el argumento *source_address*." #: ../Doc/library/smtplib.rst:98 -#, fuzzy msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." @@ -202,15 +199,14 @@ msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket" msgstr "" -"Si el parámetro *timeout* se mantiene en cero, lanzará un :class:" -"`ValueError` para evitar la creación de un socket no bloqueante" +"Si el parámetro *timeout* se define a cero, lanzará un :class:`ValueError` " +"para evitar la creación de un socket no bloqueado" #: ../Doc/library/smtplib.rst:107 ../Doc/library/smtplib.rst:403 msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Los parámetros obsoletos *keyfile y *certifile* se han eliminado." #: ../Doc/library/smtplib.rst:113 -#, fuzzy msgid "" "The LMTP protocol, which is very similar to ESMTP, is heavily based on the " "standard SMTP client. It's common to use Unix sockets for LMTP, so our :meth:" @@ -222,8 +218,8 @@ msgstr "" "El protocolo LMTP, que es muy similar a ESMTP, se basa en gran medida en el " "cliente SMTP estándar. Es común usar sockets Unix para LMTP, por lo que " "nuestro método :meth:`connect` debe ser compatible con eso, así como con un " -"servidor host:puerto normal. Los argumentos opcionales local_hostname y " -"source_address tienen el mismo significado que en la clase :class:`SMTP`. " +"servidor host:puerto regular. Los argumentos opcionales *local_hostname* y " +"*source_address* tienen el mismo significado que en la clase :class:`SMTP`. " "Para especificar un socket Unix, debe usar una ruta absoluta para *host*, " "comenzando con '/'." @@ -327,7 +323,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:201 msgid ":rfc:`821` - Simple Mail Transfer Protocol" -msgstr ":rfc:`821` - Simple Mail Transfer Protocol" +msgstr ":rfc:`821` - Protocolo Simple de Transferencia" #: ../Doc/library/smtplib.rst:200 msgid "" @@ -381,8 +377,8 @@ msgid "" "Send a command *cmd* to the server. The optional argument *args* is simply " "concatenated to the command, separated by a space." msgstr "" -"Envíe un comando *cmd* al servidor. El argumento opcional *args* simplemente " -"se concatena al comando, separado por un espacio." +"Envía un comando *cmd* al servidor. El argumento opcional *args* " +"simplemente se concatena con el comando, separado por un espacio." #: ../Doc/library/smtplib.rst:232 msgid "" @@ -627,12 +623,11 @@ msgstr "" "en el elemento ``auth`` de :attr:`esmtp_features`." #: ../Doc/library/smtplib.rst:354 -#, fuzzy msgid "" "*authobject* must be a callable object taking an optional single argument::" msgstr "" -"*authobject* debe ser un objeto invocable que tome un único argumento " -"opcional:" +"*authobject* debe ser un objeto que se pueda invocar y que tome un único " +"argumento opcional::" #: ../Doc/library/smtplib.rst:358 msgid "" @@ -744,7 +739,6 @@ msgstr "" "Python." #: ../Doc/library/smtplib.rst:418 -#, fuzzy msgid "" "The method now supports hostname check with :attr:`SSLContext." "check_hostname` and *Server Name Indicator* (see :const:`~ssl.HAS_SNI`)." @@ -1035,16 +1029,15 @@ msgstr "" #: ../Doc/library/smtplib.rst:11 msgid "SMTP" -msgstr "" +msgstr "SMTP" #: ../Doc/library/smtplib.rst:11 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../Doc/library/smtplib.rst:11 -#, fuzzy msgid "Simple Mail Transfer Protocol" -msgstr ":rfc:`821` - Simple Mail Transfer Protocol" +msgstr "Protocolo Simple de Transferencia" #~ msgid "" #~ "*keyfile* and *certfile* are a legacy alternative to *context*, and can " From 44c4d4d3b99d85ef28e140c6699dedb0e74263e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 18 Nov 2024 22:51:19 +0100 Subject: [PATCH 58/63] Traducido reference/expressions (#2283) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1902 --------- Co-authored-by: Sofía Denner Co-authored-by: Carlos A. Crespo --- dictionaries/reference_expressions.txt | 15 +- reference/expressions.po | 901 ++++++++++++------------- 2 files changed, 452 insertions(+), 464 deletions(-) diff --git a/dictionaries/reference_expressions.txt b/dictionaries/reference_expressions.txt index 78ec25c601..072027d25e 100644 --- a/dictionaries/reference_expressions.txt +++ b/dictionaries/reference_expressions.txt @@ -1,13 +1,16 @@ Subgenerador +algorítmicamente close contraintuitiva contraintuitivo +floor +inhashables +lexicográficamente reflexibilidad +reflexividad superconjuntos -superconjuntos -lexicográficamente unarios -walrus -floor -algorítmicamente -inhashables \ No newline at end of file +walrus +yielded +yields +displays diff --git a/reference/expressions.po b/reference/expressions.po index 640c1c9c0a..cc6d392442 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -19,8 +19,7 @@ msgstr "" "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" -"X-Generator: Poedit 3.0.1\n" +"Generated-By: Babel 2.10.3\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" @@ -130,7 +129,7 @@ msgid "" "object. When a name is not bound, an attempt to evaluate it raises a :exc:" "`NameError` exception." msgstr "" -"Cuando el nombre es vinculado a un objeto, la evaluación del átomo produce " +"Cuando el nombre es vinculado a un objeto, la evaluación del átomo yields " "ese objeto. Cuando un nombre no es vinculado, un intento de evaluarlo genera " "una excepción :exc:`NameError`." @@ -217,9 +216,9 @@ msgid "" "if the list contains at least one comma, it yields a tuple; otherwise, it " "yields the single expression that makes up the expression list." msgstr "" -"Una expresión entre paréntesis produce lo que la lista de expresión produce: " +"Una expresión entre paréntesis yields lo que la lista de expresión yields: " "si la lista contiene al menos una coma, produce una tupla; en caso " -"contrario, produce la única expresión que que forma la lista de expresiones." +"contrario, yields la única expresión que que forma la lista de expresiones." #: ../Doc/reference/expressions.rst:148 msgid "" @@ -227,24 +226,23 @@ msgid "" "immutable, the same rules as for literals apply (i.e., two occurrences of " "the empty tuple may or may not yield the same object)." msgstr "" -"Un par de paréntesis vacío producen un objeto de tupla vacío. Debido a que " -"las tuplas son inmutables, se aplican las mismas reglas que aplican para " -"literales (ej., dos ocurrencias de una tupla vacía puede o no producir el " +"Un par de paréntesis vacío yields un objeto de tupla vacío. Debido a que las " +"tuplas son inmutables, se aplican las mismas reglas que aplican para " +"literales (ej., dos ocurrencias de una tupla vacía puede o no yields el " "mismo objeto)." #: ../Doc/reference/expressions.rst:156 -#, fuzzy msgid "" "Note that tuples are not formed by the parentheses, but rather by use of the " "comma. The exception is the empty tuple, for which parentheses *are* " "required --- allowing unparenthesized \"nothing\" in expressions would cause " "ambiguities and allow common typos to pass uncaught." msgstr "" -"Note que las tuplas no son formadas por los paréntesis, sino más bien " -"mediante el uso del operador de coma. La excepción es la tupla vacía, para " -"la cual los paréntesis *son* requeridos -- permitir \"nada\" sin paréntesis " -"en expresiones causaría ambigüedades y permitiría que errores tipográficos " -"comunes pasaran sin ser detectados." +"Tenga en cuenta que las tuplas no se forman con paréntesis, sino mediante el " +"uso de coma. La excepción es la tupla vacía, para la cual *se* requieren " +"paréntesis. Permitir \"nada\" sin paréntesis en las expresiones causaría " +"ambigüedades y permitiría que errores tipográficos comunes pasaran sin " +"detectarse." #: ../Doc/reference/expressions.rst:165 msgid "Displays for lists, sets and dictionaries" @@ -332,7 +330,6 @@ msgstr "" "alcance implícitamente anidado." #: ../Doc/reference/expressions.rst:215 -#, fuzzy msgid "" "Since Python 3.6, in an :keyword:`async def` function, an :keyword:`!async " "for` clause may be used to iterate over a :term:`asynchronous iterator`. A " @@ -345,16 +342,17 @@ msgid "" "`asynchronous comprehension`. An asynchronous comprehension may suspend the " "execution of the coroutine function in which it appears. See also :pep:`530`." msgstr "" -"A partir de Python 3.6, en una función :keyword:`async def`, una cláusula :" -"keyword:`!async for` puede ser usada para iterar sobre un :term:" -"`asynchronous iterator`. Una comprensión en una función :keyword:`!async " -"def` puede consistir en una cláusula :keyword:`!for` o :keyword:`!async for` " -"siguiendo la expresión inicial, puede contener cláusulas adicionales :" -"keyword:`!for` o :keyword:`!async for` y también pueden usar expresiones :" -"keyword:`await`. Si una comprensión contiene cláusulas :keyword:`!async for` " -"o expresiones :keyword:`!await` es denominada una :dfn:`asynchronous " -"comprehension`. Una comprensión asincrónica puede suspender la ejecución de " -"la función de corrutina en la cual aparece. Vea también :pep:`530`." +"Desde Python 3.6, en una función :keyword:`async def`, se puede usar una " +"cláusula :keyword:`!async for` para iterar sobre un :term:`asynchronous " +"iterator`. Una comprensión en una función :keyword:`!async def` puede " +"consistir en una cláusula :keyword:`!for` o :keyword:`!async for` después de " +"la expresión inicial, puede contener cláusulas :keyword:`!for` o :keyword:`!" +"async for` adicionales y también puede usar expresiones :keyword:`await`. Si " +"una comprensión contiene cláusulas :keyword:`!async for` o expresiones :" +"keyword:`!await` u otras comprensiones asíncronas, se denomina :dfn:" +"`comprensión asíncrona`. Una comprensión asíncrona puede suspender la " +"ejecución de la función de rutina en la que aparece. Véase también :pep:" +"`530`." #: ../Doc/reference/expressions.rst:227 msgid "Asynchronous comprehensions were introduced." @@ -370,6 +368,9 @@ msgid "" "Asynchronous comprehensions are now allowed inside comprehensions in " "asynchronous functions. Outer comprehensions implicitly become asynchronous." msgstr "" +"Las comprensiones asincrónicas ahora están permitidas dentro de las " +"comprensiones en funciones asincrónicas. Las comprensiones externas " +"implícitamente se vuelven asincrónicas." #: ../Doc/reference/expressions.rst:242 msgid "List displays" @@ -441,20 +442,18 @@ msgid "Dictionary displays" msgstr "Despliegues de diccionario" #: ../Doc/reference/expressions.rst:307 -#, fuzzy msgid "" "A dictionary display is a possibly empty series of dict items (key/value " "pairs) enclosed in curly braces:" msgstr "" -"Un despliegue de diccionario es una serie posiblemente vacía de pares clave/" -"datos encerrados entre llaves:" +"La visualización de un diccionario es una serie posiblemente vacía de " +"elementos de dictado (pares clave/valor) encerrados entre llaves:" #: ../Doc/reference/expressions.rst:316 msgid "A dictionary display yields a new dictionary object." msgstr "Un despliegue de diccionario produce un nuevo objeto diccionario." #: ../Doc/reference/expressions.rst:318 -#, fuzzy msgid "" "If a comma-separated sequence of dict items is given, they are evaluated " "from left to right to define the entries of the dictionary: each key object " @@ -463,25 +462,25 @@ msgid "" "list, and the final dictionary's value for that key will be the last one " "given." msgstr "" -"Si es dada una secuencia separada por comas de pares clave/datos, son " -"evaluadas desde la izquierda a la derecha para definir las entradas del " -"diccionario: cada objeto clave es usado como una clave dentro del " -"diccionario para almacenar el dato correspondiente. Esto significa que " -"puedes especificar la misma clave múltiples veces en la lista clave/datos y " -"el valor final del diccionario para esa clave será la última dada." +"Si se proporciona una secuencia de elementos dict separados por comas, se " +"evalúan de izquierda a derecha para definir las entradas del diccionario: " +"cada objeto clave se utiliza como clave en el diccionario para almacenar el " +"valor correspondiente. Esto significa que puede especificar la misma clave " +"varias veces en la lista de elementos de dictado, y el valor final del " +"diccionario para esa clave será el último que se proporcione." #: ../Doc/reference/expressions.rst:328 -#, fuzzy msgid "" "A double asterisk ``**`` denotes :dfn:`dictionary unpacking`. Its operand " "must be a :term:`mapping`. Each mapping item is added to the new " "dictionary. Later values replace values already set by earlier dict items " "and earlier dictionary unpackings." msgstr "" -"Un doble asterisco ``**`` denota :dfn:`dictionary unpacking`. Su operando " -"debe ser un :term:`mapping`. Cada elemento de mapeo es añadido al nuevo " -"diccionario. Valores más tardíos remplazan los valores ya establecidos para " -"los pares clave/dato y para los desempaquetados de diccionario anteriores." +"Un asterisco doble ``**`` indica :dfn:`descomprimiendo el diccionario`. Su " +"operando debe ser un :term:`mapping`. Cada elemento de mapeo se agrega al " +"nuevo diccionario. Los valores posteriores reemplazan los valores ya " +"establecidos por elementos de dictado anteriores y desempaquetados de " +"diccionarios anteriores." #: ../Doc/reference/expressions.rst:333 msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." @@ -503,7 +502,6 @@ msgstr "" "diccionario en el orden que son producidos." #: ../Doc/reference/expressions.rst:344 -#, fuzzy msgid "" "Restrictions on the types of the key values are listed earlier in section :" "ref:`types`. (To summarize, the key type should be :term:`hashable`, which " @@ -511,11 +509,11 @@ msgid "" "detected; the last value (textually rightmost in the display) stored for a " "given key value prevails." msgstr "" -"Las restricciones de los tipos de los valores de clave son listados " -"anteriormente en la sección :ref:`types`. (Para resumir, el tipo de la clave " -"debe ser :term:`hashable`, el cual excluye todos los objetos mutables.) No " -"se detectan choques entre claves duplicadas; el último dato (textualmente el " -"más a la derecha en el despliegue) almacenado para una clave dada prevalece." +"Las restricciones sobre los tipos de valores clave se enumeran anteriormente " +"en la sección :ref:`types`. (En resumen, el tipo de clave debe ser :term:" +"`hashable`, que excluye todos los objetos mutables). No se detectan " +"conflictos entre claves duplicadas; prevalece el último valor (textualmente " +"más a la derecha en la pantalla) almacenado para un valor clave determinado." #: ../Doc/reference/expressions.rst:350 msgid "" @@ -625,7 +623,6 @@ msgid "Yield expressions" msgstr "Expresiones yield" #: ../Doc/reference/expressions.rst:427 -#, fuzzy msgid "" "The yield expression is used when defining a :term:`generator` function or " "an :term:`asynchronous generator` function and thus can only be used in the " @@ -636,10 +633,10 @@ msgid "" msgstr "" "La expresión yield se usa al definir una función :term:`generator` o una " "función :term:`asynchronous generator` y, por lo tanto, solo se puede usar " -"en el cuerpo de una definición de función. Usar una expresión yield en el " -"cuerpo de una función hace que esa función sea un generador y usarla en el " -"cuerpo de una función :keyword:`async def` hace que la función de corrutina " -"sea un generador asincrónico. Por ejemplo::" +"en el cuerpo de una definición de función. El uso de una expresión yield en " +"el cuerpo de una función hace que esa función sea una función generadora, y " +"su uso en el cuerpo de una función :keyword:`async def` hace que la función " +"corrutina sea una función generadora asíncrona. Por ejemplo::" #: ../Doc/reference/expressions.rst:440 msgid "" @@ -671,7 +668,6 @@ msgstr "" "sección :ref:`asynchronous-generator-functions`." #: ../Doc/reference/expressions.rst:452 -#, fuzzy msgid "" "When a generator function is called, it returns an iterator known as a " "generator. That generator then controls the execution of the generator " @@ -691,22 +687,24 @@ msgid "" "`None`. Otherwise, if :meth:`~generator.send` is used, then the result will " "be the value passed in to that method." msgstr "" -"Cuando una función generadora es invocada, retorna un iterador conocido como " -"un generador. Este generador controla la ejecución de la función generadora. " -"La ejecución empieza cuando uno de los métodos del generador es invocado. En " -"ese momento, la ejecución procede a la primera expresión yield, donde es " -"suspendida de nuevo, retornando el valor de :token:`expression_list` al " -"invocador del generador. Por suspendido, nos referimos a que se retiene todo " -"el estado local, incluyendo los enlaces actuales de variables locales, el " -"puntero de instrucción, la pila de evaluación interna y el estado de " -"cualquier manejo de excepción. Cuando la ejecución se reanuda al invocar uno " -"de los métodos del generador, la función puede proceder como si la expresión " -"yield fuera sólo otra invocación externa. El valor de la expresión yield " -"después de la reanudación depende del método que ha reanudado la ejecución. " -"Si se usa :meth:`~generator.__next__` (típicamente mediante un :keyword:" -"`for` o la función incorporada :func:`next`) entonces el resultado es :const:" -"`None`. De otra forma, si se usa :meth:`~generator.send`, entonces el " -"resultado será el valor pasado a ese método." +"Cuando se llama a una función generadora, devuelve un iterador conocido como " +"generador. Ese generador luego controla la ejecución de la función del " +"generador. La ejecución comienza cuando se llama a uno de los métodos del " +"generador. En ese momento, la ejecución continúa con la primera expresión de " +"rendimiento, donde se suspende nuevamente, devolviendo el valor de :token:" +"`~python-grammar:expression_list` al llamador del generador, o ``None`` si :" +"token:`~python-grammar:expression_list` se omite. Por suspendido queremos " +"decir que se retiene todo el estado local, incluidos los enlaces actuales de " +"las variables locales, el puntero de instrucción, la pila de evaluación " +"interna y el estado de cualquier manejo de excepciones. Cuando se reanuda la " +"ejecución llamando a uno de los métodos del generador, la función puede " +"continuar exactamente como si la expresión de rendimiento fuera simplemente " +"otra llamada externa. El valor de la expresión de rendimiento después de la " +"reanudación depende del método que reanudó la ejecución. Si se utiliza :meth:" +"`~generator.__next__` (normalmente a través de un :keyword:`for` o el " +"integrado :func:`next`), el resultado es :const:`None`. De lo contrario, si " +"se utiliza :meth:`~generator.send`, el resultado será el valor pasado a ese " +"método." #: ../Doc/reference/expressions.rst:472 msgid "" @@ -716,11 +714,11 @@ msgid "" "function cannot control where the execution should continue after it yields; " "the control is always transferred to the generator's caller." msgstr "" -"Todo este hace a las funciones generadores similar a las corrutinas; " -"producen múltiples veces, tienen más de un punto de entrada y su ejecución " -"puede ser suspendida. La única diferencia es que una función generadora no " -"puede controlar si la ejecución debe continuar después de producir; el " -"control siempre es transferido al invocador del generador." +"Todo este hace a las funciones generadores similar a las corrutinas; yield " +"múltiples veces, tienen más de un punto de entrada y su ejecución puede ser " +"suspendida. La única diferencia es que una función generadora no puede " +"controlar si la ejecución debe continuar después de yield; el control " +"siempre es transferido al invocador del generador." #: ../Doc/reference/expressions.rst:478 msgid "" @@ -812,14 +810,13 @@ msgstr "" msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" msgstr ":pep:`380` - Sintaxis para Delegar a un Subgenerador" -#: ../Doc/reference/expressions.rst:518 -#, fuzzy +#: ../Doc/reference/expressions.rst:516 ../Doc/reference/expressions.rst:518 msgid "" "The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " "making delegation to subgenerators easy." msgstr "" -"La propuesta para introducir la sintaxis :token:`yield_from`, facilitando la " -"delegación a subgeneradores." +"La propuesta para introducir la sintaxis :token:`~python-grammar:" +"yield_from`, facilitando la delegación a subgeneradores." #: ../Doc/reference/expressions.rst:522 msgid ":pep:`525` - Asynchronous Generators" @@ -855,7 +852,6 @@ msgstr "" "excepción :exc:`ValueError`." #: ../Doc/reference/expressions.rst:542 -#, fuzzy msgid "" "Starts the execution of a generator function or resumes it at the last " "executed yield expression. When a generator function is resumed with a :" @@ -866,14 +862,14 @@ msgid "" "caller. If the generator exits without yielding another value, a :exc:" "`StopIteration` exception is raised." msgstr "" -"Comienza la ejecución de una función generadora o la reanuda en la última " -"expresión yield ejecutada. Cuando una función generadora es reanudada con un " -"método :meth:`~generator.__next__`, la expresión yield actual siempre evalúa " -"a :const:`None`. La ejecución entonces continúa a la siguiente expresión " -"yield, donde el generador se suspende de nuevo y el valor de :token:" -"`expression_list` se retorna al invocador de :meth:`__next__`. Si el " -"generador termina sin producir otro valor, se genera una excepción :exc:" -"`StopIteration`." +"Inicia la ejecución de una función generadora o la reanuda en la última " +"expresión de rendimiento ejecutada. Cuando se reanuda una función de " +"generador con un método :meth:`~generator.__next__`, la expresión de " +"rendimiento actual siempre se evalúa como :const:`None`. Luego, la ejecución " +"continúa con la siguiente expresión de rendimiento, donde el generador se " +"suspende nuevamente y el valor de :token:`~python-grammar:expression_list` " +"se devuelve a la persona que llama de :meth:`__next__`. Si el generador sale " +"sin generar otro valor, se genera una excepción :exc:`StopIteration`." #: ../Doc/reference/expressions.rst:551 msgid "" @@ -902,7 +898,6 @@ msgstr "" "expresión yield que pueda recibir el valor." #: ../Doc/reference/expressions.rst:569 -#, fuzzy msgid "" "Raises an exception at the point where the generator was paused, and returns " "the next value yielded by the generator function. If the generator exits " @@ -910,18 +905,19 @@ msgid "" "If the generator function does not catch the passed-in exception, or raises " "a different exception, then that exception propagates to the caller." msgstr "" -"Genera una excepción de tipo ``type`` en el punto donde el generador fue " -"pausado y retorna el siguiente valor producido por la función generadora. Si " -"el generador termina sin producir otro valor se genera una excepción :exc:" -"`StopIteration`. Si la función generadora no caza la excepción pasada o " -"genera una excepción diferente, entonces se propaga esa excepción al " -"invocador." +"Genera una excepción en el punto donde se pausó el generador y devuelve el " +"siguiente valor generado por la función del generador. Si el generador sale " +"sin generar otro valor, se genera una excepción :exc:`StopIteration`. Si la " +"función generadora no detecta la excepción pasada o genera una excepción " +"diferente, esa excepción se propaga a la persona que llama." #: ../Doc/reference/expressions.rst:575 msgid "" "In typical use, this is called with a single exception instance similar to " "the way the :keyword:`raise` keyword is used." msgstr "" +"En el uso típico, esto se llama con una sola instancia de excepción similar " +"a la forma en que se usa la palabra clave :keyword:`raise`." #: ../Doc/reference/expressions.rst:578 msgid "" @@ -933,12 +929,22 @@ msgid "" "any existing :attr:`~BaseException.__traceback__` attribute stored in " "*value* may be cleared." msgstr "" +"Sin embargo, para la compatibilidad con versiones anteriores, se admite la " +"segunda firma, siguiendo una convención de versiones anteriores de Python. " +"El argumento *type* debe ser una clase de excepción y *value* debe ser una " +"instancia de excepción. Si no se proporciona *value*, se llama al " +"constructor *type* para obtener una instancia. Si se proporciona " +"*traceback*, se establece en la excepción; de lo contrario, se puede borrar " +"cualquier atributo :attr:`~BaseException.__traceback__` existente almacenado " +"en *value*." #: ../Doc/reference/expressions.rst:589 ../Doc/reference/expressions.rst:763 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." msgstr "" +"La segunda firma \\(type\\[, value\\[, traceback\\]\\]\\) está obsoleta y " +"puede eliminarse en una versión futura de Python." #: ../Doc/reference/expressions.rst:597 msgid "" @@ -1026,6 +1032,21 @@ msgid "" "`~agen.asend` is used, then the result will be the value passed in to that " "method." msgstr "" +"Llamar a uno de los métodos del generador asíncrono devuelve un objeto :term:" +"`awaitable` y la ejecución comienza cuando se espera este objeto. En ese " +"momento, la ejecución procede a la primera expresión yield, donde se " +"suspende nuevamente, devolviendo el valor de :token:`~python-grammar:" +"expression_list` a la rutina en espera. Al igual que con un generador, la " +"suspensión significa que se retiene todo el estado local, incluidos los " +"enlaces actuales de las variables locales, el puntero de instrucción, la " +"pila de evaluación interna y el estado de cualquier manejo de excepción. " +"Cuando se reanuda la ejecución esperando el siguiente objeto devuelto por " +"los métodos del generador asíncrono, la función puede proceder exactamente " +"como si la expresión yield fuera simplemente otra llamada externa. El valor " +"de la expresión yield después de reanudar depende del método que reanudó la " +"ejecución. Si se utiliza :meth:`~agen.__anext__`, el resultado es :const:" +"`None`. De lo contrario, si se usa :meth:`~agen.asend`, el resultado será el " +"valor pasado a ese método." #: ../Doc/reference/expressions.rst:671 msgid "" @@ -1116,7 +1137,6 @@ msgstr "" "los cuales son usados para controlar la ejecución de una función generadora." #: ../Doc/reference/expressions.rst:718 -#, fuzzy msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1130,16 +1150,17 @@ msgid "" "`StopAsyncIteration` exception, signalling that the asynchronous iteration " "has completed." msgstr "" -"Retorna un esperable el cual, cuando corre, comienza a ejecutar el generador " -"asincrónico o lo reanuda en la última expresión yield ejecutada. Cuando se " -"reanuda una función generadora asincrónica con un método :meth:`~agen." -"__anext__`, la expresión yield actual siempre evalúa a :const:`None` en el " -"esperable retornado, el cual cuando corre continuará a la siguiente " -"expresión yield. El valor de :token:`expression_list` de la expresión yield " -"es el valor de la excepción :exc:`StopIteration` generada por la corrutina " -"completa. Si el generador asincrónico termina sin producir otro valor, el " -"esperable en su lugar genera una excepción :exc:`StopAsyncIteration`, " -"señalando que la iteración asincrónica se ha completado." +"Devuelve un valor en espera que, cuando se ejecuta, comienza a ejecutar el " +"generador asíncrono o lo reanuda en la última expresión de rendimiento " +"ejecutada. Cuando se reanuda una función de generador asíncrono con un " +"método :meth:`~agen.__anext__`, la expresión de rendimiento actual siempre " +"se evalúa como :const:`None` en el valor awaitable devuelto, que cuando se " +"ejecute continuará con la siguiente expresión de rendimiento. El valor de :" +"token:`~python-grammar:expression_list` de la expresión de rendimiento es el " +"valor de la excepción :exc:`StopIteration` generada por la rutina de " +"finalización. Si el generador asincrónico sale sin generar otro valor, " +"awaitable genera una excepción :exc:`StopAsyncIteration`, lo que indica que " +"la iteración asincrónica se ha completado." #: ../Doc/reference/expressions.rst:730 msgid "" @@ -1169,9 +1190,9 @@ msgstr "" "esperable retornado por el método :meth:`asend` retornará el siguiente valor " "producido por el generador como el valor de la :exc:`StopIteration` generada " "o genera :exc:`StopAsyncIteration` si el generador asincrónico termina sin " -"producir otro valor. Cuando se invoca :meth:`asend` para empezar el " -"generador asincrónico, debe ser invocado con :const:`None` como argumento, " -"porque no hay expresión yield que pueda recibir el valor." +"yield otro valor. Cuando se invoca :meth:`asend` para empezar el generador " +"asincrónico, debe ser invocado con :const:`None` como argumento, porque no " +"hay expresión yield que pueda recibir el valor." #: ../Doc/reference/expressions.rst:751 msgid "" @@ -1186,10 +1207,10 @@ msgid "" msgstr "" "Retorna un esperable que genera una excepción de tipo ``type`` en el punto " "donde el generador asincrónico fue pausado y retorna el siguiente valor " -"producido por la función generadora como el valor de la excepción :exc:" -"`StopIteration` generada. Si el generador asincrónico termina sin producir " -"otro valor, el esperable genera una excepción :exc:`StopAsyncIteration`. Si " -"la función generadora no caza la excepción pasada o genera una excepción " +"yield por la función generadora como el valor de la excepción :exc:" +"`StopIteration` generada. Si el generador asincrónico termina sin yield otro " +"valor, el esperable genera una excepción :exc:`StopAsyncIteration`. Si la " +"función generadora no caza la excepción pasada o genera una excepción " "diferente, entonces cuando se ejecuta el esperable esa excepción se propaga " "al invocador del esperable." @@ -1214,7 +1235,7 @@ msgstr "" "`GeneratorExit` (sin cazar la excepción), el esperable retornado lanzará una " "excepción :exc:`StopIteration`. Otros esperables retornados por subsecuentes " "invocaciones al generador asincrónico lanzarán una excepción :exc:" -"`StopAsyncIteration`. Si el generador asincrónico produce un valor, el " +"`StopAsyncIteration`. Si el generador asincrónico yield un valor, el " "esperable genera un :exc:`RuntimeError`. Si el generador asincrónico genera " "cualquier otra excepción, esta es propagada al invocador del esperable. Si " "el generador asincrónico ha terminado debido a una excepción o una " @@ -1259,7 +1280,7 @@ msgstr "" "`__getattr__`. Si este atributo no es esperable, se genera la excepción :exc:" "`AtributeError`. De otra forma, el tipo y el valor del objeto producido es " "determinado por el objeto. Múltiples evaluaciones la misma referencia de " -"atributo pueden producir diferentes objetos." +"atributo pueden yield diferentes objetos." #: ../Doc/reference/expressions.rst:829 msgid "Subscriptions" @@ -1272,12 +1293,18 @@ msgid "" "term:`generic class ` will generally return a :ref:" "`GenericAlias ` object." msgstr "" +"La suscripción de una instancia de un :ref:`container class ` generalmente seleccionará un elemento del contenedor. La suscripción " +"de un :term:`generic class ` generalmente devolverá un objeto :" +"ref:`GenericAlias `." #: ../Doc/reference/expressions.rst:852 msgid "" "When an object is subscripted, the interpreter will evaluate the primary and " "the expression list." msgstr "" +"Cuando se subíndice un objeto, el intérprete evaluará el primario y la lista " +"de expresiones." #: ../Doc/reference/expressions.rst:855 msgid "" @@ -1288,6 +1315,13 @@ msgid "" "one of these methods. For more details on when ``__class_getitem__`` is " "called instead of ``__getitem__``, see :ref:`classgetitem-versus-getitem`." msgstr "" +"El primario debe evaluarse como un objeto que admita la suscripción. Un " +"objeto puede admitir la suscripción mediante la definición de uno o ambos :" +"meth:`~object.__getitem__` y :meth:`~object.__class_getitem__`. Cuando se " +"subíndice el principal, el resultado evaluado de la lista de expresiones se " +"pasará a uno de estos métodos. Para obtener más detalles sobre cuándo se " +"llama a ``__class_getitem__`` en lugar de ``__getitem__``, consulte :ref:" +"`classgetitem-versus-getitem`." #: ../Doc/reference/expressions.rst:862 msgid "" @@ -1295,28 +1329,31 @@ msgid "" "class:`tuple` containing the items of the expression list. Otherwise, the " "expression list will evaluate to the value of the list's sole member." msgstr "" +"Si la lista de expresiones contiene al menos una coma, se evaluará como un :" +"class:`tuple` que contiene los elementos de la lista de expresiones. De lo " +"contrario, la lista de expresiones evaluará el valor del único miembro de la " +"lista." #: ../Doc/reference/expressions.rst:866 -#, fuzzy msgid "" "For built-in objects, there are two types of objects that support " "subscription via :meth:`~object.__getitem__`:" msgstr "" -"Para objetos incorporados, hay dos tipos de objetos que soportan " -"subscripción:" +"Para los objetos integrados, existen dos tipos de objetos que admiten la " +"suscripción a través de :meth:`~object.__getitem__`:" #: ../Doc/reference/expressions.rst:869 -#, fuzzy msgid "" "Mappings. If the primary is a :term:`mapping`, the expression list must " "evaluate to an object whose value is one of the keys of the mapping, and the " "subscription selects the value in the mapping that corresponds to that key. " "An example of a builtin mapping class is the :class:`dict` class." msgstr "" -"Si el primario es un mapeo, la expresión de lista debe evaluar a un objeto " -"cuyo valor es una de las claves del mapeo y la subscripción selecciona el " -"valor en el mapeo que corresponda a esa clave. (La expresión de lista es una " -"tupla excepto si tiene exactamente un elemento.)" +"Mapeos. Si el primario es :term:`mapping`, la lista de expresiones debe " +"evaluarse como un objeto cuyo valor sea una de las claves de la asignación, " +"y la suscripción selecciona el valor en la asignación que corresponde a esa " +"clave. Un ejemplo de una clase de mapeo incorporada es la clase :class:" +"`dict`." #: ../Doc/reference/expressions.rst:873 msgid "" @@ -1325,6 +1362,10 @@ msgid "" "following section). Examples of builtin sequence classes include the :class:" "`str`, :class:`list` and :class:`tuple` classes." msgstr "" +"Secuencias. Si el primario es un :term:`sequence`, la lista de expresiones " +"debe evaluarse como un :class:`int` o un :class:`slice` (como se explica en " +"la siguiente sección). Los ejemplos de clases de secuencia integradas " +"incluyen las clases :class:`str`, :class:`list` y :class:`tuple`." #: ../Doc/reference/expressions.rst:878 msgid "" @@ -1339,16 +1380,27 @@ msgid "" "method, subclasses overriding this method will need to explicitly add that " "support." msgstr "" +"La sintaxis formal no hace ninguna provisión especial para índices negativos " +"en :term:`sequences `. Sin embargo, todas las secuencias " +"integradas proporcionan un método :meth:`~object.__getitem__` que interpreta " +"los índices negativos añadiendo la longitud de la secuencia al índice para " +"que, por ejemplo, ``x[-1]`` seleccione el último elemento de ``x``. El valor " +"resultante debe ser un número entero no negativo menor que el número de " +"elementos de la secuencia, y la suscripción selecciona el elemento cuyo " +"índice es ese valor (contando desde cero). Dado que la compatibilidad con " +"los índices negativos y el corte se produce en el método :meth:`__getitem__` " +"del objeto, las subclases que sobrescriban este método deberán agregar " +"explícitamente esa compatibilidad." #: ../Doc/reference/expressions.rst:892 -#, fuzzy msgid "" "A :class:`string ` is a special kind of sequence whose items are " "*characters*. A character is not a separate data type but a string of " "exactly one character." msgstr "" -"Los elementos de una cadena de caracteres son caracteres. Un caracter no es " -"un tipo de datos separado sino una cadena de exactamente un caracter." +"Un :class:`string ` es un tipo especial de secuencia cuyos elementos " +"son *characters*. Un carácter no es un tipo de datos independiente sino una " +"cadena de exactamente un carácter." #: ../Doc/reference/expressions.rst:900 msgid "Slicings" @@ -1447,7 +1499,6 @@ msgstr "" "`parameter`." #: ../Doc/reference/expressions.rst:996 -#, fuzzy msgid "" "If keyword arguments are present, they are first converted to positional " "arguments, as follows. First, a list of unfilled slots is created for the " @@ -1467,26 +1518,26 @@ msgid "" "specified, a :exc:`TypeError` exception is raised. Otherwise, the list of " "filled slots is used as the argument list for the call." msgstr "" -"Si hay argumentos de palabra clave, primero se convierten en argumentos " -"posicionales, como se indica a continuación. En primer lugar, se crea una " -"lista de ranuras sin rellenar para los parámetros formales. Si hay N " -"argumentos posicionales, se colocan en las primeras N ranuras. A " -"continuación, para cada argumento de palabra clave, el identificador se " -"utiliza para determinar la ranura correspondiente (si el identificador es el " -"mismo que el primer nombre de parámetro formal, se utiliza la primera " -"ranura, etc.). Si la ranura ya está llena, se genera una excepción :exc:" -"`TypeError`. De lo contrario, el valor del argumento se coloca en la ranura, " -"llenándolo (incluso si la expresión es ``None``, esta llena la ranura). " -"Cuando se han procesado todos los argumentos, las ranuras que aún no han " -"sido rellenadas se rellenan con el valor predeterminado correspondiente de " -"la definición de función. (Los valores predeterminados son calculados una " -"vez, cuando se define la función; por lo tanto, un objeto mutable como una " -"lista o diccionario utilizado como valor predeterminado será compartido por " -"todas las llamadas que no especifican un valor de argumento para la ranura " -"correspondiente; esto normalmente debe ser evitado.) Si hay ranuras sin " -"rellenar para las que no se especifica ningún valor predeterminado, se " -"genera una excepción :exc:`TypeError`. De lo contrario, la lista de ranuras " -"rellenas se utiliza como la lista de argumentos para la llamada." +"Si hay argumentos de palabras clave, primero se convierten en argumentos " +"posicionales, de la siguiente manera. Primero, se crea una lista de espacios " +"vacantes para los parámetros formales. Si hay N argumentos posicionales, se " +"colocan en los primeros N espacios. A continuación, para cada argumento de " +"palabra clave, se utiliza el identificador para determinar la ranura " +"correspondiente (si el identificador es el mismo que el nombre del primer " +"parámetro formal, se utiliza la primera ranura, y así sucesivamente). Si el " +"espacio ya está ocupado, se genera una excepción :exc:`TypeError`. De lo " +"contrario, el argumento se coloca en el espacio, llenándolo (incluso si la " +"expresión es ``None``, llena el espacio). Cuando se han procesado todos los " +"argumentos, los espacios que aún están vacíos se llenan con el valor " +"predeterminado correspondiente de la definición de función. (Los valores " +"predeterminados se calculan, una vez, cuando se define la función; por lo " +"tanto, un objeto mutable como una lista o diccionario usado como valor " +"predeterminado será compartido por todas las llamadas que no especifican un " +"valor de argumento para la ranura correspondiente; esto debería normalmente " +"se evita.) Si hay espacios vacíos para los cuales no se especifica ningún " +"valor predeterminado, se genera una excepción :exc:`TypeError`. De lo " +"contrario, la lista de espacios ocupados se utiliza como lista de argumentos " +"para la llamada." #: ../Doc/reference/expressions.rst:1016 msgid "" @@ -1561,17 +1612,15 @@ msgstr "" "``*expression`` -- ver abajo). Así que::" #: ../Doc/reference/expressions.rst:1062 -#, fuzzy msgid "" "It is unusual for both keyword arguments and the ``*expression`` syntax to " "be used in the same call, so in practice this confusion does not often arise." msgstr "" -"Es inusual usar en la misma invocación tanto argumentos de palabra clave " -"como la sintaxis ``*expression``, así que en la práctica no surge esta " -"confusión." +"Es inusual que se utilicen argumentos de palabras clave y la sintaxis " +"``*expression`` en la misma llamada, por lo que en la práctica esta " +"confusión no suele surgir." #: ../Doc/reference/expressions.rst:1068 -#, fuzzy msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " "must evaluate to a :term:`mapping`, the contents of which are treated as " @@ -1579,11 +1628,12 @@ msgid "" "given a value (by an explicit keyword argument, or from another unpacking), " "a :exc:`TypeError` exception is raised." msgstr "" -"Si la sintaxis ``*expression`` aparece en la invocación de función, " -"``expression`` debe evaluar a un :term:`mapping`, los contenidos del mismo " -"son tratados como argumentos de palabra clave adicionales. Si una palabra " -"clave está ya presente (como un argumento de palabra clave explícito o desde " -"otro desempaquetado), se genera una excepción :exc:`TypeError`." +"Si la sintaxis ``**expression`` aparece en la llamada de función, " +"``expression`` debe evaluarse como :term:`mapping`, cuyo contenido se trata " +"como argumentos de palabras clave adicionales. Si a un parámetro que " +"coincide con una clave ya se le ha asignado un valor (mediante un argumento " +"de palabra clave explícito o de otro desempaquetado), se genera una " +"excepción :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1074 msgid "" @@ -1596,6 +1646,14 @@ msgid "" "parameter, if there is one, or if there is not, a :exc:`TypeError` exception " "is raised." msgstr "" +"Cuando se usa ``**expression``, cada clave en esta asignación debe ser una " +"cadena. Cada valor del mapeo se asigna al primer parámetro formal elegible " +"para la asignación de palabras clave cuyo nombre es igual a la clave. No es " +"necesario que una clave sea un identificador de Python (por ejemplo, ``\"max-" +"temp °F\"`` es aceptable, aunque no coincidirá con ningún parámetro formal " +"que pueda declararse). Si no hay ninguna coincidencia con un parámetro " +"formal, el par clave-valor se recopila mediante el parámetro ``**``; si lo " +"hay, o si no lo hay, se genera una excepción :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1084 msgid "" @@ -1740,7 +1798,7 @@ msgid "" "converted to a common type, and the result is of that type." msgstr "" "El operador de potencia tiene las mismas semánticas que la función " -"incorporada :func:`pow` cuando se invoca con dos argumentos: este produce su " +"incorporada :func:`pow` cuando se invoca con dos argumentos: este yield su " "argumento de la izquierda elevado a la potencia de su argumento de la " "derecha. Los argumentos numéricos se convierten primero en un tipo común y " "el resultado es de ese tipo." @@ -1791,16 +1849,15 @@ msgid "" "argument; the operation can be overridden with the :meth:`__neg__` special " "method." msgstr "" -"El operador unario ``-`` (menos) produce la negación de su argumento " -"numérico; la operación se puede anular con el método especial :meth:" -"`__neg__`." +"El operador unario ``-`` (menos) yield la negación de su argumento numérico; " +"la operación se puede anular con el método especial :meth:`__neg__`." #: ../Doc/reference/expressions.rst:1230 msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " "operation can be overridden with the :meth:`__pos__` special method." msgstr "" -"El operador unario ``+`` (más) produce su argumento numérico sin cambios; la " +"El operador unario ``+`` (más) yield su argumento numérico sin cambios; la " "operación se puede anular con el método especial :meth:`__pos__`." #: ../Doc/reference/expressions.rst:1237 @@ -1810,7 +1867,7 @@ msgid "" "It only applies to integral numbers or to custom objects that override the :" "meth:`__invert__` special method." msgstr "" -"El operador unario ``~`` (invertir) produce la inversión bit a bit de su " +"El operador unario ``~`` (invertir) yield la inversión bit a bit de su " "argumento entero. La inversión bit a bit de ``x`` se define como ``-(x+1)``. " "Solo se aplica a números enteros o a objetos personalizados que anulan el " "método especial :meth:`__invert__`." @@ -1848,11 +1905,11 @@ msgid "" "case, sequence repetition is performed; a negative repetition factor yields " "an empty sequence." msgstr "" -"El operador ``*`` (multiplicación) produce el producto de sus argumentos. " -"Los argumentos pueden ser ambos números, o un argumento debe ser un entero y " -"el otro debe ser una secuencia. En el primer caso, los números se convierten " -"a un tipo común y luego son multiplicados. En el segundo caso, se realiza " -"una repetición de secuencia; un factor de repetición negativo produce una " +"El operador ``*`` (multiplicación) yield el producto de sus argumentos. Los " +"argumentos pueden ser ambos números, o un argumento debe ser un entero y el " +"otro debe ser una secuencia. En el primer caso, los números se convierten a " +"un tipo común y luego son multiplicados. En el segundo caso, se realiza una " +"repetición de secuencia; un factor de repetición negativo yield una " "secuencia vacía." #: ../Doc/reference/expressions.rst:1278 @@ -1907,12 +1964,12 @@ msgid "" "zero); the absolute value of the result is strictly smaller than the " "absolute value of the second operand [#]_." msgstr "" -"El operador ``%`` (módulo) produce el resto de la división del primer " +"El operador ``%`` (módulo) yield el resto de la división del primer " "argumento entre el segundo. Los argumentos numéricos son primero convertidos " "a un tipo común. Un argumento a la derecha cero genera la excepción :exc:" "`ZeroDivisionError`. Los argumentos pueden ser números de punto flotante, " "ej., ``3.14%0.7`` es igual a ``0.34`` (ya que ``3.14`` es igual a ``4*0.7 + " -"0.34``.) El operador módulo siempre produce un resultado con el mismo signo " +"0.34``.) El operador módulo siempre yield un resultado con el mismo signo " "que su segundo operando (o cero); el valor absoluto del resultado es " "estrictamente más pequeño que el valor absoluto del segundo operando [#]_." @@ -1968,10 +2025,10 @@ msgid "" "type. In the former case, the numbers are converted to a common type and " "then added together. In the latter case, the sequences are concatenated." msgstr "" -"El operador ``+`` (adición) produce la suma de sus argumentos. Los " -"argumentos deben ser ambos números o ambos secuencias del mismo tipo. En el " -"primer caso, los números son convertidos a un tipo común y luego sumados. En " -"el segundo caso, las secuencias son concatenadas." +"El operador ``+`` (adición) yield la suma de sus argumentos. Los argumentos " +"deben ser ambos números o ambos secuencias del mismo tipo. En el primer " +"caso, los números son convertidos a un tipo común y luego sumados. En el " +"segundo caso, las secuencias son concatenadas." #: ../Doc/reference/expressions.rst:1345 msgid "" @@ -1986,7 +2043,7 @@ msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." msgstr "" -"El operador ``-`` (resta) produce la diferencia de sus argumentos. Los " +"El operador ``-`` (resta) yield la diferencia de sus argumentos. Los " "argumentos numéricos son primero convertidos a un tipo común." #: ../Doc/reference/expressions.rst:1356 @@ -2049,7 +2106,7 @@ msgid "" "integers or one of them must be a custom object overriding :meth:`__and__` " "or :meth:`__rand__` special methods." msgstr "" -"El operador ``&`` produce el AND bit a bit de sus argumentos, que deben ser " +"El operador ``&`` yield el AND bit a bit de sus argumentos, que deben ser " "números enteros o uno de ellos debe ser un objeto personalizado que anule " "los métodos especiales :meth:`__and__` o :meth:`__rand__`." @@ -2059,7 +2116,7 @@ msgid "" "which must be integers or one of them must be a custom object overriding :" "meth:`__xor__` or :meth:`__rxor__` special methods." msgstr "" -"El operador ``^`` produce el XOR bit a bit (OR exclusivo) de sus argumentos, " +"El operador ``^`` yield el XOR bit a bit (OR exclusivo) de sus argumentos, " "que deben ser números enteros o uno de ellos debe ser un objeto " "personalizado que anule los métodos especiales :meth:`__xor__` o :meth:" "`__rxor__`." @@ -2070,7 +2127,7 @@ msgid "" "must be integers or one of them must be a custom object overriding :meth:" "`__or__` or :meth:`__ror__` special methods." msgstr "" -"El operador ``|`` produce el OR bit a bit (inclusive) de sus argumentos, que " +"El operador ``|`` yield el OR bit a bit (inclusive) de sus argumentos, que " "deben ser números enteros o uno de ellos debe ser un objeto personalizado " "que anule los métodos especiales :meth:`__or__` o :meth:`__ror__`." @@ -2096,7 +2153,7 @@ msgid "" "comparison methods` may return non-boolean values. In this case Python will " "call :func:`bool` on such value in boolean contexts." msgstr "" -"Las comparaciones producen valores booleanos: ``True`` o ``False``. " +"Las comparaciones yield valores booleanos: ``True`` o ``False``. " "Personalizado: dfn: los `métodos de comparación enriquecidos` pueden " "retornar valores no booleanos. En este caso, Python llamará a :func:`bool` " "en dicho valor en contextos booleanos." @@ -2359,15 +2416,14 @@ msgstr "" "verdadero)." #: ../Doc/reference/expressions.rst:1566 -#, fuzzy msgid "" "Mappings (instances of :class:`dict`) compare equal if and only if they have " "equal ``(key, value)`` pairs. Equality comparison of the keys and values " "enforces reflexivity." msgstr "" -"Los mapeos (instancias de :class:`dict`) comparan igual si y sólo si tienen " -"pares `(clave, valor)` iguales. La comparación de igualdad de claves y " -"valores refuerza la reflexibilidad." +"Las asignaciones (instancias de :class:`dict`) se comparan iguales si y solo " +"si tienen pares ``(key, value)`` iguales. La comparación equitativa de las " +"claves y los valores impone la reflexividad." #: ../Doc/reference/expressions.rst:1570 msgid "" @@ -2621,14 +2677,13 @@ msgstr "" "Los operadores :keyword:`is` y :keyword:`is not` comprueban la identidad de " "un objeto. ``x is y`` es verdadero si y sólo si *x* e *y* son el mismo " "objeto. La identidad de un Objeto se determina usando la función :meth:`id`. " -"``x is not y`` produce el valor de veracidad inverso. [#]_" +"``x is not y`` yield el valor de veracidad inverso. [#]_" #: ../Doc/reference/expressions.rst:1704 msgid "Boolean operations" msgstr "Operaciones booleanas" #: ../Doc/reference/expressions.rst:1715 -#, fuzzy msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " @@ -2638,21 +2693,21 @@ msgid "" "objects can customize their truth value by providing a :meth:`~object." "__bool__` method." msgstr "" -"En el contexto de las operaciones booleanas y también cuando sentencias de " -"control de flujo usan expresiones, los siguientes valores se interpretan " -"como falsos: ``False``, ``None``, ceros numéricos de todos los tipos y " -"cadenas de caracteres y contenedores vacíos (incluyendo cadenas de " -"caracteres, tuplas, diccionarios, conjuntos y conjuntos congelados). Todos " -"los otros valores son interpretados como verdaderos. Los objetos definidos " -"por el usuario pueden personalizar su valor de veracidad proveyendo un " -"método :meth:`__bool__`." +"En el contexto de operaciones booleanas, y también cuando las declaraciones " +"de flujo de control utilizan expresiones, los siguientes valores se " +"interpretan como falsos: ``False``, ``None``, cero numérico de todos los " +"tipos y cadenas y contenedores vacíos (incluidas cadenas, tuplas, listas, " +"diccionarios). , conjuntos y conjuntos congelados). Todos los demás valores " +"se interpretan como verdaderos. Los objetos definidos por el usuario pueden " +"personalizar su valor de verdad proporcionando un método :meth:`~object." +"__bool__`." #: ../Doc/reference/expressions.rst:1724 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." msgstr "" -"El operador :keyword:`not` produce ``True`` si su argumento es falso, " +"El operador :keyword:`not` yield ``True`` si su argumento es falso, " "``False`` si no." #: ../Doc/reference/expressions.rst:1729 @@ -2685,7 +2740,7 @@ msgstr "" "el tipo que retornan a ``False`` y ``True``, sino retornan el último " "argumento evaluado. Esto es útil a veces, ej., si ``s`` es una cadena de " "caracteres que debe ser remplazada por un valor predeterminado si está " -"vacía, la expresión ``s or 'foo'`` produce el valor deseado. Debido a que :" +"vacía, la expresión ``s or 'foo'`` yield el valor deseado. Debido a que :" "keyword:`not` tiene que crear un nuevo valor, retorna un valor booleano " "indiferentemente del tipo de su argumento (por ejemplo, ``not 'foo'`` " "produce ``False`` en lugar de ``''``.)" @@ -2695,7 +2750,6 @@ msgid "Assignment expressions" msgstr "Expresiones de asignación" #: ../Doc/reference/expressions.rst:1758 -#, fuzzy msgid "" "An assignment expression (sometimes also called a \"named expression\" or " "\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:" @@ -2703,8 +2757,9 @@ msgid "" "`~python-grammar:expression`." msgstr "" "Una expresión de asignación (a veces también llamada \"expresión con " -"nombre\" o \"walrus\") asigna un :token:`expression` a un :token:" -"`identifier`, mientras que también retorna el valor de :token:`expression`." +"nombre\" o \"morsa\") asigna un :token:`~python-grammar:expression` a un :" +"token:`~python-grammar:identifier`, al mismo tiempo que devuelve el valor de " +"el :token:`~python-grammar:expresión`." #: ../Doc/reference/expressions.rst:1763 msgid "One common use case is when handling matched regular expressions:" @@ -2723,6 +2778,11 @@ msgid "" "all other places where they can be used, parentheses are not required, " "including in ``if`` and ``while`` statements." msgstr "" +"Las expresiones de asignación deben estar entre paréntesis cuando se usan " +"como subexpresiones en expresiones de división, condicional, lambda, " +"argumento de palabra clave y comprensión si y en declaraciones ``assert`` y " +"``with``. En todos los demás lugares donde se pueden usar, no se requieren " +"paréntesis, incluidas las declaraciones ``if`` y ``while``." #: ../Doc/reference/expressions.rst:1784 msgid "See :pep:`572` for more details about assignment expressions." @@ -2767,8 +2827,8 @@ msgid "" msgstr "" "Las expresiones lambda (a veces denominadas formas lambda) son usadas para " "crear funciones anónimas. La expresión ``lambda parameters: expression`` " -"produce un objeto de función. El objeto sin nombre se comporta como un " -"objeto función con:" +"yield un objeto de función. El objeto sin nombre se comporta como un objeto " +"función con:" #: ../Doc/reference/expressions.rst:1837 msgid "" @@ -2791,7 +2851,7 @@ msgid "" "expressions in the list. The expressions are evaluated from left to right." msgstr "" "Excepto cuando son parte de un despliegue de lista o conjunto, una lista de " -"expresión conteniendo al menos una coma produce una tupla. El largo de la " +"expresión conteniendo al menos una coma yield una tupla. El largo de la " "tupla es el número de expresiones en la lista. Las expresiones son evaluadas " "de izquierda a derecha." @@ -2824,8 +2884,8 @@ msgid "" msgstr "" "La coma final sólo es requerida para crear una tupla única (también " "denominada un *singleton*); es opcional en todos los otros casos. Una única " -"expresión sin una coma final no crea una tupla, si no produce el valor de " -"esa expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " +"expresión sin una coma final no crea una tupla, si no yield el valor de esa " +"expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " "``()``.)" #: ../Doc/reference/expressions.rst:1888 @@ -2855,7 +2915,6 @@ msgid "Operator precedence" msgstr "Prioridad de operador" #: ../Doc/reference/expressions.rst:1914 -#, fuzzy msgid "" "The following table summarizes the operator precedence in Python, from " "highest precedence (most binding) to lowest precedence (least binding). " @@ -2864,13 +2923,13 @@ msgid "" "left to right (except for exponentiation and conditional expressions, which " "group from right to left)." msgstr "" -"La siguiente tabla resume la precedencia del operador en Python, desde la " +"La siguiente tabla resume la precedencia de operadores en Python, desde la " "precedencia más alta (más vinculante) hasta la precedencia más baja (menos " -"vinculante). Los operadores en el mismo cuadro tienen la misma precedencia. " -"A menos que la sintaxis se proporcione explícitamente, los operadores son " +"vinculante). Los operadores en el mismo cuadro tienen la misma prioridad. A " +"menos que la sintaxis se proporcione explícitamente, los operadores son " "binarios. Los operadores en el mismo cuadro se agrupan de izquierda a " -"derecha (excepto para la exponenciación, que se agrupa de derecha a " -"izquierda)." +"derecha (excepto la exponenciación y las expresiones condicionales, que se " +"agrupan de derecha a izquierda)." #: ../Doc/reference/expressions.rst:1920 msgid "" @@ -2916,9 +2975,8 @@ msgid "Subscription, slicing, call, attribute reference" msgstr "Subscripción, segmentación, invocación, referencia de atributo" #: ../Doc/reference/expressions.rst:1937 -#, fuzzy msgid ":keyword:`await x `" -msgstr ":keyword:`await` ``x``" +msgstr ":keyword:`await x `" #: ../Doc/reference/expressions.rst:1939 msgid "``**``" @@ -3001,9 +3059,8 @@ msgid "Comparisons, including membership tests and identity tests" msgstr "Comparaciones, incluyendo comprobaciones de membresía y de identidad" #: ../Doc/reference/expressions.rst:1961 -#, fuzzy msgid ":keyword:`not x `" -msgstr ":keyword:`or`" +msgstr ":keyword:`not x `" #: ../Doc/reference/expressions.rst:1961 msgid "Boolean NOT" @@ -3167,82 +3224,73 @@ msgstr "" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:1706 #: ../Doc/reference/expressions.rst:1793 ../Doc/reference/expressions.rst:1819 #: ../Doc/reference/expressions.rst:1847 -#, fuzzy msgid "expression" -msgstr "Expresiones" +msgstr "expresiones" #: ../Doc/reference/expressions.rst:8 msgid "BNF" -msgstr "" +msgstr "BNF" #: ../Doc/reference/expressions.rst:28 ../Doc/reference/expressions.rst:1207 #: ../Doc/reference/expressions.rst:1255 -#, fuzzy msgid "arithmetic" -msgstr "Conversiones aritméticas" +msgstr "aritméticas" #: ../Doc/reference/expressions.rst:28 -#, fuzzy msgid "conversion" -msgstr "Conversiones aritméticas" +msgstr "conversión" #: ../Doc/reference/expressions.rst:51 -#, fuzzy msgid "atom" -msgstr "Átomos" +msgstr "atom" #: ../Doc/reference/expressions.rst:68 ../Doc/reference/expressions.rst:82 msgid "name" -msgstr "" +msgstr "name" #: ../Doc/reference/expressions.rst:68 -#, fuzzy msgid "identifier" -msgstr "Identificadores (Nombres)" +msgstr "identificador" #: ../Doc/reference/expressions.rst:74 ../Doc/reference/expressions.rst:537 #: ../Doc/reference/expressions.rst:592 ../Doc/reference/expressions.rst:714 #: ../Doc/reference/expressions.rst:766 ../Doc/reference/expressions.rst:812 #: ../Doc/reference/expressions.rst:1244 ../Doc/reference/expressions.rst:1290 #: ../Doc/reference/expressions.rst:1380 -#, fuzzy msgid "exception" -msgstr "Descripción" +msgstr "excepción" #: ../Doc/reference/expressions.rst:74 msgid "NameError" -msgstr "" +msgstr "NameError" #: ../Doc/reference/expressions.rst:82 msgid "mangling" -msgstr "" +msgstr "destrozando" #: ../Doc/reference/expressions.rst:82 -#, fuzzy msgid "private" -msgstr "Primarios" +msgstr "privado" #: ../Doc/reference/expressions.rst:82 -#, fuzzy msgid "names" -msgstr "Ejemplos" +msgstr "nombres" #: ../Doc/reference/expressions.rst:104 -#, fuzzy msgid "literal" -msgstr "Literales" +msgstr "literal" #: ../Doc/reference/expressions.rst:117 ../Doc/reference/expressions.rst:341 msgid "immutable" -msgstr "" +msgstr "inmutable" #: ../Doc/reference/expressions.rst:117 msgid "data" -msgstr "" +msgstr "data" #: ../Doc/reference/expressions.rst:117 msgid "type" -msgstr "" +msgstr "type" #: ../Doc/reference/expressions.rst:117 ../Doc/reference/expressions.rst:244 #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 @@ -3254,407 +3302,367 @@ msgstr "" #: ../Doc/reference/expressions.rst:1127 ../Doc/reference/expressions.rst:1134 #: ../Doc/reference/expressions.rst:1671 ../Doc/reference/expressions.rst:1857 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/reference/expressions.rst:133 -#, fuzzy msgid "parenthesized form" msgstr "Formas entre paréntesis" #: ../Doc/reference/expressions.rst:133 ../Doc/reference/expressions.rst:362 #: ../Doc/reference/expressions.rst:952 -#, fuzzy msgid "() (parentheses)" -msgstr "Formas entre paréntesis" +msgstr "() (paréntesis)" #: ../Doc/reference/expressions.rst:133 -#, fuzzy msgid "tuple display" -msgstr "Despliegues de conjuntos" +msgstr "display tupla" #: ../Doc/reference/expressions.rst:146 ../Doc/reference/expressions.rst:244 msgid "empty" -msgstr "" +msgstr "vacío" #: ../Doc/reference/expressions.rst:146 ../Doc/reference/expressions.rst:835 #: ../Doc/reference/expressions.rst:908 ../Doc/reference/expressions.rst:1857 msgid "tuple" -msgstr "" +msgstr "tuple" #: ../Doc/reference/expressions.rst:152 ../Doc/reference/expressions.rst:1876 msgid "comma" -msgstr "" +msgstr "coma" #: ../Doc/reference/expressions.rst:152 ../Doc/reference/expressions.rst:244 #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 #: ../Doc/reference/expressions.rst:902 ../Doc/reference/expressions.rst:952 #: ../Doc/reference/expressions.rst:1847 msgid ", (comma)" -msgstr "" +msgstr ", (coma)" #: ../Doc/reference/expressions.rst:167 ../Doc/reference/expressions.rst:244 #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "comprehensions" -msgstr "Comparaciones" +msgstr "comprensiones" #: ../Doc/reference/expressions.rst:177 msgid "for" -msgstr "" +msgstr "for" #: ../Doc/reference/expressions.rst:177 ../Doc/reference/expressions.rst:212 -#, fuzzy msgid "in comprehensions" -msgstr "Comparaciones de identidad" +msgstr "comprensiones in" #: ../Doc/reference/expressions.rst:177 ../Doc/reference/expressions.rst:1793 msgid "if" -msgstr "" +msgstr "if" #: ../Doc/reference/expressions.rst:177 msgid "async for" -msgstr "" +msgstr "async for" #: ../Doc/reference/expressions.rst:212 ../Doc/reference/expressions.rst:1152 msgid "await" -msgstr "" +msgstr "await" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:812 #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:908 #: ../Doc/reference/expressions.rst:1847 msgid "list" -msgstr "" +msgstr "list" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:270 #: ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "display" -msgstr "Despliegues de conjuntos" +msgstr "display" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:831 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (paréntesis de corchete)" #: ../Doc/reference/expressions.rst:244 -#, fuzzy msgid "list expression" -msgstr "Expresión await" +msgstr "expresión lista" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:270 #: ../Doc/reference/expressions.rst:1847 -#, fuzzy msgid "expression list" -msgstr "Listas de expresiones" +msgstr "expresión lista" #: ../Doc/reference/expressions.rst:270 msgid "set" -msgstr "" +msgstr "set" #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (paréntesis de llave)" #: ../Doc/reference/expressions.rst:270 -#, fuzzy msgid "set expression" -msgstr "Expresiones" +msgstr "expresión conjunto" #: ../Doc/reference/expressions.rst:298 ../Doc/reference/expressions.rst:324 #: ../Doc/reference/expressions.rst:835 -#, fuzzy msgid "dictionary" -msgstr "Despliegues de diccionario" +msgstr "diccionario" #: ../Doc/reference/expressions.rst:298 msgid "key" -msgstr "" +msgstr "llave" #: ../Doc/reference/expressions.rst:298 msgid "value" -msgstr "" +msgstr "valor" #: ../Doc/reference/expressions.rst:298 msgid "key/value pair" -msgstr "" +msgstr "par llave/valor" #: ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "dictionary expression" -msgstr "Expresión condicional" +msgstr "expresión diccionario" #: ../Doc/reference/expressions.rst:298 ../Doc/reference/expressions.rst:902 #: ../Doc/reference/expressions.rst:1819 msgid ": (colon)" -msgstr "" +msgstr ": (dos puntos)" #: ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "in dictionary expressions" -msgstr "Expresiones condicionales" +msgstr "en expresiones diccionario" #: ../Doc/reference/expressions.rst:298 ../Doc/reference/expressions.rst:324 -#, fuzzy msgid "in dictionary displays" -msgstr "Despliegues de diccionario" +msgstr "en displays de diccionario" #: ../Doc/reference/expressions.rst:324 ../Doc/reference/expressions.rst:1035 #: ../Doc/reference/expressions.rst:1864 msgid "unpacking" -msgstr "" +msgstr "unpacking" #: ../Doc/reference/expressions.rst:324 ../Doc/reference/expressions.rst:1065 #: ../Doc/reference/expressions.rst:1172 msgid "**" -msgstr "" +msgstr "**" #: ../Doc/reference/expressions.rst:341 msgid "hashable" -msgstr "" +msgstr "hashable" #: ../Doc/reference/expressions.rst:362 ../Doc/reference/expressions.rst:417 #: ../Doc/reference/expressions.rst:525 -#, fuzzy msgid "generator" -msgstr "Operador" +msgstr "operador" #: ../Doc/reference/expressions.rst:362 -#, fuzzy msgid "generator expression" -msgstr "Expresiones de generador" +msgstr "expresión generador" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:1152 -#, fuzzy msgid "keyword" -msgstr ":keyword:`or`" +msgstr "keyword" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:605 msgid "yield" -msgstr "" +msgstr "yield" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:484 msgid "from" -msgstr "" +msgstr "from" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:1100 #: ../Doc/reference/expressions.rst:1113 ../Doc/reference/expressions.rst:1819 msgid "function" -msgstr "" +msgstr "función" #: ../Doc/reference/expressions.rst:470 msgid "coroutine" -msgstr "" +msgstr "corutina" #: ../Doc/reference/expressions.rst:484 -#, fuzzy msgid "yield from expression" -msgstr "Expresiones yield" +msgstr "yield de expresión" #: ../Doc/reference/expressions.rst:537 -#, fuzzy msgid "StopIteration" -msgstr "Operaciones de desplazamiento" +msgstr "StopIteration" #: ../Doc/reference/expressions.rst:592 ../Doc/reference/expressions.rst:766 -#, fuzzy msgid "GeneratorExit" -msgstr "Expresiones de generador" +msgstr "GeneratorExit" #: ../Doc/reference/expressions.rst:605 -#, fuzzy msgid "examples" -msgstr "Ejemplos" +msgstr "ejemplos" #: ../Doc/reference/expressions.rst:704 -#, fuzzy msgid "asynchronous-generator" -msgstr "Funciones generadoras asincrónicas" +msgstr "generador asíncrono" #: ../Doc/reference/expressions.rst:714 msgid "StopAsyncIteration" -msgstr "" +msgstr "StopAsyncIteration" #: ../Doc/reference/expressions.rst:789 -#, fuzzy msgid "primary" -msgstr "Primarios" +msgstr "primario" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "attribute" -msgstr "Referencias de atributos" +msgstr "atributo" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "reference" -msgstr "Referencias de atributos" +msgstr "referencia" #: ../Doc/reference/expressions.rst:803 msgid ". (dot)" -msgstr "" +msgstr ". (punto)" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "attribute reference" -msgstr "Referencias de atributos" +msgstr "referencia de atributo" #: ../Doc/reference/expressions.rst:812 -#, fuzzy msgid "AttributeError" -msgstr "Referencias de atributos" +msgstr "AttributeError" #: ../Doc/reference/expressions.rst:812 msgid "module" -msgstr "" +msgstr "módulo" #: ../Doc/reference/expressions.rst:831 -#, fuzzy msgid "subscription" -msgstr "Suscripciones" +msgstr "suscripciones" #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:908 #: ../Doc/reference/expressions.rst:1671 msgid "sequence" -msgstr "" +msgstr "secuencia" #: ../Doc/reference/expressions.rst:835 msgid "mapping" -msgstr "" +msgstr "mapeo" #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:888 #: ../Doc/reference/expressions.rst:908 msgid "string" -msgstr "" +msgstr "cadena de caracteres" #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:888 msgid "item" -msgstr "" +msgstr "item" #: ../Doc/reference/expressions.rst:888 msgid "character" -msgstr "" +msgstr "caracter" #: ../Doc/reference/expressions.rst:902 -#, fuzzy msgid "slicing" -msgstr "Segmentos" +msgstr "rebanado" #: ../Doc/reference/expressions.rst:902 -#, fuzzy msgid "slice" -msgstr "Segmentos" +msgstr "rebanada" #: ../Doc/reference/expressions.rst:934 msgid "start (slice object attribute)" -msgstr "" +msgstr "start (atributo objeto rebanada)" #: ../Doc/reference/expressions.rst:934 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (atributo objeto rebanada)" #: ../Doc/reference/expressions.rst:934 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (atributo objeto rebanada)" #: ../Doc/reference/expressions.rst:952 -#, fuzzy msgid "callable" -msgstr "Invocaciones" +msgstr "llamable" #: ../Doc/reference/expressions.rst:952 ../Doc/reference/expressions.rst:1100 #: ../Doc/reference/expressions.rst:1113 ../Doc/reference/expressions.rst:1127 #: ../Doc/reference/expressions.rst:1134 ../Doc/reference/expressions.rst:1144 -#, fuzzy msgid "call" -msgstr "Invocaciones" +msgstr "llamada" #: ../Doc/reference/expressions.rst:952 msgid "argument" -msgstr "" +msgstr "argumento" #: ../Doc/reference/expressions.rst:952 ../Doc/reference/expressions.rst:985 msgid "call semantics" -msgstr "" +msgstr "semántica de llamada" #: ../Doc/reference/expressions.rst:952 msgid "argument list" -msgstr "" +msgstr "lista de argumento" #: ../Doc/reference/expressions.rst:952 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" #: ../Doc/reference/expressions.rst:952 ../Doc/reference/expressions.rst:1035 #: ../Doc/reference/expressions.rst:1065 msgid "in function calls" -msgstr "" +msgstr "en llamadas de función" #: ../Doc/reference/expressions.rst:985 msgid "parameter" -msgstr "" +msgstr "parámetro" #: ../Doc/reference/expressions.rst:1035 ../Doc/reference/expressions.rst:1268 #: ../Doc/reference/expressions.rst:1864 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../Doc/reference/expressions.rst:1100 -#, fuzzy msgid "user-defined" -msgstr "una función definida por el usuario:" +msgstr "definida por el usuario" #: ../Doc/reference/expressions.rst:1100 -#, fuzzy msgid "user-defined function" -msgstr "una función definida por el usuario:" +msgstr "función definida por el usuario" #: ../Doc/reference/expressions.rst:1113 -#, fuzzy msgid "built-in function" -msgstr "una función o método incorporado:" +msgstr "función incorporado" #: ../Doc/reference/expressions.rst:1113 msgid "method" -msgstr "" +msgstr "método" #: ../Doc/reference/expressions.rst:1113 -#, fuzzy msgid "built-in method" -msgstr "una función o método incorporado:" +msgstr "método incorporado" #: ../Doc/reference/expressions.rst:1127 -#, fuzzy msgid "class" -msgstr "Invocaciones" +msgstr "class" #: ../Doc/reference/expressions.rst:1127 -#, fuzzy msgid "class object" -msgstr "un objeto de clase:" +msgstr "objeto de clase" #: ../Doc/reference/expressions.rst:1134 -#, fuzzy msgid "class instance" -msgstr "una instancia de clase:" +msgstr "instancia de clase" #: ../Doc/reference/expressions.rst:1134 ../Doc/reference/expressions.rst:1144 -#, fuzzy msgid "instance" -msgstr "una instancia de clase:" +msgstr "instancia" #: ../Doc/reference/expressions.rst:1144 msgid "__call__() (object method)" -msgstr "" +msgstr "__call__() (método objeto)" #: ../Doc/reference/expressions.rst:1172 msgid "power" -msgstr "" +msgstr "potencia" #: ../Doc/reference/expressions.rst:1172 ../Doc/reference/expressions.rst:1207 #: ../Doc/reference/expressions.rst:1255 ../Doc/reference/expressions.rst:1364 #: ../Doc/reference/expressions.rst:1391 ../Doc/reference/expressions.rst:1706 -#, fuzzy msgid "operation" -msgstr "Operador" +msgstr "operación" #: ../Doc/reference/expressions.rst:1172 ../Doc/reference/expressions.rst:1216 #: ../Doc/reference/expressions.rst:1225 ../Doc/reference/expressions.rst:1233 @@ -3667,331 +3675,308 @@ msgstr "Operador" #: ../Doc/reference/expressions.rst:1680 ../Doc/reference/expressions.rst:1722 #: ../Doc/reference/expressions.rst:1727 ../Doc/reference/expressions.rst:1732 #: ../Doc/reference/expressions.rst:1793 ../Doc/reference/expressions.rst:1911 -#, fuzzy msgid "operator" -msgstr "Operador" +msgstr "operador" #: ../Doc/reference/expressions.rst:1207 msgid "unary" -msgstr "" +msgstr "unario" #: ../Doc/reference/expressions.rst:1207 ../Doc/reference/expressions.rst:1391 #: ../Doc/reference/expressions.rst:1400 ../Doc/reference/expressions.rst:1408 #: ../Doc/reference/expressions.rst:1417 -#, fuzzy msgid "bitwise" -msgstr "OR bit a bit" +msgstr "bit a bit" #: ../Doc/reference/expressions.rst:1216 msgid "negation" -msgstr "" +msgstr "negación" #: ../Doc/reference/expressions.rst:1216 msgid "minus" -msgstr "" +msgstr "menos" #: ../Doc/reference/expressions.rst:1216 ../Doc/reference/expressions.rst:1348 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" #: ../Doc/reference/expressions.rst:1216 ../Doc/reference/expressions.rst:1225 -#, fuzzy msgid "unary operator" -msgstr "Operador" +msgstr "operador unario" #: ../Doc/reference/expressions.rst:1225 msgid "plus" -msgstr "" +msgstr "más" #: ../Doc/reference/expressions.rst:1225 ../Doc/reference/expressions.rst:1335 msgid "+ (plus)" -msgstr "" +msgstr "+ (más)" #: ../Doc/reference/expressions.rst:1233 -#, fuzzy msgid "inversion" -msgstr "Expresiones" +msgstr "inversión" #: ../Doc/reference/expressions.rst:1233 msgid "~ (tilde)" -msgstr "" +msgstr "~ (virgulilla)" #: ../Doc/reference/expressions.rst:1244 msgid "TypeError" -msgstr "" +msgstr "TypeError" #: ../Doc/reference/expressions.rst:1255 ../Doc/reference/expressions.rst:1391 msgid "binary" -msgstr "" +msgstr "binario" #: ../Doc/reference/expressions.rst:1268 msgid "multiplication" -msgstr "" +msgstr "multiplicación" #: ../Doc/reference/expressions.rst:1281 msgid "matrix multiplication" -msgstr "" +msgstr "multiplicación de matriz" #: ../Doc/reference/expressions.rst:1281 msgid "@ (at)" -msgstr "" +msgstr "@ (arroba)" #: ../Doc/reference/expressions.rst:1290 msgid "ZeroDivisionError" -msgstr "" +msgstr "ZeroDivisionError" #: ../Doc/reference/expressions.rst:1290 msgid "division" -msgstr "" +msgstr "división" #: ../Doc/reference/expressions.rst:1290 msgid "/ (slash)" -msgstr "" +msgstr "/ (barra diagonal)" #: ../Doc/reference/expressions.rst:1290 msgid "//" -msgstr "" +msgstr "//" #: ../Doc/reference/expressions.rst:1306 msgid "modulo" -msgstr "" +msgstr "módulo" #: ../Doc/reference/expressions.rst:1306 msgid "% (percent)" -msgstr "" +msgstr "% (porcentaje)" #: ../Doc/reference/expressions.rst:1335 -#, fuzzy msgid "addition" -msgstr "Descripción" +msgstr "adición" #: ../Doc/reference/expressions.rst:1335 ../Doc/reference/expressions.rst:1348 -#, fuzzy msgid "binary operator" -msgstr "Operaciones bit a bit binarias" +msgstr "operador binario" #: ../Doc/reference/expressions.rst:1348 -#, fuzzy msgid "subtraction" msgstr "Suscripciones" #: ../Doc/reference/expressions.rst:1364 -#, fuzzy msgid "shifting" -msgstr "Desplazamientos" +msgstr "desplazamientos" #: ../Doc/reference/expressions.rst:1364 msgid "<<" -msgstr "" +msgstr "<<" #: ../Doc/reference/expressions.rst:1364 msgid ">>" -msgstr "" +msgstr ">>" #: ../Doc/reference/expressions.rst:1380 msgid "ValueError" -msgstr "" +msgstr "ValueError" #: ../Doc/reference/expressions.rst:1400 ../Doc/reference/expressions.rst:1727 msgid "and" -msgstr "" +msgstr "and" #: ../Doc/reference/expressions.rst:1400 msgid "& (ampersand)" -msgstr "" +msgstr "& (ampersand)" #: ../Doc/reference/expressions.rst:1408 msgid "xor" -msgstr "" +msgstr "xor" #: ../Doc/reference/expressions.rst:1408 msgid "exclusive" -msgstr "" +msgstr "exclusivo" #: ../Doc/reference/expressions.rst:1408 ../Doc/reference/expressions.rst:1417 #: ../Doc/reference/expressions.rst:1732 msgid "or" -msgstr "" +msgstr "or" #: ../Doc/reference/expressions.rst:1408 msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" #: ../Doc/reference/expressions.rst:1417 msgid "inclusive" -msgstr "" +msgstr "inclusive" #: ../Doc/reference/expressions.rst:1417 msgid "| (vertical bar)" -msgstr "" +msgstr "| (barra vertical)" #: ../Doc/reference/expressions.rst:1432 -#, fuzzy msgid "comparison" -msgstr "Comparaciones" +msgstr "comparaciones" #: ../Doc/reference/expressions.rst:1432 msgid "C" -msgstr "" +msgstr "C" #: ../Doc/reference/expressions.rst:1432 msgid "language" -msgstr "" +msgstr "lenguaje" #: ../Doc/reference/expressions.rst:1432 msgid "< (less)" -msgstr "" +msgstr "< (menor)" #: ../Doc/reference/expressions.rst:1432 msgid "> (greater)" -msgstr "" +msgstr "> (mayor)" #: ../Doc/reference/expressions.rst:1432 msgid "<=" -msgstr "" +msgstr "<=" #: ../Doc/reference/expressions.rst:1432 msgid ">=" -msgstr "" +msgstr ">=" #: ../Doc/reference/expressions.rst:1432 msgid "==" -msgstr "" +msgstr "==" #: ../Doc/reference/expressions.rst:1432 msgid "!=" -msgstr "" +msgstr "!=" #: ../Doc/reference/expressions.rst:1456 msgid "chaining" -msgstr "" +msgstr "encadenamiento" #: ../Doc/reference/expressions.rst:1456 -#, fuzzy msgid "comparisons" -msgstr "Comparaciones" +msgstr "comparaciones" #: ../Doc/reference/expressions.rst:1671 msgid "in" -msgstr "" +msgstr "in" #: ../Doc/reference/expressions.rst:1671 msgid "not in" -msgstr "" +msgstr "not in" #: ../Doc/reference/expressions.rst:1671 msgid "membership" -msgstr "" +msgstr "membresía" #: ../Doc/reference/expressions.rst:1671 ../Doc/reference/expressions.rst:1680 msgid "test" -msgstr "" +msgstr "prueba" #: ../Doc/reference/expressions.rst:1680 msgid "is" -msgstr "" +msgstr "is" #: ../Doc/reference/expressions.rst:1680 msgid "is not" -msgstr "" +msgstr "is not" #: ../Doc/reference/expressions.rst:1680 msgid "identity" -msgstr "" +msgstr "identidad" #: ../Doc/reference/expressions.rst:1706 -#, fuzzy msgid "Conditional" -msgstr "Expresión condicional" +msgstr "Condicional" #: ../Doc/reference/expressions.rst:1706 -#, fuzzy msgid "Boolean" -msgstr "Booleano OR" +msgstr "Booleano" #: ../Doc/reference/expressions.rst:1722 msgid "not" -msgstr "" +msgstr "not" #: ../Doc/reference/expressions.rst:1746 msgid ":= (colon equals)" -msgstr "" +msgstr ":= (dos puntos igual)" #: ../Doc/reference/expressions.rst:1746 -#, fuzzy msgid "assignment expression" -msgstr "Expresión de asignación" +msgstr "expresión de asignación" #: ../Doc/reference/expressions.rst:1746 -#, fuzzy msgid "walrus operator" -msgstr "Operador" +msgstr "operador morsa" #: ../Doc/reference/expressions.rst:1746 -#, fuzzy msgid "named expression" -msgstr "Expresión lambda" +msgstr "expresión con nombre" #: ../Doc/reference/expressions.rst:1793 -#, fuzzy msgid "conditional" -msgstr "Expresión condicional" +msgstr "condicional" #: ../Doc/reference/expressions.rst:1793 msgid "ternary" -msgstr "" +msgstr "ternario" #: ../Doc/reference/expressions.rst:1793 -#, fuzzy msgid "conditional expression" -msgstr "Expresión condicional" +msgstr "expresión condicional" #: ../Doc/reference/expressions.rst:1793 msgid "else" -msgstr "" +msgstr "else" #: ../Doc/reference/expressions.rst:1819 -#, fuzzy msgid "lambda" -msgstr "Lambdas" +msgstr "lambda" #: ../Doc/reference/expressions.rst:1819 msgid "form" -msgstr "" +msgstr "forma" #: ../Doc/reference/expressions.rst:1819 msgid "anonymous" -msgstr "" +msgstr "anónimo" #: ../Doc/reference/expressions.rst:1819 -#, fuzzy msgid "lambda expression" -msgstr "Expresión lambda" +msgstr "expresión lambda" #: ../Doc/reference/expressions.rst:1864 -#, fuzzy msgid "iterable" -msgstr "Literales" +msgstr "iterable" #: ../Doc/reference/expressions.rst:1864 -#, fuzzy msgid "in expression lists" -msgstr "Listas de expresiones" +msgstr "en listas de expresión" #: ../Doc/reference/expressions.rst:1876 msgid "trailing" -msgstr "" +msgstr "final" #: ../Doc/reference/expressions.rst:1890 -#, fuzzy msgid "evaluation" -msgstr "Orden de evaluación" +msgstr "evaluación" #: ../Doc/reference/expressions.rst:1890 msgid "order" -msgstr "" +msgstr "orden" #: ../Doc/reference/expressions.rst:1911 -#, fuzzy msgid "precedence" -msgstr "Prioridad de operador" +msgstr "precedencia" From b6894844ca3488e19950968a94de071814692cdf Mon Sep 17 00:00:00 2001 From: Diego Date: Tue, 19 Nov 2024 23:39:45 +0100 Subject: [PATCH 59/63] =?UTF-8?q?Traducci=C3=B3n=20archivo=20referencecomp?= =?UTF-8?q?ound=5Fstmts=20(#2778)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #2647 --------- Co-authored-by: Carlos A. Crespo --- reference/compound_stmts.po | 355 ++++++++++++++++++++---------------- 1 file changed, 202 insertions(+), 153 deletions(-) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 66556c1775..ad415c185e 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-01-06 10:25-0300\n" +"PO-Revision-Date: 2024-11-18 15:17-0300\n" "Last-Translator: Carlos A. Crespo \n" -"Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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" +"X-Generator: Poedit 3.0.1\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -236,7 +237,6 @@ msgstr "" "las realizadas en la suite del bucle ``for``::" #: ../Doc/reference/compound_stmts.rst:193 -#, fuzzy msgid "" "Names in the target list are not deleted when the loop is finished, but if " "the sequence is empty, they will not have been assigned to at all by the " @@ -245,10 +245,10 @@ msgid "" "yields 0, 1, and then 2." msgstr "" "Los nombres en la lista no se eliminan cuando finaliza el bucle, pero si la " -"secuencia está vacía, el bucle no les habrá asignado nada. Sugerencia: la " -"función incorporada :func:`range` retorna un iterador de enteros adecuado " -"para emular el efecto de Pascal ``for i := a to b do``; por ejemplo, " -"``list(range(3))`` retorna la lista ``[0, 1, 2]``." +"secuencia está vacía, el bucle no les habrá asignado nada. Sugerencia: el " +"tipo incorporado :func:`range` representa secuencias aritméticas inmutables " +"de números enteros; por ejemplo, iterar sobre ``range(3)`` genera " +"sucesivamente 0, 1, y luego 2." #: ../Doc/reference/compound_stmts.rst:198 msgid "Starred elements are now allowed in the expression list." @@ -395,6 +395,12 @@ msgid "" "leaving an exception handler, the exception stored in the :mod:`sys` module " "is reset to its previous value::" msgstr "" +"Antes de que se ejecute el conjunto de una cláusula :keyword:`!except` , la " +"excepción se almacena en el módulo :mod:`sys`, donde puede ser accesible " +"desde dentro del cuerpo de la cláusula :keyword:`!except` llamando a la :" +"func:`sys.excepcion`. Cuando se sale de un *handler* de excepciones, la " +"excepción almacenada en el módulo :mod:`sys` se restablece a su valor " +"anterior::" #: ../Doc/reference/compound_stmts.rst:334 msgid ":keyword:`!except*` clause" @@ -424,7 +430,6 @@ msgstr "" "máximo, la primera que coincida. ::" #: ../Doc/reference/compound_stmts.rst:364 -#, fuzzy msgid "" "Any remaining exceptions that were not handled by any :keyword:`!except*` " "clause are re-raised at the end, along with all exceptions that were raised " @@ -432,9 +437,10 @@ msgid "" "one exception to reraise, they are combined into an exception group." msgstr "" "Cualquier excepción restante que no haya sido manejada por ninguna cláusula :" -"keyword:`!except*` se vuelve a generar al final, se combina en un grupo de " -"excepciones junto con todas las excepciones que se generaron desde dentro de " -"las cláusulas :keyword:`!except*`." +"keyword:`!except*` se vuelve a lanzar al final, junto con todas las " +"excepciones que se lanzaron desde dentro de las cláusulas :keyword:`!" +"except*`. Si esta lista contiene más de una excepción a relanzar, se " +"combinan en un grupo de excepciones." #: ../Doc/reference/compound_stmts.rst:370 msgid "" @@ -603,7 +609,6 @@ msgstr "" "valor de retorno de :meth:`__enter__`." #: ../Doc/reference/compound_stmts.rst:503 -#, fuzzy msgid "" "The :keyword:`with` statement guarantees that if the :meth:`__enter__` " "method returns without an error, then :meth:`__exit__` will always be " @@ -614,8 +619,8 @@ msgstr "" "La sentencia :keyword:`with` garantiza que si el método :meth:`__enter__` " "regresa sin error, entonces siempre se llamará a :meth:`__exit__`. Por lo " "tanto, si se produce un error durante la asignación a la lista de destino, " -"se tratará de la misma manera que si se produciría un error dentro de la " -"suite. Vea el paso 6 a continuación." +"se tratará de la misma manera que si el error ocurriera dentro del bloque de " +"instrucciones. Vea el paso 7 a continuación." #: ../Doc/reference/compound_stmts.rst:509 msgid "The suite is executed." @@ -965,7 +970,7 @@ msgid "" msgstr "" "Un bloque de casos se considera irrefutable si no tiene protección y su " "patrón es irrefutable. Un patrón se considera irrefutable si podemos " -"demostrar, sólo por su sintaxis, que siempre tendrá éxito. Sólo los " +"demostrar, solo por su sintaxis, que siempre tendrá éxito. Solo los " "siguientes patrones son irrefutables:" #: ../Doc/reference/compound_stmts.rst:740 @@ -1082,7 +1087,6 @@ msgstr "" "keyword:`as` con un sujeto. Sintaxis:" #: ../Doc/reference/compound_stmts.rst:819 -#, fuzzy msgid "" "If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern " "binds the subject to the name on the right of the as keyword and succeeds. " @@ -1914,11 +1918,17 @@ msgid "" "function's ``__type_params__`` attribute. See :ref:`generic-functions` for " "more." msgstr "" +"Se puede dar una :ref:`type parameters ` entre corchetes entre " +"el nombre de la función y el paréntesis de apertura para su lista de " +"parámetros. Esto indica a los verificadores de tipo estático que la función " +"es genérica. En ejecución, los parámetros de tipo pueden recuperarse del " +"atributo ``__type_params__``. Mirar :ref:`generic-functions` para más " +"información." #: ../Doc/reference/compound_stmts.rst:1265 #: ../Doc/reference/compound_stmts.rst:1452 msgid "Type parameter lists are new in Python 3.12." -msgstr "" +msgstr "Los parámetros de tipo lista son nuevos en Python 3.12." #: ../Doc/reference/compound_stmts.rst:1273 msgid "" @@ -2210,6 +2220,11 @@ msgid "" "retrieved from the class's ``__type_params__`` attribute. See :ref:`generic-" "classes` for more." msgstr "" +"Una lista de :ref:`type parameters ` definida inmediatamente " +"después de un nombre de clase debe ir entre corchetes. Esto indica a los " +"verificadores de tipo estático que la clase es genérica. En ejecución, el " +"tipo de parámetros puede retirarse de la clase ``__type_params__`` . Para " +"más información ver :ref:`generic-classes` ." #: ../Doc/reference/compound_stmts.rst:1455 msgid "" @@ -2389,7 +2404,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1613 msgid "Type parameter lists" -msgstr "" +msgstr "Listas de tipo parámetro" #: ../Doc/reference/compound_stmts.rst:1627 msgid "" @@ -2397,6 +2412,9 @@ msgid "" "`classes ` and :ref:`type aliases ` may contain a type " "parameter list::" msgstr "" +":ref:`Functions ` (incluyendo :ref:`coroutines `), :ref:" +"`classes ` y :ref:`type aliases ` debe contener un parámetro " +"de tipo lista::" #: ../Doc/reference/compound_stmts.rst:1646 msgid "" @@ -2405,6 +2423,10 @@ msgid "" "type checkers, and at runtime, generic objects behave much like their non-" "generic counterparts." msgstr "" +"Semánticamente, esto indica que la función, clase, o alias de tipo es " +"genérico sobre una variable. Esta información en principalmente usada por " +"verificadores de tipo estático, y en ejecución, los objetos genéricos se " +"comportan de forma muy similar a sus homólogos no genéricos." #: ../Doc/reference/compound_stmts.rst:1651 msgid "" @@ -2417,22 +2439,35 @@ msgid "" "function (technically, an :ref:`annotation scope `) that " "wraps the creation of the generic object." msgstr "" +"Los tipos de parámetros son declarados entre corchetes (``[]``) " +"inmediatamente después del nombre de la función, clase o alias. El tipo de " +"parámetro es accesible en el ámbito del objeto genérico, pero no en otro " +"lugar. Así, después de una declaración ``def func[T](): pass``, el nombre " +"``T`` no está disponible en el ámbito del módulo. A continuación, se " +"describe con más precisión la semántica de los objetos genéricos. El ámbito " +"de los parámetros de tipo se modela con una función especial (técnicamente, " +"una :ref:`annotation scope `) que envuelve la creación " +"del objeto genérico." #: ../Doc/reference/compound_stmts.rst:1660 msgid "" "Generic functions, classes, and type aliases have a :attr:`!__type_params__` " "attribute listing their type parameters." msgstr "" +"Las funciones genéricas, clases y alias de tipo tienen un atributo :attr:`!" +"__type_params__` que lista sus parámetros de tipo." #: ../Doc/reference/compound_stmts.rst:1663 msgid "Type parameters come in three kinds:" -msgstr "" +msgstr "Los tipos de parámetros son de tres tipos:" #: ../Doc/reference/compound_stmts.rst:1665 msgid "" ":data:`typing.TypeVar`, introduced by a plain name (e.g., ``T``). " "Semantically, this represents a single type to a type checker." msgstr "" +":data:`typing.TypeVar`, introducido por un nombre plano (p.j., ``T``). " +"Sistemáticamente, esto representa un único tipo para un verificador de tipos." #: ../Doc/reference/compound_stmts.rst:1667 msgid "" @@ -2440,12 +2475,18 @@ msgid "" "asterisk (e.g., ``*Ts``). Semantically, this stands for a tuple of any " "number of types." msgstr "" +":data:`typing.TypeVarTuple`, introducido por un nombre precedido de un " +"asterisco (p.j, ``*Ts``). Semánticamente, representa una tupla de cualquier " +"número de tipos." #: ../Doc/reference/compound_stmts.rst:1670 msgid "" ":data:`typing.ParamSpec`, introduced by a name prefixed with two asterisks " "(e.g., ``**P``). Semantically, this stands for the parameters of a callable." msgstr "" +":data:`typing.ParamSpec`, introducido por un nombre precedido de dos " +"asterisco (p.j, ``*P``). Semánticamente, representa los parámetros de una " +"llamada." #: ../Doc/reference/compound_stmts.rst:1673 msgid "" @@ -2458,6 +2499,16 @@ msgid "" "should be a type (again, this is not enforced at runtime). Constrained type " "variables can only take on one of the types in the list of constraints." msgstr "" +"Las declaraciones :data:`typing.TypeVar` pueden definir *bounds* y " +"*constraints* con dos puntos (``:``) seguidos de una expresión. Una sola " +"expresión después de los dos puntos indica un límite (por ejemplo, ``T: " +"int``). Semánticamente, esto significa que :data:`!typing.TypeVar` solo " +"puede representar tipos que sean un subtipo de este límite. Una tupla de " +"expresiones entre paréntesis después de los dos puntos indica un conjunto de " +"restricciones (por ejemplo, ``T: (str, bytes)``). Cada miembro de la tupla " +"debe ser un tipo (de nuevo, esto no se aplica en tiempo de ejecución). Las " +"variables de tipo restringido solo pueden tomar uno de los tipos de la lista " +"de restricciones." #: ../Doc/reference/compound_stmts.rst:1682 msgid "" @@ -2468,32 +2519,41 @@ msgid "" "bounds or constraints are evaluated in a separate :ref:`annotation scope " "`." msgstr "" +"Para :data:`!typing.TypeVar`\\ s declarados utilizando la sintaxis de lista " +"de parámetros de tipo, los límites y restricciones no se evalúan cuando se " +"crea el objeto genérico, sino solo cuando se accede explícitamente al valor " +"a través de los atributos ``__bound__`` y ``__constraints__``. Para ello, " +"los límites o restricciones se evalúan en un :ref:`ámbito de anotación " +"` separado." #: ../Doc/reference/compound_stmts.rst:1688 msgid "" ":data:`typing.TypeVarTuple`\\ s and :data:`typing.ParamSpec`\\ s cannot have " "bounds or constraints." msgstr "" +":data:`typing.TypeVarTuple` s y :data:`typing.ParamSpec` s no pueden tener " +"límites ni restricciones." #: ../Doc/reference/compound_stmts.rst:1691 msgid "" "The following example indicates the full set of allowed type parameter " "declarations::" msgstr "" +"El siguiente ejemplo indica el conjunto completo de declaraciones de " +"parámetros de tipo permitidas::" #: ../Doc/reference/compound_stmts.rst:1709 msgid "Generic functions" -msgstr "" +msgstr "Funciones genéricas" #: ../Doc/reference/compound_stmts.rst:1711 msgid "Generic functions are declared as follows::" -msgstr "" +msgstr "Las funciones genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1715 #: ../Doc/reference/compound_stmts.rst:1775 -#, fuzzy msgid "This syntax is equivalent to::" -msgstr "Es semánticamente equivalente a::" +msgstr "Esta sintaxis es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1724 msgid "" @@ -2503,6 +2563,11 @@ msgid "" "attribute access on the :mod:`typing` module, but creates an instance of :" "data:`typing.TypeVar` directly.)" msgstr "" +"Aquí ``annotation-def`` indica un :ref:`annotation scope `, que en realidad no está vinculado a ningún nombre en tiempo de " +"ejecución. (Se ha tomado otra libertad en la traducción: la sintaxis no pasa " +"por el acceso a atributos en el módulo :mod:`typing`, sino que crea una " +"instancia de :data:`typing.TypeVar` directamente)." #: ../Doc/reference/compound_stmts.rst:1730 msgid "" @@ -2510,32 +2575,41 @@ msgid "" "scope used for declaring the type parameters, but the function's defaults " "and decorators are not." msgstr "" +"Las anotaciones de las funciones genéricas se evalúan dentro del ámbito de " +"anotación utilizado para declarar los parámetros de tipo, pero no así los " +"valores por defecto y los decoradores de la función." #: ../Doc/reference/compound_stmts.rst:1734 msgid "" "The following example illustrates the scoping rules for these cases, as well " "as for additional flavors of type parameters::" msgstr "" +"El siguiente ejemplo ilustra las reglas de alcance para estos casos, así " +"como para otros tipos de parámetros de tipo::" #: ../Doc/reference/compound_stmts.rst:1741 msgid "" "Except for the :ref:`lazy evaluation ` of the :class:" "`~typing.TypeVar` bound, this is equivalent to::" msgstr "" +"Excepto para la :ref:`lazy-evaluation ` del :class:`~typing." +"TypeVar` vinculada, esto es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1763 msgid "" "The capitalized names like ``DEFAULT_OF_arg`` are not actually bound at " "runtime." msgstr "" +"Los nombres en mayúsculas como ``DEFAULT_OF_arg`` no se vinculan en tiempo " +"de ejecución." #: ../Doc/reference/compound_stmts.rst:1769 msgid "Generic classes" -msgstr "" +msgstr "Clases genéricas" #: ../Doc/reference/compound_stmts.rst:1771 msgid "Generic classes are declared as follows::" -msgstr "" +msgstr "Las clases genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1785 msgid "" @@ -2543,6 +2617,9 @@ msgid "" "`annotation scope `, and the name ``TYPE_PARAMS_OF_Bag`` " "is not actually bound at runtime." msgstr "" +"Aquí de nuevo ``annotation-def`` (no es una palabra clave real) indica un :" +"ref:`annotation scope `, y el nombre " +"``TYPE_PARAMS_OF_Bag`` no está vinculado en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1789 msgid "" @@ -2551,28 +2628,35 @@ msgid "" "type scope for the type parameters, and decorators are evaluated outside " "that scope. This is illustrated by this example::" msgstr "" +"Las clases genéricas heredan implícitamente de :data:`typing.Generic`. Las " +"clases base y los argumentos de palabra clave de las clases genéricas se " +"evalúan dentro del ámbito del tipo para los parámetros de tipo, y los " +"decoradores se evalúan fuera de ese ámbito. Esto se ilustra con este " +"ejemplo::" #: ../Doc/reference/compound_stmts.rst:1798 -#, fuzzy msgid "This is equivalent to::" -msgstr "es equivalente a ::" +msgstr "Esto es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1811 msgid "Generic type aliases" -msgstr "" +msgstr "Alias de tipo genérico" #: ../Doc/reference/compound_stmts.rst:1813 -#, fuzzy msgid "" "The :keyword:`type` statement can also be used to create a generic type " "alias::" -msgstr "La sentencia :keyword:`if` se usa para la ejecución condicional:" +msgstr "" +"La declaración :keyword:`type` también se puede usar para crear un alias de " +"tipo genérico::" #: ../Doc/reference/compound_stmts.rst:1817 msgid "" "Except for the :ref:`lazy evaluation ` of the value, this " "is equivalent to::" msgstr "" +"Excepto para la :ref:`evaluación perezosa ` del valor, esto " +"es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1829 msgid "" @@ -2580,6 +2664,9 @@ msgid "" "scope `. The capitalized names like " "``TYPE_PARAMS_OF_ListOrSet`` are not actually bound at runtime." msgstr "" +"Aquí, ``annotation-def`` (no es una palabra clave real) indica un :ref:" +"`annotation scope `. Los nombres en mayúsculas como " +"``TYPE_PARAMS_OF_ListOrSet`` no están vinculados en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1834 msgid "Footnotes" @@ -2613,7 +2700,6 @@ msgstr "" "Sequence`" #: ../Doc/reference/compound_stmts.rst:1843 -#, fuzzy msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit set" msgstr "" @@ -2671,7 +2757,6 @@ msgstr "" "Mapping`" #: ../Doc/reference/compound_stmts.rst:1862 -#, fuzzy msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set" msgstr "" @@ -2708,7 +2793,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:7 msgid "compound" -msgstr "" +msgstr "compound" #: ../Doc/reference/compound_stmts.rst:7 ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2725,33 +2810,32 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1484 #: ../Doc/reference/compound_stmts.rst:1518 #: ../Doc/reference/compound_stmts.rst:1563 -#, fuzzy msgid "statement" -msgstr "Sentencias compuestas" +msgstr "statement" #: ../Doc/reference/compound_stmts.rst:21 msgid "clause" -msgstr "" +msgstr "clause" #: ../Doc/reference/compound_stmts.rst:21 msgid "suite" -msgstr "" +msgstr "suite" #: ../Doc/reference/compound_stmts.rst:21 msgid "; (semicolon)" -msgstr "" +msgstr "; (semicolon)" #: ../Doc/reference/compound_stmts.rst:64 msgid "NEWLINE token" -msgstr "" +msgstr "NEWLINE token" #: ../Doc/reference/compound_stmts.rst:64 msgid "DEDENT token" -msgstr "" +msgstr "DEDENT token" #: ../Doc/reference/compound_stmts.rst:64 msgid "dangling" -msgstr "" +msgstr "dangling" #: ../Doc/reference/compound_stmts.rst:64 #: ../Doc/reference/compound_stmts.rst:86 @@ -2760,12 +2844,12 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:207 #: ../Doc/reference/compound_stmts.rst:389 msgid "else" -msgstr "" +msgstr "else" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:587 msgid "if" -msgstr "" +msgstr "if" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2778,11 +2862,11 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:587 #: ../Doc/reference/compound_stmts.rst:1494 msgid "keyword" -msgstr "" +msgstr "keyword" #: ../Doc/reference/compound_stmts.rst:86 msgid "elif" -msgstr "" +msgstr "elif" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2794,7 +2878,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1318 #: ../Doc/reference/compound_stmts.rst:1374 msgid ": (colon)" -msgstr "" +msgstr ": (colon)" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2804,349 +2888,314 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:587 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 -#, fuzzy msgid "compound statement" -msgstr "Sentencias compuestas" +msgstr "compound statement" #: ../Doc/reference/compound_stmts.rst:111 msgid "while" -msgstr "" +msgstr "while" #: ../Doc/reference/compound_stmts.rst:111 #: ../Doc/reference/compound_stmts.rst:144 msgid "loop" -msgstr "" +msgstr "loop" #: ../Doc/reference/compound_stmts.rst:129 #: ../Doc/reference/compound_stmts.rst:169 #: ../Doc/reference/compound_stmts.rst:389 #: ../Doc/reference/compound_stmts.rst:436 msgid "break" -msgstr "" +msgstr "break" #: ../Doc/reference/compound_stmts.rst:129 #: ../Doc/reference/compound_stmts.rst:169 #: ../Doc/reference/compound_stmts.rst:389 #: ../Doc/reference/compound_stmts.rst:436 -#, fuzzy msgid "continue" -msgstr "Corrutinas" +msgstr "continue" #: ../Doc/reference/compound_stmts.rst:144 msgid "for" -msgstr "" +msgstr "for" #: ../Doc/reference/compound_stmts.rst:144 msgid "in" -msgstr "" +msgstr "in" #: ../Doc/reference/compound_stmts.rst:144 msgid "target" -msgstr "" +msgstr "target" #: ../Doc/reference/compound_stmts.rst:144 msgid "list" -msgstr "" +msgstr "list" #: ../Doc/reference/compound_stmts.rst:144 #: ../Doc/reference/compound_stmts.rst:299 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/reference/compound_stmts.rst:144 -#, fuzzy msgid "sequence" -msgstr "Patrones de secuencia" +msgstr "sequence" #: ../Doc/reference/compound_stmts.rst:190 msgid "built-in function" -msgstr "" +msgstr "built-in function" #: ../Doc/reference/compound_stmts.rst:190 msgid "range" -msgstr "" +msgstr "range" #: ../Doc/reference/compound_stmts.rst:207 msgid "try" -msgstr "" +msgstr "try" #: ../Doc/reference/compound_stmts.rst:207 msgid "except" -msgstr "" +msgstr "except" #: ../Doc/reference/compound_stmts.rst:207 #: ../Doc/reference/compound_stmts.rst:407 msgid "finally" -msgstr "" +msgstr "finally" #: ../Doc/reference/compound_stmts.rst:207 #: ../Doc/reference/compound_stmts.rst:266 #: ../Doc/reference/compound_stmts.rst:470 #: ../Doc/reference/compound_stmts.rst:587 msgid "as" -msgstr "" +msgstr "as" #: ../Doc/reference/compound_stmts.rst:266 -#, fuzzy msgid "except clause" -msgstr "Cláusula :keyword:`!except`" +msgstr "except clause" #: ../Doc/reference/compound_stmts.rst:299 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/reference/compound_stmts.rst:299 msgid "sys" -msgstr "" +msgstr "sys" #: ../Doc/reference/compound_stmts.rst:299 msgid "traceback" -msgstr "" +msgstr "traceback" #: ../Doc/reference/compound_stmts.rst:328 msgid "except_star" -msgstr "" +msgstr "except_star" #: ../Doc/reference/compound_stmts.rst:389 #: ../Doc/reference/compound_stmts.rst:436 msgid "return" -msgstr "" +msgstr "return" #: ../Doc/reference/compound_stmts.rst:470 msgid "with" -msgstr "" +msgstr "with" #: ../Doc/reference/compound_stmts.rst:470 -#, fuzzy msgid "with statement" -msgstr "La sentencia :keyword:`!with`" +msgstr "with statement" #: ../Doc/reference/compound_stmts.rst:470 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid ", (comma)" -msgstr "" +msgstr ", (comma)" #: ../Doc/reference/compound_stmts.rst:587 msgid "match" -msgstr "" +msgstr "match" #: ../Doc/reference/compound_stmts.rst:587 msgid "case" -msgstr "" +msgstr "case" #: ../Doc/reference/compound_stmts.rst:587 -#, fuzzy msgid "pattern matching" -msgstr ":ref:`class-pattern-matching`" +msgstr "pattern matching" #: ../Doc/reference/compound_stmts.rst:587 -#, fuzzy msgid "match statement" -msgstr "Un ejemplo de declaración de coincidencia::" +msgstr "match statement" #: ../Doc/reference/compound_stmts.rst:691 -#, fuzzy msgid "guard" -msgstr "Protecciones" +msgstr "guard" #: ../Doc/reference/compound_stmts.rst:730 -#, fuzzy msgid "irrefutable case block" -msgstr "Bloques de Casos Irrefutables" +msgstr "irrefutable case block" #: ../Doc/reference/compound_stmts.rst:730 -#, fuzzy msgid "case block" -msgstr "Bloques de Casos Irrefutables" +msgstr "case block" #: ../Doc/reference/compound_stmts.rst:754 -#, fuzzy msgid "! patterns" -msgstr "Patrones" +msgstr "! patterns" #: ../Doc/reference/compound_stmts.rst:754 msgid "AS pattern, OR pattern, capture pattern, wildcard pattern" -msgstr "" +msgstr "AS pattern, OR pattern, capture pattern, wildcard pattern" #: ../Doc/reference/compound_stmts.rst:1183 #: ../Doc/reference/compound_stmts.rst:1268 msgid "parameter" -msgstr "" +msgstr "parameter" #: ../Doc/reference/compound_stmts.rst:1183 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1233 #: ../Doc/reference/compound_stmts.rst:1268 #: ../Doc/reference/compound_stmts.rst:1297 -#, fuzzy msgid "function definition" -msgstr "Definiciones de funciones" +msgstr "function definition" #: ../Doc/reference/compound_stmts.rst:1192 msgid "def" -msgstr "" +msgstr "def" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1318 msgid "function" -msgstr "" +msgstr "function" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 -#, fuzzy msgid "definition" -msgstr "Definiciones de clase" +msgstr "definition" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "name" -msgstr "" +msgstr "name" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "binding" -msgstr "" +msgstr "binding" #: ../Doc/reference/compound_stmts.rst:1192 msgid "user-defined function" -msgstr "" +msgstr "user-defined function" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" #: ../Doc/reference/compound_stmts.rst:1192 msgid "parameter list" -msgstr "" +msgstr "parameter list" #: ../Doc/reference/compound_stmts.rst:1233 #: ../Doc/reference/compound_stmts.rst:1424 msgid "@ (at)" -msgstr "" +msgstr "@ (at)" #: ../Doc/reference/compound_stmts.rst:1268 msgid "default" -msgstr "" +msgstr "default" #: ../Doc/reference/compound_stmts.rst:1268 msgid "value" -msgstr "" +msgstr "value" #: ../Doc/reference/compound_stmts.rst:1268 msgid "argument" -msgstr "" +msgstr "argument" #: ../Doc/reference/compound_stmts.rst:1268 msgid "= (equals)" -msgstr "" +msgstr "= (equals)" #: ../Doc/reference/compound_stmts.rst:1297 msgid "/ (slash)" -msgstr "" +msgstr "/ (slash)" #: ../Doc/reference/compound_stmts.rst:1297 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisk)" #: ../Doc/reference/compound_stmts.rst:1297 msgid "**" -msgstr "" +msgstr "**" #: ../Doc/reference/compound_stmts.rst:1318 msgid "annotations" -msgstr "" +msgstr "annotations" #: ../Doc/reference/compound_stmts.rst:1318 msgid "->" -msgstr "" +msgstr "->" #: ../Doc/reference/compound_stmts.rst:1318 -#, fuzzy msgid "function annotations" -msgstr "Definiciones de funciones" +msgstr "function annotations" #: ../Doc/reference/compound_stmts.rst:1336 msgid "lambda" -msgstr "" +msgstr "lambda" #: ../Doc/reference/compound_stmts.rst:1336 msgid "expression" -msgstr "" +msgstr "expression" #: ../Doc/reference/compound_stmts.rst:1374 msgid "class" -msgstr "" +msgstr "class" #: ../Doc/reference/compound_stmts.rst:1374 msgid "execution" -msgstr "" +msgstr "execution" #: ../Doc/reference/compound_stmts.rst:1374 msgid "frame" -msgstr "" +msgstr "frame" #: ../Doc/reference/compound_stmts.rst:1374 msgid "inheritance" -msgstr "" +msgstr "inheritance" #: ../Doc/reference/compound_stmts.rst:1374 msgid "docstring" -msgstr "" +msgstr "docstring" #: ../Doc/reference/compound_stmts.rst:1374 #: ../Doc/reference/compound_stmts.rst:1424 -#, fuzzy msgid "class definition" -msgstr "Definiciones de clase" +msgstr "class definition" #: ../Doc/reference/compound_stmts.rst:1374 msgid "expression list" -msgstr "" +msgstr "expression list" #: ../Doc/reference/compound_stmts.rst:1484 msgid "async def" -msgstr "" +msgstr "async def" #: ../Doc/reference/compound_stmts.rst:1494 msgid "async" -msgstr "" +msgstr "async" #: ../Doc/reference/compound_stmts.rst:1494 msgid "await" -msgstr "" +msgstr "await" #: ../Doc/reference/compound_stmts.rst:1518 msgid "async for" -msgstr "" +msgstr "async for" #: ../Doc/reference/compound_stmts.rst:1563 msgid "async with" -msgstr "" +msgstr "async with" #: ../Doc/reference/compound_stmts.rst:1617 msgid "type parameters" -msgstr "" - -#~ msgid "" -#~ "Before an :keyword:`!except` clause's suite is executed, details about " -#~ "the exception are stored in the :mod:`sys` module and can be accessed " -#~ "via :func:`sys.exc_info`. :func:`sys.exc_info` returns a 3-tuple " -#~ "consisting of the exception class, the exception instance and a traceback " -#~ "object (see section :ref:`types`) identifying the point in the program " -#~ "where the exception occurred. The details about the exception accessed " -#~ "via :func:`sys.exc_info` are restored to their previous values when " -#~ "leaving an exception handler::" -#~ msgstr "" -#~ "Antes de que se ejecute un conjunto de cláusulas :keyword:`!except`, los " -#~ "detalles sobre la excepción se almacenan en el módulo :mod:`sys` y se " -#~ "puede acceder a ellos a través de :func:`sys.exc_info`. :func:`sys." -#~ "exc_info` devuelve una tupla de 3 que consta de la clase de excepción, la " -#~ "instancia de excepción y un objeto de rastreo (consulte la sección :ref:" -#~ "`types`) que identifica el punto del programa donde se produjo la " -#~ "excepción. Los detalles sobre la excepción a la que se accede a través " -#~ "de :func:`sys.exc_info` se restauran a sus valores anteriores cuando se " -#~ "deja un controlador de excepciones:" +msgstr "type parameters" From 05975a41721031a240a761cc3cd667a231b7f2f1 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Wed, 20 Nov 2024 09:11:25 -0500 Subject: [PATCH 60/63] Traducir datetime.po (#2871) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #2423 Hago el merge para que no tengamos problemas post migración 3.13. Llegado el caso, volvemos a abrir otro issue. --------- Co-authored-by: Cristián Maureira-Fredes Co-authored-by: Carlos A. Crespo --- c-api/datetime.po | 73 ++++++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/c-api/datetime.po b/c-api/datetime.po index a5fd1dcb5d..33c543cb38 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-10-19 02:00+0200\n" +"PO-Revision-Date: 2024-11-10 19:13-0500\n" "Last-Translator: Meta Louis-Kosmas \n" -"Language: es\n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/datetime.rst:6 msgid "DateTime Objects" msgstr "Objetos *DateTime*" #: ../Doc/c-api/datetime.rst:8 -#, fuzzy msgid "" "Various date and time objects are supplied by the :mod:`datetime` module. " "Before using any of these functions, the header file :file:`datetime.h` must " @@ -39,47 +39,60 @@ msgstr "" "El módulo :mod:`datetime` proporciona varios objetos de fecha y hora. Antes " "de usar cualquiera de estas funciones, el archivo de encabezado :file:" "`datetime.h` debe estar incluido en su fuente (tenga en cuenta que esto no " -"está incluido en el archivo :file:`Python.h`), y la macro :c:macro:" -"`PyDateTime_IMPORT` debe llamarse, generalmente como parte de la función de " +"está incluido en el archivo :file:`Python.h`), y la macro :c:macro:`!" +"PyDateTime_IMPORT` debe llamarse, generalmente como parte de la función de " "inicialización del módulo. La macro coloca un puntero a una estructura C en " -"una variable estática, :c:data:`PyDateTimeAPI`, que utilizan las siguientes " +"una variable estática, :c:data:`!PyDateTimeAPI`, que utilizan las siguientes " "macros." #: ../Doc/c-api/datetime.rst:18 msgid "This subtype of :c:type:`PyObject` represents a Python date object." msgstr "" +"Este subtipo de :c:type:`PyObject` representa un *date object* de Python." #: ../Doc/c-api/datetime.rst:22 msgid "This subtype of :c:type:`PyObject` represents a Python datetime object." msgstr "" +"Este subtipo de :c:type:`PyObject` representa un *datetime object* de Python." #: ../Doc/c-api/datetime.rst:26 msgid "This subtype of :c:type:`PyObject` represents a Python time object." msgstr "" +"Este subtipo de :c:type:`PyObject` representa un *time object* de Python." #: ../Doc/c-api/datetime.rst:30 msgid "" "This subtype of :c:type:`PyObject` represents the difference between two " "datetime values." msgstr "" +"Este subtipo de :c:type:`PyObject` representa la diferencia entre dos " +"valores *datetime*." #: ../Doc/c-api/datetime.rst:34 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python date type; it " "is the same object as :class:`datetime.date` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa el *date type* de " +"Python; es el mismo objecto que que :class:`datetime.date` en la capa de " +"Python." #: ../Doc/c-api/datetime.rst:39 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python datetime type; " "it is the same object as :class:`datetime.datetime` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa el *datetime type* de " +"Python; es el mismo objecto que que :class:`datetime.datetime` en la capa de " +"Python." #: ../Doc/c-api/datetime.rst:44 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python time type; it " "is the same object as :class:`datetime.time` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyObject` representa el *time type* de Python; es " +"el mismo objecto que que :class:`datetime.time` en la capa de Python." #: ../Doc/c-api/datetime.rst:49 msgid "" @@ -87,12 +100,18 @@ msgid "" "difference between two datetime values; it is the same object as :class:" "`datetime.timedelta` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa un tipo en *Python* para " +"la diferencia entre dos valore *datetime*; es el mismo objeto que :class:" +"`datetime.timedelta` en la capa de Python." #: ../Doc/c-api/datetime.rst:55 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python time zone info " "type; it is the same object as :class:`datetime.tzinfo` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa el tipo de Python de " +"*time zone info*; es el mismo objeto que :class:`datetime.tzinfo` de la capa " +"de Python." #: ../Doc/c-api/datetime.rst:59 msgid "Macro for access to the UTC singleton:" @@ -111,14 +130,13 @@ msgid "Type-check macros:" msgstr "Macros de verificación de tipo:" #: ../Doc/c-api/datetime.rst:73 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype " "of :c:data:`!PyDateTime_DateType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateType` o un " -"subtipo de :c:data:`PyDateTime_DateType`. *ob* no debe ser ``NULL``. Esta " +"subtipo de :c:data:`!PyDateTime_DateType`. *ob* no debe ser ``NULL``. Esta " "función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:80 @@ -130,14 +148,13 @@ msgstr "" "debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:86 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " "subtype of :c:data:`!PyDateTime_DateTimeType`. *ob* must not be ``NULL``. " "This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateTimeType` o un " -"subtipo de :c:data:`PyDateTime_DateTimeType`. *ob* no debe ser ``NULL``. " +"subtipo de :c:data:`!PyDateTime_DateTimeType`. *ob* no debe ser ``NULL``. " "Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:93 @@ -149,14 +166,13 @@ msgstr "" "no debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:99 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype " "of :c:data:`!PyDateTime_TimeType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TimeType` o un " -"subtipo de :c:data:`PyDateTime_TimeType`. *ob* no debe ser ``NULL``. Esta " +"subtipo de :c:data:`!PyDateTime_TimeType`. *ob* no debe ser ``NULL``. Esta " "función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:106 @@ -168,14 +184,13 @@ msgstr "" "debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:112 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " "of :c:data:`!PyDateTime_DeltaType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DeltaType` o un " -"subtipo de :c:data:`PyDateTime_DeltaType`. *ob* no debe ser ``NULL``. Esta " +"subtipo de :c:data:`!PyDateTime_DeltaType`. *ob* no debe ser ``NULL``. Esta " "función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:119 @@ -187,15 +202,14 @@ msgstr "" "debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:125 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " "of :c:data:`!PyDateTime_TZInfoType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TZInfoType` o un " -"subtipo de :c:data:`PyDateTime_TZInfoType`. *ob* no debe ser ``NULL``. Esta " -"función siempre finaliza con éxito." +"subtipo de :c:data:`!PyDateTime_TZInfoType`. *ob* no debe ser ``NULL``. " +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:132 msgid "" @@ -277,7 +291,6 @@ msgstr "" "representado por el argumento *offset* y con tzname *name*." #: ../Doc/c-api/datetime.rst:195 -#, fuzzy msgid "" "Macros to extract fields from date objects. The argument must be an " "instance of :c:type:`PyDateTime_Date`, including subclasses (such as :c:type:" @@ -285,9 +298,9 @@ msgid "" "not checked:" msgstr "" "Macros para extraer campos de objetos de fecha. El argumento debe ser una " -"instancia de :c:data:`PyDateTime_Date`, incluidas las subclases (como :c:" -"data:`PyDateTime_DateTime`). El argumento no debe ser ``NULL`` y el tipo no " -"está marcado:" +"instancia de :c:type:`PyDateTime_Date`, incluidas las subclases (como :c:" +"type:`PyDateTime_DateTime`). El argumento no debe ser ``NULL``, y el tipo no " +"se comprueba." #: ../Doc/c-api/datetime.rst:202 msgid "Return the year, as a positive int." @@ -302,14 +315,13 @@ msgid "Return the day, as an int from 1 through 31." msgstr "Retorna el día, como int del 1 al 31." #: ../Doc/c-api/datetime.rst:215 -#, fuzzy msgid "" "Macros to extract fields from datetime objects. The argument must be an " "instance of :c:type:`PyDateTime_DateTime`, including subclasses. The " "argument must not be ``NULL``, and the type is not checked:" msgstr "" "Macros para extraer campos de objetos de fecha y hora. El argumento debe ser " -"una instancia de :c:data:`PyDateTime_DateTime`, incluidas las subclases. El " +"una instancia de :c:type:`PyDateTime_DateTime`, incluidas las subclases. El " "argumento no debe ser ``NULL`` y el tipo no es comprobado:" #: ../Doc/c-api/datetime.rst:221 ../Doc/c-api/datetime.rst:259 @@ -329,35 +341,32 @@ msgid "Return the microsecond, as an int from 0 through 999999." msgstr "Retorna el micro segundo, como un int de 0 hasta 999999." #: ../Doc/c-api/datetime.rst:241 ../Doc/c-api/datetime.rst:279 -#, fuzzy msgid "Return the fold, as an int from 0 through 1." -msgstr "Retorna el día, como int del 1 al 31." +msgstr "Retorna el *fold*, como int de 0 a 1." #: ../Doc/c-api/datetime.rst:248 ../Doc/c-api/datetime.rst:286 msgid "Return the tzinfo (which may be ``None``)." msgstr "Retorna el tzinfo (que puede ser ``None``)." #: ../Doc/c-api/datetime.rst:253 -#, fuzzy msgid "" "Macros to extract fields from time objects. The argument must be an " "instance of :c:type:`PyDateTime_Time`, including subclasses. The argument " "must not be ``NULL``, and the type is not checked:" msgstr "" "Macros para extraer campos de objetos de tiempo. El argumento debe ser una " -"instancia de :c:data:`PyDateTime_Time`, incluidas las subclases. El " -"argumento no debe ser ``NULL`` y el tipo no está marcado:" +"instancia de :c:type:`PyDateTime_Time`, incluidas las subclases. El " +"argumento no debe ser ``NULL`` y el tipo no es comprobado:" #: ../Doc/c-api/datetime.rst:291 -#, fuzzy msgid "" "Macros to extract fields from time delta objects. The argument must be an " "instance of :c:type:`PyDateTime_Delta`, including subclasses. The argument " "must not be ``NULL``, and the type is not checked:" msgstr "" "Macros para extraer campos de objetos delta de tiempo. El argumento debe ser " -"una instancia de :c:data:`PyDateTime_Delta`, incluidas las subclases. El " -"argumento no debe ser ``NULL`` y el tipo no está marcado:" +"una instancia de :c:type:`PyDateTime_Delta`, incluidas las subclases. El " +"argumento no debe ser ``NULL`` y el tipo no es comprobado:" #: ../Doc/c-api/datetime.rst:297 msgid "Return the number of days, as an int from -999999999 to 999999999." From 30a356441d941699dfb261aba18ed0dd65050d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sof=C3=ADa=20Denner?= Date: Thu, 21 Nov 2024 12:41:06 -0300 Subject: [PATCH 61/63] Fix create issue script (#2876) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Algunas mejoras para el script que genera issues. Lo probé en mi fork y me generó por ejemplo este issue: https://github.com/sofide/python-docs-es/issues/2 --- scripts/create_issue.py | 178 +++++++++++++++++++++++++++++++--------- 1 file changed, 137 insertions(+), 41 deletions(-) diff --git a/scripts/create_issue.py b/scripts/create_issue.py index 9bf6a7dd5d..e0e3161080 100644 --- a/scripts/create_issue.py +++ b/scripts/create_issue.py @@ -1,63 +1,159 @@ -# Use together with `pageviews.py` -# python scripts/pageviews.py | head -n 150 | grep -v whats | cut -d ' ' -f 2 | sed 's/\.html/\.po/g' | xargs -I '{}' python scripts/create_issue.py '{}' +""" +Run this script with one variable: + - PO filename to create an issue for that file + - or '--all' to create the issues for all untranslated files that doesn't have an open issue already + - or '--one' to create the next one issue +""" import os import sys +from glob import glob from pathlib import Path from github import Github from potodo.potodo import PoFileStats -if len(sys.argv) != 2: - print('Specify PO filename') - sys.exit(1) +PYTHON_VERSION = "3.13" +PENDING_ENTRIES_FOR_GOOD_FIRST_ISSUE = 5 +GOOD_FIRST_ISSUE_LABEL = "good first issue" +ISSUE_LABELS = [PYTHON_VERSION] +ISSUE_TITLE = 'Translate `{pofilename}`' +ISSUE_BODY = '''This file is {translated_percent}% translated and needs to reach 100%. -pofilename = sys.argv[1] -pofile = PoFileStats(Path(pofilename)) +The rendered version of this file will be available at https://docs.python.org/es/{python_version}/{urlfile} once translated. +Meanwhile, the English version is shown. -g = Github(os.environ.get('GITHUB_TOKEN')) +Current stats for `{pofilename}`: -repo = g.get_repo('python/python-docs-es') +- Total entries: {pofile_entries} +- Entries that need work: {pending_entries} - ({pending_percent}%) + - Fuzzy: {pofile_fuzzy} + - Untranslated: {pofile_untranslated} -issues = repo.get_issues(state='all') -for issue in issues: - if pofilename in issue.title: +Please, comment here if you want this file to be assigned to you and a member will assign it to you as soon as possible, so you can start working on it. - print(f'Skipping {pofilename}. There is a similar issue already created at {issue.html_url}') - sys.exit(1) +Remember to follow the steps in our [Contributing Guide](https://python-docs-es.readthedocs.io/page/CONTRIBUTING.html).''' - msg = f'There is a similar issue already created at {issue.html_url}.\nDo you want to create it anyways? [y/N] ' - answer = input(msg) - if answer != 'y': - sys.exit(1) -if pofile.fuzzy == 0 and any([ - pofile.translated_nb == pofile.po_file_size, - pofile.untranslated_nb == 0, -]): - print(f'Skipping {pofilename}. The file is 100% translated already.') - sys.exit(1) +class IssueAlreadyExistingError(Exception): + """Issue already existing in GitHub""" -# https://pygithub.readthedocs.io/en/latest/github_objects/Repository.html#github.Repository.Repository.create_issue -title = f'Translate `{pofilename}`' -urlfile = pofilename.replace('.po', '.html') -issue = repo.create_issue( - title=title, - body=f'''This needs to reach 100% translated. -The rendered version of this file will be available at https://docs.python.org/es/3.8/{urlfile} once translated. -Meanwhile, the English version is shown. +class PoFileAlreadyTranslated(Exception): + """Given PO file is already 100% translated""" -Current stats for `{pofilename}`: -- Fuzzy: {pofile.fuzzy_nb} -- Percent translated: {pofile.percent_translated}% -- Entries: {pofile.translated_nb} / {pofile.po_file_size} -- Untranslated: {pofile.untranslated_nb} +class GitHubIssueGenerator: + def __init__(self): + g = Github(os.environ.get('GITHUB_TOKEN')) + self.repo = g.get_repo('python/python-docs-es') + self._issues = None -Please, comment here if you want this file to be assigned to you and a member will assign it to you as soon as possible, so you can start working on it. + @property + def issues(self): + if self._issues is None: + self._issues = self.repo.get_issues(state='open') + + return self._issues + + def check_issue_not_already_existing(self, pofilename): + for issue in self.issues: + if pofilename in issue.title: + + print(f'Skipping {pofilename}. There is a similar issue already created at {issue.html_url}') + raise IssueAlreadyExistingError + + + @staticmethod + def check_translation_is_pending(pofile): + no_fuzzy_translations = pofile.fuzzy == 0 + translated_match_all_entries = pofile.translated == pofile.entries + no_untranslated_entries_left = pofile.untranslated == 0 + + if no_fuzzy_translations and (translated_match_all_entries or no_untranslated_entries_left): + print(f'Skipping {pofile.filename}. The file is 100% translated already.') + raise PoFileAlreadyTranslated + + + + def issue_generator(self, pofilename): + pofile = PoFileStats(Path(pofilename)) + + self.check_issue_not_already_existing(pofilename) + self.check_translation_is_pending(pofile) + + pending_entries = pofile.fuzzy + pofile.untranslated + + if pending_entries <= PENDING_ENTRIES_FOR_GOOD_FIRST_ISSUE: + labels = ISSUE_LABELS + [GOOD_FIRST_ISSUE_LABEL] + else: + labels = ISSUE_LABELS + + urlfile = pofilename.replace('.po', '.html') + title = ISSUE_TITLE.format(pofilename=pofilename) + body = ISSUE_BODY.format( + translated_percent=pofile.percent_translated, + python_version=PYTHON_VERSION, + urlfile=urlfile, + pofilename=pofilename, + pofile_fuzzy=pofile.fuzzy, + pending_percent=100 - pofile.percent_translated, + pofile_entries=pofile.entries, + pofile_untranslated=pofile.untranslated, + pending_entries=pending_entries, + ) + # https://pygithub.readthedocs.io/en/latest/github_objects/Repository.html#github.Repository.Repository.create_issue + issue = self.repo.create_issue(title=title, body=body, labels=labels) + + return issue + + def create_issues(self, only_one=False): + po_files = glob("**/*.po") + existing_issue_counter = 0 + already_translated_counter = 0 + created_issues_counter = 0 + + print(f"TOTAL PO FILES: {len(po_files)}") + + for pofilename in po_files: + try: + issue = self.issue_generator(pofilename) + created_issues_counter += 1 + print(f'Issue "{issue.title}" created at {issue.html_url}') + if only_one: + break + except IssueAlreadyExistingError: + existing_issue_counter += 1 + except PoFileAlreadyTranslated: + already_translated_counter += 1 + + print("Stats:") + print(f"- Existing issues: {existing_issue_counter}") + print(f"- Already translated files: {already_translated_counter}") + print(f"- Created issues: {created_issues_counter}") + + +def main(): + error_msg = "Specify PO filename or '--all' to create all the issues, or '--one' to create the next one issue" + if len(sys.argv) != 2: + raise Exception(error_msg) + + arg = sys.argv[1] + + gh = GitHubIssueGenerator() + + if arg == "--all": + gh.create_issues() + + elif arg == "--one": + gh.create_issues(only_one=True) + + else: + try: + gh.issue_generator(arg) + except FileNotFoundError: + raise Exception(error_msg) -Remember to follow the steps in our [Contributing Guide](https://python-docs-es.readthedocs.io/page/CONTRIBUTING.html).''', -) -print(f'Issue "{title}" created at {issue.html_url}') +if __name__ == "__main__": + main() From 4ccb1957fdc080384d21ed6ed8501e922ba3052d Mon Sep 17 00:00:00 2001 From: Jakepys Date: Thu, 21 Nov 2024 11:18:08 -0500 Subject: [PATCH 62/63] Traduccion types (#2794) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit traducción del archivo `library/types.po` terminado. Issues: #2542 --------- Co-authored-by: Carlos A. Crespo Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> Co-authored-by: Cristián Maureira-Fredes --- dictionaries/library_types.txt | 3 +- library/types.po | 74 ++++++++++++++++++---------------- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/dictionaries/library_types.txt b/dictionaries/library_types.txt index 8ae005266b..04db3e679a 100644 --- a/dictionaries/library_types.txt +++ b/dictionaries/library_types.txt @@ -2,4 +2,5 @@ getattr enrutará AttributeError Enum -corutina \ No newline at end of file +corutina +sólo diff --git a/library/types.po b/library/types.po index 706cd80a80..01cacf11ed 100644 --- a/library/types.po +++ b/library/types.po @@ -8,18 +8,19 @@ # msgid "" msgstr "" -"Project-Id-Version: Python 3.8\n" +"Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-12-14 07:45-0500\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-18 16:17-0300\n" +"Last-Translator: Carlos A. Crespo \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.0.1\n" #: ../Doc/library/types.rst:2 msgid ":mod:`types` --- Dynamic type creation and names for built-in types" @@ -154,7 +155,6 @@ msgstr "" "Resuelve las entradas MRO dinámicamente según lo especificado por :pep:`560`." #: ../Doc/library/types.rst:76 -#, fuzzy msgid "" "This function looks for items in *bases* that are not instances of :class:" "`type`, and returns a tuple where each such object that has an :meth:" @@ -163,12 +163,12 @@ msgid "" "it doesn't have an :meth:`!__mro_entries__` method, then it is included in " "the return tuple unchanged." msgstr "" -"Esta función busca elementos en *bases* que no son instancias de :class:" -"`type` y retorna una tupla donde cada uno de estos objetos que tiene un " -"método ``__mro_entries__`` se reemplaza con un resultado desempaquetado de " -"llamar a este método. Si un elemento *bases* es una instancia de :class:" -"`type` o no tiene un método ``__mro_entries__``, se incluye en el retorno la " -"tupla sin cambios." +"Esta función busca elementos en *bases* que no sean instancias de :class:" +"`type`, y retorna una tupla donde cada objeto que tenga un método :meth:" +"`~object.__mro_entries__` es reemplazado por el resultado desempaquetado de " +"llamar a dicho método. Si un elemento de *bases* es una instancia de :class:" +"`type`, o no tiene un método :meth:`!__mro_entries__`, entonces es incluido " +"sin cambios en la tupla de retorno." #: ../Doc/library/types.rst:87 msgid "" @@ -177,6 +177,10 @@ msgid "" "(following the mechanisms laid out in :pep:`560`). This is useful for " "introspecting :ref:`Generics `." msgstr "" +"Retorna la tupla de objetos originalmente dados como bases de *cls* antes de " +"que el método :meth:`~object.__mro_entries__` sea llamado en cualquier base " +"(siguiendo los mecanismos establecidos en :pep:`560`). Esto es útil para " +"introspección :ref:`Genéricos `." #: ../Doc/library/types.rst:92 msgid "" @@ -184,10 +188,13 @@ msgid "" "the value of ``cls.__orig_bases__``. For classes without the " "``__orig_bases__`` attribute, ``cls.__bases__`` is returned." msgstr "" +"Para las clases que tienen un atributo ``__orig_bases__``, esta función " +"retorna el valor de ``cls.__orig_bases__``. Para clases sin el atributo " +"``__orig_bases__``, se retorna ``cls.__bases__``." #: ../Doc/library/types.rst:97 msgid "Examples::" -msgstr "" +msgstr "Ejemplos::" #: ../Doc/library/types.rst:127 msgid ":pep:`560` - Core support for typing module and generic types" @@ -397,13 +404,12 @@ msgstr "" "El :term:`loader` que cargó el módulo. El valor predeterminado es ``None``." #: ../Doc/library/types.rst:281 -#, fuzzy msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader` as " "stored in the :attr:`__spec__` object." msgstr "" -"Este atributo va a coincidir con :attr:`importlib.machinery.ModuleSpec." -"loader` como se almacena en el objeto attr:`__spec__`." +"Este atributo debe coincidir con :attr:`importlib.machinery.ModuleSpec." +"loader` como almacenado en el objeto :attr:`__spec__`." #: ../Doc/library/types.rst:285 msgid "" @@ -444,13 +450,12 @@ msgstr "" "El valor predeterminado es ``None``." #: ../Doc/library/types.rst:306 -#, fuzzy msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent` as " "stored in the :attr:`__spec__` object." msgstr "" -"Este atributo va a coincidir con :attr:`importlib.machinery.ModuleSpec." -"parent` como se guarda en el objeto attr:`__spec__`." +"Este atributo debe coincidir con :attr:`importlib.machinery.ModuleSpec." +"parent` como almacenado en el objeto :attr:`__spec__`." #: ../Doc/library/types.rst:310 msgid "" @@ -500,32 +505,32 @@ msgstr "Este tipo ahora puede heredarse." #: ../Doc/library/types.rst:357 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Tipos de alias genéricos`" #: ../Doc/library/types.rst:357 msgid "In-depth documentation on instances of :class:`!types.GenericAlias`" msgstr "" +"Documentación detallada sobre instancias de :class:`!types.GenericAlias`" #: ../Doc/library/types.rst:359 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" -msgstr "" +msgstr ":pep:`585` - Sugerencias de tipo genéricas en colecciones estándar" #: ../Doc/library/types.rst:360 msgid "Introducing the :class:`!types.GenericAlias` class" -msgstr "" +msgstr "Presentando la clase :class:`!types.GenericAlias`" #: ../Doc/library/types.rst:364 msgid "The type of :ref:`union type expressions`." msgstr "El tipo de :ref:`union type expressions`." #: ../Doc/library/types.rst:370 -#, fuzzy msgid "" "The type of traceback objects such as found in ``sys.exception()." "__traceback__``." msgstr "" -"El tipo de objetos *traceback* tal como los encontrados en ``sys.exc_info()" -"[2]``." +"El tipo de objetos de rastreo como los que se encuentran en ``sys." +"exception().__traceback__``." #: ../Doc/library/types.rst:372 msgid "" @@ -669,9 +674,8 @@ msgstr "" "Retorna un iterador inverso sobre las claves de la asignación subyacente." #: ../Doc/library/types.rst:469 -#, fuzzy msgid "Return a hash of the underlying mapping." -msgstr "Retorna una copia superficial de la asignación subyacente." +msgstr "Retorna un hash del mapeo subyacente." #: ../Doc/library/types.rst:475 msgid "Additional Utility Classes and Functions" @@ -750,7 +754,6 @@ msgid "Coroutine Utility Functions" msgstr "Funciones de utilidad de corutina" #: ../Doc/library/types.rst:531 -#, fuzzy msgid "" "This function transforms a :term:`generator` function into a :term:" "`coroutine function` which returns a generator-based coroutine. The " @@ -759,11 +762,12 @@ msgid "" "However, it may not necessarily implement the :meth:`~object.__await__` " "method." msgstr "" -"Esta función transforma una función :term:`generador` en una función :term:" -"`coroutine` que retorna una corrutina basada en un generador. La corrutina " -"basada en un generador sigue siendo un :term:`generator iterator`, pero " -"también se considera un objeto :term:`coroutine` y es :term:`awaitable`. " -"Sin embargo, no puede necesariamente implementar el método :meth:`__await__`." +"Esta función transforma una función :term:`generator` en una :term:" +"`coroutine function` que retorna una corrutina basada en generador. La " +"corrutina basada en generador sigue siendo un :term:`generator iterator`, " +"pero también se considera un objeto :term:`coroutine` y es :term:`awaitable`." +"Sin embargo, es posible que no implemente necesariamente el método :meth:" +"`~object.__await__`." #: ../Doc/library/types.rst:538 msgid "If *gen_func* is a generator function, it will be modified in-place." @@ -783,8 +787,8 @@ msgstr "" #: ../Doc/library/types.rst:189 msgid "built-in function" -msgstr "" +msgstr "built-in function" #: ../Doc/library/types.rst:189 msgid "compile" -msgstr "" +msgstr "compile" From faeebfb30d28a5bc775a7919965c34cd906408d7 Mon Sep 17 00:00:00 2001 From: AlfonsoAreizaG <63620799+Alfareiza@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:39:43 -0500 Subject: [PATCH 63/63] =?UTF-8?q?traducci=C3=B3n=20library/typing.po=20(#2?= =?UTF-8?q?872)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #2583 --------- Co-authored-by: rtobar --- library/typing.po | 1784 ++++++++++++++++++--------------------------- 1 file changed, 710 insertions(+), 1074 deletions(-) diff --git a/library/typing.po b/library/typing.po index cd48396ace..54ea216f58 100644 --- a/library/typing.po +++ b/library/typing.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-01-10 10:24-0300\n" -"Last-Translator: Héctor Canto \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-21 11:04-0500\n" +"Last-Translator: Alfonso Areiza Guerra \n" "Language-Team: python-doc-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" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/typing.rst:3 msgid ":mod:`typing` --- Support for type hints" @@ -40,17 +41,15 @@ msgstr "" "como validadores de tipado, IDEs, linters, etc." #: ../Doc/library/typing.rst:26 -#, fuzzy msgid "" "This module provides runtime support for type hints. For the original " "specification of the typing system, see :pep:`484`. For a simplified " "introduction to type hints, see :pep:`483`." msgstr "" -"Este módulo entrega soporte en tiempo de ejecución para indicadores de tipo. " -"El soporte fundamental se encuentra en los tipos :data:`Any`, :data:" -"`Union`, :data:`Callable`, :class:`TypeVar`, y :class:`Generic`. Para una " -"especificación completa, por favor ver :pep:`484`. Para una introducción " -"simplificada a los indicadores de tipo, véase :pep:`483`." +"Este módulo proporciona soporte en tiempo de ejecución para las sugerencias " +"de tipo. Para la especificación original del sistema de tipado, véase :pep:" +"`484`. Para una introducción simplificada a las sugerencias de tipo, véase :" +"pep:`483`." #: ../Doc/library/typing.rst:31 msgid "" @@ -81,29 +80,35 @@ msgstr "" "de Python." #: ../Doc/library/typing.rst:44 -#, fuzzy msgid "" "For a summary of deprecated features and a deprecation timeline, please see " "`Deprecation Timeline of Major Features`_." msgstr "" -"Para un resumen de las funcionalidades obsoletas y una linea de tiempo de " -"obsolescencia, por favor ver `Deprecation Timeline of Major Features`_." +"Para ver un resumen de las características descontinuadas y un histórico de " +"estas, consulte `Calendario de descontinuación de características " +"principales`_." #: ../Doc/library/typing.rst:50 msgid "" "`\"Typing cheat sheet\" `_" msgstr "" +"`”Guía rápida sobre los indicadores de tipo” `_" #: ../Doc/library/typing.rst:50 msgid "A quick overview of type hints (hosted at the mypy docs)" msgstr "" +"Una visión general de los indicadores de tipo (hospedado por mypy docs, en " +"inglés.)" #: ../Doc/library/typing.rst:55 msgid "" "\"Type System Reference\" section of `the mypy docs `_" msgstr "" +"Sección “Referencia sobre sistema de tipo” de `the mypy docs `_" #: ../Doc/library/typing.rst:53 msgid "" @@ -111,28 +116,30 @@ msgid "" "broadly apply to most Python type checkers. (Some parts may still be " "specific to mypy.)" msgstr "" +"El sistema de tipos de Python es estandarizado por medio de las PEPs, así " +"que esta referencia debe aplicarse a la mayoría de validadores de tipo de " +"Python. (Algunas partes pueden referirse específicamente a mypy.)" #: ../Doc/library/typing.rst:59 msgid "" "`\"Static Typing with Python\" `_" msgstr "" +"`”Tipado estático con Python” `_" #: ../Doc/library/typing.rst:58 -#, fuzzy msgid "" "Type-checker-agnostic documentation written by the community detailing type " "system features, useful typing related tools and typing best practices." msgstr "" -"La documentación en https://typing.readthedocs.io/ es una referencia útil " -"sobre características de sistemas de tipos, herramientas útiles relativas al " -"tipado, y mejores prácticas de tipado." +"Documentación independiente del validador de tipos escrita por la comunidad " +"que detalla las características del sistema de tipos, herramientas útiles " +"relacionadas con el tipado y mejores prácticas." #: ../Doc/library/typing.rst:65 msgid "Relevant PEPs" msgstr "PEPs relevantes" #: ../Doc/library/typing.rst:67 -#, fuzzy msgid "" "Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a " "number of PEPs have modified and enhanced Python's framework for type " @@ -140,7 +147,7 @@ msgid "" msgstr "" "Desde la introducción inicial de los indicadores de tipo en :pep:`484` y :" "pep:`483`, un número de PEPs han modificado y mejorado el sistema de " -"anotaciones de tipos de Python. Éstos incluyen:" +"anotaciones de tipos de Python:" #: ../Doc/library/typing.rst:77 msgid ":pep:`526`: Syntax for Variable Annotations" @@ -288,9 +295,8 @@ msgid "*Introducing* :data:`LiteralString`" msgstr "*Introduce* :data:`LiteralString`" #: ../Doc/library/typing.rst:111 -#, fuzzy msgid ":pep:`681`: Data Class Transforms" -msgstr ":pep:`681`: Transformaciones de Clases de Datos" +msgstr ":pep:`681`: Transformadores de Clases de Datos" #: ../Doc/library/typing.rst:112 msgid "" @@ -301,49 +307,50 @@ msgstr "" #: ../Doc/library/typing.rst:114 msgid ":pep:`692`: Using ``TypedDict`` for more precise ``**kwargs`` typing" msgstr "" +":pep:`692`: Usar ``TypedDict`` para un tipado más preciso con ``**kwargs``" #: ../Doc/library/typing.rst:114 msgid "" "*Introducing* a new way of typing ``**kwargs`` with :data:`Unpack` and :data:" "`TypedDict`" msgstr "" +"*Introduce* a una nueva forma de tipado ``**kwargs`` con :data:`Unpack` y :" +"data:`TypedDict`" #: ../Doc/library/typing.rst:116 msgid ":pep:`695`: Type Parameter Syntax" -msgstr "" +msgstr ":pep:`695`: Sintaxis para parámetros de tipo" #: ../Doc/library/typing.rst:117 -#, fuzzy msgid "" "*Introducing* builtin syntax for creating generic functions, classes, and " "type aliases." msgstr "" -"*Introduce* sintaxis para anotar variables fuera de definiciones de " -"funciones, y :data:`ClassVar`" +"*Introduce* sintaxis integrada para crear funciones genéricas, clases y " +"alias de tipos." #: ../Doc/library/typing.rst:119 -#, fuzzy msgid ":pep:`698`: Adding an override decorator to typing" -msgstr ":pep:`591`: Agregar un cualificador final a typing" +msgstr ":pep:`698`: Agregar un decorador *override* al sistema de tipado" #: ../Doc/library/typing.rst:119 -#, fuzzy msgid "*Introducing* the :func:`@override` decorator" -msgstr "*Introduce* :data:`Final` y el decorador :func:`@final`" +msgstr "*Introduce* el decorador :func:`@override`" #: ../Doc/library/typing.rst:129 msgid "Type aliases" msgstr "Alias de tipo" #: ../Doc/library/typing.rst:131 -#, fuzzy msgid "" "A type alias is defined using the :keyword:`type` statement, which creates " "an instance of :class:`TypeAliasType`. In this example, ``Vector`` and " "``list[float]`` will be treated equivalently by static type checkers::" msgstr "" -"Un alias de tipo se define asignando el tipo al alias. En este ejemplo, " -"``Vector`` y ``List[float]`` serán tratados como sinónimos intercambiables::" +"Un alias de tipo se define usando la declaración :keyword:`type`, el cual " +"crea una instancia de :class:`TypeAliasType`. En este ejemplo, ``Vector`` y " +"``list[float]`` serán tratados de manera equivalente a los validadores de " +"tipo estático::" #: ../Doc/library/typing.rst:144 msgid "" @@ -358,12 +365,17 @@ msgid "" "The :keyword:`type` statement is new in Python 3.12. For backwards " "compatibility, type aliases can also be created through simple assignment::" msgstr "" +"La declaración :keyword:`type` es nueva en Python 3.12. Para compatibilidad " +"con versiones anteriores, los alias de tipo también se pueden crear mediante " +"una asignación simple.::" #: ../Doc/library/typing.rst:167 msgid "" "Or marked with :data:`TypeAlias` to make it explicit that this is a type " "alias, not a normal variable assignment::" msgstr "" +"O marcarse con :data:`TypeAlias` para dejar explícito que se trata de un " +"alias de tipo, no de una asignación de variable normal::" #: ../Doc/library/typing.rst:177 msgid "NewType" @@ -371,8 +383,7 @@ msgstr "NewType" #: ../Doc/library/typing.rst:179 msgid "Use the :class:`NewType` helper to create distinct types::" -msgstr "" -"Utilícese la clase auxiliar :class:`NewType` para crear tipos distintos::" +msgstr "Use la clase auxiliar :class:`NewType` para crear tipos distintos::" #: ../Doc/library/typing.rst:186 msgid "" @@ -402,8 +413,8 @@ msgid "" "it. That means the expression ``Derived(some_value)`` does not create a new " "class or introduce much overhead beyond that of a regular function call." msgstr "" -"Tenga en cuenta que estas validaciones solo las aplica el verificador de " -"tipo estático. En tiempo de ejecución, la declaración ``Derived = " +"Tenga en cuenta que estas validaciones solo las aplica el validador de tipo " +"estático. En tiempo de ejecución, la declaración ``Derived = " "NewType('Derived', Base)`` hará que ``Derived`` sea una clase que retorna " "inmediatamente cualquier parámetro que le pase. Eso significa que la " "expresión ``Derived(some_value)`` no crea una nueva clase ni introduce mucha " @@ -439,16 +450,15 @@ msgid "See :pep:`484` for more details." msgstr "Véase :pep:`484` para más detalle." #: ../Doc/library/typing.rst:238 -#, fuzzy msgid "" "Recall that the use of a type alias declares two types to be *equivalent* to " "one another. Doing ``type Alias = Original`` will make the static type " "checker treat ``Alias`` as being *exactly equivalent* to ``Original`` in all " "cases. This is useful when you want to simplify complex type signatures." msgstr "" -"Recuérdese que el uso de alias de tipo implica que los dos tipos son " -"*equivalentes* entre sí. Haciendo ``Alias = Original`` provocará que el " -"Validador estático de tipos trate ``Alias`` como algo *exactamente " +"Recuerde que el uso de alias de tipo implica que los dos tipos son " +"*equivalentes* entre sí. Haciendo ``type Alias = Original`` provocará que el " +"validador estático de tipos trate ``Alias`` como algo *exactamente " "equivalente* a ``Original`` en todos los casos. Esto es útil para cuando se " "quiera simplificar indicadores de tipo complejos." @@ -469,7 +479,6 @@ msgstr "" "coste de ejecución mínimo." #: ../Doc/library/typing.rst:252 -#, fuzzy msgid "" "``NewType`` is now a class rather than a function. As a result, there is " "some additional runtime cost when calling ``NewType`` over a regular " @@ -477,17 +486,19 @@ msgid "" msgstr "" "``NewType`` es ahora una clase en lugar de una función. Existe un costo de " "tiempo de ejecución adicional cuando se llama a ``NewType`` a través de una " -"función normal. Sin embargo, este costo se reducirá en 3.11.0." +"función normal." #: ../Doc/library/typing.rst:257 msgid "" "The performance of calling ``NewType`` has been restored to its level in " "Python 3.9." msgstr "" +"El rendimiento al llamar ``NewType`` ha sido restaurado a su nivel en Python " +"3.9." #: ../Doc/library/typing.rst:264 msgid "Annotating callable objects" -msgstr "" +msgstr "Anotaciones en objetos invocables" #: ../Doc/library/typing.rst:266 msgid "" @@ -496,31 +507,35 @@ msgid "" "``Callable[[int], str]`` signifies a function that takes a single parameter " "of type :class:`int` and returns a :class:`str`." msgstr "" +"Las funciones -- u otro objeto invocable :term:`callable` se pueden anotar " +"utilizando :class:`collections.abc.Callable` o :data:`typing.Callable`. " +"``Callable[[int], str]`` se refiere a una función que toma un solo parámetro " +"de tipo :class:`int` y retorna un :class:`str`." #: ../Doc/library/typing.rst:271 ../Doc/library/typing.rst:2873 #: ../Doc/library/typing.rst:3015 -#, fuzzy msgid "For example:" -msgstr "Por ejemplo::" +msgstr "Por ejemplo:" #: ../Doc/library/typing.rst:289 -#, fuzzy msgid "" "The subscription syntax must always be used with exactly two values: the " "argument list and the return type. The argument list must be a list of " "types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis. The return " "type must be a single type." msgstr "" -"La sintaxis de subíndice (con corchetes *[]*) debe usarse siempre con dos " -"valores: la lista de argumentos y el tipo de retorno. La lista de argumentos " -"debe ser una lista de tipos o unos puntos suspensivos; el tipo de retorno " -"debe ser un único tipo." +"La sintaxis de suscripción siempre debe utilizarse con exactamente dos " +"valores: una lista de argumentos y el tipo de retorno. La lista de " +"argumentos debe ser una lista de tipos, un :class:`ParamSpec`, :data:" +"`Concatenate` o una elipsis. El tipo de retorno debe ser un único tipo." #: ../Doc/library/typing.rst:294 msgid "" "If a literal ellipsis ``...`` is given as the argument list, it indicates " "that a callable with any arbitrary parameter list would be acceptable:" msgstr "" +"Si se proporciona una elipsis como lista de argumentos, indica que sería " +"aceptable un invocable con cualquier lista de parámetros arbitraria:" #: ../Doc/library/typing.rst:306 msgid "" @@ -530,6 +545,11 @@ msgid "" "be expressed by defining a :class:`Protocol` class with a :meth:`~object." "__call__` method:" msgstr "" +"``Callable`` no puede representar firmas complejas como funciones que toman " +"un número variado de argumentos, :func:`funciones sobrecargadas ` " +"o funciones que reciben parámetros de solo palabras clave. Sin embargo, " +"estas firmas se pueden definir al definir una clase :class:`Protocol` con un " +"método :meth:`~object.__call__` method:" #: ../Doc/library/typing.rst:333 msgid "" @@ -570,40 +590,43 @@ msgid "Generics" msgstr "Genéricos" #: ../Doc/library/typing.rst:354 -#, fuzzy msgid "" "Since type information about objects kept in containers cannot be statically " "inferred in a generic way, many container classes in the standard library " "support subscription to denote the expected types of container elements." msgstr "" -"Ya que no es posible inferir estáticamente y de una manera genérica la " -"información de tipo de objetos dentro de contenedores, las clases base " -"abstractas han sido mejoradas para permitir sintaxis de subíndice para " -"denotar los tipos esperados en elementos contenedores." +"Dado que la información de tipo sobre los objetos guardados en contenedores " +"no se puede inferir estáticamente de manera genérica, muchas clases de " +"contenedor en la biblioteca estándar admiten suscripción para indicar los " +"tipos esperados de elementos de contenedor." #: ../Doc/library/typing.rst:371 msgid "" "Generic functions and classes can be parameterized by using :ref:`type " "parameter syntax `::" msgstr "" +"Funciones y clases genéricas pueden ser parametrizadas usando :ref:`type " +"parameter syntax `::" #: ../Doc/library/typing.rst:379 msgid "Or by using the :class:`TypeVar` factory directly::" -msgstr "" +msgstr "O utilizando directamente la fábrica :class:`TypeVar`::" #: ../Doc/library/typing.rst:389 msgid "Syntactic support for generics is new in Python 3.12." -msgstr "" +msgstr "El soporte sintáctico para genéricos es nuevo en Python 3.12." #: ../Doc/library/typing.rst:395 msgid "Annotating tuples" -msgstr "" +msgstr "Anotaciones en tuplas" #: ../Doc/library/typing.rst:397 msgid "" "For most containers in Python, the typing system assumes that all elements " "in the container will be of the same type. For example::" msgstr "" +"En la mayoría de los contenedores de Python, el sistema de tipado supone que " +"todos los elementos del contenedor serán del mismo tipo. Por ejemplo:" #: ../Doc/library/typing.rst:412 msgid "" @@ -612,6 +635,11 @@ msgid "" "Mapping` only accepts two type arguments: the first indicates the type of " "the keys, and the second indicates the type of the values." msgstr "" +":class:`list` solo acepta un argumento de tipo, por lo que un validador de " +"tipos emitiría un error en la asignación ``y`` anterior. De manera similar, :" +"class:`~collections.abc.Mapping` solo acepta dos argumentos de tipo: el " +"primero indica el tipo de las claves y el segundo indica el tipo de los " +"valores." #: ../Doc/library/typing.rst:418 msgid "" @@ -620,6 +648,11 @@ msgid "" "For this reason, tuples are special-cased in Python's typing system. :class:" "`tuple` accepts *any number* of type arguments::" msgstr "" +"Sin embargo, a diferencia de la mayoría de los demás contenedores de Python, " +"es común en el código idiomático de Python que las tuplas tengan elementos " +"que no sean todos del mismo tipo. Por este motivo, las tuplas son un caso " +"especial en el sistema de tipado de Python. :class:`tuple` acepta *cualquier " +"número* de argumentos de tipo::" #: ../Doc/library/typing.rst:434 msgid "" @@ -628,47 +661,47 @@ msgid "" "use ``tuple[()]``. Using plain ``tuple`` as an annotation is equivalent to " "using ``tuple[Any, ...]``::" msgstr "" +"Para indicar una tupla que podría tener *cualquier* tamaño y en la que todos " +"los elementos son del mismo tipo ``T``, utilice ``tuple[T, ...]``. Para " +"indicar una tupla vacía, utilice ``tuple[()]``. El uso de ``tuple`` simple " +"como anotación es equivalente a utilizar ``tuple[Any, ...]``::" #: ../Doc/library/typing.rst:457 msgid "The type of class objects" -msgstr "" +msgstr "El tipo de objetos de clase" #: ../Doc/library/typing.rst:459 -#, fuzzy msgid "" "A variable annotated with ``C`` may accept a value of type ``C``. In " "contrast, a variable annotated with ``type[C]`` (or :class:`typing.Type[C] " "`) may accept values that are classes themselves -- specifically, it " "will accept the *class object* of ``C``. For example::" msgstr "" -"Una variable indicada como ``C`` puede aceptar valores de tipo ``C``. Sin " -"embargo, un variable indicada como ``Type[C]`` puede aceptar valores que son " -"clases en sí mismas -- específicamente, aceptará el *objeto clase* de ``C``. " -"Por ejemplo.::" +"Una variable anotada con ``C`` puede aceptar un valor de tipo ``C``. Por el " +"contrario, una variable anotada con ``type[C]`` (o :class:`typing.Type[C] " +"`) puede aceptar valores que sean clases en sí mismas; " +"específicamente, aceptará el *objeto de clase* de ``C``. Por ejemplo:" #: ../Doc/library/typing.rst:469 -#, fuzzy msgid "Note that ``type[C]`` is covariant::" -msgstr "Nótese que ``Type[C]`` es covariante::" +msgstr "Tenga en cuenta que ``type[C]`` es covariante::" #: ../Doc/library/typing.rst:485 -#, fuzzy msgid "" "The only legal parameters for :class:`type` are classes, :data:`Any`, :ref:" "`type variables `, and unions of any of these types. For example::" msgstr "" -"Lo únicos parámetros válidos de :class:`Type` son clases, :data:`Any`, :ref:" -"`type variables `, y uniones de cualquiera de los tipos " -"anteriores. Por ejemplo::" +"Los únicos parámetros legales para :class:`type` son las clases, :data:" +"`Any`, :ref:`variables de tipo ` y uniones de cualquiera de estos " +"tipos. Por ejemplo::" #: ../Doc/library/typing.rst:497 -#, fuzzy msgid "" "``type[Any]`` is equivalent to :class:`type`, which is the root of Python's :" "ref:`metaclass hierarchy `." msgstr "" -"``Type[Any]`` es equivalente a ``Type``, que a su vez es equivalente a " -"``type``, que es la raíz de la jerarquía de metaclases de Python." +"``type[Any]`` es equivalente a :class:`type`, que es la raíz de la :ref:" +"`jerarquía de metaclases ` de Python." #: ../Doc/library/typing.rst:503 msgid "User-defined generic types" @@ -680,15 +713,14 @@ msgstr "" "Una clase definida por el usuario puede ser definida como una clase genérica." #: ../Doc/library/typing.rst:528 -#, fuzzy msgid "" "This syntax indicates that the class ``LoggedVar`` is parameterised around a " "single :class:`type variable ` ``T`` . This also makes ``T`` valid " "as a type within the class body." msgstr "" -"``Generic[T]`` como clase base define que la clase ``LoggedVar`` toma un " -"solo parámetro ``T``. Esto también implica que ``T`` es un tipo válido " -"dentro del cuerpo de la clase." +"Esta sintaxis indica que la clase ``LoggedVar`` está parametrizada en torno " +"a una única variable de tipo :class:`` ``T`` . Esto también hace " +"que ``T`` sea válida como tipo dentro del cuerpo de la clase." #: ../Doc/library/typing.rst:532 msgid "" @@ -696,12 +728,18 @@ msgid "" "with Python 3.11 and lower, it is also possible to inherit explicitly from :" "class:`Generic` to indicate a generic class::" msgstr "" +"Las clases genéricas heredan implícitamente de :class:`Generic`. Para " +"compatibilidad con Python 3.11 y versiones anteriores, también es posible " +"heredar explícitamente de :class:`Generic` para indicar una clase genérica::" #: ../Doc/library/typing.rst:543 msgid "" "Generic classes have :meth:`~object.__class_getitem__` methods, meaning they " "can be parameterised at runtime (e.g. ``LoggedVar[int]`` below)::" msgstr "" +"Las clases genéricas tienen métodos :meth:`~object.__class_getitem__`, lo " +"que significa que se pueden parametrizar en tiempo de ejecución (por " +"ejemplo, ``LoggedVar[int]`` a continuación)::" #: ../Doc/library/typing.rst:552 msgid "" @@ -712,54 +750,51 @@ msgstr "" "permiten todas las variaciones de :class:`TypeVar` para ser usadas como " "parámetros de un tipo genérico::" -# revisar la relacion argumento-variable-clase #: ../Doc/library/typing.rst:567 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" msgstr "" -"Cada argumento de variable de tipo en una clase :class:`Generic` debe ser " -"distinto. Así, no será válido::" +"Cada argumento de variable de tipo de :class:`Generic` debe ser distinto. " +"Por lo tanto, esto no es válido::" #: ../Doc/library/typing.rst:581 msgid "Generic classes can also inherit from other classes::" -msgstr "" +msgstr "Las clases genéricas también pueden heredar de otras clases:" #: ../Doc/library/typing.rst:588 -#, fuzzy msgid "" "When inheriting from generic classes, some type parameters could be fixed::" msgstr "" -"Cuando se hereda de clases genéricas, se pueden fijar algunas variables de " -"tipo::" +"Al heredar de clases genéricas, algunos parámetros de tipo podrían ser fijos:" #: ../Doc/library/typing.rst:595 msgid "In this case ``MyDict`` has a single parameter, ``T``." msgstr "En este caso ``MyDict`` tiene un solo parámetro, ``T``." #: ../Doc/library/typing.rst:597 -#, fuzzy msgid "" "Using a generic class without specifying type parameters assumes :data:`Any` " "for each position. In the following example, ``MyIterable`` is not generic " "but implicitly inherits from ``Iterable[Any]``:" msgstr "" -"Al usar una clase genérica sin especificar parámetros de tipo se asume :data:" -"`Any` para todas las posiciones. En el siguiente ejemplo, ``MyIterable`` no " -"es genérico pero hereda implícitamente de ``Iterable[Any]``::" +"El uso de una clase genérica sin especificar parámetros de tipo supone :data:" +"`Any` para cada posición. En el siguiente ejemplo, ``MyIterable`` no es " +"genérico, sino que hereda implícitamente de ``Iterable[Any]``:" #: ../Doc/library/typing.rst:608 -#, fuzzy msgid "User-defined generic type aliases are also supported. Examples::" msgstr "" -"Son posibles los alias de tipos genéricos definidos por el usuario. " -"Ejemplos::" +"También se admiten alias de tipos genéricos definidos por el usuario. " +"Ejemplos:" #: ../Doc/library/typing.rst:623 msgid "" "For backward compatibility, generic type aliases can also be created through " "a simple assignment::" msgstr "" +"Para compatibilidad con versiones anteriores, también se pueden crear alias " +"de tipos genéricos mediante una asignación simple:" #: ../Doc/library/typing.rst:632 msgid ":class:`Generic` no longer has a custom metaclass." @@ -771,9 +806,11 @@ msgid "" "Previously, generic classes had to explicitly inherit from :class:`Generic` " "or contain a type variable in one of their bases." msgstr "" +"La compatibilidad sintáctica con genéricos y alias de tipo es una novedad en " +"la versión 3.12. Antes, las clases genéricas debían heredar explícitamente " +"de :class:`Generic` o contener una variable de tipo en una de sus bases." #: ../Doc/library/typing.rst:640 -#, fuzzy msgid "" "User-defined generics for parameter expressions are also supported via " "parameter specification variables in the form ``[**P]``. The behavior is " @@ -783,21 +820,22 @@ msgid "" "a :class:`ParamSpec`::" msgstr "" "Los genéricos definidos por el usuario para expresiones de parámetros " -"también se admiten a través de variables de especificación de parámetros con " -"el formato ``Generic[P]``. El comportamiento es coherente con las variables " -"de tipo descritas anteriormente, ya que el módulo typing trata las variables " +"también se admiten a través de variables de especificación de parámetros en " +"el formato ``[**P]``. El comportamiento es coherente con las variables de " +"tipo descritas anteriormente, ya que el módulo de tipado trata las variables " "de especificación de parámetros como una variable de tipo especializada. La " -"única excepción a esto es que se puede usar una lista de tipos para " -"sustituir un :class:`ParamSpec`:" +"única excepción a esto es que se puede utilizar una lista de tipos para " +"sustituir un :class:`ParamSpec`::" #: ../Doc/library/typing.rst:651 msgid "" "Classes generic over a :class:`ParamSpec` can also be created using explicit " "inheritance from :class:`Generic`. In this case, ``**`` is not used::" msgstr "" +"También se pueden crear clases genéricas sobre :class:`ParamSpec` utilizando " +"herencia explícita de :class:`Generic`. En este caso, no se utiliza ``**``::" #: ../Doc/library/typing.rst:661 -#, fuzzy msgid "" "Another difference between :class:`TypeVar` and :class:`ParamSpec` is that a " "generic with only one parameter specification variable will accept parameter " @@ -805,20 +843,20 @@ msgid "" "Type2, ...]`` for aesthetic reasons. Internally, the latter is converted to " "the former, so the following are equivalent::" msgstr "" -"Además, un genérico con una sola variable de especificación de parámetro " -"aceptará listas de parámetros en los formatos ``X[[Type1, Type2, ...]]`` y " -"también ``X[Type1, Type2, ...]`` por razones estéticas. Internamente, este " -"último se convierte en el primero y, por lo tanto, son equivalentes::" +"Otra diferencia entre :class:`TypeVar` y :class:`ParamSpec` es que una " +"variable genérica con una sola especificación de parámetros aceptará listas " +"de parámetros en los formatos ``X[[Type1, Type2, ...]]`` y también " +"``X[Type1, Type2, ...]`` por razones estéticas. Internamente, el último se " +"convierte al primero, por lo que los siguientes son equivalentes::" #: ../Doc/library/typing.rst:674 -#, fuzzy msgid "" "Note that generics with :class:`ParamSpec` may not have correct " "``__parameters__`` after substitution in some cases because they are " "intended primarily for static type checking." msgstr "" -"Téngase presente que los genéricos con :class:`ParamSpec` pueden no tener el " -"``__parameters__`` correcto después de la sustitución en algunos casos " +"Tenga en cuenta que los genéricos con :class:`ParamSpec` pueden no tener " +"``__parameters__`` correctos después de la sustitución en algunos casos " "porque están destinados principalmente a la verificación de tipos estáticos." #: ../Doc/library/typing.rst:678 @@ -831,18 +869,17 @@ msgstr "" "detalles." #: ../Doc/library/typing.rst:682 -#, fuzzy msgid "" "A user-defined generic class can have ABCs as base classes without a " "metaclass conflict. Generic metaclasses are not supported. The outcome of " "parameterizing generics is cached, and most types in the typing module are :" "term:`hashable` and comparable for equality." msgstr "" -"Un clase genérica definida por el usuario puede tener clases ABC como clase " -"base sin conflicto de metaclase. Las metaclases genéricas no están " -"permitidas. El resultado de parametrizar clases genéricas se cachea, y la " -"mayoría de los tipos en el módulo *typing* pueden tener un hash y ser " -"comparables por igualdad (*equality*)." +"Una clase genérica definida por el usuario puede tener clases ABC sin que se " +"produzca un conflicto de metaclases. No se admiten metaclases genéricas. El " +"resultado de parametrizar los genéricos se almacena en caché y la mayoría de " +"los tipos en el módulo de tipificación son :term:`hashable` y comparables en " +"términos de igualdad." #: ../Doc/library/typing.rst:689 msgid "The :data:`Any` type" @@ -956,9 +993,9 @@ msgstr "" "Este requisito también se aplicaba anteriormente a clases base abstractas " "(ABC), tales como :class:`~collections.abc.Iterable`. El problema con esta " "estrategia es que una clase debía de ser marcada explícitamente para " -"proporcionar tal funcionalidad, lo que resulta poco *pythónico* (idiomático) " -"y poco ajustado a lo que uno normalmente haría en un código Python tipado " -"dinámicamente. Por ejemplo, esto sí se ajusta al :pep:`484`::" +"proporcionar esta funcionalidad, lo que resulta poco *pythónico* " +"(idiomático) y poco ajustado a lo que uno normalmente haría en un código " +"Python tipado dinámicamente. Por ejemplo, esto sí se ajusta al :pep:`484`::" #: ../Doc/library/typing.rst:786 msgid "" @@ -989,11 +1026,11 @@ msgid "Module contents" msgstr "Contenido del módulo" #: ../Doc/library/typing.rst:809 -#, fuzzy msgid "" "The ``typing`` module defines the following classes, functions and " "decorators." -msgstr "El módulo define las siguientes clases, funciones y decoradores." +msgstr "" +"El módulo ``typing`` define las siguientes clases, funciones y decoradores." #: ../Doc/library/typing.rst:812 msgid "Special typing primitives" @@ -1004,12 +1041,12 @@ msgid "Special types" msgstr "Tipos especiales" #: ../Doc/library/typing.rst:817 -#, fuzzy msgid "" "These can be used as types in annotations. They do not support subscription " "using ``[]``." msgstr "" -"Estos pueden ser usados como tipos en anotaciones y no soportan ``[]``." +"Estos pueden ser usados como tipos en anotaciones. No soportan suscripción " +"usando ``[]``." #: ../Doc/library/typing.rst:822 msgid "Special type indicating an unconstrained type." @@ -1025,30 +1062,31 @@ msgstr ":data:`Any` es compatible con todos los tipos." # ¿Qué signica el uso de "to duck type" como un verbo en este contexto? #: ../Doc/library/typing.rst:827 -#, fuzzy msgid "" ":data:`Any` can now be used as a base class. This can be useful for avoiding " "type checker errors with classes that can duck type anywhere or are highly " "dynamic." msgstr "" -"Ahora es posible utilizar :data:`Any` como una clase base. Ésto puede ser " -"útil para evitar errores del Verificador de tipos con clases que pueden " -"hacer uso del *duck typing* en cualquier punto, o que sean altamente " -"dinámicas." +"Ahora es posible utilizar :data:`Any` como una clase base. Esto puede ser " +"útil para evitar errores del validador de tipos con clases que pueden hacer " +"uso del *duck typing* en cualquier punto, o que sean altamente dinámicas." #: ../Doc/library/typing.rst:834 msgid "A :ref:`constrained type variable `." -msgstr "" +msgstr "Una :ref:`variables de tipo restringida `." #: ../Doc/library/typing.rst:836 msgid "Definition::" -msgstr "" +msgstr "Definición::" #: ../Doc/library/typing.rst:840 msgid "" "``AnyStr`` is meant to be used for functions that may accept :class:`str` " "or :class:`bytes` arguments but cannot allow the two to mix." msgstr "" +"``AnyStr`` está pensado para ser utilizado por funciones que pueden aceptar " +"argumentos :class:`str` o :class:`bytes` pero que no puedan permitir que los " +"dos se mezclen." #: ../Doc/library/typing.rst:843 ../Doc/library/typing.rst:934 #: ../Doc/library/typing.rst:954 ../Doc/library/typing.rst:1011 @@ -1063,42 +1101,43 @@ msgid "" "`Any` type, nor does it mean \"any string\". In particular, ``AnyStr`` and " "``str | bytes`` are different from each other and have different use cases::" msgstr "" +"Tenga en cuenta que, a pesar de su nombre, ``AnyStr`` no tiene nada que ver " +"con el tipo :class:`Any`, ni significa “cualquier cadena de caracteres”. En " +"particular, ``AnyStr`` y ``str | bytes`` son diferentes entre sí y tienen " +"diferentes casos de uso::" #: ../Doc/library/typing.rst:869 msgid "Special type that includes only literal strings." -msgstr "" +msgstr "Tipo especial que incluye sólo cadenas de caracteres literales." #: ../Doc/library/typing.rst:871 -#, fuzzy msgid "" "Any string literal is compatible with ``LiteralString``, as is another " "``LiteralString``. However, an object typed as just ``str`` is not. A string " "created by composing ``LiteralString``-typed objects is also acceptable as a " "``LiteralString``." msgstr "" -"Tipo especial que solo incluye a las cadenas de texto literales. Una cadena " -"de texto literal es compatible con ``LiteralString``, así como otro " -"``LiteralString`` también lo es, pero un objeto tipado como ``str`` no lo " -"es. Una cadena de texto que ha sido creada componiendo objetos tipados como " -"``LiteralString`` también es válida como ``LiteralString``." +"Cualquier cadena de caracteres literal es compatible con ``LiteralString``, " +"al igual que cualquier otro ``LiteralString``. Sin embargo, un objeto cuyo " +"tipo sea simplemente ``str`` no lo es. Una cadena de caracteres creada " +"mediante la composición de objetos cuyo tipo sea ``LiteralString`` también " +"es aceptable como ``LiteralString``." #: ../Doc/library/typing.rst:877 ../Doc/library/typing.rst:1957 -#, fuzzy msgid "Example:" -msgstr "Por ejemplo::" +msgstr "Por ejemplo:" #: ../Doc/library/typing.rst:893 -#, fuzzy msgid "" "``LiteralString`` is useful for sensitive APIs where arbitrary user-" "generated strings could generate problems. For example, the two cases above " "that generate type checker errors could be vulnerable to an SQL injection " "attack." msgstr "" -"Ésto es util para APIs sensibles donde cadenas de texto arbitrarias " -"generadas por usuarios podrían generar problemas. Por ejemplo, los dos casos " -"que aparecen arriba que generar errores en el verificador de tipos podrían " -"ser vulnerables a un ataque de inyección de SQL." +"``LiteralString`` es útil para API sensibles en las que cadenas de " +"caracteres arbitrarias generadas por el usuario podrían generar problemas. " +"Por ejemplo, los dos casos anteriores que generan errores de verificación de " +"tipos podrían ser vulnerables a un ataque de inyección SQL." #: ../Doc/library/typing.rst:898 msgid "See :pep:`675` for more details." @@ -1111,7 +1150,7 @@ msgid "" "has no members." msgstr "" "El `bottom type `_ (tipo vacío), " -"un tipo que no tiene miembros." +"es un tipo que no tiene miembros." #: ../Doc/library/typing.rst:907 msgid "" @@ -1133,11 +1172,8 @@ msgstr "" # se añade valor para matizar que la funcion retorna (retorna el control) pero # no de manera normal. En el ejemplo lanza una excepción. #: ../Doc/library/typing.rst:932 -#, fuzzy msgid "Special type indicating that a function never returns." -msgstr "" -"Tipo especial que indica que una función nunca retorna un valor. Por " -"ejemplo::" +msgstr "Tipo especial que indica que una función nunca retorna un valor." #: ../Doc/library/typing.rst:941 msgid "" @@ -1153,9 +1189,8 @@ msgstr "" # ¿cómo se le llama en español a una variable "capturada" en una clausura? #: ../Doc/library/typing.rst:952 -#, fuzzy msgid "Special type to represent the current enclosed class." -msgstr "Tipo especial que representa la clase capturada actual. Por ejemplo::" +msgstr "Tipo especial que representa la clase capturada actual." #: ../Doc/library/typing.rst:968 msgid "" @@ -1173,6 +1208,11 @@ msgid "" "object returned from ``SubclassOfFoo.return_self`` as being of type ``Foo`` " "rather than ``SubclassOfFoo``." msgstr "" +"En general, si algo devuelve ``self``, como en los ejemplos anteriores, se " +"debe utilizar ``Self`` en la anotación del retorno. Si ``Foo.return_self`` " +"se anotó como que devuelve ``”Foo”``, entonces el validador de tipos " +"inferiría que el objeto devuelto desde ``SubclassOfFoo.return_self`` es del " +"tipo ``Foo`` en lugar de ``SubclassOfFoo``." #: ../Doc/library/typing.rst:986 msgid "Other common use cases include:" @@ -1195,19 +1235,21 @@ msgid "" "You should not use ``Self`` as the return annotation if the method is not " "guaranteed to return an instance of a subclass when the class is subclassed::" msgstr "" +"No debe utilizar ``Self`` como anotación de retorno si no se garantiza que " +"el método devuelva una instancia de una subclase cuando la clase sea " +"heredada::" #: ../Doc/library/typing.rst:1003 msgid "See :pep:`673` for more details." msgstr "Véase :pep:`673` para más detalle." #: ../Doc/library/typing.rst:1009 -#, fuzzy msgid "" "Special annotation for explicitly declaring a :ref:`type alias `." msgstr "" "Anotación especial para declarar explícitamente un :ref:`alias de tipo `. Por ejemplo::" +"aliases>`." #: ../Doc/library/typing.rst:1017 msgid "" @@ -1215,11 +1257,14 @@ msgid "" "aliases that make use of forward references, as it can be hard for type " "checkers to distinguish these from normal variable assignments:" msgstr "" +"``TypeAlias`` es particularmente útil en versiones anteriores de Python para " +"anotar alias que utilizan referencias para versiones posteriores, ya que " +"puede ser difícil para los validadores de tipos distinguirlos de las " +"asignaciones de variables normales:" #: ../Doc/library/typing.rst:1037 -#, fuzzy msgid "See :pep:`613` for more details." -msgstr "Véase :pep:`681` para más detalle." +msgstr "Ver :pep:`613` para más detalle." #: ../Doc/library/typing.rst:1041 msgid "" @@ -1231,19 +1276,26 @@ msgid "" "`TypeAlias` is not currently planned, but users are encouraged to migrate " "to :keyword:`type` statements." msgstr "" +":data:`TypeAlias` ha sido descontinuado en favor de la declaración :keyword:" +"`type`, la cual crea instancias de :class:`TypeAliasType` y que admite de " +"forma nativa referencias de versiones posteriores de Python. Tenga en cuenta " +"que, si bien :data:`TypeAlias` y :class:`TypeAliasType` tienen propósitos " +"similares y tienen nombres similares, son distintos y el último no es el " +"tipo del primero. La eliminación de :data:`TypeAlias` no está prevista " +"actualmente, pero se recomienda a los usuarios que migren a las " +"declaraciones :keyword:`type`." #: ../Doc/library/typing.rst:1052 msgid "Special forms" msgstr "Formas especiales" #: ../Doc/library/typing.rst:1054 -#, fuzzy msgid "" "These can be used as types in annotations. They all support subscription " "using ``[]``, but each has a unique syntax." msgstr "" -"Estas se pueden usar como anotaciones de tipo usando ``[]``, cada cual tiene " -"una sintaxis única." +"Estos se pueden utilizar como tipos en anotaciones. Todos admiten la " +"suscripción mediante ``[]``, pero cada uno tiene una sintaxis única." #: ../Doc/library/typing.rst:1059 msgid "" @@ -1336,10 +1388,9 @@ msgstr "" #: ../Doc/library/typing.rst:1117 msgid "Special form for annotating higher-order functions." -msgstr "" +msgstr "Forma especial para anotar funciones de orden superior." #: ../Doc/library/typing.rst:1119 -#, fuzzy msgid "" "``Concatenate`` can be used in conjunction with :ref:`Callable ` and :class:`ParamSpec` to annotate a higher-order callable which " @@ -1349,13 +1400,14 @@ msgid "" "a :ref:`Callable `. The last parameter to " "``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``)." msgstr "" -"Se utiliza con :data:`Callable` y :class:`ParamSpec` para escribir anotar un " -"invocable de orden superior que agrega, elimina o transforma parámetros de " -"otro invocable. El uso tiene el formato ``Concatenate[Arg1Type, " -"Arg2Type, ..., ParamSpecVariable]``. Actualmente, ``Concatenate`` solo es " -"válido cuando se utiliza como primer argumento de un :data:`Callable`. El " -"último parámetro de ``Concatenate`` debe ser un :class:`ParamSpec` o unos " -"puntos suspensivos (``...``)." +"``Concatenate`` se puede utilizar junto con :ref:`Callable ` y :class:`ParamSpec` para anotar un objeto invocable de orden " +"superior que agrega, elimina o transforma parámetros de otro objeto " +"invocable. El uso se realiza en el formato ``Concatenate[Arg1Type, " +"Arg2Type, ..., ParamSpecVariable]``. ``Concatenate`` actualmente solo es " +"válido cuando se utiliza como primer argumento de un :ref:`Callable " +"`. El último parámetro de ``Concatenate`` debe ser un :" +"class:`ParamSpec` o elipsis." #: ../Doc/library/typing.rst:1128 msgid "" @@ -1376,36 +1428,33 @@ msgstr "" "que se pasan en ::" #: ../Doc/library/typing.rst:1167 ../Doc/library/typing.rst:1925 -#, fuzzy msgid "" ":pep:`612` -- Parameter Specification Variables (the PEP which introduced " "``ParamSpec`` and ``Concatenate``)" msgstr "" ":pep:`612` - Variables de especificación de parámetros (el PEP que introdujo " -"``ParamSpec`` y ``Concatenate``)." +"``ParamSpec`` y ``Concatenate``)" #: ../Doc/library/typing.rst:1169 -#, fuzzy msgid ":class:`ParamSpec`" -msgstr ":class:`ParamSpec` y :class:`Callable`." +msgstr ":class:`ParamSpec`" #: ../Doc/library/typing.rst:1170 ../Doc/library/typing.rst:1928 msgid ":ref:`annotating-callables`" -msgstr "" +msgstr ":ref:`annotating-callables`" #: ../Doc/library/typing.rst:1174 msgid "Special typing form to define \"literal types\"." -msgstr "" +msgstr "Tipo especial que solo incluye cadenas literales." #: ../Doc/library/typing.rst:1176 -#, fuzzy msgid "" "``Literal`` can be used to indicate to type checkers that the annotated " "object has a value equivalent to one of the provided literals." msgstr "" -"Un tipo que puede ser utilizado para indicar a los validadores de tipos que " -"una variable o un parámetro de una función tiene un valor equivalente al " -"valor literal proveído (o uno de los proveídos). Por ejemplo::" +"``Literal`` se puede utilizar para indicar a los validadores de tipos que el " +"objeto anotado tiene un valor equivalente a uno de los literales " +"proporcionados." #: ../Doc/library/typing.rst:1192 msgid "" @@ -1468,12 +1517,16 @@ msgstr "" #: ../Doc/library/typing.rst:1232 msgid "Special typing construct to indicate final names to type checkers." msgstr "" +"Construcción de tipado especial para indicar nombres finales a los " +"validadores de tipos." #: ../Doc/library/typing.rst:1234 msgid "" "Final names cannot be reassigned in any scope. Final names declared in class " "scopes cannot be overridden in subclasses." msgstr "" +"Los nombres finales no se pueden reasignar en ningún ámbito. Los nombres " +"finales declarados en ámbitos de clase no se pueden anular en subclases." #: ../Doc/library/typing.rst:1248 ../Doc/library/typing.rst:2829 msgid "" @@ -1484,23 +1537,26 @@ msgstr "" "pep:`591` para más detalles." #: ../Doc/library/typing.rst:1255 -#, fuzzy msgid "Special typing construct to mark a :class:`TypedDict` key as required." -msgstr "Construcción especial para tipado para marcar variables de clase." +msgstr "" +"Construcción de tipado especial para marcar una clave :class:`TypedDict` " +"como requerida." #: ../Doc/library/typing.rst:1257 -#, fuzzy msgid "" "This is mainly useful for ``total=False`` TypedDicts. See :class:`TypedDict` " "and :pep:`655` for more details." -msgstr "Véase :class:`TypedDict` y :pep:`655` para más detalle." +msgstr "" +"Esto es útil principalmente para TypedDicts ``total=False``. Vea :class:" +"`TypedDict` y :pep:`655` para obtener más detalles." #: ../Doc/library/typing.rst:1264 -#, fuzzy msgid "" "Special typing construct to mark a :class:`TypedDict` key as potentially " "missing." -msgstr "Construcción especial para tipado para marcar variables de clase." +msgstr "" +"Construcción de tipado especial para marcar una clave :class:`TypedDict` " +"como potencialmente faltante." #: ../Doc/library/typing.rst:1267 msgid "See :class:`TypedDict` and :pep:`655` for more details." @@ -1509,6 +1565,8 @@ msgstr "Véase :class:`TypedDict` y :pep:`655` para más detalle." #: ../Doc/library/typing.rst:1273 msgid "Special typing form to add context-specific metadata to an annotation." msgstr "" +"Forma de escritura especial para agregar metadatos específicos del contexto " +"a una anotación." #: ../Doc/library/typing.rst:1275 msgid "" @@ -1517,6 +1575,11 @@ msgid "" "static analysis tools or at runtime. At runtime, the metadata is stored in " "a :attr:`!__metadata__` attribute." msgstr "" +"Agregue metadatos ``x`` a un tipo ``T`` determinado mediante la anotación " +"``Annotated[T, x]``. Los metadatos agregados mediante ``Annotated`` pueden " +"usarse con herramientas de análisis estático o en tiempo de ejecución. En " +"tiempo de ejecución, los metadatos se almacenan en un atributo :attr:`!" +"__metadata__`." #: ../Doc/library/typing.rst:1280 msgid "" @@ -1526,6 +1589,11 @@ msgid "" "that wants to use annotations for purposes outside Python's static typing " "system." msgstr "" +"Si una biblioteca o herramienta encuentra una anotación ``Annotated[T, x]`` " +"y no tiene una lógica especial para los metadatos, debe ignorar los " +"metadatos y simplemente tratar la anotación como ``T``. Como tal, " +"``Annotated`` puede ser útil para el código que desea usar anotaciones para " +"fines fuera del sistema de tipado estático de Python." #: ../Doc/library/typing.rst:1286 msgid "" @@ -1536,145 +1604,151 @@ msgid "" "outside the scope of the typing system, but completely disables typechecking " "for a function or class." msgstr "" +"El uso de ``Annotated[T, x]`` como anotación aún permite la verificación de " +"tipos estática de ``T``, ya que los validadores de tipos simplemente " +"ignorarán los metadatos ``x``. De esta manera, ``Annotated`` difiere del " +"decorador :func:`@no_type_check `, que también se puede usar " +"para agregar anotaciones fuera del alcance del sistema de tipado, pero " +"deshabilita por completo la verificación de tipos para una función o clase." #: ../Doc/library/typing.rst:1293 -#, fuzzy msgid "" "The responsibility of how to interpret the metadata lies with the the tool " "or library encountering an ``Annotated`` annotation. A tool or library " "encountering an ``Annotated`` type can scan through the metadata elements to " "determine if they are of interest (e.g., using :func:`isinstance`)." msgstr "" -"En última instancia, la responsabilidad de cómo interpretar las anotaciones " -"(si es que la hay) es de la herramienta o librería que encuentra el tipo " -"``Annotated``. Una herramienta o librería que encuentra un tipo " -"``Annotated`` puede escanear las anotaciones para determinar si son de " -"interés. (por ejemplo, usando ``isinstance()``)." +"La responsabilidad de cómo interpretar los metadatos recae en la herramienta " +"o biblioteca que encuentre la anotación ``Annotated``. Una herramienta o " +"biblioteca que encuentra un tipo ``Annotated`` puede examinar los elementos " +"de metadatos para determinar si son de interés (por ejemplo, utilizando :" +"func:`isinstance`)." #: ../Doc/library/typing.rst:1301 msgid "" "Here is an example of how you might use ``Annotated`` to add metadata to " "type annotations if you were doing range analysis:" msgstr "" +"A continuación se muestra un ejemplo de cómo podría utilizar ``Annotated`` " +"para agregar metadatos a las anotaciones de tipo si estuviera realizando un " +"análisis de rango:" #: ../Doc/library/typing.rst:1314 -#, fuzzy msgid "Details of the syntax:" -msgstr "Los detalles de la sintaxis:" +msgstr "Detalles de la sintaxis:" #: ../Doc/library/typing.rst:1316 msgid "The first argument to ``Annotated`` must be a valid type" msgstr "El primer argumento en ``Annotated`` debe ser un tipo válido" #: ../Doc/library/typing.rst:1318 -#, fuzzy msgid "" "Multiple metadata elements can be supplied (``Annotated`` supports variadic " "arguments)::" msgstr "" -"Se permiten varias anotaciones de tipo (``Annotated`` admite argumentos " -"variádicos)::" +"Se pueden proporcionar varios elementos de metadatos (``Annotated`` admite " +"argumentos variádicos):" #: ../Doc/library/typing.rst:1327 -#, fuzzy msgid "" "It is up to the tool consuming the annotations to decide whether the client " "is allowed to add multiple metadata elements to one annotation and how to " "merge those annotations." msgstr "" "Depende de la herramienta que consume las anotaciones decidir si el cliente " -"puede tener varias anotaciones en un tipo y cómo combinar esas anotaciones." +"puede agregar varios elementos de metadatos a una anotación y cómo fusionar " +"esas anotaciones." #: ../Doc/library/typing.rst:1331 -#, fuzzy msgid "" "``Annotated`` must be subscripted with at least two arguments " "( ``Annotated[int]`` is not valid)" msgstr "" -"``Annotated`` debe ser llamado con al menos dos argumentos " -"(``Annotated[int]`` no es válido)" +"``Annotated`` debe estar subscrito con al menos dos argumentos " +"( ``Annotated[int]`` no es válido)" #: ../Doc/library/typing.rst:1334 -#, fuzzy msgid "" "The order of the metadata elements is preserved and matters for equality " "checks::" msgstr "" -"Se mantiene el orden de las anotaciones y se toma en cuenta para chequeos de " -"igualdad::" +"El orden de los elementos de metadatos se conserva y es importante para las " +"comprobaciones de igualdad::" #: ../Doc/library/typing.rst:1341 -#, fuzzy msgid "" "Nested ``Annotated`` types are flattened. The order of the metadata elements " "starts with the innermost annotation::" msgstr "" -"Los tipos ``Annotated`` anidados son aplanados con los metadatos ordenados " -"empezando por la anotación más interna::" +"Los tipos anidados ``Annotated`` se aplanan. El orden de los elementos de " +"metadatos comienza con la anotación más interna::" #: ../Doc/library/typing.rst:1348 -#, fuzzy msgid "Duplicated metadata elements are not removed::" -msgstr "Anotaciones duplicadas no son removidas::" +msgstr "Los elementos de metadatos duplicados no se eliminan:" #: ../Doc/library/typing.rst:1354 -#, fuzzy msgid "``Annotated`` can be used with nested and generic aliases:" -msgstr "``Anotated`` puede ser usado con alias anidados y genéricos::" +msgstr "``Annotated`` se puede utilizar con alias anidados y genéricos:" #: ../Doc/library/typing.rst:1368 -#, fuzzy msgid "``Annotated`` cannot be used with an unpacked :class:`TypeVarTuple`::" -msgstr "``Anotated`` puede ser usado con alias anidados y genéricos::" +msgstr "" +"No se puede utilizar ``Annotated`` con un :class:`TypeVarTuple` " +"descomprimido::" #: ../Doc/library/typing.rst:1372 -#, fuzzy msgid "This would be equivalent to::" -msgstr "Esto es equivalente a::" +msgstr "Esto sería equivalente a:" #: ../Doc/library/typing.rst:1376 msgid "" "where ``T1``, ``T2``, etc. are :class:`TypeVars `. This would be " "invalid: only one type should be passed to Annotated." msgstr "" +"donde ``T1``, ``T2``, etc. son :class:`TypeVars `. Esto no sería " +"válido: solo se debe pasar un tipo a ``Annotated``." #: ../Doc/library/typing.rst:1379 msgid "" "By default, :func:`get_type_hints` strips the metadata from annotations. " "Pass ``include_extras=True`` to have the metadata preserved:" msgstr "" +"De forma predeterminada, :func:`get_type_hints` elimina los metadatos de las " +"anotaciones. Pase ``include_extras=True`` para conservar los metadatos:" #: ../Doc/library/typing.rst:1392 msgid "" "At runtime, the metadata associated with an ``Annotated`` type can be " "retrieved via the :attr:`!__metadata__` attribute:" msgstr "" +"En tiempo de ejecución, los metadatos asociados con un tipo ``Annotated`` se " +"pueden recuperar a través del atributo :attr:`!__metadata__`:" #: ../Doc/library/typing.rst:1406 -#, fuzzy msgid ":pep:`593` - Flexible function and variable annotations" -msgstr ":pep:`593`: Anotaciones flexibles para funciones y variables" +msgstr ":pep:`593` - Anotaciones flexibles de funciones y variables" #: ../Doc/library/typing.rst:1407 msgid "The PEP introducing ``Annotated`` to the standard library." -msgstr "" +msgstr "El PEP introduce ``Annotated`` en la biblioteca estándar." #: ../Doc/library/typing.rst:1414 -#, fuzzy msgid "Special typing construct for marking user-defined type guard functions." -msgstr "Construcción especial para tipado para marcar variables de clase." +msgstr "" +"Construcción de tipado especial para marcar funciones de protección de tipo " +"definidas por el usuario." #: ../Doc/library/typing.rst:1416 -#, fuzzy msgid "" "``TypeGuard`` can be used to annotate the return type of a user-defined type " "guard function. ``TypeGuard`` only accepts a single type argument. At " "runtime, functions marked this way should return a boolean." msgstr "" -"Formulario de mecanografía especial utilizado para anotar el tipo de retorno " -"de una función de protección de tipo definida por el usuario. ``TypeGuard`` " -"solo acepta un argumento de tipo único. En tiempo de ejecución, las " -"funciones marcadas de esta manera deberían retornar un booleano." +"``TypeGuard`` se puede utilizar para anotar el tipo de retorno de una " +"función de protección de tipo definida por el usuario. ``TypeGuard`` solo " +"acepta un único argumento de tipo. En tiempo de ejecución, las funciones " +"marcadas de esta manera deben devolver un valor booleano." #: ../Doc/library/typing.rst:1420 msgid "" @@ -1685,7 +1759,7 @@ msgid "" "conditional expression here is sometimes referred to as a \"type guard\"::" msgstr "" "``TypeGuard`` tiene como objetivo beneficiar a *type narrowing*, una técnica " -"utilizada por los verificadores de tipo estático para determinar un tipo más " +"utilizada por los validadores de tipo estático para determinar un tipo más " "preciso de una expresión dentro del flujo de código de un programa. Por lo " "general, el estrechamiento de tipos se realiza analizando el flujo de código " "condicional y aplicando el estrechamiento a un bloque de código. La " @@ -1699,15 +1773,15 @@ msgid "" msgstr "" "A veces sería conveniente utilizar una función booleana definida por el " "usuario como protección de tipos. Dicha función debería usar " -"``TypeGuard[...]`` como su tipo de retorno para alertar a los verificadores " -"de tipo estático sobre esta intención." +"``TypeGuard[...]`` como su tipo de retorno para alertar a los validadores de " +"tipo estático sobre esta intención." #: ../Doc/library/typing.rst:1439 msgid "" "Using ``-> TypeGuard`` tells the static type checker that for a given " "function:" msgstr "" -"El uso de ``-> TypeGuard`` le dice al verificador de tipo estático que para " +"El uso de ``-> TypeGuard`` le dice al validador de tipo estático que para " "una función determinada:" #: ../Doc/library/typing.rst:1442 @@ -1767,31 +1841,30 @@ msgstr "" #: ../Doc/library/typing.rst:1483 msgid "Typing operator to conceptually mark an object as having been unpacked." msgstr "" +"Tipado para marcar conceptualmente un objeto como si hubiera sido " +"desempaquetado." #: ../Doc/library/typing.rst:1485 -#, fuzzy msgid "" "For example, using the unpack operator ``*`` on a :class:`type variable " "tuple ` is equivalent to using ``Unpack`` to mark the type " "variable tuple as having been unpacked::" msgstr "" -"Un operador de tipado que conceptualmente marca en un objeto el hecho de " -"haber sido desempaquetado. Por ejemplo, el uso del operador de " -"desempaquetado ``*`` en una :class:`type variable tuple ` es " -"equivalente al uso de ``Unpack`` para marcar en una tupla de variables de " -"tipo el haber sido desempaquetada::" +"Por ejemplo, usar el operador de desempaquetamiento ``*`` en una :class:" +"`tupla de variable de tipo ` es equivalente a usar ``Unpack`` " +"para marcar la tupla de variable de tipo como desempaquetada::" #: ../Doc/library/typing.rst:1494 -#, fuzzy msgid "" "In fact, ``Unpack`` can be used interchangeably with ``*`` in the context " "of :class:`typing.TypeVarTuple ` and :class:`builtins.tuple " "` types. You might see ``Unpack`` being used explicitly in older " "versions of Python, where ``*`` couldn't be used in certain places::" msgstr "" -"De hecho, es posible utilizar ``Unpack`` indistintamente de ``*`` en el " -"contexto de tipos. ``Unpack`` puede ser visto siendo usado explícitamente en " -"versiones más antiguas de Python, donde ``*`` no podía ser usado en ciertos " +"De hecho, ``Unpack`` se puede usar indistintamente con ``*`` en el contexto " +"de los tipos :class:`typing.TypeVarTuple ` y :class:`builtins." +"tuple `. Es posible que veas que ``Unpack`` se usa explícitamente en " +"versiones anteriores de Python, donde ``*`` no se podía usar en ciertos " "lugares::" #: ../Doc/library/typing.rst:1508 @@ -1799,26 +1872,29 @@ msgid "" "``Unpack`` can also be used along with :class:`typing.TypedDict` for typing " "``**kwargs`` in a function signature::" msgstr "" +"``Unpack`` también se puede usar junto con :class:`typing.TypedDict` para " +"tipear ``**kwargs`` en una firma de función::" #: ../Doc/library/typing.rst:1521 msgid "" "See :pep:`692` for more details on using ``Unpack`` for ``**kwargs`` typing." msgstr "" +"Consulte :pep:`692` para obtener más información sobre el uso de ``Unpack`` " +"para tipear ``**kwargs``." #: ../Doc/library/typing.rst:1526 -#, fuzzy msgid "Building generic types and type aliases" -msgstr "Construir tipos genéricos" +msgstr "Creación de tipos genéricos y alias de tipos" #: ../Doc/library/typing.rst:1528 -#, fuzzy msgid "" "The following classes should not be used directly as annotations. Their " "intended purpose is to be building blocks for creating generic types and " "type aliases." msgstr "" -"Estos no son utilizados en anotaciones. Son utilizados como bloques para " -"crear tipos genéricos." +"Las siguientes clases no se deben utilizar directamente como anotaciones. Su " +"finalidad es servir de bloques de construcción para crear tipos genéricos y " +"alias de tipos." #: ../Doc/library/typing.rst:1532 msgid "" @@ -1827,6 +1903,10 @@ msgid "" "with Python 3.11 and earlier, they can also be created without the dedicated " "syntax, as documented below." msgstr "" +"Estos objetos se pueden crear mediante una sintaxis especial (:ref:`type " +"parameter lists ` y la declaración :keyword:`type`). Para " +"compatibilidad con Python 3.11 y versiones anteriores, también se pueden " +"crear sin la sintaxis dedicada, como se documenta a continuación." #: ../Doc/library/typing.rst:1539 msgid "Abstract base class for generic types." @@ -1837,12 +1917,17 @@ msgid "" "A generic type is typically declared by adding a list of type parameters " "after the class name::" msgstr "" +"Un tipo genérico normalmente se declara agregando una lista de parámetros de " +"tipo después del nombre de la clase:" #: ../Doc/library/typing.rst:1549 msgid "" "Such a class implicitly inherits from ``Generic``. The runtime semantics of " "this syntax are discussed in the :ref:`Language Reference `." msgstr "" +"Esta clase hereda implícitamente de ``Generic``. La semántica de tiempo de " +"ejecución de esta sintaxis se analiza en la :ref:`Referencia del lenguaje " +"`." #: ../Doc/library/typing.rst:1553 msgid "This class can then be used as follows::" @@ -1853,6 +1938,8 @@ msgid "" "Here the brackets after the function name indicate a :ref:`generic function " "`." msgstr "" +"Aquí los corchetes después del nombre de la función indican una :ref:" +"`función genérica `." #: ../Doc/library/typing.rst:1564 msgid "" @@ -1860,6 +1947,9 @@ msgid "" "explicitly inheriting from ``Generic``. In this case, the type parameters " "must be declared separately::" msgstr "" +"Para compatibilidad con versiones anteriores, las clases genéricas también " +"se pueden declarar heredando explícitamente de ``Generic``. En este caso, " +"los parámetros de tipo se deben declarar por separado:" #: ../Doc/library/typing.rst:1579 msgid "Type variable." @@ -1871,31 +1961,38 @@ msgid "" "for :ref:`generic functions `, :ref:`generic classes " "`, and :ref:`generic type aliases `::" msgstr "" +"La forma preferida de construir una variable de tipo es a través de la " +"sintaxis dedicada para :ref:`funciones genéricas `, :ref:" +"`clases genéricas ` y :ref:`alias de tipo genérico `::" #: ../Doc/library/typing.rst:1589 msgid "" "This syntax can also be used to create bound and constrained type variables::" msgstr "" +"Esta sintaxis también se puede utilizar para crear variables de tipo " +"enlazadas y restringidas:" #: ../Doc/library/typing.rst:1599 msgid "" "However, if desired, reusable type variables can also be constructed " "manually, like so::" msgstr "" +"Sin embargo, si se desea, también se pueden construir manualmente variables " +"de tipo reutilizables, de la siguiente manera:" #: ../Doc/library/typing.rst:1605 -#, fuzzy msgid "" "Type variables exist primarily for the benefit of static type checkers. " "They serve as the parameters for generic types as well as for generic " "function and type alias definitions. See :class:`Generic` for more " "information on generic types. Generic functions work as follows::" msgstr "" -"Las variables de tipo son principalmente para ayudar a los validadores " -"estáticos de tipos. Sirven tanto como de parámetros para tipos genéricos " -"como para definición de funciones genéricas. Véase :class:`Generic` para más " -"información sobre tipos genéricos. Las funciones genéricas funcionan de la " -"siguiente manera::" +"Las variables de tipo existen principalmente para el beneficio de los " +"validadores de tipos estáticos. Sirven como parámetros para tipos genéricos, " +"así como para definiciones de alias de tipo y funciones genéricas. Consulte :" +"class:`Generic` para obtener más información sobre tipos genéricos. Las " +"funciones genéricas funcionan de la siguiente manera::" #: ../Doc/library/typing.rst:1626 msgid "" @@ -1915,6 +2012,13 @@ msgid "" "or ``contravariant=True``. By default, manually created type variables are " "invariant. See :pep:`484` and :pep:`695` for more details." msgstr "" +"La varianza de las variables de tipo es inferida por los validadores de tipo " +"cuando se crean a través de la :ref:`sintáxis de parámetros de tipo ` o cuando se pasa ``infer_variance=True``. Las variables de tipo " +"creadas manualmente se pueden marcar explícitamente como covariantes o " +"contravariantes al pasar ``covariant=True`` o ``contravariant=True``. De " +"manera predeterminada, las variables de tipo creadas manualmente son " +"invariantes. Consulte :pep:`484` y :pep:`695` para obtener más detalles." #: ../Doc/library/typing.rst:1637 msgid "" @@ -1946,29 +2050,29 @@ msgstr "" #: ../Doc/library/typing.rst:1675 msgid "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`." -msgstr "" +msgstr "En tiempo de ejecución, ``isinstance(x, T)`` lanzará :exc:`TypeError`." #: ../Doc/library/typing.rst:1679 -#, fuzzy msgid "The name of the type variable." -msgstr "Variable de tipo." +msgstr "El nombre de la variable de tipo." #: ../Doc/library/typing.rst:1683 msgid "Whether the type var has been explicitly marked as covariant." -msgstr "" +msgstr "Si la variable de tipo ha sido marcado explícitamente como covariante." #: ../Doc/library/typing.rst:1687 msgid "Whether the type var has been explicitly marked as contravariant." -msgstr "" +msgstr "Si la variable de tipo ha sido marcado explícitamente como covariante." #: ../Doc/library/typing.rst:1691 msgid "" "Whether the type variable's variance should be inferred by type checkers." msgstr "" +"Si los validadores de tipo deben inferir la variación de la variable de tipo." #: ../Doc/library/typing.rst:1697 msgid "The bound of the type variable, if any." -msgstr "" +msgstr "El límite de la variable de tipo, si existe." #: ../Doc/library/typing.rst:1701 msgid "" @@ -1976,10 +2080,15 @@ msgid "" "params>`, the bound is evaluated only when the attribute is accessed, not " "when the type variable is created (see :ref:`lazy-evaluation`)." msgstr "" +"Para las variables de tipo creadas a través de :ref:`sintáxis de parámetros " +"de tipo `, el límite se evalúa solo cuando se accede al " +"atributo, no cuando se crea la variable de tipo (consulte :ref:`lazy-" +"evaluation`)." #: ../Doc/library/typing.rst:1707 msgid "A tuple containing the constraints of the type variable, if any." msgstr "" +"Una tupla que contiene las restricciones de la variable de tipo, si las hay." #: ../Doc/library/typing.rst:1711 msgid "" @@ -1987,6 +2096,10 @@ msgid "" "params>`, the constraints are evaluated only when the attribute is accessed, " "not when the type variable is created (see :ref:`lazy-evaluation`)." msgstr "" +"Para las variables de tipo creadas a través de la :ref:`sintáxis de " +"parámetros de tipo `, las restricciones se evalúan solo cuando " +"se accede al atributo, no cuando se crea la variable de tipo (consulte :ref:" +"`lazy-evaluation`)." #: ../Doc/library/typing.rst:1717 msgid "" @@ -1994,6 +2107,9 @@ msgid "" "params>` syntax introduced by :pep:`695`. The ``infer_variance`` parameter " "was added." msgstr "" +"Ahora es posible declarar variables de tipo utilizando la sintaxis de :ref:" +"`parámetros de tipo ` introducida por :pep:`695`. Se agregó el " +"parámetro ``infer_variance``." #: ../Doc/library/typing.rst:1723 msgid "" @@ -2008,10 +2124,13 @@ msgid "" "Type variable tuples can be declared in :ref:`type parameter lists ` using a single asterisk (``*``) before the name::" msgstr "" +"Las tuplas de variables de tipo se pueden declarar en :ref:`listas de " +"parámetros de tipo ` usando un solo asterisco (``*``) antes del " +"nombre::" #: ../Doc/library/typing.rst:1732 msgid "Or by explicitly invoking the ``TypeVarTuple`` constructor::" -msgstr "" +msgstr "O invocando explícitamente el constructor ``TypeVarTuple``::" #: ../Doc/library/typing.rst:1740 msgid "" @@ -2041,17 +2160,14 @@ msgstr "" "en versiones más antiguas de Python, ésto puede verse escrito usando en " "cambio :data:`Unpack `, en la forma ``Unpack[Ts]``.)" -# Esta coma es válida en español? en mi mente hace sentido porque me permite -# separar los dos sustantivos, en el mar de "de" que hay #: ../Doc/library/typing.rst:1770 -#, fuzzy msgid "" "Type variable tuples must *always* be unpacked. This helps distinguish type " "variable tuples from normal type variables::" msgstr "" -"Las tuplas de variables de tipo *siempre* deben ser desempaquetadas. Esto " -"ayuda a distinguir tuplas de variables de tipos, de variables de tipo " -"normales::" +"Las tuplas de variables de tipo *siempre* deben descomprimirse. Esto ayuda a " +"distinguir las tuplas de variables de tipo, de las variables de tipo " +"normales:" #: ../Doc/library/typing.rst:1777 msgid "" @@ -2063,12 +2179,11 @@ msgstr "" "clases, argumentos y tipos de retorno::" #: ../Doc/library/typing.rst:1785 -#, fuzzy msgid "" "Type variable tuples can be happily combined with normal type variables:" msgstr "" -"Las tuplas de variables de tipo pueden ser combinadas sin problema con " -"variables de tipo normales::" +"Las tuplas de variables de tipo se pueden combinar sin problemas con " +"variables de tipo normales:" #: ../Doc/library/typing.rst:1801 msgid "" @@ -2109,13 +2224,15 @@ msgstr "" #: ../Doc/library/typing.rst:1829 msgid "The name of the type variable tuple." -msgstr "" +msgstr "El nombre de la tupla de variables de tipo." #: ../Doc/library/typing.rst:1835 msgid "" "Type variable tuples can now be declared using the :ref:`type parameter " "` syntax introduced by :pep:`695`." msgstr "" +"Ahora es posible declarar tuplas de variables de tipo utilizando la sintaxis " +"de :ref:`parámetros de tipo ` introducida por :pep:`695`." #: ../Doc/library/typing.rst:1840 msgid "" @@ -2130,12 +2247,17 @@ msgid "" "In :ref:`type parameter lists `, parameter specifications can " "be declared with two asterisks (``**``)::" msgstr "" +"En las :ref:`listas de parámetros de tipo `, las " +"especificaciones de parámetros se pueden declarar con dos asteriscos " +"(``**``)::" #: ../Doc/library/typing.rst:1848 msgid "" "For compatibility with Python 3.11 and earlier, ``ParamSpec`` objects can " "also be created as follows::" msgstr "" +"Para compatibilidad con Python 3.11 y versiones anteriores, los objetos " +"``ParamSpec`` también se pueden crear de la siguiente manera:" #: ../Doc/library/typing.rst:1853 msgid "" @@ -2147,8 +2269,8 @@ msgid "" "See :class:`Generic` for more information on generic types." msgstr "" "Las variables de especificación de parámetros existen principalmente para el " -"beneficio de los verificadores de tipo estático. Se utilizan para reenviar " -"los tipos de parámetros de un invocable a otro invocable, un patrón que se " +"beneficio de los validadores de tipo estático. Se utilizan para reenviar los " +"tipos de parámetros de un invocable a otro invocable, un patrón que se " "encuentra comúnmente en funciones y decoradores de orden superior. Solo son " "válidos cuando se utilizan en ``Concatenate``, o como primer argumento de " "``Callable``, o como parámetros para genéricos definidos por el usuario. " @@ -2163,9 +2285,9 @@ msgid "" msgstr "" "Por ejemplo, para agregar un registro básico a una función, se puede crear " "un decorador ``add_logging`` para registrar llamadas a funciones. La " -"variable de especificación de parámetros le dice al verificador de tipo que " -"el invocable pasado al decorador y el nuevo invocable retornado por él " -"tienen parámetros de tipo interdependientes:" +"variable de especificación de parámetros le dice al validador de tipo que el " +"invocable pasado al decorador y el nuevo invocable retornado por él tienen " +"parámetros de tipo interdependientes:" #: ../Doc/library/typing.rst:1880 msgid "" @@ -2182,7 +2304,7 @@ msgid "" "The type checker can't type check the ``inner`` function because ``*args`` " "and ``**kwargs`` have to be typed :data:`Any`." msgstr "" -"El verificador de tipo no puede verificar la función ``inner`` porque " +"El validador de tipo no puede verificar la función ``inner`` porque " "``*args`` y ``**kwargs`` deben escribirse :data:`Any`." #: ../Doc/library/typing.rst:1886 @@ -2193,7 +2315,7 @@ msgid "" msgstr "" "Es posible que se requiera :func:`~cast` en el cuerpo del decorador " "``add_logging`` al retornar la función ``inner``, o se debe indicar al " -"verificador de tipo estático que ignore el ``return inner``." +"validador de tipo estático que ignore el ``return inner``." #: ../Doc/library/typing.rst:1893 msgid "" @@ -2220,7 +2342,7 @@ msgstr "" #: ../Doc/library/typing.rst:1905 msgid "The name of the parameter specification." -msgstr "" +msgstr "El nombre de la especificación del parámetro." #: ../Doc/library/typing.rst:1907 msgid "" @@ -2241,6 +2363,9 @@ msgid "" "Parameter specifications can now be declared using the :ref:`type parameter " "` syntax introduced by :pep:`695`." msgstr "" +"Las especificaciones de parámetros ahora se pueden declarar utilizando la " +"sintaxis de :ref:`parámetros de tipo ` introducida por :pep:" +"`695`." #: ../Doc/library/typing.rst:1921 msgid "" @@ -2252,7 +2377,7 @@ msgstr "" #: ../Doc/library/typing.rst:1927 msgid ":data:`Concatenate`" -msgstr "" +msgstr ":data:`Concatenate`" #: ../Doc/library/typing.rst:1933 msgid "" @@ -2265,10 +2390,9 @@ msgstr "" "`ParamSpec`. El atributo ``P.args`` de un ``ParamSpec`` es una instancia de " "``ParamSpecArgs`` y ``P.kwargs`` es una instancia de ``ParamSpecKwargs``. " "Están pensados para la introspección en tiempo de ejecución y no tienen un " -"significado especial para los verificadores de tipo estático." +"significado especial para los validadores de tipo estático." #: ../Doc/library/typing.rst:1938 -#, fuzzy msgid "" "Calling :func:`get_origin` on either of these objects will return the " "original ``ParamSpec``:" @@ -2279,20 +2403,23 @@ msgstr "" #: ../Doc/library/typing.rst:1955 msgid "The type of type aliases created through the :keyword:`type` statement." msgstr "" +"El tipo de alias de tipo creado a través de la declaración :keyword:`type`." #: ../Doc/library/typing.rst:1969 msgid "The name of the type alias:" -msgstr "" +msgstr "El nombre del alias de tipo:" #: ../Doc/library/typing.rst:1979 msgid "The module in which the type alias was defined::" -msgstr "" +msgstr "El módulo en el que se definió el alias de tipo::" #: ../Doc/library/typing.rst:1987 msgid "" "The type parameters of the type alias, or an empty tuple if the alias is not " "generic:" msgstr "" +"Los parámetros de tipo del alias de tipo, o una tupla vacía si el alias no " +"es genérico:" #: ../Doc/library/typing.rst:2001 msgid "" @@ -2300,20 +2427,23 @@ msgid "" "so names used in the definition of the alias are not resolved until the " "``__value__`` attribute is accessed:" msgstr "" +"El valor del alias de tipo. Se :ref:`evalúa de forma diferida `, por lo que los nombres utilizados en la definición del alias " +"no se resuelven hasta que se accede al atributo ``__value__``:" #: ../Doc/library/typing.rst:2019 msgid "Other special directives" msgstr "Otras directivas especiales" #: ../Doc/library/typing.rst:2021 -#, fuzzy msgid "" "These functions and classes should not be used directly as annotations. " "Their intended purpose is to be building blocks for creating and declaring " "types." msgstr "" -"Estos no son utilizados en anotaciones. Son utilizados como bloques para " -"crear tipos genéricos." +"Estas funciones y clases no se deben utilizar directamente como anotaciones. " +"Su finalidad es servir de bloques de construcción para crear y declarar " +"tipos." #: ../Doc/library/typing.rst:2027 msgid "Typed version of :func:`collections.namedtuple`." @@ -2402,44 +2532,41 @@ msgstr "Se agrega soporte para *namedtuples* genéricas." #: ../Doc/library/typing.rst:2101 msgid "Helper class to create low-overhead :ref:`distinct types `." msgstr "" +"Clase auxiliar para crear :ref:`tipos distintos ` con bajo consumo " +"de recursos." #: ../Doc/library/typing.rst:2103 -#, fuzzy msgid "" "A ``NewType`` is considered a distinct type by a typechecker. At runtime, " "however, calling a ``NewType`` returns its argument unchanged." msgstr "" -"Una clase auxiliar para indicar un tipo diferenciado a un comprobador de " -"tipos, consulte :ref:`distinct`. En tiempo de ejecución, retorna un objeto " -"que retorna su argumento cuando se llama. Uso::" +"Un validador de tipos considera que un ``NewType`` es un tipo distinto. Sin " +"embargo, en tiempo de ejecución, llamar a un ``NewType`` devuelve su " +"argumento sin cambios." #: ../Doc/library/typing.rst:2113 msgid "The module in which the new type is defined." -msgstr "" +msgstr "El módulo en el que se define el nuevo tipo." #: ../Doc/library/typing.rst:2117 msgid "The name of the new type." -msgstr "" +msgstr "El nombre del nuevo tipo." #: ../Doc/library/typing.rst:2121 msgid "The type that the new type is based on." -msgstr "" +msgstr "El tipo en el que se basa el nuevo tipo." #: ../Doc/library/typing.rst:2125 msgid "``NewType`` is now a class rather than a function." msgstr "``NewType`` es ahora una clase en lugar de una función." #: ../Doc/library/typing.rst:2130 -#, fuzzy msgid "Base class for protocol classes." -msgstr "" -"Clase base para clases protocolo. Las clases protocolo se definen así::" +msgstr "Clase base para clases de protocolo." #: ../Doc/library/typing.rst:2132 -#, fuzzy msgid "Protocol classes are defined like this::" -msgstr "" -"Clase base para clases protocolo. Las clases protocolo se definen así::" +msgstr "Las clases de protocolo se definen así::" #: ../Doc/library/typing.rst:2138 msgid "" @@ -2470,6 +2597,8 @@ msgid "" "In code that needs to be compatible with Python 3.11 or older, generic " "Protocols can be written as follows::" msgstr "" +"En el código que necesita ser compatible con Python 3.11 o anterior, los " +"protocolos genéricos se pueden escribir de la siguiente manera:" #: ../Doc/library/typing.rst:2174 msgid "Mark a protocol class as a runtime protocol." @@ -2492,7 +2621,6 @@ msgstr "" "`Iterable`. Por ejemplo::" #: ../Doc/library/typing.rst:2196 -#, fuzzy msgid "" ":func:`!runtime_checkable` will check only the presence of the required " "methods or attributes, not their type signatures or types. For example, :" @@ -2502,12 +2630,13 @@ msgid "" "more informative message, therefore making it impossible to call " "(instantiate) :class:`ssl.SSLObject`." msgstr "" -":func:`runtime_checkable` verificará solo la presencia de los métodos " -"requeridos, no sus firmas de tipo. Por ejemplo, :class:`ssl.SSLObject` es " -"una clase, por lo que pasa una verificación :func:`issubclass` contra :data:" -"`Callable`. Sin embargo, el método :meth:`ssl.SSLObject.__init__` existe " -"solo para lanzar un :exc:`TypeError` con un mensaje más informativo, por lo " -"que es imposible llamar (instanciar) :class:`ssl.SSLObject`." +":func:`!runtime_checkable` comprobará únicamente la presencia de los métodos " +"o atributos requeridos, no sus firmas de tipo o tipos. Por ejemplo, :class:" +"`ssl.SSLObject` es una clase, por lo tanto, pasa una comprobación :func:" +"`issubclass` contra :ref:`Callable `. Sin embargo, el " +"método ``ssl.SSLObject.__init__`` existe únicamente para generar un :exc:" +"`TypeError` con un mensaje más informativo, por lo que es imposible llamar " +"(instanciar) :class:`ssl.SSLObject`." #: ../Doc/library/typing.rst:2207 msgid "" @@ -2516,6 +2645,11 @@ msgid "" "protocol class. Consider using alternative idioms such as :func:`hasattr` " "calls for structural checks in performance-sensitive code." msgstr "" +"Una verificación :func:`isinstance` contra un protocolo comprobable en " +"tiempo de ejecución puede ser sorprendentemente lenta en comparación con una " +"verificación ``isinstance()`` contra una clase que no es de protocolo. " +"Considere utilizar expresiones alternativas como llamadas :func:`hasattr` " +"para comprobaciones estructurales en código sensible al rendimiento." #: ../Doc/library/typing.rst:2215 msgid "" @@ -2526,6 +2660,14 @@ msgid "" "longer be considered instances of that protocol on Python 3.12+, and vice " "versa. Most users are unlikely to be affected by this change." msgstr "" +"La implementación interna de las comprobaciones de :func:`isinstance` con " +"protocolos que se pueden comprobar en tiempo de ejecución ahora utiliza :" +"func:`inspect.getattr_static` para buscar atributos (anteriormente, se " +"utilizaba :func:`hasattr`). Como resultado, algunos objetos que solían " +"considerarse instancias de un protocolo que se podía comprobar 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." #: ../Doc/library/typing.rst:2224 msgid "" @@ -2535,6 +2677,13 @@ msgid "" "on :func:`isinstance` checks comparing objects to the protocol. See :ref:" "`\"What's new in Python 3.12\" ` for more details." msgstr "" +"Los miembros de un protocolo que se pueden comprobar 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 que se " +"puede comprobar en tiempo de ejecución seguirá funcionando, pero no tendrá " +"ningún impacto en las comprobaciones de :func:`isinstance` que comparan " +"objetos con el protocolo. Consulte :ref:`\"¿Qué hay de nuevo en Python " +"3.12\" ` para obtener más detalles." #: ../Doc/library/typing.rst:2235 msgid "" @@ -2627,7 +2776,7 @@ msgid "" "and makes all items defined in the class body required." msgstr "" "Esto significa que un ``TypedDict`` ``Point2D`` puede tener cualquiera de " -"las llaves omitidas. Solo se espera que un verificador de tipo admita un " +"las llaves omitidas. Solo se espera que un validador de tipo admita un " "``False`` literal o ``True`` como valor del argumento ``total``. ``True`` es " "el predeterminado y hace que todos los elementos definidos en el cuerpo de " "la clase sean obligatorios." @@ -2673,6 +2822,8 @@ msgid "" "To create a generic ``TypedDict`` that is compatible with Python 3.11 or " "lower, inherit from :class:`Generic` explicitly:" msgstr "" +"Para crear un ``TypedDict`` genérico que sea compatible con Python 3.11 o " +"anterior, herede de :class:`Generic` explícitamente:" #: ../Doc/library/typing.rst:2373 msgid "" @@ -2687,11 +2838,10 @@ msgstr "" "`__optional_keys__`." #: ../Doc/library/typing.rst:2379 -#, fuzzy msgid "" "``Point2D.__total__`` gives the value of the ``total`` argument. Example:" msgstr "" -"``Point2D.__total__`` entrega el valor del argumento ``total``. Ejemplo::" +"``Point2D.__total__`` proporciona el valor del argumento ``total``. Ejemplo:" #: ../Doc/library/typing.rst:2401 msgid "" @@ -2714,7 +2864,6 @@ msgstr "" "aparecerán en ``__optional_keys__``." #: ../Doc/library/typing.rst:2407 -#, fuzzy msgid "" "For backwards compatibility with Python 3.10 and below, it is also possible " "to use inheritance to declare both required and non-required keys in the " @@ -2722,11 +2871,11 @@ msgid "" "value for the ``total`` argument and then inheriting from it in another " "``TypedDict`` with a different value for ``total``:" msgstr "" -"Para retrocompatibilidad con Python 3.10 y versiones más antiguas, es " -"posible utilizar herencia para declarar tanto las llaves requeridas como las " -"no requeridas en el mismo ``TypedDict``. Ésto se logra declarando un " -"``TypedDict`` con un valor para el argumento ``total`` y luego heredando de " -"él en otro ``TypedDict`` con un valor distinto para ``total``::" +"Para compatibilidad con versiones anteriores de Python 3.10, también es " +"posible usar la herencia para declarar claves obligatorias y no obligatorias " +"en el mismo ``TypedDict``. Esto se hace declarando un ``TypedDict`` con un " +"valor para el argumento ``total`` y luego heredando de él en otro " +"``TypedDict`` con un valor diferente para ``total``:" #: ../Doc/library/typing.rst:2430 msgid "" @@ -2752,11 +2901,12 @@ msgid "Protocols" msgstr "Protocolos" #: ../Doc/library/typing.rst:2444 -#, fuzzy msgid "" "The following protocols are provided by the typing module. All are decorated " "with :func:`@runtime_checkable `." -msgstr "Estos protocolos se decoran con :func:`runtime_checkable`." +msgstr "" +"El módulo de tipado proporciona los siguientes protocolos. Todos están " +"decorados con :func:`@runtime_checkable `." #: ../Doc/library/typing.rst:2449 msgid "" @@ -2796,7 +2946,7 @@ msgstr "" #: ../Doc/library/typing.rst:2480 msgid "ABCs for working with IO" -msgstr "" +msgstr "ABC para trabajar con IO" #: ../Doc/library/typing.rst:2486 msgid "" @@ -2816,7 +2966,6 @@ msgstr "Funciones y decoradores" msgid "Cast a value to a type." msgstr "Convertir un valor a un tipo." -# el "esto" del final queda muy colgado #: ../Doc/library/typing.rst:2498 msgid "" "This returns the value unchanged. To the type checker this signals that the " @@ -2836,21 +2985,20 @@ msgstr "" "tipo inferido." #: ../Doc/library/typing.rst:2507 -#, fuzzy msgid "" "At runtime this does nothing: it returns the first argument unchanged with " "no checks or side effects, no matter the actual type of the argument." msgstr "" -"En tiempo de ejecución, ésto retorna el primer argumento sin modificar y sin " -"efectos secundarios." +"En tiempo de ejecución esto no hace nada: devuelve el primer argumento sin " +"cambios, sin verificaciones ni efectos secundarios, sin importar el tipo " +"real del argumento." #: ../Doc/library/typing.rst:2510 -#, fuzzy msgid "" "When a static type checker encounters a call to ``assert_type()``, it emits " "an error if the value is not of the specified type::" msgstr "" -"Cuando el validador de tipos se encuentra con una llamada a " +"Cuando un validador de tipo estático encuentra una llamada a " "``assert_type()``, emite un error si el valor no es del tipo especificado::" #: ../Doc/library/typing.rst:2517 @@ -2879,9 +3027,11 @@ msgid "" "never execute, because ``arg`` is either an :class:`int` or a :class:`str`, " "and both options are covered by earlier cases." msgstr "" +"Aquí, las anotaciones permiten al validador de tipos inferir que el último " +"caso nunca puede ejecutarse, porque ``arg`` es un :class:`int` o un :class:" +"`str`, y ambas opciones están cubiertas por los casos anteriores." #: ../Doc/library/typing.rst:2549 -#, fuzzy msgid "" "If a type checker finds that a call to ``assert_never()`` is reachable, it " "will emit an error. For example, if the type annotation for ``arg`` was " @@ -2890,16 +3040,13 @@ msgid "" "``assert_never`` to pass type checking, the inferred type of the argument " "passed in must be the bottom type, :data:`Never`, and nothing else." msgstr "" -"Aquí, las anotaciones permiten al validador de tipos inferir que el último " -"caso nunca será ejecutado, porque ``arg`` es un :class:`int` o un :class:" -"`str`, y ambas opciones son cubiertas por los casos anteriores. Si un " -"validador de tipos encuentra que una llamada a ``assert_never()`` es " -"alcanzable, emitirá un error. Por ejemplo, si la anotación de tipos para " -"``arg`` fuera en cambio ``int | str | float``, el validador de tipos " -"emitiría un error señalando que ``unreachable`` es de tipo :class:`float`. " -"Para que una llamada a ``assert_never`` pase la validación de tipos, el tipo " -"inferido del argumento dado debe ser el tipo vacío, :data:`Never`, y nada " -"más." +"Si un validador de tipos encuentra que una llamada a ``assert_never()`` es " +"alcanzable, emitirá un error. Por ejemplo, si la anotación de tipo para " +"``arg`` fuese en cambio ``int | str | float``, el validador de tipos " +"emitiría un error que indicaría que ``unreachable`` es de tipo :class:" +"`float`. Para que una llamada a ``assert_never`` pase la verificación de " +"tipos, el tipo inferido del argumento pasado debe ser el tipo inferior, :" +"data:`Never`, y nada más." #: ../Doc/library/typing.rst:2557 msgid "At runtime, this throws an exception when called." @@ -2967,9 +3114,10 @@ msgid "" "Decorator to mark an object as providing :func:`dataclass `-like behavior." msgstr "" +"Decorador para marcar un objeto como si proporcionara un comportamiento " +"similar a :func:`dataclass `." #: ../Doc/library/typing.rst:2604 -#, fuzzy msgid "" "``dataclass_transform`` may be used to decorate a class, metaclass, or a " "function that is itself a decorator. The presence of " @@ -2977,17 +3125,16 @@ msgid "" "object performs runtime \"magic\" that transforms a class in a similar way " "to :func:`@dataclasses.dataclass `." msgstr "" -"Es posible utilizar :data:`~typing.dataclass_transform` para decorar una " -"clase, metaclase, o una función que es ella misma un decorador. La presencia " -"de ``@dataclass_transform()`` indica a un validador estático de tipos que el " -"objeto decorado ejecuta, en tiempo de ejecución, \"magia\" que transforma " -"una clase, dándole comportamientos similares a los que tiene :func:" -"`dataclasses.dataclass`." +"``dataclass_transform`` se puede utilizar para decorar una clase, metaclase " +"o una función que sea en sí misma un decorador. La presencia de " +"``@dataclass_transform()`` le indica al validador de tipos estáticos que el " +"objeto decorado realiza una \"magia\" en tiempo de ejecución que transforma " +"una clase de manera similar a :func:`@dataclasses.dataclass `." #: ../Doc/library/typing.rst:2611 -#, fuzzy msgid "Example usage with a decorator function:" -msgstr "Ejemplo de uso con una función-decorador::" +msgstr "Ejemplo de uso con una función decoradora:" #: ../Doc/library/typing.rst:2625 msgid "On a base class::" @@ -3039,63 +3186,58 @@ msgstr "" #: ../Doc/library/typing.rst msgid "Parameters" -msgstr "" +msgstr "Parámetros" #: ../Doc/library/typing.rst:2663 -#, fuzzy msgid "" "Indicates whether the ``eq`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``True``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``eq`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``True``." #: ../Doc/library/typing.rst:2668 -#, fuzzy msgid "" "Indicates whether the ``order`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``order`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``False``." #: ../Doc/library/typing.rst:2673 -#, fuzzy msgid "" "Indicates whether the ``kw_only`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``kw_only`` es ``True`` o ``False`` si " +"el llamador lo omite. El valor predeterminado es ``False``." #: ../Doc/library/typing.rst:2678 -#, fuzzy msgid "" "Indicates whether the ``frozen`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``. .. " "versionadded:: 3.12" msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``frozen`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``False``. .. Agregado en la " +"versión:: 3.12" #: ../Doc/library/typing.rst:2679 -#, fuzzy msgid "" "Indicates whether the ``frozen`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``frozen`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``False``." #: ../Doc/library/typing.rst:2685 -#, fuzzy msgid "" "Specifies a static list of supported classes or functions that describe " "fields, similar to :func:`dataclasses.field`. Defaults to ``()``." msgstr "" -"``field_specifiers`` (especificadores de campos) especifica una lista " -"estática de clases o funciones soportadas que describen campos, de manera " -"similar a ``dataclasses.field()``." +"Especifica una lista estática de clases o funciones admitidas que describen " +"campos, parecido con :func:`dataclasses.field`. El valor predeterminado es " +"``()``." #: ../Doc/library/typing.rst:2691 msgid "" @@ -3106,80 +3248,76 @@ msgstr "" "posibles extensiones futuras." #: ../Doc/library/typing.rst:2695 -#, fuzzy msgid "" "Type checkers recognize the following optional parameters on field " "specifiers:" msgstr "" -"Los validadores de tipos reconocen los siguientes argumentos opcionales en " -"especificadores de campos:" +"Los validadores de tipos reconocen los siguientes parámetros opcionales en " +"los especificadores de campo:" #: ../Doc/library/typing.rst:2698 msgid "**Recognised parameters for field specifiers**" -msgstr "" +msgstr "**Parámetros reconocidos para especificadores de campo**" #: ../Doc/library/typing.rst:2702 msgid "Parameter name" -msgstr "" +msgstr "Nombre del parámetro" #: ../Doc/library/typing.rst:2703 msgid "Description" -msgstr "" +msgstr "Descripción" #: ../Doc/library/typing.rst:2704 -#, fuzzy msgid "``init``" -msgstr "``typing.Text``" +msgstr "``init``" #: ../Doc/library/typing.rst:2705 -#, fuzzy msgid "" "Indicates whether the field should be included in the synthesized " "``__init__`` method. If unspecified, ``init`` defaults to ``True``." msgstr "" -"``init`` indica si el campo debe ser incluido en el método ``__init__`` " -"sintetizado. Si no es especificado, ``init`` será ``True`` por defecto." +"Indica si el campo debe incluirse en el método ``__init__`` sintetizado. Si " +"no se especifica, el valor predeterminado de ``init`` es ``True``." #: ../Doc/library/typing.rst:2708 msgid "``default``" -msgstr "" +msgstr "``default``" #: ../Doc/library/typing.rst:2709 -#, fuzzy msgid "Provides the default value for the field." -msgstr "``default`` provee el valor por defecto para el campo." +msgstr "Proporciona el valor predeterminado para el campo." #: ../Doc/library/typing.rst:2710 msgid "``default_factory``" -msgstr "" +msgstr "``default_factory``" #: ../Doc/library/typing.rst:2711 -#, fuzzy msgid "" "Provides a runtime callback that returns the default value for the field. If " "neither ``default`` nor ``default_factory`` are specified, the field is " "assumed to have no default value and must be provided a value when the class " "is instantiated." msgstr "" -"``default_factory`` provee un *callback* en tiempo de ejecución que retorna " -"el valor por defecto para el campo. Si no se especifican ``default`` ni " -"``default_factory``, se asumirá que el campo no tiene un valor por defecto y " -"que un valor debe ser provisto cuando la clase sea instanciada." +"Proporciona una retrollamada en tiempo de ejecución que devuelve el valor " +"predeterminado del campo. Si no se especifican ``default`` ni " +"``default_factory``, se supone que el campo no tiene un valor predeterminado " +"y se le debe proporcionar un valor cuando se cree una instancia de la clase." #: ../Doc/library/typing.rst:2716 msgid "``factory``" -msgstr "" +msgstr "``factory``" #: ../Doc/library/typing.rst:2717 msgid "An alias for the ``default_factory`` parameter on field specifiers." msgstr "" +"Un alias para el parámetro ``default_factory`` en los especificadores de " +"campo." #: ../Doc/library/typing.rst:2718 msgid "``kw_only``" -msgstr "" +msgstr "``kw_only``" #: ../Doc/library/typing.rst:2719 -#, fuzzy msgid "" "Indicates whether the field should be marked as keyword-only. If ``True``, " "the field will be keyword-only. If ``False``, it will not be keyword-only. " @@ -3188,28 +3326,27 @@ msgid "" "unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " "will be used." msgstr "" -"``kw_only`` indica si el campo debe ser marcado como exclusivamente de " -"palabra clave. Si es ``True``, el campo será exclusivamente de palabra " -"clave. Si es ``False`` no lo será. Si no se especifica, se utilizará el " -"valor para el parámetro ``kw_only`` especificado en el objeto decorado con " -"``dataclass_transform``, o si éste tampoco está especificado, se utilizará " -"el valor de ``kw_only_default`` en ``dataclass_transform``." +"Indica si el campo debe marcarse como solo para palabras clave. Si es " +"``True``, el campo será solo para palabras clave. Si es ``False``, no será " +"solo para palabras clave. Si no se especifica, se utilizará el valor del " +"parámetro ``kw_only`` en el objeto decorado con ``dataclass_transform``, o " +"si no se especifica, se utilizará el valor de ``kw_only_default`` en " +"``dataclass_transform``." #: ../Doc/library/typing.rst:2725 msgid "``alias``" -msgstr "" +msgstr "``alias``" # La idea de "synthesized __init__ method" puede verse en el pep 681 donde # refiere a los métodos init que pueden auto-generar librerías con # características similares a dataclass #: ../Doc/library/typing.rst:2726 -#, fuzzy msgid "" "Provides an alternative name for the field. This alternative name is used in " "the synthesized ``__init__`` method." msgstr "" -"``alias`` provee un nombre alternativo para el campo. Este nombre " -"alternativo será utilizado en el método ``__init__`` sintetizado." +"Proporciona un nombre alternativo para el campo. Este nombre alternativo se " +"utiliza en el método sintetizado ``__init__``." #: ../Doc/library/typing.rst:2729 msgid "" @@ -3227,7 +3364,7 @@ msgstr "Véase :pep:`681` para más detalle." #: ../Doc/library/typing.rst:2739 msgid "Decorator for creating overloaded functions and methods." -msgstr "" +msgstr "Decorador para crear funciones y métodos sobrecargados." #: ../Doc/library/typing.rst:2741 msgid "" @@ -3236,6 +3373,11 @@ msgid "" "``@overload``-decorated definitions must be followed by exactly one non-" "``@overload``-decorated definition (for the same function/method)." msgstr "" +"El decorador ``@overload`` permite describir funciones y métodos que admiten " +"múltiples combinaciones diferentes de tipos de argumentos. Una serie de " +"definiciones decoradas con ``@overload`` debe ir seguida de exactamente una " +"definición que no esté decorada con ``@overload`` (para la misma función o " +"método)." #: ../Doc/library/typing.rst:2746 msgid "" @@ -3246,12 +3388,20 @@ msgid "" "calling an ``@overload``-decorated function directly will raise :exc:" "`NotImplementedError`." msgstr "" +"Las definiciones decoradas con ``@overload`` son solo para beneficio del " +"validador de tipos, ya que serán sobrescritas por la definición no decorada " +"con ``@overload``. Mientras tanto, la definición no decorada con " +"``@overload`` se usará en tiempo de ejecución, pero el validador de tipos " +"debe ignorarla. En tiempo de ejecución, llamar a una función decorada con " +"``@overload`` directamente generará :exc:`NotImplementedError`." #: ../Doc/library/typing.rst:2754 msgid "" "An example of overload that gives a more precise type than can be expressed " "using a union or a type variable:" msgstr "" +"Un ejemplo de sobrecarga que proporciona un tipo más preciso que el que se " +"puede expresar mediante una unión o una variable de tipo:" #: ../Doc/library/typing.rst:2771 msgid "" @@ -3273,9 +3423,10 @@ msgid "" "Return a sequence of :func:`@overload `-decorated definitions for " "*func*." msgstr "" +"Devuelve una secuencia de definiciones decoradas con :func:`@overload " +"` para *func*." #: ../Doc/library/typing.rst:2783 -#, fuzzy msgid "" "*func* is the function object for the implementation of the overloaded " "function. For example, given the definition of ``process`` in the " @@ -3284,13 +3435,12 @@ msgid "" "overloads. If called on a function with no overloads, ``get_overloads()`` " "returns an empty sequence." msgstr "" -"Retorna una secuencia de definiciones para *func* decoradas con :func:" -"`@overload `. *func* es el objeto función correspondiente a la " -"implementación de la función sobrecargada. Por ejemplo, dada la definición " -"de ``process`` en la documentación de :func:`@overload `, " -"``get_overloads(process)`` retornará una secuencia de tres objetos función " -"para las tres sobrecargas definidas. Si es llamada con una función que no " -"tenga sobrecargas, ``get_overloads()`` retorna una secuencia vacía." +"*func* es el objeto de función para la implementación de la función " +"sobrecargada. Por ejemplo, dada la definición de ``process`` en la " +"documentación de :func:`@overload `, ``get_overloads(process)`` " +"devolverá una secuencia de tres objetos de función para las tres sobrecargas " +"definidas. Si se llama en una función sin sobrecargas, ``get_overloads()`` " +"devuelve una secuencia vacía." #: ../Doc/library/typing.rst:2790 msgid "" @@ -3301,36 +3451,29 @@ msgstr "" "ejecución una función sobrecargada." #: ../Doc/library/typing.rst:2798 -#, fuzzy msgid "Clear all registered overloads in the internal registry." -msgstr "" -"Limpia todas las sobrecargas registradas del registro interno. Ésto puede " -"ser usado para recuperar memoria usada por el registro." +msgstr "Borra todas las sobrecargas registradas en el registro interno." #: ../Doc/library/typing.rst:2800 -#, fuzzy msgid "This can be used to reclaim the memory used by the registry." msgstr "" -"Limpia todas las sobrecargas registradas del registro interno. Ésto puede " -"ser usado para recuperar memoria usada por el registro." +"Esto se puede utilizar para recuperar la memoria utilizada por el registro." #: ../Doc/library/typing.rst:2807 msgid "Decorator to indicate final methods and final classes." -msgstr "" +msgstr "Decorador para indicar métodos finales y clases finales." #: ../Doc/library/typing.rst:2809 -#, fuzzy msgid "" "Decorating a method with ``@final`` indicates to a type checker that the " "method cannot be overridden in a subclass. Decorating a class with " "``@final`` indicates that it cannot be subclassed." msgstr "" -"Un decorador que indica a los validadores de tipos que el método decorado no " -"se puede sobreescribir, o que la clase decorada no se puede derivar " -"(*subclassed*). Por ejemplo::" +"Decorar un método con ``@final`` indica a un validador de tipos que el " +"método no se puede anular en una subclase. Decorar una clase con ``@final`` " +"indica que no se puede subclasificar." #: ../Doc/library/typing.rst:2834 -#, fuzzy msgid "" "The decorator will now attempt to set a ``__final__`` attribute to ``True`` " "on the decorated object. Thus, a check like ``if getattr(obj, \"__final__\", " @@ -3339,12 +3482,12 @@ msgid "" "attributes, the decorator returns the object unchanged without raising an " "exception." msgstr "" -"El decorador establecerá a ``True`` el atributo ``__final__`` en el objeto " -"decorado. De este modo, es posible utilizar en tiempo de ejecución una " -"verificación como ``if getattr(obj, \"__final__\", False)`` para determinar " -"si un objeto ``obj`` has sido marcado como final. Si el objeto decorado no " -"soporta el establecimiento de atributos, el decorador retorna el objeto sin " -"cambios y sin levantar una excepción." +"El decorador intentará ahora establecer un atributo ``__final__`` como " +"``True`` en el objeto decorado. Por lo tanto, se puede utilizar una " +"comprobación como ``if getattr(obj, “__final__”, False)`` en tiempo de " +"ejecución para determinar si un objeto ``obj`` se ha marcado como final. Si " +"el objeto decorado no admite la configuración de atributos, el decorador " +"devuelve el objeto sin cambios sin lanzar una excepción." # se extrae del contexto que el decorador elimina la comprobacion de tipo en # el validador, por lo tanto solo anota/comenta (annotation), no @@ -3356,7 +3499,6 @@ msgstr "" "indicadores de tipo." #: ../Doc/library/typing.rst:2847 -#, fuzzy msgid "" "This works as a class or function :term:`decorator`. With a class, it " "applies recursively to all methods and classes defined in that class (but " @@ -3365,18 +3507,17 @@ msgid "" msgstr "" "Esto funciona como un :term:`decorator` (decorador) de clase o función. Con " "una clase, se aplica recursivamente a todos los métodos y clases definidos " -"en dicha clase (pero no a lo métodos definidos en sus superclases y " -"subclases)." +"en esa clase (pero no a los métodos definidos en sus superclases o " +"subclases). Los validadores de tipos ignorarán todas las anotaciones en una " +"función o clase con este decorador." #: ../Doc/library/typing.rst:2853 msgid "``@no_type_check`` mutates the decorated object in place." -msgstr "" +msgstr "``@no_type_check`` muta el objeto decorado en su lugar." #: ../Doc/library/typing.rst:2857 msgid "Decorator to give another decorator the :func:`no_type_check` effect." -msgstr "" -"Un decorador que asigna a otro decorador el efecto de :func:`no_type_check` " -"(no comprobar tipo)." +msgstr "Decorador para dar a otro decorador el efecto :func:`no_type_check`." #: ../Doc/library/typing.rst:2859 msgid "" @@ -3391,6 +3532,8 @@ msgid "" "Decorator to indicate that a method in a subclass is intended to override a " "method or attribute in a superclass." msgstr "" +"Decorador para indicar que un método en una subclase está destinado a anular " +"un método o atributo en una superclase." #: ../Doc/library/typing.rst:2868 msgid "" @@ -3398,16 +3541,16 @@ msgid "" "does not, in fact, override anything. This helps prevent bugs that may occur " "when a base class is changed without an equivalent change to a child class." msgstr "" +"Los validadores de tipos deberían emitir un error si un método decorado con " +"``@override`` no anula nada. Esto ayuda a evitar errores que pueden ocurrir " +"cuando se modifica una clase base sin un cambio equivalente en una clase " +"secundaria." #: ../Doc/library/typing.rst:2890 -#, fuzzy msgid "There is no runtime checking of this property." -msgstr "" -"No hay comprobación en tiempo de ejecución para estas propiedades. Véase :" -"pep:`591` para más detalles." +msgstr "No hay ninguna comprobación en tiempo de ejecución de esta propiedad." #: ../Doc/library/typing.rst:2892 -#, fuzzy msgid "" "The decorator will attempt to set an ``__override__`` attribute to ``True`` " "on the decorated object. Thus, a check like ``if getattr(obj, " @@ -3416,23 +3559,21 @@ msgid "" "not support setting attributes, the decorator returns the object unchanged " "without raising an exception." msgstr "" -"El decorador establecerá a ``True`` el atributo ``__final__`` en el objeto " -"decorado. De este modo, es posible utilizar en tiempo de ejecución una " -"verificación como ``if getattr(obj, \"__final__\", False)`` para determinar " -"si un objeto ``obj`` has sido marcado como final. Si el objeto decorado no " -"soporta el establecimiento de atributos, el decorador retorna el objeto sin " -"cambios y sin levantar una excepción." +"El decorador intentará establecer un atributo ``__override__`` en ``True`` " +"en el objeto decorado. Por lo tanto, una comprobación como ``if getattr(obj, " +"“__override__”, False)`` se puede utilizar en tiempo de ejecución para " +"determinar si un objeto ``obj`` ha sido marcado como anulado. Si el objeto " +"decorado no admite la configuración de atributos, el decorador devuelve el " +"objeto sin cambios sin generar una excepción." #: ../Doc/library/typing.rst:2899 -#, fuzzy msgid "See :pep:`698` for more details." -msgstr "Véase :pep:`681` para más detalle." +msgstr "Vea :pep:`681` para más información." #: ../Doc/library/typing.rst:2906 -#, fuzzy msgid "Decorator to mark a class or function as unavailable at runtime." msgstr "" -"Un decorador que marca una clase o función como no disponible en tiempo de " +"Decorador para marcar una clase o función como no disponible en tiempo de " "ejecución." #: ../Doc/library/typing.rst:2908 @@ -3480,15 +3621,14 @@ msgstr "" "``__annotations__`` y ``C.__mro`` en orden inverso." #: ../Doc/library/typing.rst:2936 -#, fuzzy msgid "" "The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " "more information). For example:" msgstr "" -"La función reemplaza todos los ``Annotated[T, ...]`` con ``T`` de manera " -"recursiva, a menos que ``include_extras`` se defina como ``True`` ( véase :" -"class:`Annotated` para más información). Por ejemplo::" +"La función reemplaza recursivamente todos los ``Annotated[T, ...]`` con " +"``T``, a menos que ``include_extras`` esté configurado como ``True`` " +"(consulte :class:`Annotated` para obtener más información). Por ejemplo:" #: ../Doc/library/typing.rst:2953 msgid "" @@ -3502,11 +3642,12 @@ msgstr "" "mayoría de las referencias futuras." #: ../Doc/library/typing.rst:2958 -#, fuzzy msgid "" "Added ``include_extras`` parameter as part of :pep:`593`. See the " "documentation on :data:`Annotated` for more information." -msgstr "Se agregan los parámetros ``include_extras`` como parte de :pep:`593`." +msgstr "" +"Se agregó el parámetro ``include_extras`` como parte de :pep:`593`. Consulte " +"la documentación en :data:`Annotated` para obtener más información." #: ../Doc/library/typing.rst:2962 msgid "" @@ -3523,6 +3664,8 @@ msgid "" "Get the unsubscripted version of a type: for a typing object of the form " "``X[Y, Z, ...]`` return ``X``." msgstr "" +"Obtiene la versión sin suscripción de un tipo: para un objeto de tipado de " +"la forma ``X[Y, Z, ...]`` devuelve ``X``." #: ../Doc/library/typing.rst:2972 msgid "" @@ -3531,34 +3674,34 @@ msgid "" "class:`ParamSpecArgs` or :class:`ParamSpecKwargs`, return the underlying :" "class:`ParamSpec`. Return ``None`` for unsupported objects." msgstr "" +"Si ``X`` es un alias de módulo de tipado para una clase incorporada o :mod:" +"`collections`, se normalizará a la clase original. Si ``X`` es una instancia " +"de :class:`ParamSpecArgs` o :class:`ParamSpecKwargs`, devuelve la :class:" +"`ParamSpec` subyacente. Devuelve ``None`` para objetos no soportados." #: ../Doc/library/typing.rst:2978 ../Doc/library/typing.rst:3001 -#, fuzzy msgid "Examples:" -msgstr "Por ejemplo::" +msgstr "Por ejemplo:" #: ../Doc/library/typing.rst:2993 msgid "" "Get type arguments with all substitutions performed: for a typing object of " "the form ``X[Y, Z, ...]`` return ``(Y, Z, ...)``." msgstr "" +"Obtiene los argumentos de tipo con todas las sustituciones realizadas: para " +"un objeto de tipo con la forma ``X[Y, Z, ...]`` devuelve ``(Y, Z, ...)``." #: ../Doc/library/typing.rst:2996 -#, fuzzy msgid "" "If ``X`` is a union or :class:`Literal` contained in another generic type, " "the order of ``(Y, Z, ...)`` may be different from the order of the original " "arguments ``[Y, Z, ...]`` due to type caching. Return ``()`` for unsupported " "objects." msgstr "" -"Para un objeto de escritura de la forma ``X[Y, Z, ...]``, estas funciones " -"retornan ``X`` y ``(Y, Z, ...)``. Si ``X`` es un alias genérico para una " -"clase incorporada o :mod:`collections`, se normaliza a la clase original. Si " -"``X`` es una unión o :class:`Literal` contenido en otro tipo genérico, el " +"Si ``X`` es una unión o :class:`Literal` contenida en otro tipo genérico, el " "orden de ``(Y, Z, ...)`` puede ser diferente del orden de los argumentos " -"originales ``[Y, Z, ...]`` debido al tipo de almacenamiento en caché. Para " -"objetos no admitidos, retorna ``None`` y ``()`` correspondientemente. " -"Ejemplos:" +"originales ``[Y, Z, ...]`` debido al almacenamiento en caché de tipos. " +"Devuelve ``()`` para objetos no soportados." #: ../Doc/library/typing.rst:3013 msgid "Check if a type is a :class:`TypedDict`." @@ -3568,19 +3711,18 @@ msgstr "Compruebe si un tipo es :class:`TypedDict`." msgid "" "Class used for internal typing representation of string forward references." msgstr "" +"Clase utilizada para la representación interna de tipado de cadenas de " +"caracteres en referencias futuras." #: ../Doc/library/typing.rst:3036 -#, fuzzy msgid "" "For example, ``List[\"SomeClass\"]`` is implicitly transformed into " "``List[ForwardRef(\"SomeClass\")]``. ``ForwardRef`` should not be " "instantiated by a user, but may be used by introspection tools." msgstr "" -"Una clase utilizada para la representación de escritura interna de " -"referencias de cadena hacia adelante. Por ejemplo, ``List[\"SomeClass\"]`` " -"se transforma implícitamente en ``List[ForwardRef(\"SomeClass\")]``. Esta " -"clase no debe ser instanciada por un usuario, pero puede ser utilizada por " -"herramientas de introspección." +"Por ejemplo, ``List[\"SomeClass\"]`` se transforma implícitamente en " +"``List[ForwardRef(\"SomeClass\")]``. ``ForwardRef`` no debe ser instanciado " +"por un usuario, pero puede ser utilizado por herramientas de introspección." #: ../Doc/library/typing.rst:3041 msgid "" @@ -3597,14 +3739,12 @@ msgid "Constant" msgstr "Constantes" #: ../Doc/library/typing.rst:3052 -#, fuzzy msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime." msgstr "" -"Una constante especial que se asume como cierta (``True``) por validadores " -"estáticos de tipos de terceros. Es falsa (``False``) en tiempo de ejecución. " -"Uso::" +"Una constante especial que los validadores de tipos estáticos de terceros " +"asumen como ``True``. Es ``False`` en tiempo de ejecución." #: ../Doc/library/typing.rst:3063 msgid "" @@ -3632,12 +3772,10 @@ msgstr "" "innecesario el uso de comillas alrededor de la anotación (véase :pep:`563`)." #: ../Doc/library/typing.rst:3082 -#, fuzzy msgid "Deprecated aliases" -msgstr "En desuso desde" +msgstr "Alias obsoletos" #: ../Doc/library/typing.rst:3084 -#, fuzzy msgid "" "This module defines several deprecated aliases to pre-existing standard " "library classes. These were originally included in the typing module in " @@ -3645,11 +3783,12 @@ msgid "" "the aliases became redundant in Python 3.9 when the corresponding pre-" "existing classes were enhanced to support ``[]`` (see :pep:`585`)." msgstr "" -"Este módulo define algunos tipos que son subclases de clases que ya existen " -"en la librería estándar, y que además extienden :class:`Generic` para " -"soportar variables de tipo dentro de ``[]``. Estos tipos se vuelven " -"redundantes en Python 3.9 ya que las clases correspondientes fueron " -"mejoradas para soportar ``[]``." +"Este módulo define varios alias obsoletos para clases de biblioteca estándar " +"preexistentes. Originalmente, se incluyeron en el módulo de tipado para " +"admitir la parametrización de estas clases genéricas mediante ``[]``. Sin " +"embargo, los alias se volvieron redundantes en Python 3.9 cuando las clases " +"preexistentes correspondientes se mejoraron para admitir ``[]`` (vea :pep:" +"`585`)." #: ../Doc/library/typing.rst:3091 msgid "" @@ -3658,6 +3797,10 @@ msgid "" "currently planned. As such, no deprecation warnings are currently issued by " "the interpreter for these aliases." msgstr "" +"Los tipos redundantes están obsoletos a partir de Python 3.9. Sin embargo, " +"si bien los alias pueden eliminarse en algún momento, actualmente no se " +"planea eliminarlos. Por lo tanto, el intérprete no emite advertencias de " +"obsolescencia para estos alias." #: ../Doc/library/typing.rst:3096 msgid "" @@ -3666,32 +3809,37 @@ msgid "" "releases prior to removal. The aliases are guaranteed to remain in the " "typing module without deprecation warnings until at least Python 3.14." msgstr "" +"Si en algún momento se decide eliminar estos alias obsoletos, el intérprete " +"emitirá una advertencia de desuso durante al menos dos versiones antes de la " +"eliminación. Se garantiza que los alias permanecerán en el módulo de " +"tipificación sin advertencias de desuso hasta al menos Python 3.14." #: ../Doc/library/typing.rst:3101 msgid "" "Type checkers are encouraged to flag uses of the deprecated types if the " "program they are checking targets a minimum Python version of 3.9 or newer." msgstr "" +"Se recomienda a los validadores de tipos que marquen los usos de los tipos " +"obsoletos si el programa que están verificando apunta a una versión mínima " +"de Python 3.9 o más reciente." #: ../Doc/library/typing.rst:3107 -#, fuzzy msgid "Aliases to built-in types" -msgstr "Correspondientes a tipos integrados" +msgstr "Alias de tipos integrados" #: ../Doc/library/typing.rst:3111 msgid "Deprecated alias to :class:`dict`." -msgstr "" +msgstr "Alias obsoleto de :class:`dict`." #: ../Doc/library/typing.rst:3113 -#, fuzzy msgid "" "Note that to annotate arguments, it is preferred to use an abstract " "collection type such as :class:`Mapping` rather than to use :class:`dict` " "or :class:`!typing.Dict`." msgstr "" -"Versión genérica de :class:`list`. Útil para anotar tipos de retorno. Para " -"anotar argumentos es preferible usar un tipo abstracto de colección como :" -"class:`Sequence` o :class:`Iterable`." +"Tenga en cuenta que para anotar argumentos, es preferible utilizar un tipo " +"de colección abstracto como :class:`Mapping` en lugar de utilizar :class:" +"`dict` o :class:`!typing.Dict`." #: ../Doc/library/typing.rst:3117 ../Doc/library/typing.rst:3359 msgid "This type can be used as follows::" @@ -3707,18 +3855,17 @@ msgstr "" #: ../Doc/library/typing.rst:3128 msgid "Deprecated alias to :class:`list`." -msgstr "" +msgstr "Alias obsoleto de :class:`list`." #: ../Doc/library/typing.rst:3130 -#, fuzzy msgid "" "Note that to annotate arguments, it is preferred to use an abstract " "collection type such as :class:`Sequence` or :class:`Iterable` rather than " "to use :class:`list` or :class:`!typing.List`." msgstr "" -"Versión genérica de :class:`list`. Útil para anotar tipos de retorno. Para " -"anotar argumentos es preferible usar un tipo abstracto de colección como :" -"class:`Sequence` o :class:`Iterable`." +"Tenga en cuenta que para anotar argumentos, es preferible utilizar un tipo " +"de colección abstracto como :class:`Sequence` o :class:`Iterable` en lugar " +"de utilizar :class:`list` o :class:`!typing.List`." #: ../Doc/library/typing.rst:3134 msgid "This type may be used as follows::" @@ -3733,20 +3880,18 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3148 -#, fuzzy msgid "Deprecated alias to :class:`builtins.set `." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`builtins.set `." #: ../Doc/library/typing.rst:3150 -#, fuzzy msgid "" "Note that to annotate arguments, it is preferred to use an abstract " "collection type such as :class:`AbstractSet` rather than to use :class:`set` " "or :class:`!typing.Set`." msgstr "" -"Versión genérica de :class:`list`. Útil para anotar tipos de retorno. Para " -"anotar argumentos es preferible usar un tipo abstracto de colección como :" -"class:`Sequence` o :class:`Iterable`." +"Tenga en cuenta que para anotar argumentos, es preferible utilizar un tipo " +"de colección abstracto como :class:`AbstractSet` en lugar de utilizar :class:" +"`set` o :class:`!typing.Set`." #: ../Doc/library/typing.rst:3154 msgid "" @@ -3757,9 +3902,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3160 -#, fuzzy msgid "Deprecated alias to :class:`builtins.frozenset `." -msgstr "Una versión genérica de :class:`builtins.frozenset `." +msgstr "Alias obsoleto de :class:`builtins.frozenset `." #: ../Doc/library/typing.rst:3162 msgid "" @@ -3771,13 +3915,15 @@ msgstr "" #: ../Doc/library/typing.rst:3169 msgid "Deprecated alias for :class:`tuple`." -msgstr "" +msgstr "Alias obsoleto de :class:`tuple`." #: ../Doc/library/typing.rst:3171 msgid "" ":class:`tuple` and ``Tuple`` are special-cased in the type system; see :ref:" "`annotating-tuples` for more details." msgstr "" +":class:`tuple` y ``Tuple`` son casos especiales en el sistema de tipos; " +"consulte :ref:`annotating-tuples` para más detalles." #: ../Doc/library/typing.rst:3174 msgid "" @@ -3789,13 +3935,15 @@ msgstr "" #: ../Doc/library/typing.rst:3180 msgid "Deprecated alias to :class:`type`." -msgstr "" +msgstr "Alias obsoleto de :class:`type`." #: ../Doc/library/typing.rst:3182 msgid "" "See :ref:`type-of-class-objects` for details on using :class:`type` or " "``typing.Type`` in type annotations." msgstr "" +"Vea :ref:`type-of-class-objects` para obtener detalles sobre el uso de :" +"class:`type` o ``typing.Type`` en anotaciones de tipo." #: ../Doc/library/typing.rst:3187 msgid "" @@ -3806,14 +3954,12 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3194 -#, fuzzy msgid "Aliases to types in :mod:`collections`" -msgstr "Correspondiente a tipos en :mod:`collections`" +msgstr "Alias de tipos en :mod:`collections`" #: ../Doc/library/typing.rst:3198 -#, fuzzy msgid "Deprecated alias to :class:`collections.defaultdict`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.defaultdict`." #: ../Doc/library/typing.rst:3202 msgid "" @@ -3824,9 +3970,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3208 -#, fuzzy msgid "Deprecated alias to :class:`collections.OrderedDict`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.OrderedDict`." #: ../Doc/library/typing.rst:3212 msgid "" @@ -3837,9 +3982,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3218 -#, fuzzy msgid "Deprecated alias to :class:`collections.ChainMap`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.ChainMap`." #: ../Doc/library/typing.rst:3223 msgid "" @@ -3850,9 +3994,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3229 -#, fuzzy msgid "Deprecated alias to :class:`collections.Counter`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.Counter`." #: ../Doc/library/typing.rst:3234 msgid "" @@ -3863,9 +4006,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3240 -#, fuzzy msgid "Deprecated alias to :class:`collections.deque`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.deque`." #: ../Doc/library/typing.rst:3245 msgid "" @@ -3876,9 +4018,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3252 -#, fuzzy msgid "Aliases to other concrete types" -msgstr "Otros tipos concretos" +msgstr "Alias ​​a otros tipos concretos" #: ../Doc/library/typing.rst:3257 msgid "" @@ -3893,19 +4034,20 @@ msgid "" "Deprecated aliases corresponding to the return types from :func:`re.compile` " "and :func:`re.match`." msgstr "" +"Alias ​​obsoletos correspondientes a los tipos de retorno :func:`re.compile` " +"y :func:`re.match`." #: ../Doc/library/typing.rst:3264 -#, fuzzy msgid "" "These types (and the corresponding functions) are generic over :data:" "`AnyStr`. ``Pattern`` can be specialised as ``Pattern[str]`` or " "``Pattern[bytes]``; ``Match`` can be specialised as ``Match[str]`` or " "``Match[bytes]``." msgstr "" -"Estos alias de tipo corresponden a los tipos retornados de :func:`re." -"compile` y :func:`re.match`. Estos tipos (y las funciones correspondientes) " -"son genéricos en ``AnyStr`` y se pueden hacer específicos escribiendo " -"``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]`` o ``Match[bytes]``." +"Estos tipos (y las funciones correspondientes) son genéricos sobre :data:" +"`AnyStr`. ``Pattern`` se puede especializar como ``Pattern[str]`` o " +"``Pattern[bytes]``; ``Match`` se puede especializar como ``Match[str]`` o " +"``Match[bytes]``." #: ../Doc/library/typing.rst:3272 msgid "" @@ -3925,17 +4067,15 @@ msgstr "" #: ../Doc/library/typing.rst:3279 msgid "Deprecated alias for :class:`str`." -msgstr "" +msgstr "Alias obsoleto para :class:`str`." #: ../Doc/library/typing.rst:3281 -#, fuzzy msgid "" "``Text`` is provided to supply a forward compatible path for Python 2 code: " "in Python 2, ``Text`` is an alias for ``unicode``." msgstr "" -"``Text`` es un alias para ``str``. Ésta disponible para proporcionar un " -"mecanismo compatible hacia delante para código en Python 2: en Python 2, " -"``Text`` es un alias de ``unicode``." +"Se indica ``Text`` para proporcionar compatibilidad con versiones de código " +"posteriores a Python 2: en Python 2, ``Text`` es un alias para ``unicode``." #: ../Doc/library/typing.rst:3285 msgid "" @@ -3946,26 +4086,23 @@ msgstr "" "Unicode de manera que sea compatible con Python 2 y Python 3::" #: ../Doc/library/typing.rst:3293 -#, fuzzy msgid "" "Python 2 is no longer supported, and most type checkers also no longer " "support type checking Python 2 code. Removal of the alias is not currently " "planned, but users are encouraged to use :class:`str` instead of ``Text``." msgstr "" -"Ya no se soporta Python 2, y la mayoría de los validadores de tipo tampoco " -"dan soporte a la validación de tipos en código escrito en Python 2. " -"Actualmente no está planificado remover el alias, pero se alienta a los " -"usuarios a utilizar :class:`str` en vez de ``Text`` allí donde sea posible." +"Python 2 ya no es compatible, y la mayoría de los validadores de tipos " +"tampoco admiten la verificación de tipos de código Python 2. La eliminación " +"del alias no está planeada actualmente, pero se recomienda a los usuarios " +"utilizar :class:`str` en lugar de ``Text``." #: ../Doc/library/typing.rst:3303 -#, fuzzy msgid "Aliases to container ABCs in :mod:`collections.abc`" -msgstr "Correspondiente a otros tipos en :mod:`collections.abc`" +msgstr "Alias de ABCs de contenedores en :mod:`collections.abc`" #: ../Doc/library/typing.rst:3307 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Set`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Set`." #: ../Doc/library/typing.rst:3309 msgid "" @@ -3988,11 +4125,12 @@ msgid "" "Prefer :class:`collections.abc.Buffer`, or a union like ``bytes | bytearray " "| memoryview``." msgstr "" +"Preferiblemente use :class:`collections.abc.Buffer`, o una unión como " +"``bytes | bytearray | memoryview``." #: ../Doc/library/typing.rst:3323 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Collection`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Collection`." #: ../Doc/library/typing.rst:3327 msgid "" @@ -4003,9 +4141,8 @@ msgstr "" "(``[]``). Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3333 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Container`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Container`." #: ../Doc/library/typing.rst:3335 msgid "" @@ -4016,9 +4153,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3341 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.ItemsView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.ItemsView`." #: ../Doc/library/typing.rst:3343 msgid "" @@ -4029,9 +4165,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3349 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.KeysView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.KeysView`." #: ../Doc/library/typing.rst:3351 msgid "" @@ -4042,9 +4177,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3357 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Mapping`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Mapping`." #: ../Doc/library/typing.rst:3364 msgid "" @@ -4055,9 +4189,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3370 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MappingView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.MappingView`." #: ../Doc/library/typing.rst:3372 msgid "" @@ -4068,9 +4201,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3378 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MutableMapping`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.MutableMapping`." #: ../Doc/library/typing.rst:3380 msgid "" @@ -4081,9 +4213,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3387 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MutableSequence`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.MutableSequence`." #: ../Doc/library/typing.rst:3389 msgid "" @@ -4094,9 +4225,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3396 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MutableSet`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.MutableSet`." #: ../Doc/library/typing.rst:3398 msgid "" @@ -4107,9 +4237,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3404 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Sequence`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Sequence`." #: ../Doc/library/typing.rst:3406 msgid "" @@ -4120,9 +4249,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3412 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.ValuesView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.ValuesView`." #: ../Doc/library/typing.rst:3414 msgid "" @@ -4133,24 +4261,20 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3421 -#, fuzzy msgid "Aliases to asynchronous ABCs in :mod:`collections.abc`" -msgstr "Correspondientes a las colecciones en :mod:`collections.abc`" +msgstr "Alias para ABCs asíncronos en :mod:`collections.abc`" #: ../Doc/library/typing.rst:3425 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Coroutine`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Coroutine`." #: ../Doc/library/typing.rst:3427 -#, fuzzy msgid "" "The variance and order of type variables correspond to those of :class:" "`Generator`, for example::" msgstr "" -"Una versión genérica de :class:`collections.abc.Coroutine`.y orden de las " -"variables de tipo se corresponde con aquellas de :class:`Generator`, por " -"ejemplo::" +"La variación y el orden de las variables de tipo corresponden a las de :" +"class:`Generator`, por ejemplo::" #: ../Doc/library/typing.rst:3438 msgid "" @@ -4161,9 +4285,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3444 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.AsyncGenerator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.AsyncGenerator`." #: ../Doc/library/typing.rst:3446 msgid "" @@ -4208,9 +4331,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3484 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.AsyncIterable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.AsyncIterable`." #: ../Doc/library/typing.rst:3488 msgid "" @@ -4221,9 +4343,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3494 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.AsyncIterator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.AsyncIterator`." #: ../Doc/library/typing.rst:3498 msgid "" @@ -4234,9 +4355,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3504 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Awaitable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Awaitable`." #: ../Doc/library/typing.rst:3508 msgid "" @@ -4247,14 +4367,12 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3515 -#, fuzzy msgid "Aliases to other ABCs in :mod:`collections.abc`" -msgstr "Correspondiente a otros tipos en :mod:`collections.abc`" +msgstr "Alias a otros ABCs en :mod:`collections.abc`" #: ../Doc/library/typing.rst:3519 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Iterable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Iterable`." #: ../Doc/library/typing.rst:3521 msgid "" @@ -4265,9 +4383,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3527 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Iterator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Iterator`." #: ../Doc/library/typing.rst:3529 msgid "" @@ -4278,15 +4395,17 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3535 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Callable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Callable`." #: ../Doc/library/typing.rst:3537 msgid "" "See :ref:`annotating-callables` for details on how to use :class:" "`collections.abc.Callable` and ``typing.Callable`` in type annotations." msgstr "" +"Vea :ref:`annotating-callables` para información detallada de cómo usar :" +"class:`collections.abc.Callable` y ``typing.Callable`` en anotaciones de " +"tipo." #: ../Doc/library/typing.rst:3540 msgid "" @@ -4297,9 +4416,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3550 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Generator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Generator`." #: ../Doc/library/typing.rst:3552 msgid "" @@ -4344,19 +4462,16 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3587 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Hashable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Hashable`." #: ../Doc/library/typing.rst:3589 -#, fuzzy msgid "Use :class:`collections.abc.Hashable` directly instead." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Use directamente :class:`collections.abc.Hashable` en su lugar." #: ../Doc/library/typing.rst:3594 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Reversible`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Reversible`." #: ../Doc/library/typing.rst:3596 msgid "" @@ -4367,23 +4482,20 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3602 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Sized`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Sized`." #: ../Doc/library/typing.rst:3604 -#, fuzzy msgid "Use :class:`collections.abc.Sized` directly instead." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Use directamente :class:`collections.abc.Sized` en su lugar." #: ../Doc/library/typing.rst:3610 msgid "Aliases to :mod:`contextlib` ABCs" -msgstr "" +msgstr "Alias de ABCs :mod:`contextlib`" #: ../Doc/library/typing.rst:3614 -#, fuzzy msgid "Deprecated alias to :class:`contextlib.AbstractContextManager`." -msgstr "Una versión genérica de :class:`contextlib.AbstractContextManager`." +msgstr "Alias obsoleto de :class:`contextlib.AbstractContextManager`." #: ../Doc/library/typing.rst:3619 msgid "" @@ -4394,10 +4506,8 @@ msgstr "" "(``[]``). Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3626 -#, fuzzy msgid "Deprecated alias to :class:`contextlib.AbstractAsyncContextManager`." -msgstr "" -"Una versión genérica de :class:`contextlib.AbstractAsyncContextManager`." +msgstr "Alias obsoleto de :class:`contextlib.AbstractAsyncContextManager`." #: ../Doc/library/typing.rst:3631 msgid "" @@ -4448,9 +4558,8 @@ msgid "3.8" msgstr "3.8" #: ../Doc/library/typing.rst:3652 -#, fuzzy msgid "3.13" -msgstr "3.12" +msgstr "3.13" #: ../Doc/library/typing.rst:3653 msgid ":issue:`38291`" @@ -4466,7 +4575,7 @@ msgstr "3.9" #: ../Doc/library/typing.rst:3656 msgid "Undecided (see :ref:`deprecated-aliases` for more information)" -msgstr "" +msgstr "No decidido (ver :ref:`deprecated-aliases` para más información)" #: ../Doc/library/typing.rst:3657 msgid ":pep:`585`" @@ -4474,22 +4583,19 @@ msgstr ":pep:`585`" #: ../Doc/library/typing.rst:3658 msgid ":class:`typing.ByteString`" -msgstr "" +msgstr ":class:`typing.ByteString`" #: ../Doc/library/typing.rst:3660 -#, fuzzy msgid "3.14" -msgstr "3.12" +msgstr "3.14" #: ../Doc/library/typing.rst:3661 -#, fuzzy msgid ":gh:`91896`" -msgstr ":gh:`92332`" +msgstr ":gh:`91896`" #: ../Doc/library/typing.rst:3662 -#, fuzzy msgid ":data:`typing.Text`" -msgstr "``typing.Text``" +msgstr ":data:`typing.Text`" #: ../Doc/library/typing.rst:3663 msgid "3.11" @@ -4505,491 +4611,21 @@ msgid ":gh:`92332`" msgstr ":gh:`92332`" #: ../Doc/library/typing.rst:3666 -#, fuzzy msgid ":class:`typing.Hashable` and :class:`typing.Sized`" -msgstr ":class:`Callable` y :class:`Concatenate`." +msgstr ":class:`typing.Hashable` y :class:`typing.Sized`" #: ../Doc/library/typing.rst:3667 ../Doc/library/typing.rst:3671 msgid "3.12" msgstr "3.12" #: ../Doc/library/typing.rst:3669 -#, fuzzy msgid ":gh:`94309`" -msgstr ":gh:`92332`" +msgstr ":gh:`94309`" #: ../Doc/library/typing.rst:3670 -#, fuzzy msgid ":data:`typing.TypeAlias`" -msgstr "*Introduce* :data:`TypeAlias`" +msgstr ":data:`typing.TypeAlias`" #: ../Doc/library/typing.rst:3673 -#, fuzzy msgid ":pep:`695`" -msgstr ":pep:`585`" - -#~ msgid "" -#~ "Note that ``None`` as a type hint is a special case and is replaced by " -#~ "``type(None)``." -#~ msgstr "" -#~ "Nótese que ``None`` como indicador de tipo es un caso especial y es " -#~ "substituido por ``type(None)``." - -#~ msgid "Callable" -#~ msgstr "Callable" - -# Aquí frameworks parace indicar un término abierto referiéndose a elementos -# que interactuarán con las llamadas anotadas. Por ello, se escoge el término -# genérico "entidades" -#~ msgid "" -#~ "Frameworks expecting callback functions of specific signatures might be " -#~ "type hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." -#~ msgstr "" -#~ "Entidades que esperen llamadas a funciones con interfaces específicas " -#~ "puede ser anotadas usando ``Callable[[Arg1Type, Arg2Type], ReturnType]``." - -#~ msgid "" -#~ "It is possible to declare the return type of a callable without " -#~ "specifying the call signature by substituting a literal ellipsis for the " -#~ "list of arguments in the type hint: ``Callable[..., ReturnType]``." -#~ msgstr "" -#~ "Es posible declarar el tipo de retorno de un *callable* (invocable) sin " -#~ "especificar tipos en los parámetros substituyendo la lista de argumentos " -#~ "por unos puntos suspensivos (...) en el indicador de tipo: " -#~ "``Callable[..., ReturnType]``." - -#~ msgid "" -#~ "Generics can be parameterized by using a factory available in typing " -#~ "called :class:`TypeVar`." -#~ msgstr "" -#~ "Los genéricos se pueden parametrizar usando una nueva *factory* " -#~ "disponible en *typing* llamada :class:`TypeVar`." - -# revisar en su contexto -#~ msgid "" -#~ "The :class:`Generic` base class defines :meth:`~object.__class_getitem__` " -#~ "so that ``LoggedVar[T]`` is valid as a type::" -#~ msgstr "" -#~ "La clase base :class:`Generic` define :meth:`__class_getitem__` para que " -#~ "``LoggedVar[T]`` sea válido como tipo::" - -#~ msgid "You can use multiple inheritance with :class:`Generic`::" -#~ msgstr "Se puede utilizar herencia múltiple con :class:`Generic`::" - -#~ msgid "" -#~ "The redundant types are deprecated as of Python 3.9 but no deprecation " -#~ "warnings will be issued by the interpreter. It is expected that type " -#~ "checkers will flag the deprecated types when the checked program targets " -#~ "Python 3.9 or newer." -#~ msgstr "" -#~ "Los tipos redundantes están descontinuados con Python 3.9 pero el " -#~ "intérprete no mostrará ninguna advertencia. Se espera que los " -#~ "verificadores de tipo marquen estos tipos como obsoletos cuando el " -#~ "programa a verificar apunte a Python 3.9 o superior." - -#~ msgid "" -#~ "The deprecated types will be removed from the :mod:`typing` module in the " -#~ "first Python version released 5 years after the release of Python 3.9.0. " -#~ "See details in :pep:`585`—*Type Hinting Generics In Standard Collections*." -#~ msgstr "" -#~ "Los tipos obsoletos serán removidos del módulo :class:`Generic` en la " -#~ "primera versión de Python que sea lanzada 5 años después del lanzamiento " -#~ "de Python 3.9.0. Véase los detalles en :pep:`585` -- *Sugerencias de tipo " -#~ "genéricas en las Colecciones Estándar*." - -#~ msgid "In general if something currently follows the pattern of::" -#~ msgstr "En general, si actualmente algo sigue el patrón de::" - -#~ msgid "" -#~ "You should use :data:`Self` as calls to ``SubclassOfFoo.return_self`` " -#~ "would have ``Foo`` as the return type and not ``SubclassOfFoo``." -#~ msgstr "" -#~ "Se debiese usar :data:`Self`, ya que llamadas a ``SubclassOfFoo." -#~ "return_self`` tendrían ``Foo`` como valor de retorno, y no " -#~ "``SubclassOfFoo``." - -#~ msgid "See :pep:`613` for more details about explicit type aliases." -#~ msgstr "" -#~ "Consulte :pep:`613` para obtener más detalles sobre los alias de tipos " -#~ "explícitos." - -#~ msgid "" -#~ "Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the " -#~ "first item of type X and the second of type Y. The type of the empty " -#~ "tuple can be written as ``Tuple[()]``." -#~ msgstr "" -#~ "El tipo Tuple, ``Tuple[X, Y]`` es el tipo de una tupla de dos ítems con " -#~ "el primer ítem de tipo X y el segundo de tipo Y. El tipo de una tupla " -#~ "vacía se puede escribir así: ``Tuple[()]``." - -#~ msgid "" -#~ "Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to " -#~ "type variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an " -#~ "int, a float and a string." -#~ msgstr "" -#~ "Ejemplo: ``Tuple[T1, T2]`` es una tupla de dos elementos con sus " -#~ "correspondientes variables de tipo T1 y T2. ``Tuple[int, float, str]`` es " -#~ "un tupla con un número entero, un número de punto flotante y una cadena " -#~ "de texto." - -#~ msgid "" -#~ "To specify a variable-length tuple of homogeneous type, use literal " -#~ "ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent " -#~ "to ``Tuple[Any, ...]``, and in turn to :class:`tuple`." -#~ msgstr "" -#~ "Para especificar una tupla de longitud variable y tipo homogéneo, se usan " -#~ "puntos suspensivos, p. ej. ``Tuple[int, ...]``. Un simple :data:`Tuple` " -#~ "es equivalente a ``Tuple[Any, ...]`` y, a su vez, a :class:`tuple`." - -#~ msgid "Optional type." -#~ msgstr "Tipo Optional." - -#~ msgid "" -#~ "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." -#~ msgstr "" -#~ "Tipo Callable (invocable); ``Callable[[int], str]`` es una función de " -#~ "(int) -> str." - -#~ msgid "" -#~ "There is no syntax to indicate optional or keyword arguments; such " -#~ "function types are rarely used as callback types. ``Callable[..., " -#~ "ReturnType]`` (literal ellipsis) can be used to type hint a callable " -#~ "taking any number of arguments and returning ``ReturnType``. A plain :" -#~ "data:`Callable` is equivalent to ``Callable[..., Any]``, and in turn to :" -#~ "class:`collections.abc.Callable`." -#~ msgstr "" -#~ "No existe una sintaxis para indicar argumentos opcionales o con clave " -#~ "(*keyword*); tales funciones rara vez se utilizan como tipos para " -#~ "llamadas. ``Callable[..., ReturnType]`` (puntos suspensivos) se puede " -#~ "usar para indicar que un *callable* admite un número indeterminado de " -#~ "argumentos y retorna ``ReturnType``. Un simple :data:`Callable` es " -#~ "equivalente a ``Callable[..., Any]`` y, a su vez, a :class:`collections." -#~ "abc.Callable`." - -#~ msgid "" -#~ "The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " -#~ "examples of usage with ``Callable``." -#~ msgstr "" -#~ "La documentación de :class:`ParamSpec` y :class:`Concatenate` proporciona " -#~ "ejemplos de uso con ``Callable``." - -#~ msgid "" -#~ "The fact that ``Type[C]`` is covariant implies that all subclasses of " -#~ "``C`` should implement the same constructor signature and class method " -#~ "signatures as ``C``. The type checker should flag violations of this, but " -#~ "should also allow constructor calls in subclasses that match the " -#~ "constructor calls in the indicated base class. How the type checker is " -#~ "required to handle this particular case may change in future revisions " -#~ "of :pep:`484`." -#~ msgstr "" -#~ "El hecho de que ``Type[C]`` sea covariante implica que todas las " -#~ "subclases de ``C`` deben implementar la misma interfaz del constructor y " -#~ "las mismas interfaces de los métodos de clase que ``C``. El validador de " -#~ "tipos marcará cualquier incumplimiento de esto, pero permitirá llamadas " -#~ "al constructor que coincida con la llamada al constructor de la clase " -#~ "base indicada. El modo en que el validador de tipos debe gestionar este " -#~ "caso particular podría cambiar en futuras revisiones de :pep:`484`." - -#~ msgid "" -#~ "A special typing construct to indicate to type checkers that a name " -#~ "cannot be re-assigned or overridden in a subclass. For example::" -#~ msgstr "" -#~ "Un construcción especial para tipado que indica a los validadores de tipo " -#~ "que un nombre no puede ser reasignado o sobrescrito en una subclase. Por " -#~ "ejemplo::" - -#~ msgid "" -#~ "Special typing constructs that mark individual keys of a :class:" -#~ "`TypedDict` as either required or non-required respectively." -#~ msgstr "" -#~ "Constructos de tipado especiales que marcan llaves individuales de un :" -#~ "class:`TypedDict` como requeridas o no requeridas respectivamente." - -#~ msgid "" -#~ "A type, introduced in :pep:`593` (``Flexible function and variable " -#~ "annotations``), to decorate existing types with context-specific metadata " -#~ "(possibly multiple pieces of it, as ``Annotated`` is variadic). " -#~ "Specifically, a type ``T`` can be annotated with metadata ``x`` via the " -#~ "typehint ``Annotated[T, x]``. This metadata can be used for either static " -#~ "analysis or at runtime. If a library (or tool) encounters a typehint " -#~ "``Annotated[T, x]`` and has no special logic for metadata ``x``, it " -#~ "should ignore it and simply treat the type as ``T``. Unlike the " -#~ "``no_type_check`` functionality that currently exists in the ``typing`` " -#~ "module which completely disables typechecking annotations on a function " -#~ "or a class, the ``Annotated`` type allows for both static typechecking of " -#~ "``T`` (which can safely ignore ``x``) together with runtime access to " -#~ "``x`` within a specific application." -#~ msgstr "" -#~ "Un tipo introducido en :pep:`593` (``Anotaciones flexibles de función y " -#~ "variable``), para decorar tipos existentes con metadatos específicos del " -#~ "contexto (posiblemente múltiples partes del mismo, ya que ``Annotated`` " -#~ "es variádico). En concreto, un tipo ``T`` puede ser anotado con el " -#~ "metadato ``x`` a través del *typehint* ``Annotated[T,x]``. Estos " -#~ "metadatos se pueden utilizar para el análisis estático o en tiempo de " -#~ "ejecución. Si una librería (o herramienta) encuentra un *typehint* " -#~ "``Annotated[T,x]`` y no encuentra una lógica especial para el metadato " -#~ "``x``, este debería ignorarlo o simplemente tratar el tipo como ``T``. A " -#~ "diferencia de la funcionalidad ``no_type_check``, que actualmente existe " -#~ "en el módulo ``typing``, que deshabilita completamente la comprobación de " -#~ "anotaciones de tipo en una función o clase, el tipo ``Annotated`` permite " -#~ "tanto la comprobación de tipos estático de ``T`` (la cuál ignoraría ``x`` " -#~ "de forma segura) en conjunto con el acceso a ``x`` en tiempo de ejecución " -#~ "dentro de una aplicación específica." - -#~ msgid "" -#~ "When a tool or a library does not support annotations or encounters an " -#~ "unknown annotation it should just ignore it and treat annotated type as " -#~ "the underlying type." -#~ msgstr "" -#~ "Cuando una herramienta o librería no soporta anotaciones o encuentra una " -#~ "anotación desconocida, simplemente debe ignorarla o tratar la anotación " -#~ "como el tipo subyacente." - -#~ msgid "" -#~ "Since the ``Annotated`` type allows you to put several annotations of the " -#~ "same (or different) type(s) on any node, the tools or libraries consuming " -#~ "those annotations are in charge of dealing with potential duplicates. For " -#~ "example, if you are doing value range analysis you might allow this::" -#~ msgstr "" -#~ "Dado que el tipo ``Annotated`` permite colocar varias anotaciones del " -#~ "mismo (o diferente) tipo(s) en cualquier nodo, las herramientas o " -#~ "librerías que consumen dichas anotaciones están a cargo de ocuparse de " -#~ "potenciales duplicados. Por ejemplo, si se está realizando un análisis de " -#~ "rango, esto se debería permitir::" - -#~ msgid "" -#~ "Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " -#~ "the extra annotations at runtime." -#~ msgstr "" -#~ "Pasar ``include_extras=True`` a :func:`get_type_hints` permite acceder a " -#~ "las anotaciones extra en tiempo de ejecución." - -#~ msgid "" -#~ "A generic type is typically declared by inheriting from an instantiation " -#~ "of this class with one or more type variables. For example, a generic " -#~ "mapping type might be defined as::" -#~ msgstr "" -#~ "Un tipo genérico se declara habitualmente heredando de una instancia de " -#~ "esta clase con una o más variables de tipo. Por ejemplo, un tipo de mapeo " -#~ "genérico se podría definir como::" - -#~ msgid "" -#~ "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In " -#~ "general, :func:`isinstance` and :func:`issubclass` should not be used " -#~ "with types." -#~ msgstr "" -#~ "En tiempo de ejecución, ``isinstance(x, T)`` lanzará una excepción :exc:" -#~ "`TypeError`. En general, :func:`isinstance` y :func:`issubclass` no se " -#~ "deben usar con variables de tipo." - -#~ msgid "" -#~ "Type variables may be marked covariant or contravariant by passing " -#~ "``covariant=True`` or ``contravariant=True``. See :pep:`484` for more " -#~ "details. By default, type variables are invariant." -#~ msgstr "" -#~ "Las variables de tipo pueden ser marcadas como covariantes o " -#~ "contravariantes pasando ``covariant=True`` o ``contravariant=True``, " -#~ "respectivamente. Véase :pep:`484` para más detalles. Por defecto, las " -#~ "variables de tipo son invariantes." - -#~ msgid "" -#~ "``AnyStr`` is a :class:`constrained type variable ` defined as " -#~ "``AnyStr = TypeVar('AnyStr', str, bytes)``." -#~ msgstr "" -#~ "``AnyStr`` es una :class:`constrained type variable ` definida " -#~ "como ``AnyStr = TypeVar('AnyStr', str, bytes)``." - -#~ msgid "" -#~ "It is meant to be used for functions that may accept any kind of string " -#~ "without allowing different kinds of strings to mix. For example::" -#~ msgstr "" -#~ "Su objetivo es ser usada por funciones que pueden aceptar cualquier tipo " -#~ "de cadena de texto sin permitir mezclar diferentes tipos al mismo tiempo. " -#~ "Por ejemplo::" - -#~ msgid "" -#~ "These are not used in annotations. They are building blocks for declaring " -#~ "types." -#~ msgstr "" -#~ "Estos no son utilizados en anotaciones. Son utilizados como bloques para " -#~ "crear tipos genéricos." - -#~ msgid "Generic concrete collections" -#~ msgstr "Colecciones genéricas concretas" - -#~ msgid "" -#~ "A generic version of :class:`dict`. Useful for annotating return types. " -#~ "To annotate arguments it is preferred to use an abstract collection type " -#~ "such as :class:`Mapping`." -#~ msgstr "" -#~ "Una versión genérica de :class:`dict`. Útil para anotar tipos de retorno. " -#~ "Para anotar argumentos es preferible usar un tipo abstracto de colección " -#~ "como :class:`Mapping`." - -#~ msgid "" -#~ "A generic version of :class:`builtins.set `. Useful for annotating " -#~ "return types. To annotate arguments it is preferred to use an abstract " -#~ "collection type such as :class:`AbstractSet`." -#~ msgstr "" -#~ "Una versión genérica de :class:`builtins.set `. Útil para anotar " -#~ "tipos de retornos. Para anotar argumentos es preferible usar un tipo " -#~ "abstracto de colección como :class:`AbstractSet`." - -#~ msgid ":data:`Tuple` is a special form." -#~ msgstr ":data:`Tuple` es una forma especial." - -#~ msgid "A generic version of :class:`collections.defaultdict`." -#~ msgstr "Una versión genérica de :class:`collections.defaultdict`." - -#~ msgid "A generic version of :class:`collections.OrderedDict`." -#~ msgstr "Una versión genérica de :class:`collections.OrderedDict`." - -#~ msgid "A generic version of :class:`collections.ChainMap`." -#~ msgstr "Una versión genérica de :class:`collections.ChainMap`." - -#~ msgid "A generic version of :class:`collections.Counter`." -#~ msgstr "Una versión genérica de :class:`collections.Counter`." - -#~ msgid "A generic version of :class:`collections.deque`." -#~ msgstr "Una versión genérica de :class:`collections.deque`." - -#~ msgid "Abstract Base Classes" -#~ msgstr "Clase base abstracta para tipos genéricos" - -#~ msgid "A generic version of :class:`collections.abc.Set`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Set`." - -#~ msgid "A generic version of :class:`collections.abc.ByteString`." -#~ msgstr "Una versión genérica de :class:`collections.abc.ByteString`." - -#~ msgid "" -#~ "As a shorthand for this type, :class:`bytes` can be used to annotate " -#~ "arguments of any of the types mentioned above." -#~ msgstr "" -#~ "Como abreviación para este tipo, :class:`bytes` se puede usar para anotar " -#~ "argumentos de cualquiera de los tipos mencionados arriba." - -#~ msgid "" -#~ ":class:`collections.abc.ByteString` now supports subscripting (``[]``). " -#~ "See :pep:`585` and :ref:`types-genericalias`." -#~ msgstr "" -#~ ":class:`collections.abc.ByteString` ahora soporta la sintaxis de " -#~ "subíndice (``[]``). Véase :pep:`585` y :ref:`types-genericalias`." - -#~ msgid "A generic version of :class:`collections.abc.Collection`" -#~ msgstr "Una versión genérica de :class:`collections.abc.Collection`" - -#~ msgid "A generic version of :class:`collections.abc.Container`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Container`." - -#~ msgid "A generic version of :class:`collections.abc.ItemsView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.ItemsView`." - -#~ msgid "A generic version of :class:`collections.abc.KeysView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.KeysView`." - -#~ msgid "" -#~ "A generic version of :class:`collections.abc.Mapping`. This type can be " -#~ "used as follows::" -#~ msgstr "" -#~ "Una versión genérica de :class:`collections.abc.Mapping`. Este tipo se " -#~ "puede usar de la siguiente manera::" - -#~ msgid "A generic version of :class:`collections.abc.MappingView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MappingView`." - -#~ msgid "A generic version of :class:`collections.abc.MutableMapping`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MutableMapping`." - -#~ msgid "A generic version of :class:`collections.abc.MutableSequence`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MutableSequence`." - -#~ msgid "A generic version of :class:`collections.abc.MutableSet`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MutableSet`." - -#~ msgid "A generic version of :class:`collections.abc.Sequence`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Sequence`." - -#~ msgid "A generic version of :class:`collections.abc.ValuesView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.ValuesView`." - -#~ msgid "A generic version of :class:`collections.abc.Iterable`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Iterable`." - -#~ msgid "A generic version of :class:`collections.abc.Iterator`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Iterator`." - -#~ msgid "A generic version of :class:`collections.abc.Reversible`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Reversible`." - -#~ msgid "Asynchronous programming" -#~ msgstr "Programación asíncrona" - -#~ msgid "A generic version of :class:`collections.abc.AsyncIterable`." -#~ msgstr "Una versión genérica de :class:`collections.abc.AsyncIterable`." - -#~ msgid "A generic version of :class:`collections.abc.AsyncIterator`." -#~ msgstr "Una versión genérica de :class:`collections.abc.AsyncIterator`." - -#~ msgid "A generic version of :class:`collections.abc.Awaitable`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Awaitable`." - -#~ msgid "Context manager types" -#~ msgstr "Tipos del administrador de contextos" - -#~ msgid "" -#~ "``order_default`` indicates whether the ``order`` parameter is assumed to " -#~ "be True or False if it is omitted by the caller." -#~ msgstr "" -#~ "``order_default`` indica si, cuando el invocador haya omitido el " -#~ "parámetro ``order``, el valor de éste debe tomarse por ``True`` o " -#~ "``False``." - -#~ msgid "" -#~ "``kw_only_default`` indicates whether the ``kw_only`` parameter is " -#~ "assumed to be True or False if it is omitted by the caller." -#~ msgstr "" -#~ "``kw_only_default`` indica si, cuando el invocador haya omitido el " -#~ "parámetro ``kw_only``, el valor de éste debe tomarse por ``True`` o " -#~ "``False``." - -#~ msgid "``factory`` is an alias for ``default_factory``." -#~ msgstr "``factory`` es un alias para ``default_factory``." - -#~ msgid "" -#~ "The ``@overload`` decorator allows describing functions and methods that " -#~ "support multiple different combinations of argument types. A series of " -#~ "``@overload``-decorated definitions must be followed by exactly one non-" -#~ "``@overload``-decorated definition (for the same function/method). The " -#~ "``@overload``-decorated definitions are for the benefit of the type " -#~ "checker only, since they will be overwritten by the non-``@overload``-" -#~ "decorated definition, while the latter is used at runtime but should be " -#~ "ignored by a type checker. At runtime, calling a ``@overload``-decorated " -#~ "function directly will raise :exc:`NotImplementedError`. An example of " -#~ "overload that gives a more precise type than can be expressed using a " -#~ "union or a type variable::" -#~ msgstr "" -#~ "El decorador ``@overload`` permite describir funciones y métodos que " -#~ "soportan diferentes combinaciones de tipos de argumento. A una serie de " -#~ "definiciones decoradas con ``@overload`` debe seguir exactamente una " -#~ "definición no decorada con ``@overload`` (para la misma función o " -#~ "método). Las definiciones decoradas con ``@overload`` son solo para " -#~ "beneficio del validador de tipos, ya que serán sobrescritas por la " -#~ "definición no decorada con ``@overload``. Esta última se usa en tiempo de " -#~ "ejecución y debería ser ignorada por el validador de tipos. En tiempo de " -#~ "ejecución, llamar a una función decorada con ``@overload`` lanzará " -#~ "directamente :exc:`NotImplementedError`. Un ejemplo de sobrecarga que " -#~ "proporciona un tipo más preciso se puede expresar con una unión o una " -#~ "variable de tipo::" - -# ver en contexto -#~ msgid "This mutates the function(s) in place." -#~ msgstr "Esto modifica la función o funciones *in situ*." - -# special forms se refiere a tipado exclusivo de typing (no el nativo como str -# o int): Union, Optional ... -#~ msgid "" -#~ "Provide basic introspection for generic types and special typing forms." -#~ msgstr "" -#~ "Provee introspección básica para tipos genéricos y construcciones " -#~ "especiales de tipado." +msgstr ":pep:`695`"